Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессорные системы управления электроприводами и технологическими комплексами. Учебное пособие

.pdf
Скачиваний:
5
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Hitachi – ограниченный набор русских символов. У этого контроллера имеются только прописные русские буквы, при этом среди них отсут­ствует символ «Ф». Контроллер фирмы Epson содержит полный набор русских символов в прописном и строчном вариантах.
Из допустимых для размещения в DDRAM кодов символы с кодами
$00…$07 и $08…$0F имеют специальное назначение –
это переопре­деляемые символы, графическое изображение которых может назна­чить сам потребитель, разместив соответствующую информацию в об­ласти CGRAM. Для программирования доступны восемь переопределя­емых символов в режиме с матрицей 5
5
 10 (в режиме с матрицей 5  10 переопределяемые символы адре-
 7 точек и четыре с матрицей
суются кодами DDRAM через один: $00, $02, $04, $06). Для кодирова­ния матрицы используются горизонтально «уложенные» байты, пять младших битов, которые несут информацию о рисунке (причем один означает, что сегмент будет включен), 4-й разряд каждого из восьми (или 11 в режиме 5
10) байтов матрицы определяют левую колонку
символа, а нулевой – правую. Старшие три бита не используются, так же как и старшие пять байтов, составляющих полную область матрицы символа (16 байтов) в режиме 5
10. Матрица программируемых сим-
волов допускает использование полной высоты строки (восемь строчек для режима 5
 7 и 11 строчек 5  10), т.е. можно размещать точки в
