Основы микропроцессорной техники | |
Раздел 4 Организация микроконтроллеров | |
| «Структура курса | Глава 1 | Глава 2 | Глава 3 | Глава 4 | Глава 5 | Глава 6 | Раздел 7 | Глава 8 | Дополнения | |
| Раздел 4 - Страницы: « | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
4.10. Дополнительные модули МКОписанные модули составляют так называемый базовый комплект МК и входят в состав любого современного контроллера. Очевидна необходимость включения в состав МК дополнительных модулей, состав и возможности которых определяются конкретной решаемой задачей. Среди таких дополнительных модулей необходимо прежде всего отметить:
4.10.1. Модули последовательного ввода / выводаНаличие в составе 8-разрядного МК модуля контроллера последовательного ввода / вывода стало в последнее время обычным явлением. Задачи, которые решаются средствами модуля контроллера последовательного ввода / вывода, можно разделить на три основные группы:
С точки зрения организации обмена информацией упомянутые типы интерфейсов последовательной связи отличаются режимом передачи данных (синхронный или асинхронный), форматом кадра (количество бит в посылке при передаче байта полезной информации) и временными диаграммами сигналов на линиях (уровни сигналов и положение фронтов при переключениях) . Количество линий, которыми происходит передача в последовательном коде, обычно равно двум (I 2 C, RS-232C, RS-485) или трем (SPI, некоторые нестандартные протоколы. Дан ное обстоятельство позволяет спроектировать модули контроллеров последовательного обмена таким образом, чтобы с их помощью на аппаратном уровне можно было реализовать несколько типов последовательных интерфейсов. При этом режим передачи (синхронный или асинхронный) и формат кадра поддерживаются на уровне логических сигналов, а реальные физические уровни сигналов для каждого интерфейса получают с помощью специальных ИС, которые называют приемопередатчика, конверторами, трансиверы. Среди различных типов встроенных контроллеров последовательного обмена, которые входят в состав тех или иных 8-разрядных МК, сложился стандарт "де-факто" - модуль UART (Universal Asynchronous Receiver and Transmitter). UART - универсальный асинхронный приемопередатчик. Однако большинство модулей UART, кроме асинхронного режима обмена, способны также реализовать режим синхронной передачи данных. Не все производители МК используют термин UART для обозначения типа модуля контроллера последовательного обмена. Так, в МК фирмы Motorola модуль асинхронной прийомопередачи, что поддерживает те же режимы асинхронного обмена, и UART, принято называть SCI (Serial Communication Interface). Следует отметить, что модуль типа SCI преимущественно реализует только режим асинхронного обмена, т.е. его функциональные возможности узкие по сравнению с модулями типа UART. Однако бывают и исключения: под тем же именем SCI в МК МС68НС705В16 скрывается модуль синхронно-асинхронной передачи данных. Модули типа UART в асинхронном режиме работы позволяют реализовать протокол обмена для интерфейсов RS-232C, RS-422А, RS-485, в синхронном режиме - нестандартные синхронные протоколы обмена, и в некоторых моделях - SPI. В МК фирмы Motorola традиционно предусмотрены два модуля последовательного обмена: модуль SCI с возможностью реализации только протоколов асинхронной прийомопередачи для интерфейсов RS-232C, RS-422A, RS-485 и модуль контроллера синхронного интерфейса в стандарте SPI. Протоколы интерфейсов локальных сетей на основе МК (I 2 C и CAN) отличает более сложная логика работы. Поэтому контроллеры CAN интерфейса всегда выполняются в виде самостоятельного модуля. Интерфейс I 2 C с возможностью работы как в ведущем, так и ведомого режиме, также поддерживается специальным модулем (модуль последовательного порта в МК 89С52 фирмы Philips). Но если реализуется только ведомый режим I 2 C, то в МК PIC16 фирмы Microchip он успешно сочетается с SPI: настройка того же модуля на один из протоколов осуществляется путем инициализации. В последнее время появилось большое количество МК со встроенными модулями контроллеров CAN и модулями универсального последовательного интерфейса периферийных устройств USB (Universal Serial Bus). Каждый из этих интерфейсов имеет довольно сложные протоколы обмена, для ознакомления с которыми следует обратиться к специальной литературе. 4.10.2. Модули аналогового ввода / выводаНеобходимость приема и формирования аналоговых сигналов требует наличия в МК модулей аналогового ввода / вывода. Простейшим устройством аналогового ввода в МК является встроенный компаратор напряжения. Компаратор сравнивает входящую аналоговую напряжение с опорным потенциалом V REF и устанавливает на выходе логическую "1", если входное напряжение больше опорную. Компараторы удобнее все использовать для контроля определенного значения входного напряжения, например, в термостатах. В комбинации с внешним генератором линейно переменного напряжения, встроенный компаратор позволяет реализовать на МК интегрирующий аналого-цифровой преобразователь (АЦП). Однако широкие возможности для работы с аналоговыми сигналами дает АЦП, встроенный в МК. Чаще всего он реализуется в виде модуля многоканального АЦП, предназначенного для ввода в МК аналоговых сигналов с датчиков физических величин и преобразования этих сигналов в двоичный код. Структурная схема типового модуля АЦП приведена на Рис. 4.12.
Многоканальный аналоговый коммутатор К служит для подключения одного из источников аналоговых сигналов (PTx0. .. PTx7) к входу АЦП. Выбор источника сигнала для преобразования осуществляется с помощью записи номера канала коммутатора в соответствующие разряды регистра управления АЦП. Два вывода модуля АЦП используются для задания опорного напряжения U оп: V REFH - верхний предел U оп, V REFL - нижний предел. Разность потенциалов на входах V REFH и V REFL и составляет U оп. Разрешение АЦП составляет U оп / 2 n, где n - количество разрядов в слове результата. Максимальное значение опорного напряжения, как правило, равен напряжению питания МК. Если измеряемая напряжение U ным> V REFH, то результат преобразования будет равна FF, код 00 соответствует напряжениям U ным Ј V REFL. Для достижения максимальной точности измерения следует выбрать максимально допустимое значение U оп. В этом случае напряжение смещения нуля входного буфера и нелинейность передаточной характеристики АЦП будут вносить относительно малые погрешности. Собственно аналого-цифровой преобразователь выполнен методом последовательного приближения. Практически во всех моделях 8-разрядных МК разрядность АЦП также составляет 8 разрядов. Соответственно, формат представления результатов измерения АЦП - однобайтовых. Исключение составляют только модули АЦП микроконтроллеров для управления преобразователями частоты для электроприводов, разрешение которых равен 10 разрядам. Два младших разряда результата получают с помощью дополнительного емкостного делителя, не связанного с регистром последовательного приближения. Продолжительность такта преобразования задает генератор синхронизации: один цикл равен двум периодам частоты генератора t ADC. Время преобразования для типовых модулей АЦП микроконтроллеров составляет от единиц до десятков микросекунд. Источником синхронизации модуля АЦП может служить встроенный RC-генератор (Г) или импульсная последовательность тактування мижмодульних магистралей МК. В первом случае частота синхронизации АЦП обязательно окажется оптимальной, т.е. такой, которая рекомендуется в техническом описании. Во втором случае выбрана по другим причинам f BUS может оказаться неподходящим для модуля АЦП. На этот случай в составе некоторых модулей предусмотрен программируемый делитель частоты f BUS. Момент завершения каждого цикла преобразования отмечается установкой триггера готовности данных. Если прерывания от модуля АЦП разрешены, то генерируется запрос на прерывание. Как правило, чтение регистра результата сбрасывает триггер готовности. Большинство модулей АЦП имеют только режим программного запуска установки одного из битов регистра режима запускает очередное измерение. Самый универсальный модули АЦП имеют также режим автоматического запуска, при котором после завершения одного цикла преобразования немедленно начинается следующий. Однако данны измерения каждого цикла должны быть считанные программным способом. Цифро-аналоговые преобразователи в составе МК является большой редкостью. Функция цифро-аналогового преобразователя реализуется средствами модуля программируемого таймера в режиме ШИМ. На одном из выводов МК формируется высокочастотная импульсная последовательность с регулируемой длительностью импульса. Полученный сигнал сглаживается фильтром нижних частот на операционном усилителе. Разрешение такого ЦАП определяется дискретностью регулирования коэффициента заполнения в режиме ШИМ. | |
| «Структура курса Раздел 4 - Страницы: « | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |