русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Дополнительные модули МК


Дата добавления: 2013-12-23; просмотров: 2267; Нарушение авторских прав


Описанные выше модули составляют так называемый базовый ком­плект МК и входят в состав любого современного контроллера. Оче­видна необходимость включения в состав МК дополнительных моду­лей, состав и возможности которых определяются конкретной решаемой задачей. Среди таких дополнительных модулей следует, прежде всего, отметить:

• модули последовательного ввода/вывода данных;

• модули аналогового ввода/вывода.

 

10.4.1. Модули последовательного ввода/вывода

Наличие в составе 8-разрядного МК модуля контроллера последова­тельного ввода/вывода стало в последнее время обычным явлением. За­дачи, которые решаются средствами модуля контроллера последователь­ною ввода/вывода, можно разделить на три основные группы:

• связь встроенной микроконтроллерной системы с системой управления верхнего уровня, например, с персональным компьютером.
Чаще всего для этой цели используются интерфейсы RS-232C и RS-
485;

• связь с внешними по отношению к МК периферийными ИС, а так­
же с датчиками физических величин с последовательным выходом.
Для этих целей используются интерфейсы PC, SPI, а также нестандартные протоколы обмена;

• интерфейс связи с локальной сетью в мультимикроконтроллерных системах. В системах с числом МК до пяти обычно используются сети на основе интерфейсов PC, RS-232C и RS-485 с собственными сетевыми протоколами высокого уровня. В более сложных системах все более популярным становится протокол CAN.

 

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

