Смекни!
smekni.com

Разработка архитектуры, принципиальной схемы и конструкции специализированного микроконтроллера (стр. 2 из 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 Последовательный интерфейс I2C

В данном разделе приводится описание двухпроводного последовательного I2C -интерфейса, так как он используется для обмена информацией между микроконтроллером внешними периферийными устройствами. В данном микроконтроллере данный интерфейс именуется как интерфейс TWI. Протокол TWI позволяет связываться с устройствами через одну двухпроводную двунаправленную шину, где одна линия - линия синхронизации SCL и одна - линия данных SDA.

В качестве внешних аппаратных компонентов, которые требуются для реализации шины, необходимы только подтягивающий к плюсу питания резистор на каждой линии шины. Все устройства, которые подключены к шине, имеют свой индивидуальный адрес. Внешнее подключение устройств к шине TWIизображено на рисунке….

Подключение устройств к шине TWI

Протокол передачи данных по шине разработан таким образом, чтобы гарантировать надежный качественный прием/передачу данных. При передаче данных одно устройство является “Ведущим”, которое инициирует передачу данных и формирует сигналы синхронизации. Другое устройство “Ведомое”, которое может начать передачу данных только по команде ведущего шины.

Каждое устройство на шине имеет уникальный адрес. Когда ведущий инициирует передачу данных, то сначала передается адрес устройства, к которому выполняется обращение. Остальные устройства проверяют переданный ведущим адрес. В составе байта адреса устройства входит бит направления передачи данных (выполняется чтение из ведомого или запись). Ведомый и ведущий шины всегда находятся в противоположном режиме работы, что можно представить в виде двух состояний: ведущий передатчик – ведомый приемник; ведомый передатчик – ведущий приемник. В обоих случаях ведущий формирует тактовый сигнал.

Вывод тактового сигнала SCL и данных SDA должны иметь выход с открытым коллектором, чтобы выполнять требования “монтажного И” на шине. Число устройств, которые могут быть подключены к шине, ограничивается только максимальной емкостью шины (400 пФ).


3 Описание работы контроллера клавиатуры/дисплея КР580ВД79

микроконтроллер разработка схема

Микросхема КР580ВД79, именуемая для краткости ККД (контроллер клавиатуры/дисплея), представляет собой универсальное программируемое устройство сопряжения с клавиатурой и дисплеем на основе семисегментных светодиодных индикаторов (ССИ).

Он состоит из двух основных функционально разделимых частей: клавиатурной и дисплейной. Клавиатурная часть предназначена для сопряжения с клавиатурой печатающих устройств и с произвольными наборами переключателей. Дисплейная часть ПККИ позволяет отображать информацию с помощью индикаторов различных типов (дисплеев). В нашем случае используется десять семисегментных индикаторов, которые используются в качестве алфавитно-цифрового дисплея.

Клавиатурная часть обеспечивает работу с клавиатурой размером 8x8 + 2 клавиши или с матрицей 8x8 датчиков. Обеспечиваются различные дисциплины распознавания нажатых клавиш, антидребезговый контроль. Имеется память кодов нажатых клавиш на 8 байт, организованная в виде очереди FIFO. При занесении в эту память более 8 кодов устанавливается признак переполнения. Нажатие клавиши возбуждает линию прерывания, которая может опознаваться в МК.

Дисплейная часть обеспечивает работу с дисплеем на семисегментных индикаторах (их может быть до 32 шт.). Имеется ОЗУ дисплея на 16 байт, организованное в виде двух массивов 16х4 бита. Память дисплея может быть загружена из МК и прочитана им. И в том, и в другом случае возможно автоинкрементирование адреса ОЗУ дисплея. Таким образом, ККД освобождает МК от задач постоянного сканирования клавиатуры и поддержания изображения на дисплее.

Назначение входных, выходных и управляющих сигналов ПККИ приведено в таблице 3.


Таблица 3

Обозначение вывода Назначение вывода
RL0-RL7 Входы линий возврата, служащие для подачи сигналов от датчиков через контакты клавиш или ключа
SHIFT Вход сигнала сдвига, используемого для сканирования клавиатуры
CNTL/STB Вход сигнала управления для режима сканирования клавиатуры или стробирующего сигнала для режима ввода по стробу
RD Вход сигнала чтения L-уровня, разрешающего передачу информации из ПККИ в канал данных микропроцессора
WR Вход сигнала записи L-уровня, разрешающего передачу информации из канала данных микропроцессора в ПККИ
A0 Вход для управления записью/чтением данных или команд; при сигнале Н-уровня происходит запись команды или чтения состояния ПККИ, при сигнале L-уровня — запись или чтение данных
CS Выбора микросхемы; L — уровень сигнала разрешает работу схемы
CLK Вход сигнала синхронизации микросхемы
RESET Линия сброса ПККИ в начальное состояние
DB0 – DB7 Двунаправленная шина данных
OA0 – OA3 Выходы канала А (старшая тетрада)
OB0 – OB3 Выходы канала В (младшая тетрада)
BD Выход сигнала гашения отображения L-уровня
SL0 – SL3 Выходы сигналов сканирования клавиш клавиатуры
IRQ Выход сигнала прерывания

Управление ККД с помощью сигналов на внешних выводах.

Управляющие слова (УС) загружаются в регистры управления ККД при

. Загружая определенные УС, можно настроить ККД на работу в требуемом режиме и предписать выполнение некоторой операции.

Операции, выполняемые в ККД, определяются не только управляющим словом, но и комбинацией управляющих сигналов на его входах:

Направление и вид операций обмена между микропроцессором и ПККИ представлены в таблице 4.


Таблица 4

Сигналы управления Вид операции обмена
CS A0 RD WR
1 X X X ПККИ не выбран
0 X 1 1 ПККИ не выбран
0 0 0 1 Чтение данных из памяти клавиатуры или дисплея
0 0 1 0 Передача команды с ШД в ПККИ
0 1 0 1 Чтение байта состояния ПККИ
0 1 1 0 Загрузка управляющего слова в ПККИ

УС инициализации клавиатуры и дисплея (УС0):