области подчеркивающего курсора. Для того чтобы определить соб­ственный символ, необходимо установить счётчик АС на адрес начала матрицы требуемого символа в CGRAM – $00, $08, $10 и т.д. ($00, $10, $20 – для режима 5х10 строчек) – произвести перезапись всех байтов матрицы, начиная с верхней строки. После этого, записав в DDRAM
программируемого символа: $00, $01 ($00, $02, $04 для режима
код
5
10 строчек), на экране в соответствующем месте будет отображать-
ся переопределенный символ.
При инициализации ЖКИ-модуля рекомендуется выполнять сле­дующую последовательность действий. Обеспечивать паузу более 15 мс между установлением рабочего напряжения питания 4,5…5 В и выполнением контроллером каких-либо операций. Первой операцией необходимо выполнить команду, выбирающую разрядность шины (команда $30, независимо от того,
какой разрядности будет использо­ваться в дальнейшем), при этом перед выполнением этой операции вновь не производить проверки флага BF. Далее после паузы в 4,5 мс повторить команду выбора разрядности шины, причем перед подачей команды вновь не производить проверку BF. Затем вновь обеспечить
71
паузу 100 мкс, и в третий раз повторить команду установления разряд­ности шины, и снова без проверки BF. Перечисленные три операции являются инициализирующими и призваны вывести контроллер в ис­ходный режим работы (т.е. перевести в режим работы с восьмиразряд­ной шиной) из любого состояния. Далее без выдержки пауз, но с про веркой флага BF выполняется инициализация режимов работы с выда­чей инициализирующей последовательности.
Если объявляется режим работы с четырехразрядной шиной, т.е. выдается команда $20, то делается это обычно из восьмиразрядного режима, который устанавливается автоматически после подачи питания, а значит, невозможно адекватно объявить необходимое значение флагов N и F, располагающихся в младшей
тетраде команды установки разрядности шины. Поэтому команду необходимо повторить в уже установившемся четырехразрядном режиме путем последовательной передачи двух тетрад, т.е. для четырехразрядного режима.
Рассотрим программную руссификацию текстовых ЖКИ-дисплеев. Большая чать букв русского алфавита совпадает с буквами английс­кого, осташиеся восемь символов можно обеспечить перепрограмми­рованием, шаблоны которых загружаются в
ОЗУ знакогенератора (далее – ЗГ). Итак, имеем: буквы «А», «В», «Е», «К», «М», «Н», «О», «Р», «С», «Т», «Х»; буква «З» похожа на цифру «3»; буква «Ь» – на
строчную букву «b»; букву «Ы» можно составить из двух символов; букву «Ъ» можно составить из апострова «’» и буквы «b». Отсюда остается 17 букв, из
них к восьми можно подобрать символы из ПЗУ знакогонератора, которые отдалённо напоминают русские буквы и в контексте могут быть понятны. Шаблоны букв «Б», «Г», «Д», «Ж», «И» («Й»), «Л», «П», «Я» необходимо записать в ОЗУ ЗГ с кодами от 0 до 7. Такой вариант является наиболее простым. Необходимо учесть, что текст без
букв «Ё» и «Й» читается более сложнее и неэстетичен.
Таким образом, решение, при котором шаблоны недостающих букв загружаются в знакогенератор динамически, позволяет достичь луч­ших результатов. После инициализации дисплея в ОЗУ ЗГ загружают­ся шаблоны букв, не имеющие эквивалента в ПЗУ ЗГ. При выводе очередного символа на дисплей выполняется функция перекодировки ASCII-кода в код дисплея. Этот алгоритм показа на рис. 2.15.
Данный алгоритм успешно выполняет вывод русских букв, если одно­временно на дисплее присутствует не более восьми различных пере­программируемых символов. Если таких символов больше, то для ос­тальных будут выделены подобранные заменяющие символы из ПЗУ ЗГ.
-
72
При необходимости можно изменить выводимый текст так, чтобы избежать подобных ситуаций.
Рис. 2.15. Алгоритм перекодировки ASCII-кода в код дисплея
73
В табл. 2.6 показано соответствие между кодом символа в ОЗУ данных, адресом шаблона в ОЗУ ЗГ и шаблоном символа
Таблица 2.6
Соответствие между кодом символа в ОЗУ данных, адресом шаблона
в ОЗУ ЗГ и шаблоном символа
Код символав ОЗУ
данных
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0 0 0 0 х 0 0 0
0 0 0 0 х 0 0 1
……………………….
0 0 0 0 х 0 1 1
Адрес в ОЗУ ЗГ
0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
х х х 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 «Б» 1 1 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0
х х х 0 0 0 0 0
х х х 1 0 0 0 1
1 0 0 0 1 1 0 0 1 1 «И» 1 0 1 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1
х х х 0 0 0 0 0
х х х 1 1 1 1 1
1 0 0 0 1 1 0 0 0 1 «П» 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1
х х х 0 0 0 0 0
Шаблон
(данные в ОЗУ ЗГ)
74
Далее в качестве примера представлен программный код форми­рования нового символа.
/***********************************************************
genereta new simbol
***********************************************************/
void lcd_New_simbol_b ( uint8_t data )
{
unsigned char LCD_CGRAM_ST=0B00000000;
unsigned char LCD_DDRAM_ST=0B00000000;
lcd_write((1<<LCD_CGRAM)+LCD_CGRAM_ST,0);//0 –
//INSTRUCTION
lcd_write(0b000
lcd_write(0b000
lcd_write(0b000
lcd_write(0b000
lcd_write(0b000
lcd_write(0b000
lcd_write(0b000
11111,1);
10000,1);
10000,1);
11110,1);
10001,1);
10001,1);
11110,1);
lcd_write(0b00000000,1);
lcd_write((1<<LCD_DDRAM)+LCD_DDRAM_ST,0);
}
75
3. МЕТОДИЧЕСКИЕ ОСНОВЫ ВЫБОРА ТИПА МИКРОКОНТРОЛЛЕРА
Выбор микроконтроллера. Самыми широко используемыми яв-
ляются микроконтроллеры (МК) фирм: Atmel [2], Microchip [2], Free- scale [3], Siemens [4], Analog Devices [5] и др. МК названных произво-
дителей имеют много общего, поэтому для рационального выбора типа МК следует чётко сформулировать требования, предъявляемые к ре­шаемой задачи. Выбираемый микроконтроллер должен отвечать жёст­ким требованиям, поэтому необходимо обратить внимание на следу ющие параметры.
1. Количество входных и выходных по отношению к МК сигналов
должно быть на 10 % больше расчётного значения.
2. Тип сигналов (аналоговый либо дискретный) должен соответ­ствовать поставленной задаче. Для обработки аналоговых сигналов можно использовать интегрированный в микроконтроллер аналого­цифровой преобразователь. Однако можно использовать и внешний преобразователь аналогового сигнала в цифровой [12].
3. Количество доступных прерываний должно отвечать поставлен­ной задаче. Время отклика прерывания (промежуток времени от мо­мента события, вызвавшего прерывание, до момента начала выполне­ния первой команды) должно быть минимальным.
4. Разрядность микроконтроллеров. Разрядность: 8, 16 или 32? Расширенные возможности и универсальность восьмиразрядных мик­роконтроллеров привели к интересной ситуации на рынке. Некоторым производителям, которые отказались 32-разрядных семейств, в настоящее время во многих приложениях приходится конкурировать с решениями на основе восьмиразрядных МК. На микроконтроллерах с более высокой разрядностью можно реа­лизовать все то, что и на восьмиразрядных МК. Однако возникает во­прос, насколько это эффективно? К сожалению, в большинстве случаев это менее эффективный подход.
от таких МК в пользу 16 - и
-
76
Восьмиразрядные микроконтроллеры предназначены для взаимо­действия с простыми устройствами, такими как переключатели, кноп­ки, различные датчики, небольшие дисплеи и индикаторы, клавиатуры.
Плотность кода для устройства на основе восьмиразрядного МК намного ниже, чем для 16- или 32-разрядного процессора. Большин­ство 32-разрядных микроконтроллеров оптимизировано для работы на более высоких частотах. Они более чувствительны к
шуму и имеют
более высокое энергопотребление.
В целом классификация рынка МК по емкости шины данных слишком примитивна. Существует ряд приложений, где приходится искать компромисс между степенью интеграции, потреблением, вы­числительной эффективностью, стойкостью и стоимостью.
Как правило, 32-разрядные МК лучше подходят для программно­ориентированных приложений с машинным интерфейсом, в которых главное –
это высокая вычислительная способность, а также работа в режиме реального времени и многопоточность. Для аппаратно­ориентированных приложений, в которых требуется детермини­рованность поведения, низкое потребление в режиме ожидания, хо­рошие электрические характеристики и наличие интерфейса поль­зователя, лучшим решением по-прежнему является восьмиразряд­ный МК [9].
5. Микроконтроллер должен иметь достаточный уровень
надёжно-
сти, помехозащищённости. Однако не все производители обладают такими технологиями, способными достичь необходимого качества. Выявить некачественные микроконтроллеры на этапе покупки практи­чески невозможно, но тем не менее этот факт присутствует.
6. Высокая производительность, необходимая для большого коли­чества обрабатываемой информации. Производительность микро­контроллера напрямую зависит как от максимальной тактовой часто-
, так и от его архитектуры.
ты
7. Объём внутренней памяти данных и программ должен позволить реализовать поставленную задачу. Оценить необходимый объем памя­ти на первоначальном этапе, не имея опыта, практически невозможно. В идеальном случае программа управления составляется с помощью отладочных модулей, например, для МК фирмы ATMEL разработан модуль STK600. По окончании разработки
программного алгоритма
размер памяти становится очевидным.
8. Тип корпуса микроконтроллера. При проектировании макетного образца часто подходит микроконтроллер в корпусе DIP (Dual In-line
77
Package). Данный корпус имеет прямоугольную форму с двумя рядами выводов по длинным сторонам. При проектировании серийного изде­лия – TQFP (Thin Quad Flat Pack) – семейство корпусов микросхем, имеющих планарные выводы, расположенные по всем четырём сторо­нам. Микросхемы в таких корпусах предназначены только для поверх­ностного монтажа.
9. Тип источника тактового сигнала. Многие микроконтроллеры имеют интегрированные
тактовые генераторы на различные частоты. Таким образом, в некоторых случаях можно использовать внутренние тактовые генераторы импульсов, что позволит сократить время проек­тирования платы и сэкономить место на плате.
10. Тип коммуникационных интерфейсов. Выше было отмечено,
что в микроконтроллерах распространены такие интерфейсы, как
Two Wire Interface – модуль двухпроводного интерфейса;
TWI – USART – Universal Synchronous Asynchronous Receiver-Transmitter –
универсальный синхронный/асинхронный приёмопередатчик; JTAG (Joint Test Action Group – интерфейс для подключения сложных циф-
ровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки); SPI (Serial Peripheral Interface) – последовательный периферийный интерфейс – последовательный син­хронный стандарт передачи данных и др.
11. Развитая программная поддержка программирования и отладки
программы как виртуально, так и внутрисхемно
. Внутрисхемная от­ладка расширяет возможности отладки тем, что позволяет наблюдать внутренние локальные и глобальные переменные.
12. Диапазон рабочих температур, влажности, запылённости дол­жен быть достаточно широк. Например, температурные диапазоны подразделяются:
– на коммерческие: от 0 °С до +70 °С, – промышленные: от –40 °С до +85 °С, – автомобильные: от –40 °С до +125 °С.
13. Цена и срок поставки играют немаловажную роль. В отдельных
случаях наиболее недорогой микроконтроллер может позволить сни­зить общую стоимость системы.
14. Опыт работы с данным типом микроконтроллеров позволяет сократить время разработки.
15. Возможность расширения системы, а также возможность пере­хода в дальнейшем на другие микроконтроллеры.
78
16. Литературная поддержка, охватывающая широкий набор пе-
чатных материалов, которые могут помочь сделать правильный выбор. Она включает в себя:
выпуски производителя, такие как технические описания и ре-
комендации по применению, а также издания, доступные в местном книжном магазине и/или библиотеке;
издания из местного магазина и/или библиотеки не только ука-
зывают на популярность производителя/микроконтроллера, но и пуб­ликуют беспристрастные мнения, если они высказаны независимыми от производителя авторами.
При разработке устройства управления необходимо закладывать запас по количеству периферийных устройств (аналоговых и дискрет­ных входов-выходов; таймеров, счетчиков и т.п.) до
10 %.
Рассмотрим примеры выбора микроконтроллеров.
Пример 1. Необходимо выбрать микроконтроллер для вновь раз-
рабатываемого терморегулятора. Терморегуляторы компании ОВЕН, зарекомендовавшие себя с хорошей стороны, имеют достаточно пол­ный функционал. Внешний вид регулятора температуры ОВЕН 2ТРМ показан на рис. 3.1.
Рис. 3.1. Внешний вид регулятора
температуры ОВЕН 2ТРМ
Видим, что терморегулятор содержит: четырехразрядный семисег­ментный индикатор, три светодиода, три кнопки, два канала измерения аналогового сигнала и два релейных выхода. Таким образом, при реа­лизации динамического способа управления семисегмантными инди­каторами достаточно 12 дискретных выхода; для обеспечения двухка-
79
нальной оцифровки требуется четыре аналоговых входа, для организа­ции обмена информацией через UART необходимо два вывода микро­контроллера, общее количество требуемых входов-выходов приведено в табл. 3.1.
Таблица 3.1
Определение количества входов
Назначение Количество входов / выходов Количество дискретных входов 4 Количество дискретных выходов 18 Количество аналоговых входов 4 Всего выводов 26 10 %-й запас 2 Итого с учётом запаса 28
Данным требованиям удовлетворяют как минимум два различных
микроконтроллера (табл. 3.2).
Таблица 3.2
К выбору микроконтроллеров
Параметры ATMEGA 16 PIC18F4420 Количество свободных входов-выходов* 28 28 Стоимость, руб. 200 692 Программное обеспечение, по пятибал-
льной системе Возможность внутрисхемной отладки Есть Есть Быстродействие, MPS (миллион опера-
ций в секунду) Память типа EEPROM, kbyte Есть, 4 Есть, 0.256
* Для микроконтроллера ATMEGA 16 четыре вывода зарезервировано под интерфейс JTAG для возможности внутрисхемной отладки и программирова­ния.
80
5 4
16 40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]