Текстовый видеоадаптер для микроконтроллерных систем композитный PAL (НЧ видео) для подачи на видеомонитор, телевизор 10 строк разного цвета и размера знаков миниатюрный формфактор DIP24 непосредственная работа с клавиатурой ПК популярные микроконтроллерные интерфейсы кириллица в кодировке Windows и другие полезные знакообразы частично и полностью заменяемый знакогенератор аналоговые входы и цифровые каналы индикации индикация в заданном масштабе и формате с плавающей запятой часы, календарь – множество экземпляров энергонезависимое хранение контекста Видеоадаптер вмещает 10 строк текста по 40 знаков в строке. Каждая из строк может быть показана в одном из форматов: 5, 10, 20, 40 знаков в строке. Чем меньше показывается знаков в строке, тем крупнее знаки. В формате 40 строка текста целиком видна на экране, в других форматах показываются только первые знаки строки. По вертикали аналогичная ситуация – показываются первые строки: столько, сколько умещается на экране. Невидимый текст можно использовать для определения индикаторных полей. Текст и его настройки можно сохранить, и тогда при следующем включении вся картина точно воспроизведется без участия клавиатуры и интерфейсов. Работа с клавиатурой ПК Редактировать текст, формат, цвет: Нажмите клавишу F2. Появляется курсор в левом верхнем углу. Редактируйте текст, нажимая на клавиши клавиатуры. Для передвижения курсора используйте клавиши стрелок, Home и F2. Удерживая Alt, можно вводить десятичный код знака. Для выхода из режима редактирования нажмите клавишу ESC. Выбрать формат строки: Установите курсор в строку. Нажимайте клавишу F12 до получения нужного формата. Выбрать цвет строки: Установите курсор в строку. Клавишами F11 и F10 перебирайте 16 вариантов раскраски. Переключиться на кириллицу и обратно: Нажмите клавишу F9. Сохранить контекст: В режиме редактирования нажмите клавишу F4. Не выключайте питание в течении 3 секунд. Подключение Видеоадаптер не создает опасных для человека напряжений электрического тока. Питание видеоадаптера должно быть +4,8..5,3 В без пульсаций. Ток потребления менее 50 мА, клавиатура ПК обычно потребляет не более 5 мА. Возможно неисправимое повреждение видеоадаптера, если напряжение питания окажется выше +5.8 В или ниже -0.3 В, или если при включенном питании человек касается пальцем, щупом осциллографа и т.п. компонентов или внутренних проводников или неподключенных выводов видеоадаптера. Общий провод для всех подключений (GND) – вывод 12. Контакт устройства Вывод видеоадаптера Блок питания: 5 В стабилизир. + - 24 12 Клавиатура ПК (типа PS/2) Mini-DIN DIN41524 1 2 5 4 5 1 4 3 23 12 Видеоадаптер - вид на компоненты 1 24 12 13 3 5 4 7 20 24 12 Видеомонитор, разъем “НЧ видео” Жила Оболочка Клавиатура - вид на штыри вилки DIN41524 2 5 6 3 4 1 2 Индикаторные поля Группу знакомест в любой строке можно определить как индикаторное поле. Входное напряжение 0.01..2.55 В преобразуется в цифровой код с точностью 0,2% и отображается в этом месте с заданным масштабом и точностью. Определение индикаторного поля занимает знакоместа строки 20..39, само же поле может располагаться в знакоместах 0..19. На знакоместо 20 поставьте номер выбранного вами канала: 0..5 означает соответствующий аналоговый канал, 6..9 –цифровой канал, куда данные поступают по микроконтроллерному интерфейсу. Далее поставьте букву N, обязательно заглавную, затем звузначный номер знакоместа, где должно начинаться поле. 2 3 номер знакоместа: 01234567890123456789 шаблон определения поля: dNddLsddddddRsdddddd пример: 5N09L- 4,1 R+42,3 где s – минус или плюс или пробел, d – цифра или десятичная запятая/точка или концевой/начальный пробел. На знакоместах 24..31 и 32..41, снабженные буквами L и R, расположены числа, вкупе задающие масштаб преобразования входной величины в числовое значение и формат отображения этого значения. Число L задает числовое значение, которое соответствует 0 В аналогового канала или 0x0000 цифрового канала, число R соответствует 2,560 В или 0x10000 (диапазон цифрового канала 0x0..0xFFC0). Как только шаблон определения соблюден, поле начинает индицировать входную величину. Сотрите поле, чтобы удалить лишние знаки, которые возможно остались в процессе настройки. Осталось укрупнить знаки, чтобы скрыть определение поля, и приписать к полю обозначение единицы измерения. Таблица входов аналоговых каналов Вывод Аналоговый канал 14 15 16 17 18 19 0 1 2 3 4 5 Формулы расчета L и R для произвольного датчика по двум точкам. Если датчик выдает напряжение V1 для реального значения параметра в физических единицах W1 и V2 для W2, то k=(W2-W1)/(V2-V1); L=W1-V1*k; R=L+2,56*k Например, датчик температуры выдает 0.5 В при температуре +5°С и 1,6 В при температуре +25°С. Тогда k=20/1,1=18,181; L=5-0,5*18,181=-4,090; R=-4,090+2,56*18,181=42,272. Так как точность датчика две десятые градуса, то лишние цифры после запятой заменяем на пробелы. Часы и календари Группу знакомест в строке можно определить как часы или календарь. Для этого достаточно написать на этом месте значение времени в формате чч:мм:сс, или даты - дд.мм.гг. Часов и календарей может быть много. Календарь связывается с часами (не обязательно видимыми) по правилу: если в строке, где расположен календарь, есть часы, то календарь связан с этими часами. Если нет, то с часами, расположенными выше в ближайшей строке. Если нет, то в последней строке и выше. Микроконтроллерные интерфейсы Линии интерфейса должны быть приведены в исходное состояние не позже 200 мС после включения питания. Видеоадаптер готов к приему через 300 мС после включения питания. Вывод 3 подключить к GND, иначе видеоадаптер работает с клавиатурой. Подключение интерфейсов. Сигнал интерфейса Вывод видеоадаптера SPI ведомый приемник. Скорость подачи битов любая, байты посылать не чаще чем 1 байт в 4 мС. Пассивное состояние SCK=0, прием бита по фронту подъема, старший бит первый. Если вывод 2 подключен к GND, то работает режим адресации. SSn MOSI SCK 8 4 5 UART приемник 28.8 Kbs, 8 bit, no parity, 1 stop, байты посылать не чаще чем 1 байт в 4 мС. Если вывод 2 подключен к GND, то работает режим адресации и устанавливаемая битовая скорость. RXD 20 I2C ведомый приемник. Скорость подачи битов и байтов любая. Адрес 97, а если вывод 2 подключен к GND, то адрес установленный. Общий вызов не принимается в обоих случаях. SDA SCL 1 6 Команды интерфейсов Принят байт Интерпретация и выполнение 32..255 14 15 3 4 1 2 21 20 7 22 30 8 9 10 29 5 31 Код знака записывается в текущее место. Курсор независимо от его видимости продвигается вправо с заворотом по строке 40 знаков независимо от формата показа Курсор видим Курсор невидим Вертикальная координата курсора 0..9 в следующем байте Горизонтальная координата курсора 0..39 в следующем байте Код цвета текущей строки 0..15 в следующем байте: 9 – син, 8 – бел, 0 – жел, 13 – зел, 3 - роз Код формата текущей строки 0..3 в следующем байте: 0 - 5 знаков, 1 - 10, 2 - 20, 3 - 40 Выключить часы-календари Включить часы-календари В след. 8 байтах – четыре двухбайтных (младший байт первый) величины для каналов 6,7,8,9 Сохраняет контекст. Не выключать питание и не давать байтов в течении 3 С Сброс видеоадаптера с загрузкой контекста, координаты курсора 0,0. Ждать 3С Команда вызова по UART или SPI в режиме адресации. В следующем байте адрес вызова Установка адреса. В следующем байте устанавливаемый адрес 32..99 Установки скорости UART. В следующем байте код скорости 0..3 Нет действий Начало сеанса изменения знакогенератора Подтверждение изменения знакогенератора Наращивание системы Интерфейс SPI имеет линию выбора ведомого SSn и увеличение числа видеоадаптеров в системе связано с увеличением количества этих линий, по одной на каждый видеоадаптер. Однако в режиме адресации видеоадаптера размножение SSn не требуется. Общая линия SSn может служить для противосбойной синхронизации битпакета. Интерфейс I2C имеет присущий механизм адресации, что позволяет иметь на шине много абонентов без введения дополнительных линий. Каждый ведомый должен быть настроен на свой адрес. Для этого в видеоадаптере предусмотрена возможность использования установленного адреса. Интерфейс UART привлекателен для наращивания дисплейной системы автоматическим восстановлением синхронизации битпакета, легкостью использования драйверов (RS232) или физических звеньев (IR, радио, модем) протяженных линий. В режиме адресации видеоадаптер использует не фиксированную, а установленную битовую скорость. Код скорости 0 для 2400 bps, 1 для 9600 bps, 2 для 19200 bps, 3 для 28800 bps. Для установки адреса и скорости надо при свободном выводе 2 подать с любого интерфейса соответствующую команду, сохранить контекст, выключить питание. В режиме адресации видеоадаптер ждет команду вызова с последующим адресом вызова. Если адрес вызова равен установленному или нулю (общий вызов), то начинает принимать байты. Если затем приходит команда с чужим адресом, перестает принимать. Знакогенератор Каждый знакообраз состоит из 8 горизонтальных линеек по 5 пикселов. Для замены знакообразов надо передать по интерфейсу последовательность команд и данных, затем выдержать паузу 45С, в течение которой питание должно соответствовать норме, иначе возможно неисправимое повреждение устройства. Видеоадаптер изменяет знакообразы и выполняет сброс. За один такой сеанс можно изменить один или несколько знакообразов, коды которых находятся в одной из групп 32..63, 64..127, 128..191, 192..255. Стало быть, замена всего знакогенератора возможна за 4 сеанса. В одном видеоадаптере допускается проведение не более 1000 сеансов. Последовательность команд и данных состоит из команды начала сеанса, паузы 50 мС, одного или нескольких блоков данных и команды подтверждения. Блок данных описывает новый знакообраз и состоит из байта кода знака и восьми байтов линеек пикселов, первой идет верхняя линейка. Пять пикселов линейки занимают младшие разряды байта, правый пиксел младший, в остальных разрядах 0. __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________