48017 (588515), страница 2
Текст из файла (страница 2)
3.1 Особенности отечественных однокристальных микроконтроллеров
Среди однокристальных микроконтроллеров (ОМК) отечественного производства наиболее перспективными являются БИС серии К1816, которые имеют два базовых элемента: К1816ВЕ48 (ВЕ48) и К1816ВЕ51 (ВЕ51).
Семейство ВЕ48 состоит из БИС ВЕ35, ВЕ39, ВЕ48 и ВЕ49. Каждая БИС представляет 8-разрядный ОМК, содержащий центральный процессор, оперативное запоминающее устройство (ОЗУ) данных, ПЗУ программ (не у всех БИС), многоканальный интерфейс ввода / вывода, восьмиразрядный таймер счетчик, векторную систему прерываний с приоритетом, тактовый генератор, устройство синхронизации. Микросхемы семейства ВЕ48 имеют идентичную структуру и отличаются лишь организацией внутренней памяти. Данные об ОМК семейства ВЕ48 приведены в таблице 3.1.
В ОМК ВЕ48 пользователь имеет возможность самостоятельно производить запись информации в память программ с последующим стиранием ультрафиолетом, в отличие от ВЕ49, где операции записи осуществляются с помощью отдельного шаблона в процессе изготовления БИС.
В каждом ОМК предусмотрена возможность расширения памяти программ до 4 Кбайт, памяти данных до 384 байт и увеличения числа линий ввода / вывода за счет подключения внешних БИС.
Таблица 3.1.1 – БИС семейства К1816Вехх
| Тип БИС | Память программ, Кбайт | ОЗУ, Байт | Тактовая частота, МГц |
| ВЕ35 | - | 64 | 6 |
| ВЕ39 | - | 128 | 11 |
| ВЕ48 | 1 | 64 | 6 |
| ВЕ49 | 1 | 128 | 11 |
Семейство ВЕ51 представляет собой дальнейшее расширение семейства ВЕ48 и состоит из БИС ВЕ31 и ВЕ51. Их отличие в том, что ВЕ31 не имеет внутренней памяти программ, а ВЕ51 имеет (4 Кбайт).
В состав ОМК ВЕ51 входят центральный 8 – разрядный процессор, ПЗУ программ (4 Кбайт), ОЗУ данных (128 байт), 32 линии прямого ввода / вывода, четыре тестируемых входа, канал последовательного ввода / вывода, два 16 – разрядных таймера / счетчика и двухуровневая система прерывания с пятью источниками запросов. Эти средства образуют резидентную часть ОМК, размещенную непосредственно в кристалле. Предусмотрена возможность расширения памяти программ до 64 Кбайт и памяти данных до 64 Кбайт, что реализуется подключением дополнительных БИС ПЗУ и ОЗУ.
БИС семейства К1816ВЕ51 изготавливаются по N-МОП-технологии, при этом они имеют значительный ток потребления, который составляет 150 мА. Этого недостатка лишены БИС семейства К1830ВЕ51. Эти БИС изготавливаются по КМОП-технологии и имеют малый ток потребления (18 мА при напряжении питания +5 В). Во всем остальном БИС семейства К1830ВЕ51 схожи с БИС семейства К1816ВЕ51.
3.2 Особенности микроконтроллеров фирмы Atmel
AVR-архитектура, на основе которой построены микроконтроллеры семейства AT90S, объединяет мощный гарвардский RISC-процессор с раздельным доступом к памяти программ и данных, 32 регистра общего назначения, каждый из которых может работать как регистр-аккумулятор, и развитую систему команд фиксированной 16-бит длины. Большинство команд выполняются за один машинный такт с одновременным исполнением текущей и выборкой следующей команды, что обеспечивает производительность до 1 MIPS на каждый МГц тактовой частоты.
32 регистра общего назначения образуют регистровый файл быстрого доступа, где каждый регистр напрямую связан с АЛУ. За один такт из регистрового файла выбираются два операнда, выполняется операция, и результат возвращается в регистровый файл. АЛУ поддерживает арифметические и логические операции с регистрами, между регистром и константой или непосредственно с регистром.
Регистровый файл также доступен как часть памяти данных. 6 из 32-х регистров могут использоваться как три 16-разрядных регистра-указателя для косвенной адресации. Старшие микроконтроллеры семейства AVR имеют в составе АЛУ аппаратный умножитель.
Базовый набор команд AVR содержит 120 инструкций. Инструкции битовых операций включают инструкции установки, очистки и тестирования битов.
Все микроконтроллеры AVR имеют встроенную FLASH ROM с возможностью внутрисхемного программирования через последовательный 4-проводной интерфейс.
Периферия МК AVR включает: таймеры-счётчики, широтно-импульсные модуляторы, поддержку внешних прерываний, аналоговые компараторы, 10-разрядный 8-канальный АЦП, параллельные порты (от 3 до 48 линий ввода и вывода), интерфейсы UART и SPI, сторожевой таймер и устройство сброса по включению питания. Все эти качества превращают AVR-микроконтроллеры в мощный инструмент для построения современных, высокопроизводительных и экономичных контроллеров различного назначения.
В рамках единой базовой архитектуры AVR-микроконтроллеры подразделяются на три подсемейства:
Classic AVR — основная линия микроконтроллеров с производительностью отдельных модификаций до 16 MIPS, FLASH ROM программ 2–8 Кбайт, ЕEPROM данных 64–512 байт, SRAM 128–512 байт;
mega AVR с производительностью 4–6 MIPS для сложных приложений, требующих большого обьёма памяти, FLASH ROM программ 64–128 Кбайт, ЕEPROM данных 64–512 байт, SRAM 2–4 Кбайт, SRAM 4 Кбайт, встроенный 10-разрядный 8-канальный АЦП, аппаратный умножитель 8ґ8;
tiny AVR — низкостоимостные микроконтроллеры в 8-выводном исполнении имеют встроенную схему контроля напряжения питания, что позволяет обойтись без внешних супервизорных микросхем.
AVR-микроконтроллеры поддерживают спящий режим и режим микропотребления. В спящем режиме останавливается центральное процессорное ядро, в то время как регистры, таймеры-счётчики, сторожевой таймер и система прерываний продолжают функционировать. В режиме микропотребления сохраняется содержимое всех регистров, останавливается тактовый генератор, запрещаются все функции микроконтроллера, пока не поступит сигнал внешнего прерывания или аппаратного сброса. В зависимости от модели, AVR-микроконтроллеры работают в диапазоне напряжений 2,7–6 В либо 4–6 В (исключение составляет Attiny12V с напряжением питания 1,2 В).
Средства отладки. ATMEL предлагает программную среду AVR-studio для отладки программ в режиме симуляции на программном отладчике, а также для работы непосредственно с внутрисхемным эмулятором. AVR-studio доступен с WEB-страницы ATMEL, содержит ассемблер и предназначен для работы с эмуляторами ICEPRO и MegaICE. Ряд компаний предлагают свои версии Си-компиляторов, ассемблеров, линковщиков и загрузчиков для работы с микроконтроллерами семейства AVR. Микроконтроллеры ATMEL широко применяются в России и, как следствие, программируются многими отечественными программаторами. Ряд российских фирм предлагает также различные аппаратные средств отладки AVR-микроконтроллеров
3.3 Особенности микроконтроллеров фирмы Microchip
Система команд базового семейства PIC165x содержит только 33 команды. Все команды (кроме команд перехода) выполняются за один машинный цикл (или четыре машинных такта) с перекрытием по времени выборок команд и их исполнения, что позволяет достичь производительности до 5 MIPS при тактовой частоте 20 МГц.
Микроконтроллеры PIC имеют симметричную систему команд, позволяющую выполнять операции с любым регистром, используя любой метод адресации.
В настоящее время MICROCHIP выпускает четыре основных семейства 8-разрядных RISC-микроконтроллеров, совместимых снизу вверх по программному коду:
базовое семейство PIC15Cx с 12-разрядными командами, простые недорогие микроконтроллеры с минимальной периферией;
PIC12Cxxx с 12-разрядными командами со встроенным тактовым генератором, выпускаемые в миниатюрном 8-выводном исполнении.
Mid-range PIC16x/7x/8x/9x с 14-разрядными командами. Наиболее многочисленное семейство, объединяющее микроконтроллеры с разнообразными периферийными устройствами, в число которых входят аналоговые компараторы, аналогово-цифровые преобразователи, контроллеры последовательных интерфейсов SPI, USART и I2C, таймеры-счётчики, модули захвата/сравнения, широтно-импульсные модуляторы, сторожевые таймеры, супервизорные схемы и так далее;
High-end PIC17C4x/5xx высокопроизводительные микроконтроллеры с расширенной системой команд 16-разрядного формата, работающие на частоте до 33 МГц, с объёмом памяти программ до 16 Кслов. Кроме обширной периферии почти все микроконтроллеры этого семейства имеют встроенный аппаратный умножитель 8x8, выполняющий операцию умножения за один машинный цикл.
• PIC18. Новое семейство FLASH-микроконтроллеров с функцией самопрограммирования; работающие на частоте до 40 МГц, с объёмом памяти программ до 64 Кслов. Быстродействие 10 MIPS при тактовой частоте 10 МГц; Архитектура и система команд оптимизирована под компилятор Си; Аппаратное умножение 8-разрядных чисел за один машинный такт. Большой объем памяти на кристалле. Многообразие встроенных периферийных модулей.
• DsPIC30. 16-и разрядные цифровые сигнальные микроконтроллеры. Имеют свыше 64 кбайт слов, 8 кбайт RAM и 4 кбайт EEPROM – памяти. Быстродействие свыше 30 MIPS.
Особый акцент MICROСHIP делает на максимально возможное снижение энергопотребления для выпускаемых микроконтроллеров. При работе на частоте 4 МГц PIC-контроллеры, в зависимости от модели, имеют ток потребления меньше 1,5 мА, а при работе на частоте 32,768 КГц — ниже 15 мкА. Поддерживается “спящий” режим работы. Диапазон питающих напряжений PIC-контроллеров составляет 2,0…6,0 В.
Из программных средств отладки наиболее известны и доступны различные версии ассемблеров, а также интегрированная программная среда MPLAB. Российские производители программаторов и аппаратных отладочных средств также уделяют внимание PIC-контроллерам. Выпускаются как специализированные программаторы, такие как PICPROG, программирующие почти весь спектр PIC-микроконтроллеров, так и универсальные: UNIPRO, СТЕРХ, поддерживающие наиболее известные версии PIC.
Выбор микроконтроллера.
Для определения типа микроконтроллера необходимо подсчитать нужное количество портов ввода-вывода. Для управления ЖК-дисплеем необходимо 11 линий ввода-вывода (8 линий – шина данных, 3 линии – управляющие сигналы). Для подключения термодатчика по I2C интерфейсу требуется 2 линии ввода-вывода, для подключения к ПК – 2 линии. Для подключения приёмника ИК-сигналов – 1 линия. Для использования системы импульсно-фазового управления требуется 1 лини порта, на который через делитель будет подаваться пульсирующее напряжение, снимаемое с блока питания до стабилизатора. Для управления высоковольтной нагрузкой – 4 линии. Для подключения внешних датчиков и управления ведомой ОС – 12 линий ввода-вывода. Исходя из этого, выбираем микроконтроллер PIC18F452 (рисунок 3.1), который имеет 33 линии ввода-вывода, аппаратную поддержку интерфейсов USART и I2C.
Рисунок 3.1 – микроконтроллер PIC18F452
В таблице 3.4.1 приведено функциональное назначение выводов микроконтроллера PIC18F452.
После выбора микроконтроллера необходимо выбрать остальные элементы принципиальной схемы.
Для построения цепи питания микросхем будет использована типовая схема включения стабилизатора напряжения LM7806, на выходе которого получаем +5В. На вход стабилизатора допускается подача напряжения до 20В. Непосредственно перед стабилизатором стоит цепочка VD2, C7. Конденсатор С7 служит для сглаживания пульсаций питающего напряжения, полученного с диодного моста VD1. Диод VD2 необходим для правильного функционирования системы импульсно-фазового управления (СИФУ). Конденсатор C8 служит для подавления высокочастотных помех по питанию.
Для стабильной работы микроконтроллера будет использована цепочка внешнего генератора, состоящей из кварцевого резонатора на 4 МГц и конденсаторов С1,С2, емкостью 20 пФ, рекомендованной фирмой Microchip.
Таблица 3.4.1 – назначение выводов микроконтроллера
| Обозначение вывода | № вывода | Тип I/O/P | Тип буфера | Описание |
| OSC1/CLKIN | 13 | I | ST/CMOS | Вход генератора / вход внешнего тактового сигнала |
| OSC2/CLKOUT | 14 | O | - | Выход генератора. Подключается кварцевый или керамический резонатор. |
| -MCLR/VPP | 1 | I\P | ST | Вход сброса микроконтроллера или вход напряжения программирования. Сброс микроконтроллера происходит при низком логическом уровне сигнала на входе. |
| RA0/AN0 RA1/AN1 RA2/AN2/VREF- RA3/AN3/VREF+ RA4/T0CKI RA5/-SS/AN4 | 2 3 4 5 6 7 | I/O I/O I/O I/O I/O I/O | TTL TTL TTL TTL ST TTL | Двунаправленный порт ввода/вывода PORTA. RA0 может быть настроен как аналоговый канал 0 RA1 может быть настроен как аналоговый канал 1 RA2 может быть настроен как аналоговый канал 2 или вход отрицательного опорного напряжения RA3 может быть настроен как аналоговый канал 3 или вход положительного опорного напряжения RA4 может использоваться в качестве входа внешнего тактового сигнала для TMR0. Выход с открытым стоком. RA1 может быть настроен как аналоговый канал 1 или вход выбора микросхемы в режиме ведомого SPI |
| RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD | 33 34 35 36 37 38 39 40 | I/O I/O I/O I/O I/O I/O I/O I/O | TTL/ST TTL TTL TTL TTL TTL TTL\ST TTL\ST | Двунаправленный порт ввода/вывода PORTB. PORTB имеет программно подключаемые подтягивающие резисторы на входах. RB0 может использоваться в качестве входа внешних прерываний. RB3 может использоваться в качестве входа для режима низковольтного программирования. Прерывания по изменению уровня входного сигнала. Прерывания по изменению уровня входного сигнала. Прерывания по изменению уровня входного сигнала. Тактовый вход в режиме программирования. Прерывания по изменению уровня входного сигнала. |
| Таблица 3.4.2 – продолжение | ||||
| RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT | 15 16 17 18 23 24 25 26 | I/O I/O I/O I/O I/O I/O I/O I/O | ST ST ST ST ST ST ST ST | Двунаправленный порт ввода/вывода PORTC. RC0 может использоваться в качестве выхода генератора TMR1 или входа внешнего тактового сигнала для TMR1. RC1 может использоваться в качестве входа генератора для TMR1 или вывода модуля CCP2. RC2 может использоваться в качестве вывода модуля CCP1. RC3 может использоваться в качестве входа/выхода тактового сигнала в режиме SPI и I2C. RC4 может использоваться в качестве входа данных в режиме SPI или вход/выход данных в режиме I2C. RC5 может использоваться в качестве выхода данных в режиме SPI. RC6 может использоваться в качестве вывода передатчика USART в асинхронном режиме или вывода синхронизации USART в синхронном режиме. RC6 может использоваться в качестве вывода приемника USART в асинхронном режиме или вывода данных USART в синхронном режиме. |
| RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 | 19 20 21 22 27 28 29 30 | I/O I/O I/O I/O I/O I/O I/O I/O | ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL ST/TTL | Двунаправленный порт ввода/вывода PORTD или ведомый параллельный порт для подключения к шине микропроцессора |
| RE0/-RD/AN5 RE1/-WR/AN6 RE2/-CS/AN7 | 8 .9 10 | I/O I/O I/O | ST/TTL ST/TTL ST/TTL | Двунаправленный порт ввода/вывода PORTE. RE0 может использоваться в качестве управляющего входа чтения PSP или аналогового канала 5 RE1 может использоваться в качестве управляющего входа записи PSP или аналогового канала 6 RE2 может использоваться в качестве управляющего входа выбора PSP или аналогового канала 7 |
| VSS | 12,31 | P | - | Общий вывод для внутренней логики и портов ввода/вывода |
| VDD | 11,32 | P | - | Положительное напряжение питания для внутренней логики и портов ввода/вывода |
В качестве индикатора используется жидкокристаллический модуль, который позволяет отображать две строки по 16 символов. Для управления ЖКИ выделим порты D и E.Порт D подключен к шине данных модуля, порт Е к управляющим входам модуля.















