Скачиваний:
80
Добавлен:
01.05.2014
Размер:
817.66 Кб
Скачать
  1. Внутренние периферийные устройства

Периферийные устройства подробно описаны в других методических пособиях, которые студенты будут изучать в процессе выполнения цикла лабораторных работ. В данном методическом пособии периферия рассмотрена достаточна кратко, только в ознакомительных целях.

    1. Порты

Порты ввода/вывода общего назначения (General Purpose Input Output - GPIO) предназначены для обмена данными, либо для управления внешними устройствами. Каждый из портов может быть настроен как на передачу, так и на прием информации. По наличию сигнала (или фронта сигнала) на некоторых портах можно установить прерывание.

Порты ввода/вывода микроконтроллера NXP LPC2148 могут быть подключены к шине периферийных устройств или к локальной шине. Во втором случае частота переключения портов может быть заметно увеличена.

На отладочной плате порты ввода/вывода выполняют несколько функций:

  1. Управление светодиодами.

  2. Управление символьным дисплеем.

  3. Разрешение работы двигателя.

  4. Управление регистрами, соединенными со светодиодной матрицей.

Рассмотрим применение портов ввода/вывода с целью управления светодиодами.

Чтобы зажечь светодиод, необходимо сконфигурировать соответствующий порт на выход и подать на него нулевой уровень сигнала.

    1. Таймеры

В составе микроконтроллеров семейства LPC2000 имеется несколько тайме­ров общего назначения. Конкретное число таймеров зависит от модели. Тем не менее, в любом микроконтроллере семейства имеется по крайней мере два тайме­ра. Все таймеры общего назначения имеют одинаковую структуру и отличаются только количеством поддерживаемых функций. Таймеры построены на базе 32-битного счетчика, объединенного с 32-битным предделителем. В качестве тактового сигнала во всех таймерах используется тактовый сигнал с шины VPB(Рclk).

Скорость счета таймера зависит от значения, находящегося в регистре предделителя. Счетный регистр предделителя будет инкрементироваться по каждому импульсу сигнала Pclk пока не достигнет значения, находящегося в регистре предделителя. В этот момент содержимое счетного регистра таймера увеличивается на 1, счетный регистр предделителя сбрасывается в нуль и снова начинает счет. Регистр управления таймером содержит всего два бита, использу­ющиеся для включения/выключения таймера и для его сброса.

Рис. 18 Структура таймера

Наряду с основным счетчиком каждый таймер имеет до четырех каналов за­хвата (capture). Они позволяют запоминать значение счетного регистра таймера пю изменению внешнего сигнала.

Рис. 19 Канал захвата

Кроме того, каждый таймер имеет до четырех каналов совпадения (match). С каждым из этих каналов связан регистр совпадения, содержащий 32-битное число. Счетный регистр таймера непрерывно сравнивается с содержимым этого регистра. При совпадении их значений возникает событие «совпаде­ние», которое может воздействовать на таймер (сбросить, остановить или генери­ровать прерывание), а также на состояние определенного вывода микроконтрол­лера (установка, сброс, переключение).

Чтобы использовать эту возможность таймера, загрузите в регистр совпадения требуемое значение. Дальнейшее конфигурирование блока совпадения осуществ­ляется посредством регистра управления блоком совпадения (Match Control Register). В этом регистре каждому каналу сопоставлен набор битов, использую­щихся для разрешения выполнения следующих действий по событию совпадения: генерация прерывания от таймера, сброс таймера, останов таймера. Причем допус­кается любая комбинация указанных действий. Кроме того, каждому каналу совпа­дения соответствует определенный вывод микроконтроллера, состояние которого может изменяться при совпадении. Как и в случае каналов захвата, для использо­вания этой возможности сначала нужно с помощью блока управления выводами подключить вывод к каналу совпадения.

Рис. 20 Канал совпадения

    1. АЦП

Аналого-цифровой преобразователь преобразует поступающий на вход аналоговый сигнал в цифровой на выходе. В микроконтроллерах семейства LCP2xxx АЦП имеет разрядность 10 бит и работает по принципу последовательного приближения. АЦП может иметь от 4 до 8 независимых каналов, в зависимости от конкретной модели.

    1. UART

