Главная страница
Навигация по странице:

  • AVR

  • Выводы по анализу МК.

  • Часы реального времени RTC DS 1307.

  • Описание портов входа/вывода RTC DS 1307

  • 1.2.3. Анализ жидкокристаллических дисплеев

  • Дисплей LCD LM 1602 L .

  • РАЗРАБОТКА ЧАСОВ С МИКРОПРОЦЕССОРНЫМ УПРАВЛЕНИЕМ. Разработка часов с микропроцессорным управлением


    Скачать 1.11 Mb.
    НазваниеРазработка часов с микропроцессорным управлением
    Дата06.02.2022
    Размер1.11 Mb.
    Формат файлаdocx
    Имя файлаРАЗРАБОТКА ЧАСОВ С МИКРОПРОЦЕССОРНЫМ УПРАВЛЕНИЕМ.docx
    ТипДиплом
    #353003
    страница2 из 4
    1   2   3   4

    1.1. Анализ существующих решений на рынке


    Для дальнейшей работы необходимо проанализировать существующие технические решения на рыночных площадках, таких как AlieExpress, Amazon и Ebay.

    Популярным решением являются сборные модели электронных часов с функциями будильника. Большая часть из них обладает семисегмнетными индикаторами для отображения даты, дня недели, времени (часы, минуты, секунды), а также имеют встроенные фото и терморезисторы, звуковые и кварцевые пьезоэлменты. Также на рынке представлены варианты с жидкокристаллическими дисплеями с поддержкой питания от USB для подключения к блокам питания или портам ввода/вывода компьютера.



    Рисунок 1.2 – DIY Digital Clock Kit (рисунок с сайта google.com)



    Рисунок 1.3 – DIY Digital Clock Kit (рисунок с сайта google.com)

    На сегодняшний день часы превратились во многофункциональный гаджет, представляющий собой устройство с возможностями мобильных телефонов. Самыми популярными устройствами можно считать «умные» часы от Apple и Samsung.

    Также не стоит забывать об использовании электронных часов в бытовой технике, такой как микроволновые печи, мультиварки, холодильники, стиральные машины, радиоприёмники, будильники. Также встроенные часы присутствуют в цифровых фотоаппаратах, телефонах, телевизорах, компьютерах. Но здесь они обычно предназначены не для индикации показаний времени, а для записи времени съёмки кадра и для работы функций, привязанных к времени суток, например, отключению в заданное время.

    1.2. Выбор элементной базы электронных часов


    Для последующей разработки было решено начать разработку популярнейшей формы электронных часов, а именно вариант настольных часов в связи с их широким повсеместным применением и относительной простоте реализации. Необходимо определиться с комплектующими частями будущей микроконтроллерной системы и выбрать оптимальную элементную базу для разработки.

    1.2.1. Анализ микроконтроллеров


    Для проектировки устройства будут рассмотрены три крупнейших производителя на рынке, а именно AVR от фирмы Atmel, PIC от компании Microchip и STM32 от STMicroelectronics. Данные микроконтроллеры зарекомендовали себя в бытовых и промышленных устройствах в качестве системы управления в связи широкой распространенностью и относительно низких ценах за счет объема продаж.

    На сегодняшний день микроконтроллеры можно разделить по таким критериям как:

    • Разрядность

    • Система команд

    • Архитектура памяти

    Разрядность - количество разрядов электронного устройства или шины, одновременно обрабатываемых этим устройством или передаваемых этой шиной.

    Деление происходит на:

    • 8-бит;

    • 16-бит;

    • 32-бита;

    Деление по типу системы команд:

    • RISC-архитектура, или сокращенная система команд. Ориентирована на быстрое выполнение базовых команд за 1, реже 2 машинных цикла, а также имеет большое количество универсальных регистров, и более длинный способ доступа к постоянной памяти.

    • СISC-архитектура, или полная система команд, характерна прямая работа с памятью, большее число команд, малое число регистров (ориентирована на работу с памятью), длительность команд от 1 до 4 машинных циклов. Пример – процессоры Intel.

    Деление по типу памяти:

    • Архитектура Фон-Неймана – основная черта общая область памяти для команд и данных, при работе с такой архитектурой в результате ошибки программиста данные могут записаться в область памяти программ и дальнейшее выполнение программы станет невозможным. Пересылка данных и выборка команды не может осуществляться одновременно по тем же причинам.

    • Гарвардская архитектура – раздельная память данных и память программ, использовалась впервые на компьютерах семейства Mark.

    PIC-микроконтроллеры. Микроконтроллер периферийного интерфейса (PIC) – это серия микроконтроллеров, разработанная компанией Microchip. Микроконтроллер PIC быстрее и проще реализует программы, если сравнивать с другими микроконтроллерами, такими как 8051. Простота программирования и простота взаимодействия с другими периферийными устройствами делает PIC более успешным микроконтроллером.

    Прообразом контроллеров семейства PIC с RISC –архитектурой послужил периферийный контроллер ( Peripheral Interface Controller — PIC), разработанный в 1975 году отделением компании General Instrument Microelectronics Inc для поддержки ввода–вывода 16–разрядного про­цессора. Поскольку к контроллеру не предъявлялось высоких требований по об­работке данных, он имел ограниченный набор команд, при этом почти все команды в нем выполнялись за один машинный цикл. Другая особенность контроллера — использование Гарвардской архитектуры, основанной на разделении шин и обла­стей памяти для данных и команд.

    Микроконтроллер PIC также поддерживает протоколы, такие как CAN, SPI, UART для взаимодействия с дополнительными периферийными устройствами. PIC в основном использует модифицированную гарвардскую архитектуру, а также поддерживает RISC (сокращенный набор команд). Благодаря этому PIC быстрее, чем контроллеры на основе ядра 8051, которые основаны на фон-неймановской архитектуре.

    AVR-микроконтроллеры. Первые микроконтроллеры AVR были разработаны в 1996 году компанией Atmel (теперь часть Microchip). Проект AVR был разработан Альф-Эгилем Богеном и Вегаром Волланом, поэтому AVR аббревиатура получила две первые буквы от имен разработчиков: Alf-Egil Bogen Vegard Wollan RISC, после эта аббревиатура стала расшифровываться более официально как Advanced Virtual RISC. AT90S8515 был первым микроконтроллером в линейке AVR, хотя первым микроконтроллером, который попал на коммерческий рынок, был AT90S1200 (в 1997 году). Более продуманная архитектура AVR, быстродействие, превосходящее контроллеры Microchip, привлекательная ценовая политика способствовали оттоку симпатий многих разработчиков от недавних претендентов на звание контроллера номер 1.

    Микроконтроллеры AVR имеют более развитую систему команд, насчитывающую до 133 инструкций, производительность, приближающуюся к 1 МГц, Flash ПЗУ программ с возможностью внутрисхемного перепрограммирования. Многие чипы имеют функцию самопрограммирования.

    В рамках единой базовой архитектуры микроконтроллеры AVR подразделяются на 3 семейства:

    • Tiny AVR – имеют относительно небольшие объемы памяти программ (1…2 кбайт) и весьма ограниченную периферию; практически все они выпускаются в 8-выводных корпусах и предназначены для так называемых «бюджетных» решений, принимаемых в условиях жестких финансовых ограничений. Область применения этих микроконтроллеров — интеллектуальные датчики различного назначения (контрольные, пожарные, охранные), игрушки, зарядные устройства, различная бытовая техника и другие подобные устройства.

    • Mega AVR – имеют наиболее развитую периферию, наибольшие среди всех микроконтроллеров AVR объемы памяти программ и данных. Они предназначены для использования в мобильных телефонах, контроллерах различного периферийного оборудования (принтеры, сканеры), сложной офисной технике и т. д.

    • Classic AVR – базовая линия микроконтроллеров, которая в связи с переходом в 2001-2002 гг. фирмой Atmel на технологические нормы производства 0,35 мкм замещена микроконтроллерами семейства Mega. Микроконтроллеры всех семейств поддерживают несколько режимов пониженного энергопотребления, имеют блок прерываний, сторожевой таймер и допускают программирование непосредственно в готовом устройстве.

    ARM-микроконтроллеры. STM32 – это платформа, в основе которой лежат микроконтроллеры STMicroelectronics на базе ARM процессора, различные модули и периферия, а также программные решения для работы с железом. Решения на базе STM активно используются благодаря производительности микроконтроллера, его удачной архитектуре, малом энергопотреблении, небольшой цене. В настоящее время STM32 состоит уже из нескольких линеек для самых разных предназначений.

    Микроконтроллеры ARM основаны на 32-битных и 64-битных многоядерных процессорах RISC. Процессоры RISC предназначены для выполнения меньшего количества инструкций, чтобы они могли работать с большей скоростью, выполняя дополнительные миллионы инструкций в секунду (MIPS). Устраняя ненужные инструкции и оптимизируя обработку информации, RISC-процессоры обеспечивают большую производительность по сравнению с большинством рассмотренных выше микроконтроллеров.

    Процессоры ARM широко используются в потребительских электронных устройствах, таких как смартфоны, планшеты, мультимедийные проигрыватели и другие мобильные устройства. Из-за сокращенного набора команд им требуется меньше транзисторов, что позволяет уменьшить размер матрицы интегральной схемы. Процессоры ARM с меньшими размерами уменьшают сложность проектирования и сокращают энергопотребление, что делает их пригодными для более миниатюрных устройств.

    На сегодняшний день архитектура ядра ARM в связи с техническими преимуществами является доминирующей на рынке мобильных устройств (ARM Cortex-A(Application)). Данный прорыв достигнут в результате успешного выполнения требований высокой производительности с учетом низкого энергопотребления. В свою очередь микроконтроллерные системы обзавелись собственной архитектурой Cortex-M (Microcontoller) и представляют собой оптимизированные и энергетически эффективные 32-ух разрядные ядра для микроконтроллерных процессоров и стали приобретать популярность как постепенная замена 8-ми разрядных микросхем.

    Выводы по анализу МК. Для большей наглядности необходимо привести таблицу со сравнениями микроконтроллеров по техническим характеристикам.

    Таблица 1.1 – Основные различия между семействами PIC, AVR и ARM

    Тип микроконтроллера

    PIC

    AVR

    ARM

    Разрядность

    8 бит

    8/16/32

    32 бит, иногда 64

    Интерфейсы

    PIC, UART, USART, LIN, CAN, Ethernet, SPI, I2S

    UART, USART, SPI, I2C, иногда CAN, USB, Ethernet

    UART, USART, LIN, I2C, SPI, CAN, USB, Ethernet, I2S, DSP, SAI, IrDA

    Скорость

    4 такта на инструкцию

    1 такт на инструкцию

    1 такт на инструкцию

    Память

    SRAM, FLASH

    Flash, SRAM, EEPROM

    Flash, SDRAM, EEPROM

    Шинная архитектура

    Частично RISC

    RISC

    RISC

    Архитектура памяти

    Гарвардская

    Модифицированная

    Модифицированная гарвардская

    Энергопотребление

    От 2.0 до 5.5 В

    От 2.7 до 5.5 В

    От 2.0 до 3.6 В

    Семейства

    PIC16,PIC17, PIC18, PIC24, PIC32

    Tiny, Atmega, Xmega, спец. AVR

    ARMv4,5,6,7 ...

    Производители

    Microchip

    Atmel (Microchip)

    Apple, Nvidia, Qualcomm, Samsung Electronics, TI ...

    Стоимость

    Средняя

    Средняя

    Низкая

    Популярные микроконтроллеры

    PIC18fXX8, PIC16f88X, PIC32MXX

    Atmega8, 16, 32; вариации для Arduino

    LPC2148, ARM Cortex-M0, ARM Cortex-M3, ARM Cortex-M7


    Вследствие проведенного анализа и сравнения МК, наиболее подходящим для себя считаю семейство микроконтроллеров Atmel AVR, так как они более доступны рядовому разработчику из-за своей популярности и простоты освоения. Для проектирования электронных часов был выбран микроконтроллер Atmega8 в связи с тем, что он является самым доступным решением на рынке. Ниже приведены его характеристики:

    • Программная память равна 8 кБ, цикл составляет 10000 раз;

    • Объем флеш памяти 512 байт который хранит переменные (цикл перезаписи 100 000);

    • Оперативная память (ОЗУ) 1кб;

    • 32 регистра общего назначения;

    • Два 8-ми разрядных таймера/счетчика с раздельным прескалером, режим сравнения, режим захвата;

    • Таймер реального времени с независимым генератором;

    • Три канала ШИМ;

    • Шесть каналов АЦП, канал 10-ти разрядный;

    • Последовательный интерфейс двухпроводной;

    • USART;

    • SPI ;

    • Сторожевой таймер с независимым генератором;

    • Аналоговый компаратор;

    • Внутренний RC генератор;

    • Возможность обработки внешних и внутренних прерываний;

    • Режимы с пониженным энергопотреблением;

    • Напряжение от 4.5 В до 5.5 В;

    • Тактовая частота от 0-16 МГц.

    Рисунок 1.3 – Расположение входов/выводов микроконтроллера

    1.2.2. Анализ часов реального времени


    Часы реального времени – электронная схема, предназначенная для учета хронометрических данных (текущее время, дата, день недели и т.д.), представляющий собой систему из автономного источника питания и считывающего устройства. Часы реального времени присутствуют практически во всех электронных устройствах, которые должны хранить время. ЧРВ используют независимые источники питания, чтобы продолжать работать даже после выключения основной системы.

    Часы реального времени RTC DS1307. Рассмотрим популярное рыночное предложение, а именно RTC (Real Time Clock) DS1307 от компании Dallas Semiconductor.



    Рисунок 1.4 – Часы реального времени DS1307 (рисунок с сайта google.com)

    Для отсчета времени в основном используется кварцевый резонатор в классической для кварцевых часов частоте 32768 Гц.

    Часы реального времени RTC DS1307 представляют собой небольшой модуль для подсчета времени с реализацией питания от литиевой батарейки. Технические параметры приведены ниже:

    • Часы реального времени (RTC) отсчитывают секунды, минуты, часы, дату месяца, месяц;

    • День недели и год с компенсацией високосного года до 2100;

    • 56-байтовое энергонезависимое ОЗУ с батарейным питанием для хранения данных;

    • I2C последовательный интерфейс;

    • Программируемый прямоугольный выходной сигнал;

    • Автоматическое обнаружение сбоя питания и схема переключателя;

    • Потребляет менее 500 нА в режиме резервного питания от батареи при работающем генераторе;

    • Дополнительный промышленный температурный диапазон: от -40 ° C до + 85 ° C;



    Рисунок 1.5 – УГО RTC DS1307

    Описание портов входа/вывода RTC DS1307:

    • Vcc, GND – на эти выводы подается питание. Vcc – это вход +5 В. Когда питающее напряжение выше 1.25 * VBAT, устройство полностью доступно, и можно выполнять чтение и запись данных. Когда к устройству подключена батарея на 3 В, и Vcc ниже, чем 1.25 * VBAT, чтение и запись запрещены, однако функция отсчёта времени продолжает работать. Как только Vcc падает ниже VBAT, ОЗУ и RTC переключаются на батарейное питание VBAT

    • SCL (Serial Clock Input - вход последовательных синхроимпульсов) – используется для синхронизации данных по последовательному интерфейсу.

    • SDA (Serial Data Input/Output - вход/выход последовательных данных) – вывод входа/выхода для двухпроводного последовательного интерфейса. Вывод SDA – с открытым стоком и требует внешнего подтягивающего резистора.

    • SQW/OUT (Square Wave/Output Driver - сигнал с прямоугольными импульсами) – когда включен, т.е. бит SQWE установлен в 1, вывод SQW/OUT выдаёт прямоугольные импульсы с одной из четырёх DS1307 Техническое описание частот (1 Гц, 4 кГц, 8 кГц, 32 кГц). Вывод SQW/OUT – с открытым стоком и требует внешнего подтягивающего резистора. SQW/OUT будет работать как при питании от Vcc, так и при питании от VBAT.

    • X1, X2 – выводы для стандартного кварцевого резонатора с частотой 32.768 кГц. Схема внутреннего тактового генератора разработана для работы с кварцевым резонатором, имеющим входную ёмкость 12.5 пФ.

    • DS1307 поддерживает обмен данными по протоколу I2C по двухпроводной двунаправленной шине. Устройство, которое передаёт данные на шину, является передатчиком, а устройство, принимающее данные, - приёмником. Устройство, управляющее передачей данных, называется ведущим. Устройство, которым управляет ведущий, называется ведомым. Ведущее устройство генерирует синхроимпульсы (Serial Clock - SCL), управляет доступом к шине и генерирует условия START и STOP. DS1307 работает на шине как ведомое устройство.

    Буферные каскады интерфейса имеют схему с открытым коллектором (или открытым стоком), это означает, что в пассивном состоянии линии данных притянуты к уровню питания VCC через нагрузочные резисторы R1 и R2, так называемые подтягивающие резисторы. Т. е. когда на шине нет активности, оба сигнала SCL и SDA имеют уровень лог. 1. Когда какое-то устройство на шине получает к нему доступ, то оно генерирует логический уровень лог. 0 путем замыкания ключа на землю.



    Рисунок 1.6 – Типовая конфигурация двухпроводной шины

    Основные принципы передачи данных по шине I2C:

    1) Передача данных может быть инициирована только тогда, когда шина свободна.

    2) Во время передачи данные на линии SDA могут меняться только когда на линии SCL низкий уровень, в противном случае изменение данных будет интерпретироваться как управляющий сигнал.

    Таким образом, возможны следующие состояния шины:

    - Если шина не занята – на линиях SDA и SCL сохраняется высокий уровень.

    - Начало передачи данных (условие START) – изменение состояния линии SDA с высокого на низкий, в то время как на линии SCL высокий уровень.

    - Окончание передачи данных (условие STOP) – изменение состояния линии SDA с низкого на высокий, в то время как на линии SCL высокий уровень.

    - Корректные данные – состояние линии SDA представляет корректные данные, если после условия START состояние линии SDA не меняется в течение высокого уровня тактового сигнала. Данные на линии должны меняться в течение периода низкого уровня тактового сигнала. На один бит данных приходится один тактовый импульс.

    Каждая передача данных инициируется условием START и завершается условием STOP. Число байтов данных, передаваемых между условиями START и STOP, не ограничено и определяется ведущим устройством. Информация передаётся побайтово, и каждый байт приёмник подтверждает девятым битом (бит подтверждения - ACK). В спецификации двухпроводного интерфейса определены обычный режим (с тактовой частотой 100 кГц) и быстрый режим (с тактовой частотой 400 кГц). DS1307 работает только в обычном режиме (100 кГц).

    - Подтверждение – каждое принимающее устройство, когда является адресуемым, обязано генерировать подтверждение после приёма каждого байта. Ведущее устройство должно генерировать дополнительный тактовый импульс, который предназначен для бита подтверждения.

    Подтверждающее устройство должно подтянуть к низкому уровню линию SDA во время тактового импульса подтверждения таким образом, чтобы на линии SDA оставался стабильный низкий уровень в течение периода высокого уровня тактового импульса, относящегося к подтверждению. Конечно, настройка и времена удержания должны быть приняты во внимание. Ведущий должен сигнализировать ведомому окончание данных, не генерируя бит подтверждения на последнем байте, который был получен от ведомого. В этом случае ведомый должен оставить линию данных в состоянии высокого уровня, чтобы позволить ведущему сгенерировать условие STOP.



    Рисунок 1.7 – Передача данных по двухпроводной последовательной шине

    DS1307 может работать в следующих двух режимах:

    1. Режим ведомого приёмника (режим записи DS1307). Последовательные данные принимаются по SDA и синхронизируются по SCL. После каждого принятого байта передаётся бит подтверждения. Условия START и STOP распознаются как начало и конец последовательной передачи. Распознавание адреса выполняется аппаратно после приёма адреса ведомого и бита направления.

    Байт адреса – это первый байт, принятый после генерации ведущим условия начала. Он содержит 7 битов адреса DS1307, который имеет значение 1101000, и следующий за ним бит направления (R/W) который для записи равен 0. После приёма и декодирования адресного байта DS1307 выдаёт на линию SDA подтверждение, после чего ведущий передаёт в устройство адрес регистра. Это установит регистровый указатель. Затем ведущий начинает передачу байтов данных, каждый из которых будет подтверждаться DS1307. Чтобы завершить запись данных, ведущий генерирует условие окончания.



    Рисунок 1.8 – Запись данных – режим приёмника

    1. Режим ведомого передатчика (режим чтения DS1307). Первый байт принимается и обрабатывается так же, как и в режиме ведомого приёмника. Однако в этом режиме бит направления будет указывать, что направление передачи инвертировано. DS1307 передаёт последовательные данные по линии SDA пока на линию SCL поступают последовательные синхроимпульсы. Условия START и STOP распознаются в начале и в конце последовательной передачи.

    Байт адреса – первый байт, принимаемый после стартового условия, генерируется ведущим. Байт адреса состоит из 7-битного адреса DS1307, который равен 1101000, и следующего за ним бита направления передачи (R/ ), W который для чтения равен 1. После приёма и декодирования байта адреса, устройство выдаёт подтверждение на линию SDA. Затем DS1307 начинает передавать данные, начиная с указанного адреса, находящегося в регистровом указателе. Если перед началом чтения указатель регистра не записан, то первый читаемый адрес – это адрес, который был сохранён в нём последним. DS1307 должен принять "неподтверждение" для окончания чтения.



    Рисунок 1.9. – Чтение данных – режим ведомого передатчика



    Рисунок 1.10 – Типичная схема подключения, взятая из DataSheet

    1.2.3. Анализ жидкокристаллических дисплеев

    LCD дисплей (Liquid Crystal Display, жидкокристаллический дисплей) – это экран на основе жидких кристаллов, изготовленный из вещества цианофенил, который находясь в жидком состоянии, обладает свойствами, присущие кристаллическим телам.



    Рисунок 1.11 – Принцип работы дисплея (рисунок с сайта google.com)

    Основной их особенностью является возможность изменять ориентацию в пространстве под воздействием электрического поля. А если сзади матрицы поставить источник света, то, проходя через кристалл, поток будет окрашиваться в определенный цвет. Изменяя напряжённость электрического поля, можно изменять положение кристаллов, а значит и видимое количество одного из основных цветов. Кристаллы работают, как клапан или фильтр. Управление всей матрицей даёт возможность вывода на экран определённого изображения.

    Дисплей LCD LM1602L. LCD 1602 является широко распространенным и популярным дисплеем среди радиолюбителей, кроме этого, аналогичные дисплеи встраиваются в различные устройства серийного производства. Дисплей построен на базе контроллера HD44780 и его аналогах, широкая известность связана с его давним появлением на рынке, во времена стремительного развития электроники.

    Дисплей содержит две строки, в каждой умещается по 16 символов, напряжение питания может находиться в пределах 4,5-5,5 В, ток потребления составляет 1,2 мА без учета подсветки, которая может потреблять значительный ток. Дисплей имеет достаточно много выводов, назначение которых приведено в следующей таблице:

    Таблица 1.2. – Описание входов/выходов LCD1602L

    Номер вывода

    Название

    Описание

    1

    Vss

    Вывод питания дисплея “‑”

    2

    Vdd

    Вывод питания дисплея “+”

    3

    VO

    Вход регулировки контрастности дисплея

    4

    RS

    Вход выбора типа инструкций, 1 – данные, 0 – команда

    5

    R/W

    Вход направления передачи данных, 1 – запись данных в дисплей, 0 – чтение данных

    6

    E

    Вход тактирования

    7-14

    DB0-DB7

    Шина ввода/вывода данных

    15

    A

    Вывод питания подсветки “+”

    16

    K

    Вывод питания подсветки “-”

    Вход VO предназначен для регулировки контрастности экрана, которая зависит от величины напряжения на входе, обычно для этих целей устанавливается переменный резистор сопротивлением 10-20 кОм, подключенный к линии питания. С помощью входов RS, R/W выбирается тип инструкций и направление передачи данных. Вход тактирования E предназначен для “защелкивания” (фиксации) состояний входов и линий ввода/вывода, ввод инструкций в контроллер дисплея, а также считывание данных происходит по спаду сигнала (задний фронт). Линии DB7-DB0 представляют собой 8-битный интерфейс ввода/вывода данных, за один период тактового импульса передается 1 байт данных. Выводы A и K представляют собой анод и катод светодиода подсветки, на плате дисплея установлен токоограничивающий резистор.

    Для организации процесса управления дисплеем необходимо обратиться к таблице из DataSheet, которая представляет собой перечень команд и способы их реализации. Таблица представлена на рисунке 1.12. Назначение же битов указано в рисунке 1.13.



    Рисунок 1.12 – Таблица управления LCD LM1602L (рисунок с сайта radiobaba.ru)


    Рисунок 1.13 – Назначение битов LM1602L (рисунок с сайта radiobaba.ru)

    Внутренняя память LCD 1602 подразделяется на 3 вида: DDRAM, CGROM и CGRAM. Область DDRAM (Display Data RAM) памяти используется для хранения 8-битного кода ASCII символов, отображаемых на экране. Адреса регистров DDRAM памяти связаны с положением символов на экране, соответствие приведено в следующей таблице:



    Рисунок 1.14 – Адреса регистров DDRAM(рисунок с сайта radiobaba.ru)

    Память CGROM (Character Generator ROM) представляет собой знакогенератор и содержит данные для прорисовки ASCII символов. В памяти заложены спецзнаки, цифры, латинский алфавит, имеются китайские иероглифы, а также символы греческого алфавита, которые используются для обозначения физических величин. Каждый символ занимает 5 байт в памяти, что соответствует размеру шрифта 5×8 пикселей. Таблица символов в соответствии с ASCII кодами [7].

    Для вывода символа необходимо записать адрес регистра DDRAM памяти в адресный указатель (инструкция №8), тем самым выбрав положение символа на экране, затем записать в выбранный регистр код ASCII символа (инструкция №10), исходя из полученного кода, контроллер дисплея извлекает данные из CGROM памяти для прорисовки символа в заданном положении на экране. После вывода символа, адресный указатель автоматически инкрементируется или декрементируется, в зависимости от того, какое значение было задано биту направления I/D. Таким образом, символы можно выводить последовательно, при этом корректировка адреса DDRAM памяти не требуется. Например, если первая строка полностью заполнится символами, то произойдет переход на вторую строку, и наоборот.

    Энергонезависимая память CGRAM (Character Generator RAM) предназначена для создания уникальных символов под нужды разработчика. Объем памяти небольшой, и позволяет хранить 8 произвольных символов. Для создания одного символа размером 5×8 пикселей, необходимо передать 8 байт данных в регистры памяти.



    Рис.1.16 – Схема подключения, взятая из DataSheet
    1   2   3   4


    написать администратору сайта