Таблица 2.4.10.Таблица кодов символов контроллера Epson набор "Russian"
Из допустимых для размещения в DDRAM кодов символы с кодами <--DESCRIPTION-->0...7 (и их дубликат с кодами 8...<--DESCRIPTION-->F) имеют специальное назначение - это переопределяемые символы, графическое изображение которых может назначить сам потребитель, разместив соответствующую информацию в области CGRAM. Для программирования доступны 8 переопределяемых символов в режиме с матрицей 5 х 7 точек и 4 с матрицей 5 х 10 (в режиме 5 х 10 переопределяемые символы адресуются кодами DDRAM через один: <--DESCRIPTION-->0, 2, 4, 6). Для кодирования матрицы используются горизонтально "уложенные" байты, пять младших битов которых несут информацию о рисунке (причем 1 означает, что сегмент будет включен), 4-й разряд каждого из 8-ми (или 11-ти в режиме 5 х 10) байтов матрицы определяет левую колонку символа, а 0-й - правую. Старшие три бита не используются, равно как и старшие пять байтов, составляющих полную область матрицы символа (16 байтов) в режиме 5 х 10 (обратите внимание, что матрица программируемых символов допускает использование полной высоты строки (8 строчек для режима 5 х 7 и 11 строчек для режима 5 х 10), то есть можно размещать точки в области подчеркивающего курсора).
Чтобы определить собственный символ необходимо установить счетчик АС на адрес начала матрицы требуемого символа в CGRAM - <--DESCRIPTION-->0, 8, и т.д. (<--DESCRIPTION-->0, , для режима 5 х 10 точек) - произвести перезапись всех байтов матрицы, начиная с верхней строки. После этого, записав в DDRAM код запрограммированного символа: <--DESCRIPTION-->0, 1, 2 (<--DESCRIPTION-->0, 2, 4 для режима 5 х 10 точек), на экране в соответствующем месте будет отображаться переопределенный символ.
Несколько слов о процессе инициализации ЖКИ-модуля. Производитель контроллера рекомендует выполнять следующую последовательность действий для инициализации. Выдержать паузу не менее 15 мс между установлением рабочего напряжения питания (> 4,5 В) и выполнением каких-либо операций с контроллером. Первой операцией выполнить команду, выбирающую разрядность шины (это должна быть команда независимо от того, какой разрядности интерфейс вы собираетесь использовать в дальнейшем), причем перед выполнением этой операции не проверять значение флага BF. Далее опять выдержать паузу не менее 4,1 мс и повторить команду выбора разрядности шины, причем перед подачей команды вновь не производить проверку флага BF. Следующим шагом необходимо вновь выдержать паузу, на этот раз 100 мкс, и в третий раз повторить команду установления разрядности шины, вновь без проверки BF. Эти три операции являются инициализирующими и призваны вывести контроллер в исходный режим работы (то есть перевести в режим работы с 8-ми разрядной шиной) из любого состояния. Следом за ними нормальным порядком (без выдерживания пауз, но с проверкой флага BF) выполняется инициализация режимов работы с выдачей инициализирующей последовательности, аналогичной указанной в таблице 2.4.7 (содержащей в том числе команду выбора необходимой разрядности шины).
Необходимо помнить, что когда Вы объявляете режим работы с 4-х разрядной шиной, то есть выдаете команду , то делаете это обычно из 8-ми разрядного режима, который устанавливается автоматически после подачи напряжения питания, а значит вы не сможете адекватно объявить необходимое значение флагов N и F, располагающихся в младшей тетраде команды установки разрядности шины. Поэтому команду необходимо повторить в уже установившемся 4-х разрядном режиме путем последовательной передачи двух тетрад, то есть для 4-х разрядного режима образом.[9]
Для питания ПЛИС нужно +3.3В, компаратора, индикатора и генератора +5В. Для питания всего устройства взят источник питания от персонального компьютера, который выдает +12 В. Было выбрано два интегральных стабилизатора.
Первый на +5В фирмы Fairchild SemiconductorMC78T05
Таблица 2.5.1 Технические характеристики
Параметр | Обозначение | Характеристики | Min | Max | Единицы измерения |
Выходное напряжение | V0 | 5мА ≤ Io ≤ 3.0A , TJ = +25° | 4.8 | 5.2 | В |
Отклонение напряжения по нагрузке | DV0 | 5мA ≤ Io ≤ 3.0A , TJ = +25°C | 10 | 30 | мВ |
Максимальный выходной ток | IPK | TA = +25°C | 5.0 | - | A |
Выходное сопротивление | R0 | f = 1.0kHz | 2.0 | - | мОм |
Ток короткого замыкание | Isc | VI = 35V, TJ =+25°C | 1.5 | 2.5 | A |
Входное напряжение (для V0 = 5V) | V1 | TJ =+25°C | 35 | 40 | В |
Рассеваемая мощность | W | 25 | Вт |
- Внутреннее короткое замыкание тока исключено
- Внутренняя защита от тепловой перегрузки [10]
Рис 2.5.2 (Физические параметры стабилизатора MC78T05)
Второй на +3.3 В фирмы National Semiconductor LMS1585A
Основные характеристики:
- Интервал выходных напряжений……………..1.5V и 3.3V
- Не стабильность тока в сети…………………………………0.005%
- Не стабильность тока на нагрузке……………………………0.05%
Таблица 2.4.3 Технические характеристики:
Параметр | Обозначение | Условие | min | max | Един. измер. |
Выходное напряжение | Vout | IOUT = 0mA, VIN = 5V0 IOUT 5A, 4.75VVIN7V | 3.2673.235 | 3.3333.365 | ВВ |
Отклонение выходного напряжения по нагрузке | DVout | VIN = 5V, 0 IOUT 5A | 0.05 | 0.5 | % |
Рабочий ток | VIN = 5V | 7.0 | 13.0 | мА |
- Максимальное входное и выходное напряжение (относительно земли)…………………………………………….…………………………….13V
- Электростатический допуск………………………………….2000V
[11]
Рис 2.4.3 (Физические параметры стабилизатора LMS1585A)
Устройство для программирования ПЛИС. На вход подается шина с LPT порта а на выходе 7-и разрядная шина из которой 4 провода на порт JTAG, 2 на питание +5 В и 2 на землю смотри приложение 1( схема устройства)
Рис 2.5.1.(Подключение ПЛИС к Компьютеру через LPT порт с помощью Byte Blaster)
Рис 2.5.2(Схема ByteBlaster)
Как видно из схемы Байтбластер содержит одну микросхему НС244 которая содержит в себе всего лишь 4 буфера и резисторы. Это значит она очень дешевая и простая, её можно изготовить в домашних условиях.[12]
Как уже ранее говорилось, ПЛИС была выбрана EPM3256ATC144-10 семейства MAX3000, для прошивки к ней подключаются программатор (ByteBlaster). Также в устройство входит компаратор (AD8561), генератор тактовой частоты (AuchJCOseries), кнопки (СТАРТ/СТОП, СБРОС), источник питания ПК, стабилизаторы напряжения (MC78T05, LMS1585A) и индикатор (WH1602A). Принципиальная схема приведена в приложение 1. В приложение 2 приведен список выводов ПЛИС. Подключение компонентов схемы ведется согласно тех. документации прилагаемое с микросхемой.
В качестве средства автоматизации проектирования устройств на основе собственных микросхем фирма Altera разработала систему MAX+plusII. Эта система состоит из 11 программ-обработчиков проекта (приложений), которые функционируют под управлением программы Manager. Система является полноцикловой, т.е. поддерживает не отдельные этапы проектирования (как система типа CAD - computeraideddesign), а сквозной процесс от ввода и контроля описания до программирования микросхемы ПЛИС. Такие системы получили название EDA - electronicdesignautomation.
Проект в системе MAX+plusIIможет быть иерархическим и состоять из набора модулей. Каждый модуль содержит описание части проекта, форма проекта может быть графическое представление принципиальной схемы, текст на языках AHDL/ VHDL/ Verilog, логико-временные диаграммы функционирования.
Для создания исходных модулей в состав приложений включены редакторы: графический – GraphicEditor, текстовый – TextEditor, логико-временных диаграмм WaveformEditor. Любой файл(модуль) может быть представлен в графическом виде как символ. Это можно сделать явно с использования редактора символов – SymbolEditor. Далее эти символы могут быть использованы при создании иерархического проекта. Пользователю обширные библиотеки примитивов и макрофункций.[2]
Данная программа состоит из нескольких модулей. Каждый модуль выполняет определённую функцию. Ниже приводиться структура программы конфигурации.
Рис 3.2 Структура программы
Как известно при нажатии кнопок, при контакте возникает дребезг, и вместо нужного простого перехода из нуля в единицу одной ступенькой возникает сигнал в несколько скачков как показано на рисунке 3.2.1
Рис 3.2.1 Сигнал включения с дребезгом и без дребезга
Антидребезговая защита была реализована в модуле antibounce. Принцип его работы, основан на счетчике и одном триггере защелке. При возникновении дребезга счетчик начинает считать до определенной константы в программе она названа delay т.е. задержка и если по истечении счета на входе по прежнему стоит единица то триггер защелка перещелкивается и возникает переключение, смотри рис 3.2.2.