Курсовая работа: Разработка архитектуры, принципиальной схемы и конструкции специализированного микроконтроллера
Для обеспечения подключения 12-разрядного ЦАП MCP4921 и 14-разрядного АЦП AD7949 используется встроенный в микроконтроллер последовательный SPI интерфейс.
Для организации трёх клавиш прерывания и прерываний от внешних устройств используется логическая схема расширения прерываний, которая подаёт сигнал прерывания на вход порта Р3.1 и Р3.2 при нажатии одной из клавиш прерывания.
2 Разработка принципиальной схемы
В полную принципиальную схему контроллера, кроме описанного выше блока процессора, входят ЦАП, АЦП, клавиатура, индикаторы.
2.1 Описание микроконтроллера
AT89C5131A-L содержит следующие компоненты: 32 кбайт флэш-памяти с поддержкой внутрисистемного программирования через интерфейс USB, 3 кбайт флэш-памяти для загрузочной программы, 1 кбайт ЭСППЗУ для хранения данных, 256 байт ОЗУ, встроенное ОЗУ расширения (ERAM) 1024 байт, встроенная схема контроля питания (сброс при подаче питания/определение снижения напряжения питания), полноскоростной модуль USB, совместимый с требованиями USB1.1 и USB 2.0, 34 линий ввода-вывода общего назначения, байт-ориентированный 2-проводной последовательный интерфейс TWI, последовательный порт SPI (режим ведущий/подчиненный), режимы холостого хода и снижения мощности, расширенный диапазон напряжения питания: 2.7-5.5В.
AT89C5131A-Lподдерживает два программно-управляемых режима со сниженной активностью, позволяющие снизить уровень потребления. В режиме холостого хода прекращает работу ЦПУ, а таймеры, последовательные порты и система прерываний продолжают функционировать. В режиме снижения мощности сберегается содержимое ОЗУ и останавливается синхронизация периферийных устройств, а возобновление работы микроконтроллера возможно при возникновении событий USB или внешних прерываний.
Микроконтроллер выпускается по технологии высокоплотной энергонезависимой памяти компании Atmel. Механизм программирования встроенной флэш-памяти позволяет перепрограммировать ее внутрисистемно через последовательный интерфейс SPI с помощью обычного программатора энергонезависимой памяти или с помощью встроенной загрузочной программы, выполняемой ядром AVR. Загрузочная программа может использовать любой интерфейс для загрузки программного кода во флэш-память. За счет разделения флэш-памяти на загрузочный сектор и сектор прикладной программы поддерживается действительная возможность чтения во время записи, когда загрузочный код продолжает исполняться и выполняется обновление сектора прикладной программы.
2.2 Организация памяти
В состав памяти входит ОЗУ объемом 256 байт. К младшим 128 байтам можно получить доступ при прямой или косвенной адресации. Старшие 128 байт имеют двойную конфигурацию. В режиме косвенной адресации осуществляется доступ к старшим 128 байтам ОЗУ общего назначения, а в режиме прямой адресации осуществляется доступ к 128 байтам адресного пространства регистров специального назначения (SFR).
При обращении к памяти по адресу выше адреса 7Fh, процессор определяет доступ к старшим 128 байтам RAM данных или к регистрам SFR способом адресации.
Память программ МК состоит из 32 Кбайт Flash-памяти. Эта память может перепрограммироваться внутрисистемно, не требуя при этом специального внешнего напряжения программирования, а используя стандартное напряжение VDD.
Согласно сказанного выше область хранения данных используемых при работе ЦМК удобно расположить в адресах 30h…7Fh, где возможна прямая адресация регистров, в случае нехватки места можно задействовать регистры косвенной адресации 80h…FFh.
2.3 Формирование сигнала сброс
МК AT89C5131A-Lсодержат схему слежения за напряжением питания. При включении питания схема контроля питания немедленно осуществляет сброс, которая удерживает МК в состоянии сброса, пока напряжение питания VDD не превысит в процессе включения уровень VRST , в соответствии с временной диаграммой представленной на рисунке. При этом запускается внутренний счетчик для задержки. В течение таймаута схемы слежения за напряжением питания на выводе /RST удерживается низкий логический уровень, что позволяет напряжению питания стабилизироваться.
2.4 ЦАП
MCP4921 – экономичные 12-разрядные цифро-аналоговые преобразователи с возможностью изменения коэффициента передачи выходного буфера и SPI-интерфейсом. Преобразователи обеспечивают высокую точность и малый уровень шумов во всем расширенном диапазоне температур. Данный тип преобразователя может быть использован в телевизионных и радиолокационных системах, системах сбора и обработки данных в реальном масштабе времени, измерительной аппаратуре и др. Конструктивно она выполнена в корпусе типа DIP-8.
Напряжение питания: AVDD =5В, DVDD =5В.
Выходное напряжение: Vout =0…5В;
Разрядность: 12 бит;
Диапазон выходного напряжения соответствует заданным требованиям.
ЦАП сопрягается с МК по интерфейсу SPI в 4-х проводном режим работы. Обращение к ЦАП производится сигналом микроконтроллера с P1.1/SS на вывод выборки микросхемы CS. При этом МК является ведущим устройством, а ЦАП – ведомым.
Сигнал MOSI (master-out, slave-in - «выход ведущего, вход ведомого») является выходом данных ведущего устройства и входом данных ведомых устройств. Он используется для последовательной передачи данных от ведущего к ведомому. Данные передаются старшими значащими разрядами вперед. При работе в ведущем режиме значение сигнала MOSI определяется старшим значащим разрядом сдвигового регистра как в 3-х проводном, так и в 4-х проводном режимах.
Сигнал MISO (master-in, slave-out - «вход ведущего, выход ведомого») является выходом данных ведомого устройства и входом данных ведущего устройства. Он используется для последовательной передачи данных от ведомого к ведущему. Этот сигнал является входом. Данные передаются старшими значащими разрядами вперед. Вывод MISO переводится в высокоимпедансное состояние, когда модуль SPI отключен, а также тогда, когда модуль SPI работает в 4-х проводном режиме как ведомый, который не выбран. Когда модуль SPI работает в 3-х проводном режиме как ведомый, сигнал MISO всегда определяется старшим значащим разрядом сдвигового регистра.
Сигнал SCK (serial clock – «импульсы тактирования последовательного интерфейса») является выходом ведущего устройства и входом ведомых устройств. Он используется для синхронизации обмена данными между ведущим и ведомым устройствами по линиям MOSI и MISO. При этом сигнал SCK игнорируется ведомым SPI, когда ведомый не выбран (SS = 1).
2.5 АЦП
По заданию устройство должно считывать информацию с восьми аналоговых каналов, имеющих диапазон входного напряжения и преобразовывать входной аналоговый сигнал в 14-ти разрядный цифровой код на выходе.
Для этого выбираем АЦП AD7949 фирмы AnalogDevices. Данный АЦП имеет 8 аналоговых входа и диапазон входного напряжения от 0 B до 5 В, поэтому необходимо вводить дополнительные внешние элементы для преобразования входного напряжения. Снижение уровня сигнала осуществляется на микросхемах DA1 – DA4 AD-8513, имеющих в своем составе по четыре операционных усилителя. На двух усилителях происходит снижение напряжения, при этом они включены по инвертирующей схеме, на двух других осуществляется инверсия сигнала. Условное графическое обозначение микросхемы операционного усилителя представлено на рисунке 14.
Рисунок – Функциональная блок схема АЦП
АЦП типа AD7949 предназначена для применения в электронной аппаратуре в составе блоков аналогового ввода. Микросхема выполняет функцию 8-канального 14-разрядного аналого-цифрового преобразования однополярного или биполярного входного сигнала с представлением результатов преобразования в последовательном двоичном коде.
Для организации обмена информацией используется также SPI интерфейс. Обращение к АЦП производится сигналом микроконтроллера с P1.1/SS на вывод выборки микросхемы CNV. При этом МК является ведущим устройством, а АЦП – ведомым.
2.6 Организация прерываний
Прерывания осуществляются от 3 клавиш и от контроллера клавиатуры/дисплея. Сигнал прерывания, приходящий от ККД, поступает на вход Р3.2/INT0 МК.
Поскольку количество источников прерываний больше линий внешних прерываний микроконтроллера, то необходимо использовать дополнительную логическую схему «ИЛИ». При осуществлении хотя бы одного прерывания сигнал с элемента «ИЛИ» приходит на линию Р3.3/INT1 МК. При этом на одну из линий порта Р3 (P3.0, P3.1, P3.4) подается логическая 1. Таким образом, проанализировав программно состояние линий Р3.0, Р3.1 и Р3.4 можно в зависимости от номера нажатой клавиши передать управление подпрограмме обработки данного прерывания.
2.7 Последовательный интерфейс I2 C
В данном разделе приводится описание двухпроводного последовательного I2 C -интерфейса, так как он используется для обмена информацией между микроконтроллером внешними периферийными устройствами. В данном микроконтроллере данный интерфейс именуется как интерфейс TWI. Протокол TWI позволяет связываться с устройствами через одну двухпроводную двунаправленную шину, где одна линия - линия синхронизации SCL и одна - линия данных SDA.