Число линий, по которым происходит передача в последовательном коде, обычно равно двум (PC, 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-422A, RS-485, в синхронном режиме — нестандартные синхронные протоколы обмена, и в некоторых моделях — SPI. В МК фирмы Motorola традиционно предус­мотрены два модуля последовательного обмена: модуль SCI с возможнос­тью реализации только протоколов асинхронной приемопередачи для ин­терфейсов RS-232C, RS-422A, RS-485 и модуль контроллера синхронного интерфейса в стандарте SPI.

Протоколы интерфейсов локальных сетей на основе МК (PC и CAN) отличает более сложная логика работы. Поэтому контроллеры CAN ин­терфейса всегда выполняются в виде самостоятельного модуля. Интер­фейс 12С с возможностью работы как в ведущем, так и ведомом режиме, также обычно поддерживается специальным модулем (модуль последова­тельного порта в МК 89С52 фирмы Philips). Но если реализуется только ведомый режим PC, то в МК PIC16 фирмы Microchip он успешно сочетается с SPI: настройка одного и того же модуля на один из протоколов осуществляется путем инициализации.

В последнее время появилось большое количество МК со встроенными модулями контроллеров CAN и модулями универсального последовательного интерфейса периферийных устройств USB (Universal Serial Bus). Каждый из этих интерфейсов имеет достаточно сложные протоколы обмена, для ознакомления с которыми следует обращаться к специальной литературе.

 

10.4.2. Модули аналогового ввода/вывода

Необходимость приема и формирования аналоговых сигналов требует наличия в МК модулей аналогового ввода/вывода.

Простейшим устройством аналогового ввода в МК является встроен­ный компаратор напряжения. Компаратор сравнивает входное аналого­вое напряжение с опорным потенциалом VREF и устанавливает на выходе логическую «1», если входное напряжение больше опорного. Компарато­ры удобнее всего использовать для контроля определенного значения вход­ного напряжения, например, в термостатах. В комбинации с внешним ге­нератором линейно изменяющегося напряжения встроенный компаратор позволяет реализовать на МК интегрирующий аналого-цифровой преоб­разователь (АЦП).

Однако более широкие возможности для работы с аналоговыми сиг­налами дает АЦП, встроенный в МК. Чаще всего он реализуется в виде модуля многоканального АЦП, предназначенного для ввода в МК анало­говых сигналов с датчиков физических величин и преобразования этих сигналов в двоичный код. Структурная схема типового модуля АЦП пред­ставлена на рис. 10.4.

Многоканальный аналоговый коммутатор К служит для подключения одного из источников аналоговых сигналов (РТхО...РТх7) ко входу АЦП. Выбор источника сигнала для преобразования осуществляется посред­ством записи номера канала коммутатора в соответствующие разряды регистра управления АЦП.

Два вывода модуля АЦП используются для задания опорного напряже­ния Uon: VMFH — верхний предел U^, V^^ — нижний предел. Разность по­тенциалов на входах VREFH и VREFL и составляет Uon. Разрешающая способ­ность АЦП составляет Uon/2", где п — число двоичных разрядов в слове результата. Максимальное значение опорного напряжения, как правило,равно напряжению питания МК. Если измеряемое напряжение Umtt > VREFH, то результат преобразования будет равен FF, код 00 соответствует напряже­ниям UH3M J VREFL. Для достижения максимальной точности измерения сле­дует выбрать максимально допустимое значение Uon. В этом случае напря­жение смещения нуля входного буфера и нелинейность передаточной характеристики АЦП будут вносить относительно малые погрешности.

 

Рис. 10.4.Структура модуля АЦП.

 

Собственно аналого-цифровой преобразователь выполнен по методу последовательного приближения. Практически во всех моделях 8-разряд­ных МК разрядность АЦП также составляет 8 разрядов. Соответственно, формат представления результатов измерения АЦП — однобайтовый. Ис­ключение составляют лишь модули АЦП микроконтроллеров для управ­ления преобразователями частоты для электроприводов, разрешающая способность которых равна 10 разрядам. Два младших разряда результата получают с помощью дополнительного емкостного делителя, не связан­ного с регистром последовательного приближения.

Длительность такта преобразования задает генератор синхронизации: один цикл равен двум периодам частоты генератора tADC. Время преобра­зования для типовых модулей АЦП микроконтроллеров составляет от еди­ниц до десятков микросекунд.

Источником синхронизации модуля АЦП может служить встроенный RC-генератор (Г) или импульсная последовательность тактирования меж­модульных магистралей МК. В первом случае частота синхронизации АЦП обязательно окажется оптимальной, то есть той, которая рекомендуется в техническом описании. Во втором случае выбранная по другим сообра­жениям fBUS может оказаться неподходящей для модуля АЦП. На этот слу­чай в составе некоторых модулей предусмотрен программируемый дели­тель частоты fBUS.

Момент завершения каждого цикла преобразования отмечается уста­новкой триггера готовности данных. Если прерывания от модуля АЦП разрешены, то генерируется запрос на прерывания. Как правило, чтение регистра результата сбрасывает триггер готовности.

 

Большинство модулей АЦП имеют только режим программного запус­ка: установка одного из битов регистра режима запускает очередное изме­рение. Наиболее универсальные модули АЦП имеют также режим авто­матического запуска, при котором после завершения одного цикла преобразования немедленно начинается следующий. Однако данные из­мерения каждого цикла должны быть считаны программным способом.

Цифро-аналоговые преобразователи в составе МК являются большой редкостью. Функция цифро-аналогового преобразователя реализуется средствами модуля программируемого таймера в режиме ШИМ. На од­ном из выводов МК формируется высокочастотная импульсная последовательность с регулируемой длительностью импульса. Полученный сиг­нал сглаживается фильтром нижних частот на операционном усилителе. Разрешающая способность такого ЦАП определяется дискретностью ре­гулирования коэффициента заполнения в режиме ШИМ.


Контрольные вопросы

ЛЕКЦИЯ №10

 

1. Сколько видов сброса реализовано в микроконтроллерах подгруппы PIC16F8X?

q 1

q 2

q 3

q 5

2. Можно ли стереть бит защиты программного кода в микроконтроллерах подгруппы PIC16F8X?

q нельзя

q можно, только если знать идентификационный код МК

q только вместе с содержимым памяти программ и данных МК

q можно, через последовательный доступ

 

3. Что может использоваться в качестве регистра назначения в системе команд микроконтроллеров подгруппы PIC16F8X?

q рабочий регистр W или регистр, используемый в команде

q любой адресуемый регистр

q регистр INDF

q регистр FSR


4. Какие команды микроконтроллеров подгруппы PIC16F8X используются для организации условных переходов в профамме?

q команды DECFSZ f, d, INCFSZ f, d, BTFSC f, b и BTFSS f, b

q команды RETFIE и RETLW k

q команды CALL k и GOTO k

q любая команда

 

5. От какого генератора работает сторожевой таймер в микроконтроллерах подгруппы PIC16F8X?

q от тактового генератора МК

q от собственного внутреннего RC-генератора

q от внешнего генератора

q от собственного внутреннего кварцевого генератора

 

6. Где хранятся биты конфигурации микроконтроллеров подгруппы PIC16F8X?

q в энергонезависимой памяти данных

q в регистре OPTION

q в регистре EEDATA

q в регистре INTCON

 

7. Какие команды микроконтроллеров подгруппы PIC16F8X могу изменить все биты состояния?

q команды CALL k и SLEEP

q команды ANDWF f, d и IORWF f, d

q команды ADDWF f, d , SUBWF f, d , ADDLW k и SUBLW k

q любая команда

8. Какие действия выполняет команда CLRWDT системы команд микроконтроллеров подгруппы PIC16F8X?

q сбрасывает в 0 содержимое сторожевого таймера

q сбрасывает контроллер

q сбрасывает в 0 содержимое счетчика команд

q сбрасывает в 0 содержимое сторожевого таймера и пределителя (если он используется)

 

9. В какое состояние переходит счетчик команд микроконтроллеров подгруппы PIC16F8X после сброса?

q в состояние ноль

q в состояние 0004h

q в состояние, задаваемое битами конфигурации МК

q в случайное состояние

 

10. Каковы разрядность и количество команд микроконтроллеров подгруппы PIC16F8X?

q 12 разрядов, 33 команды

q 16 разрядов, 58 команд

q 14 разрядов, 35 команд

q 16 разрядов, 74 команды

11. Какие команды микроконтроллеров подгруппы PIC16F8X могут использоваться для реализации последовательного ввода или вывода данных?

q команды MOVF f, d и MOVWF f

q команды RLF f, d и RRF f, d

q команды SUBWF f, d и SUBLW k

q любая команда


12. Сколько времени занимает выход микроконтроллера подгруппы PIC16F8X из режима ожидания?

q 1024 такта

q 1024 цикла

q 128 тактов

q 128 циклов

 



<== предыдущая лекция | следующая лекция ==>
Сторожевой таймер | Шины микропроцессорной системы и циклы обмена.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.