Автор: Пользователь скрыл имя, 13 Ноября 2012 в 09:42, контрольная работа
Разработать принципиальную схему цифровой системы управления на базе однокристального микроконтроллера AVR фирмы ATMEL. Для связи с оператором предусмотреть 8-разрадный индикатор и клавиатуру, состоящую из 25 клавиш. Для сопряжения с ЭВМ верхнего уровня использовать последовательный интерфейс RS232С.
Исходные данные:
Память программ 2048 байт
Разработать принципиальную схему цифровой системы управления на базе однокристального микроконтроллера AVR фирмы ATMEL. Для связи с оператором предусмотреть 8-разрадный индикатор и клавиатуру, состоящую из 25 клавиш. Для сопряжения с ЭВМ верхнего уровня использовать последовательный интерфейс RS232С.
Исходные данные:
Память программ 2048 байт
Память данных 128 байт
Аналоговые каналы ввода/вывода 5/3
Дискретные 12/8
В качестве микроконтроллера в схеме используется микросхема ATmega8. В состав микроконтроллера входят:
- 8-канальный 10-разрядный
аналого-цифровой
- 8 несимметричных каналов
- 7 дифференциальных каналов
- 2 дифференциальных канала с программируемым усилением в 1, 10 или 200 крат
- Байт-ориентированный 2-
- Сдвоенный программируемый последовательный USART
- Последовательный интерфейс SPI (ведущий/ведомый)
-Интерфейс I2C
- Программируемый сторожевой таймер с отдельным встроенным генератором
- Встроенный аналоговый компаратор
Специальные микроконтроллерные функции
- Сброс по подаче питания
и программируемый детектор
- Встроенный калиброванный RC-генератор
- Внутренние и внешние источники прерываний
- Шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC
- Программная установка тактовой частоты
- Режим обеспечения
- Глобальный запрет
Выводы I/O и корпуса
- 53 программируемые линии ввода/вывода
Для реализации 8-ми разрядного дисплея используется ЖКИ модуль FDCC0801A DD11 на базе контроллера hd44780. Модуль ЖКИ подключается к порту B микроконтроллера, по которому осуществляется обмен данными. Выходы РD3-РD5 управляющие. А0 указывается тип данных: управляющее слово или данные. При обмене между модулем и контроллером на порт PB выставляются данные для отображение или управляющее слова. На вход А0 DD1 подается логический сигнал указывающий как воспринимать данные на входах DB(управляющее слово или данные). Вход RW определяет тип операции (чтение или запись). После установки данных на вход E подается логическая единица, которая стробирует запись или чтение. Каждому отображаемому символу соответствует своя ячейка памяти. Символы отображаются в соответствии с кодами записанными в эти ячейки. Для адресации ячеек в модуле, используется предварительная запись адреса, при этом сначала записывается управляющее слово, указывающее на то что далее будет идти адрес. Также можно записывать настройку, которая позволяет использовать инкремент адреса после каждой записи данных.
Для реализации RS232 используется встроенный в микроконтроллер последовательный интерфейс (выходы RXD, TXD) и драйвер RS232 DD7 MAX232A. Данная микросхема преобразует уровни TTL микроконтроллера в уровни сигналов RS232.
Все остальные микросхемы подключаются к интерфейсу I2C. В данному интерфейсе используется всего две линии, что значительно упрощает схему. В стандартном режиме шина I2C обеспечивает передачу последовательных 8-битных данных со скоростью до 100 кбит/с, до 400 кбит/с в скоростном режиме или со скоростью 3,4 Мбит/с в высокоскоростном режим работы. Для осуществления процесса обмена информацией по I2C шине, используется два сигнала линия данных SDA линия синхронизации SCL. Для обеспечения реализации двунаправленности шины без применения сложных арбитров шины выходные каскады устройств, подключенных к шине, имеют открытый сток или открытый коллектор для обеспечения функции монтажного "И". Максимальное допустимое количество микросхем, подсоединённых к одной шине, ограничивается максимальной емкостью шины 400 пФ. На рисунке 1 представлен принцип подключения нескольких ИМС к одной шине обмена.
Рисунок 1-Схема подключения ИМС к шине I2C.
Каждое устройство на шине I2C распознается по уникальному адресу и может работать как передатчик или приёмник, в зависимости от назначения устройства.
Для выбора приемника сообщения ведущий использует уникальный адресную компоненту в формате посылки. При использовании однотипных устройств, ИС часто имеют дополнительный селектор адреса, который может быть реализован как в виде дополнительных цифровых входов селектора адреса, так и в виде аналогового входа. При этом адреса таких однотипных устройств оказываются разнесены в адресном пространстве устройств, подключенных к шине.
В обычном режиме используется 7-битная адресация.
Процедура адресации на шине I2C заключается в том, что первый байт после сигнала СТАРТ определяет, какой ведомый адресуется ведущим для проведения цикла обмена. Исключение составляет адрес "Общего вызова", который адресует все устройства на шине. Когда используется этот адрес, все устройства в теории должны послать сигнал подтверждения. Однако, устройства могут обрабатывать "общий вызов" на практике встречаются редко.
Первые семь битов первого байта образуют адрес ведомого. Восьмой, младший бит, определяет направление пересылки данных. "Ноль" означает, что ведущий будет записывать информацию в выбранного ведомого. "Единица" означает, что ведущий будет считывать информацию из ведомого.
После того, как адрес послан, каждое устройство в системе сравнивает первые семь бит после сигнала СТАРТ со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приёмник или как ведомый-передатчик, в зависимости от бита направления.
В общем виде процесс обмена по шине от момента формирования состояния СТАРТ до состояния СТОП можно проиллюстрировать следующим рисунком :
Рисунок 2-Формат обмена по I2C.
Как следует из спецификации шины,
допускаются как простые
Во время первого байта данных можно передавать
адрес в памяти, который записывается
во внутренний регистр-защелку. После
повторения сигнала СТАРТа и адреса ведомого
выдаются данные из памяти. Все решения
об авто-инкременте или декременте адреса,
к которому произошел предыдущий доступ,
принимаются конструктором конкретного
устройства. Все устройства должны сбрасывать
логику шины при получении сигнала СТАРТ
или повторный СТАРТ и подготавливаться
к приему адреса.
Для реализации дискретных каналов используется 8-ми битные расширители ввода вывода PCF8574 [3]. Так как данных микросхем несколько на шине, то по входом аппаратно задается часть адреса, для адресации на шине I2C.
Для организации постоянной памяти используется микросхема 16кбитной EEPROM фирмы Atmel AT24C16 [4].
Для памяти данных используется статическая память объемом 256 байт PCF8570 [5]. Аналоговые выходу формируются с использованием 10-ти битной ЦАП на 4 канала MAX5841 [6]. Для реализации аналоговых входов используются 10-битные АЦП MAX1136 [7].
Для подключение клавиатуры используется контроллер клавиатуры MAX7359 [8]. При нажатии клавиши формируется сигнал INT. Который обрабатывает контроллер и считывает код нажатой клавиши по шине I2C.
Литература.