UART является модулем последовательной передачи данных с поддержкой аппаратного контроля и поддержкой модемных функций.

Особенности:

  • 16 битная очередь приема-передачи.

  • Регистр размещения соответствует 550 промышленному стандарту.

  • Приемный FIFO триггер показывает 1, 4, 8,14 бит.

  • Встроенный контролер скорости передачи

Описание портов:

Название порта

Тип

Описание

RxD0

Ввод

Последовательный вывод (данных). Получаемые последовательно данные.

TxD0

Вывод

Последовательный вывод (данных). Передаваемые последовательно данные.

    1. SPI

SPI – интерфейс передачи данных, поддерживающий главные “master” и подчиненные “slave” устройства на шине. В микроконтроллерах семейства LPC2xxx интерфейс SPI может работать как главным так и подчиненным устройством.

Интерфейс SPI содержит 4 сигнала: SPI_SCK, SPI_SSEL – сигналы синхронизации, SPI_MISO (master input slave output), SPI_MOSI (master output slave input) – каналы передачи данных.

На отладочной плате через интерфейс SPI данные передаются на два последовательно соединенных регистра, управляющих светодиодной матрицей. Первый регистр выбирает столбцы, подавая сигнал 1 на соответствующие выходы, второй – позволяет протекать току через светодиоды, выставляя сигнал 0 на соответствующие выходы.

    1. CAN

В ряде моделей микроконтроллеров семейства LPC2000 имеется до 4-х неза­висимых контроллеров интерфейса CAN. Контроллер интерфейса CAN является одним из наиболее сложных периферийных устройств микроконтроллеров се­мейства. Здесь мы рассмотрим протокол CAN и модуль CAN, реа­лизованный в семействе LPC2000.

Протокол CAN (Controller Area Network) был разработан фирмой Robert Bosch GmbH в 1982 году для нужд автомобильной промышленности. За последующие 22 года протокол CAN стал стандартом в области создания бортовых сетей автомобилей.

Структура узла сети CAN

Типичный узел сети CAN изображен на Рис.21. Каждый узел состоит из микроконтроллера и специализированного контроллера CAN. Этот контроллер может быть расположен на одном кристалле с микроконтроллером (как в микро­контроллерах семейства LPC2000), а может быть и отдельной микросхемой. Че­рез драйвер контроллер CAN подсоединяется к линии на витой паре, на концах которой подключены согласующие резисторы сопротивлением 120 Ом. Наиболее распространенной ошибкой, совершаемой разработчиками при построении сво­ей первой сети CAN, является отсутствие этих согласующих резисторов, без кото­рых сеть оказывается неработоспособной.

Рис. 21 Структура узла CAN

    1. USB

USB (Universal Serial Bus) – это широко распространенный 4-проводной интерфейс, поддерживающий связь между USB хостом и множеством периферийных устройств (максимум 127). Модуль USB на микроконтроллере LPC2148 является клиентским (“slave” - контроллером) и не содержит USB хоста. Это позволяет конструировать такие устройства как USB-мыши, клавиатуры, звуковые карты, накопители информации и многие другие. При этом данный микроконтроллер поддерживает стандарт USB 2.0 Full Speed и может работать с максимальной скоростью 12 Mb/s.

Модуль USB микроконтроллеров LPC2ххх имеют 8 Кб памяти, выделенной для DMA. Кроме того, это единственные микроконтроллеры из своей категории, поддерживающие 32 конечные точки, что позволяет реализовать практически любое USB устройство.

Архитектура контроллера USB приведена на рисунке 22.

Рис. 22 Архитектура контроллера USB.

Создание программного обеспечения для USB устройств – непростая задача, требующая глубокого понимания интерфейса USB. При необходимости, можно самостоятельно изучить спецификацию USB (прилагается) и порядок работы программы.

    1. ШИМ

Широтно-импульсный модулятор (ШИМ) – это модуль, по сути похожий на таймер общего назначения, но с дополнительной возможностью периодически генерировать импульсы определенной длины. При помощи ШИМ можно, например, управлять яркостью светодиода, подавая на его вход питание в определенные моменты времени. В данной работе модуль ШИМ управляет яркостью трех разноцветных светодиодов, создавая при этом свечение определенного цвета, а также скоростью вращения электродвигателя.