Введение
Микропроцессорныеинтегральные схемы (МП ИС) и микро-ЭВМ, построенные на их основе, явилисьследствием бурного развития микроэлектроники, позволившего в одном кристаллеполупроводника размещать сложные вычислительные структуры, содержащие десяткитысяч транзисторов. Изготовление больших интегральных схем (БИС) сопряжено струдоемкой работой по разработке схем, фотошаблонов и подготовкой производстваи служб контроля технологических параметров и характеристик БИС. Снижениесебестоимости БИС возможно лишь при максимальной автоматизации этапов,предшествующих их изготовлению, и массовости производства.
Массовоепроизводство БИС предполагает широкий спрос потребителя, а следовательно,возможность ее использования для большого круга решаемых задач.Микропроцессорные БИС (МП БИС) представляют тот класс интегральных схем,который сочетает в себе высокую степень интеграции, обеспечивающую огромныефункциональные возможности, с большой универсальностью по применению.
Целями курсового проекта являются:
— изучение методики проектированиямикропроцессорных систем от технического задания до рабочих чертежей;
— углубление знаний полученных в теоретическихкурсах;
— получение навыков внедрения теоретическихзнаний в практические применения.
Основнойзадачей курсового проекта является разработка архитектуры, принципиальной схемыи конструкции специализированного микроконтроллера, выполняющего функции,определенные заданием, на базе заданных технических средств.
Исходные данные дляпроекта
1. Базовыйвосьмиразрядный микроконтроллер.
2. Оперативныепериферийные устройства: индикаторы семисегментные (10 знакомест), клавиатура(16 клавиш), внешние прерывания (3 линии).
3. Внешниеустройства: входное АЦП (7 каналов, 12 разрядное, />В);
выходное ЦАП(1 канала, 10 разрядное, />В).
4. Интерфейсдля связи с дополнительными внешними устройствами />.
5. Схемасопряжения с фотоимпульсным датчиком углового положения ФИ.
1 Описание функциональнойсхемы
На рисунке 1представлена функциональная схема микроконтроллера с внешними устройствами.
/>Рисунок 1 – Схемаэлектрическая функциональная микроЭВММикропроцессорная система включает в себя:
1. МикроконтроллерAT89C5131A-L
2. Контроллерклавиатуры и индикации КР580ВВ79.
3. 1-канальный10-разрядныйцифро-аналоговый преобразователь с интерфейсом SPI MAX503
4. 8-канальный14-разрядный аналого-цифровой преобразователь с интерфейсом SPI AD7949.
5. Схемасопряжения с фотоимпульсным датчиком.
AT89C5131A-L – высокопроизводительная версия 8-разрядного однокристальногомикроконтроллера 80C51 с флэш-памятью и функциями полноскоростной USB-связи.
Микроконтроллер имеет:
— высокопроизводительноемикропроцессорное ядро C51 совместимое со стандартом 8051.
-аппаратнореализованные последовательные интерфейсы I2С, SPI и интерфейс USB
— 34 цифровыхвхода/выхода
— две линиивнешних прерываний.
Микроконтроллеримеет встроенную схему слежения за напряжением питания, сторожевой таймер,тактовый генератор и представляет собой функционально законченную систему на одномкристалле. Все аналоговые и цифровые периферийные модули могутвключаться/отключаться и настраиваться программой пользователя.
Контроллерклавиатуры-дисплея (ККД) КР580ВД79 обеспечивает обслуживание клавиатуры(сканирование клавиатуры, и выдача сигнала процессору, при нажатии клавиши) иобслуживание индикаторов (обеспечивается подключение 10 семисегментныхиндикаторов и регенерацию изображения в динамическом режиме).
В качествеиндикатора используется 10 семисегментных индикаторов АЛС348А. Подключается кМК через контроллер клавиатуры/дисплея.
Клавиатура 2×8(16 клавиш) подключается к МК также через контроллер клавиатуры/дисплея.
Для связи свнешними используется встроенный последовательный интерфейс I2С.
Дляобеспечения подключения 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 фирмы Analog Devices. Данный АЦП имеет 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 ПККИ не выбран X 1 1 ПККИ не выбран 1 Чтение данных из памяти клавиатуры или дисплея 1 Передача команды с ШД в ПККИ 1 1 Чтение байта состояния ПККИ 1 1 Загрузка управляющего слова в ПККИ
УСинициализации клавиатуры и дисплея (УС0):
0.0.0.D.D.KK.S.
Здесь DDкодирует режим работы дисплея, КК — режим работы клавиатуры, S — режимсканирования в соответствии со следующими правилами:
DD:00Дисплейна 8 символов с вводом слева
01Дисплей на16 символов с вводом слева
10Дисплей на8 символов с вводом справа
11Дисплей на16 символов с вводом справа
Описаниережимов правого и левого вводов приводится ниже. Если сканирование идет врежиме дешифратора, то дисплей не может быть больше, чем на четыре символа (таккак линии SL общие).
КК: 00 Клавиатурав режиме одиночного нажатия клавиш
01 Клавиатурав режиме N-клавишного нажатия
10 Сканированиематрицы датчиков
11 Режимстробируемого ввода
S:0Сканированиев режиме 4-битного двоичного счетчика
1Сканированиев режиме инверсного дешифратора на четыре выхода.
После сбросаККД оказывается в режиме, соответствующем УС0-00001000. При сканировании врежиме счетчика цикл опроса клавиатуры укладывается в восемь состояний счетчикаот «0000» до «0111» и oт «1000» до«1111». Таким образом, в этом режиме опрос клавиатуры происходитдважды в каждом цикле полного пересчета счетчика SLO—SL3, т.е. для сканированияклавиатуры используются только три младшие линии SLO-SL2.
УСинициализации опорной частоты (УС1): О.О.1.Р.Р.Р.Р.Р. Здесь РРРРР устанавливаеткоэффициент деления частоты внешнего синхросигнала CLK для получениявнутреннего опорного сигнала с частотой не более 100 кГц. После сбросаустанавливается максимальный коэффициент РРРРР, равный 11111. При частоте внутреннегоопорного сигнала 100 кГц один полный цикл сканирования занимает приблизительно10,2 мс.
УС чтенияпамяти клавиатуры/датчиков (УС2): О.1.0.I.Х.А.А.А. УС2 должнопредшествовать чтению данных из памяти клавиатуры. Здесь I есть признакавтоинкрементной адресации; ААА устанавливает адрес байта памяти, которыйдолжен быть считан. Если бит I установлен, то последующие команды чтения данных будутвызывать автоматическое увеличение адреса. Таким образом, если необходимопрочитать всю память клавиатуры, то это можно сделать, загрузив УС2 с битом I = 1 и затем 8 разсчитать данные из ККД.
УС чтенияпамяти дисплея (УСЗ): 0.1.1.I.A.AA.A. УСЗ должно предшествовать чтению данныхиз памяти дисплея. Здесь I есть признак автоинкрементной адресации: АААА — номер позициидисплея, которая должна быть считана. Если I = 1, то адрес будетинкрементироваться после каждого чтения.
УС записи впамять дисплея (УС4): 1.0.0.1.А.А.А.А. Кодирование аналогично УСЗ. Поле ААААопределяет адрес байта в ОЗУ дисплея.
УС запретазаписи в память дисплея и бланкирования дисплея (УС5): 1.0.1.X.IWA.IWB.BLA.BLB.Здесь IW — указатель запрета записи (тетрады А и В), BL — указательбланкирования (очистки) (тетрады А или В). Если дисплей используется какдвойной 4-позиционный, то удобно маскировать одну из тетрад, чтобы работапроцессора с одной тетрадой не отражалась на другой. Эту возможность даетуказатель IW. Указатель BL используется для бланкирования дисплея; если онустановлен. То на выходах А и/или В устанавливается специальный бланкирующий код(см. УС6). Содержимое памяти дисплея при этом не изменяется, Если дисплейиспользуется как единый 8-позиционный, то необходимо устанавливать обауказателя.
УС сбросапамяти дисплея (УС6): 1.1.0.CD.BC.BC.CF.CA. УС6 служит для: выбора кодабланкирования (ВС), сброса байта состояния (CF) и сброса памяти дисплея (CD).Биты ВС позволяют выбрать один из трех возможных бланкирующих кодов.
После общегосброса контроллера бланкирующий код устанавливается равным ООН.
Процедурасброса памяти дисплея осуществляется путем заполнения кодами бланкирования.Процедура инициируется при установке бита CD и продолжается примерно 160 мкс. Вэто время память дисплея недоступна, на что указывает старший бит байтасостояния контроллера.
Бит CF,будучи установлен, сбрасывает байт состояния, сигнал прерывания и устанавливаетуказатель памяти матрицы датчиков на строку 0. Управляющий бит СА работает какбиты CD и CF в совокупности, а также сбрасывает схему внутренней синхронизации.
УС сбросапрерывания/установки режима ошибки (УС7): U.1.E.X.X.XX В состоянии матрицыдатчиков УС7 сбрасывает линию прерывания и разрешает дальнейшую запись в памятьклавиатуры (матрицы датчиков). В режиме N-клавишного нажатия, если установленбит Е, контроллер переходит в режим ошибки.
Режимодиночного нажатия клавиш. Дисциплина опознания нажатых клавиш в этом режиметакова: если обнаружено нажатие одной клавиши, то в течение следующих двухциклов сканирования клавиатуры будет производиться проверка нажатия другихклавиш. Если таких клавиш не будет, то нажатая клавиша признается единственнойи код ее записывается в память клавиатуры. Если в течение этих двух цикловбудет обнаружено нажатие еще одной клавиши, то в память клавиатуры не заноситсякод ни одной клавиши до тех пор, пока не будут освобождены все клавиши, кромеодной. После того как все, кроме одной, клавиши будут освобождены и не будутнажаты новые в течение двух циклов, код этой клавиши будет занесен в памятьклавиатуры. Код клавиши заносится в память клавиатуры только один раз на каждоенажатие.
РежимN-клавишного нажатия. В этом режиме нажатие каждой клавиши фиксируетсянезависимо от состояния остальных клавиш. Когда клавиша нажата, пропускаютсядва цикла опроса клавиатуры, а затем проверяется, осталась ли данная клавишанажатой. Если да, то ее код заносится в память. При одновременном нажатиираспознавание клавиш производится в порядке их опроса в цикле сканированияклавиатуры. Опознание всех клавиш ведется независимо. На каждое нажатие кодклавиши вводится только один раз.
Специальныйрежим ошибки при сканировании клавиатуры. Для режима сканирования клавиатуры сN-клавишным нажатием с помощью УС7 можно запрограммировать специальный режимошибки. Если в течение одного цикла сканирования будут нажаты две клавиши, этотрактуется как совместное нажатие и устанавливается флаг ошибки в байтесостояния. Этот флаг запрещает дальнейшую запись в память клавиатуры иустанавливает линию прерывания (если она не была установлена). Флаг ошибкиможно сбросить с помощью УС6, установив в нем CF= 1.
Режим матрицыдатчиков. В этом режиме «антидребезговая» логика не работает.Состояние датчиков непосредственно записывается в память матрицы датчиков(память клавиатуры). Хотя антидребезговый контроль и не обеспечивается, МКможет иметь информацию о том, как долго датчик находится в единичном илинулевом состоянии (у датчика подразумеваются только два состояния). Линияпрерывания устанавливается в единицу, если в конце цикла сканирования матрицыхотя бы один из датчиков изменил свое состояние, и сбрасывается при первой же операциичтения, если не был установлен указатель автоинкрементирования.
Форматыданных. В режиме клавиатуры байт, записываемый в память клавиатуры, отражаетположение клавиши на клавиатуре, а также состояние входов CNTL и SHIFT. Форматданных в этом режиме CNTL.SHIFT.SL2.SL1.SL0.R2.R1.RO.
Здесь SL2-SLO- двоичный код строки, в которой находится клавиша, R2-RO — двоичный кодколонки, в которой находится клавиша (номер линии RL, на которую поступилнулевой сигнал).
В состоянииматрицы датчиков данные, приходящие на линии RL7—RLO, непосредственно вводятсяв память клавиатуры. Таким образом, каждое изменение в датчиках в течениеодного цикла будет отражено в памяти. Состояния SHIFT и CNTL игнорируются.
Формат данныхв режиме стробируемого ввода; RL7.RL6.RL5.RL4, RL3.RL2.RL1.RLO. В этом режимеданные также вводятся в память по линиям RL7-RL0, но при этом ввод стробируетсялинией CNTL/STB. Данные заносятся в память по фронту сигнала CNTL/STB.
Следуетпомнить, что цикл сканирования клавиатуры постоянен, не зависит от размерадисплея и соответствует максимальной конфигурации клавиатуры 8x8 присканировании в режиме счетчика и 4х8 при сканировании в режиме дешифратора.
Режимы работы дисплея
Ввод слева.Это самый простой формат ввода. При нем каждой позиции на дисплее однозначносоответствует байт в памяти дисплея. Нулевой адрес памяти дисплея соответствуетсамой левой нулевой позиции дисплея, адрес 15 (7 для 8-позиционного дисплея)соответствует самой правой позиции дисплея. При переходе за 16 (8) позицийследующие символы будут опять вводиться слева с нулевой позиции, т.е. 17-й (9)символ займет крайнюю левую позицию.
Ввод справа.Этот способ ввода используется в калькуляторах. Первый вводимый символзаносится в крайнюю правую позицию. Следующие символы также заносятся в крайнююправую позицию, но после того, как все символы на дисплее сдвинутся на однупозицию влево. Самый левый символ при этом теряется. Заметим, что здесь номерапозиций на дисплее уже не соответствуют адресам памяти дисплея. Адрес памятидисплея в этом случае соответствует порядковому номеру нажатой клавиши.Указание позиции, в которую должен быть введен символ при автоинкрементируемомвводе (см. далее), может иметь непредсказуемый результат.
Автоинкрементирование.В состоянии ввода слева это означает, что следующий символ, поступающий из МК,будет размещен по адресу, на единицу большему, чем предыдущий. При отсутствииавтоинкремента ввод будет произведен в ту же самую позицию. Использованиеавтоинкремента при вводе слева не порождает непредсказуемых эффектов, даже еслипосле ввода нескольких символов нужно ввести очередной символ не в следующую, ав произвольную позицию. Это обусловлено тем, что позиция на дисплее при вводеслева однозначно соответствует адресу памяти дисплея. При вводе справа с автоинкрементированиемпопытка ввести символ в фиксированную позицию будет иметь непредсказуемыйрезультат.
Форматдисплея. Если используется 8-позиционный дисплей, то время цикла сканированиядисплея в 2 раза меньше, чем для 16-позиционного дисплея. При внутреннейчастоте 100 кГц это время составляет 1 и 10,2 мс соответственно.
Байт состояния памятиклавиатуры/датчиков
Байтсостояния используется в режиме клавиатуры и стробируемого ввода дляотображения числа введенных символов и индикации ошибки. Возможны два видаошибок: переполнение и пеpeoпустошение. Флаг переполнения устанавливается,когда делается попытка записи в заполненную память клавиатуры. Флагпереопустошения устанавливается, если была попытка считать из пустой памятиклавиатуры. Байт состояния имеет также бит DU, показывающий, что дисплейнедоступен из-за того, что завершена очистка памяти дисплея. В специальномрежиме ошибки бит S/E является флагом ошибки и указывает на множественноенажатие клавиш. В режиме матрицы датчиков этот бит показывает, что имеется хотябы один «замкнутый» (нулевой) датчик.
Формат байтасостояния памяти клавиатуры/датчиков: DU.S/E.O.U.F.N.N.N
DU — дисплейнедоступен;
S/E — датчик«замкнут»/ошибка многократного нажатия;
О — ошибкапереполнения;
U — ошибкапереопустошения;
F — памятьклавиатуры заполнена;
NNN —количество символов в памяти клавиатуры.
4 Схема сопряжениямикроконтроллера с фотоимпульсным датчиком
Основнымэлементом ФИД является прозрачный диск с нанесенными на него рисками,количество которых достигается нескольких тысяч. При повороте диска, луч света,излучаемый источником ИС, модулируется рисками и воспринимается фотоприемникамиФП. Электрические сигналы от ФП преобразуются электронным преобразователем ЭП всистему электрических сигналов, которые подаются на микроконтроллер.
/>
Схема фотоимпульсногодатчика скорости
В качествеэлектронного преобразователя рассматривается следующая схема сопряжения ФИД сцифровой системой.
/>Структурная схемасопряжения ФИ датчика
с цифровой системойуправления
4.1 Гальваническаяразвязка
В качествегальванической развязки возможно применение
— трансформаторы
— оптопары
Используетсяоптопара, выполненная на микросхеме… Каждая оптопара ставится на каждый каналфотоимпульсного датчика.
4.2 Мажоритарный элемент
Имеетнечетное число входов и один выход. Сигнал на выходе элемента получает тозначение, которое имеется не большинстве его входов. Если необходимо создатьмажоритарный элемент на какое-либо количество входов, то необходимо суммироватьвсе сигнал от элементов «И», на входы которых подаются все комбинации входныхсигналов от большинства.
Посколькумажоритарный элемент используется для выявления и устранения кратковременныхимпульсных помех, то сначала необходимо выполнить сдвиг информационного сигналана некоторое количество тактов.
Сдвигинформационного сигнала можно выполнить на D-триггерах (в данномпроекте используется 3 D-триггера для одного канала сигналов).
/>
Схема сдвига сигнала
Для даннойсхемы возможно всего 3 комбинации:A’ 1T 2T
1
1
1
1
1
1
Следовательно,необходимо 3 элемента «И» и одни «ИЛИ». Схема мажоритарного элемента будетиметь вид (см. рисунок 12).
/>
4.3 Схема выделенияимпульсов
Широкораспространена схема выделения импульсов, собранная на мультиплексорах. Дляопределения входных данных мультиплексора составляются диаграммы входныхимпульсов (см. рисунок 10). Поскольку задан датчик без умножения, то будемсчитать, что выходной импульс формируется по фронту сигнала А.
Диаграммаэтих сигналов при вращении вправо и влево показана на рисунке11. При этомнеобходимо обеспечить, чтобы при движении вправо при каждом переходе входногосигнала происходит прибавление 1http://www.unilib.neva.ru/dl/532/k9-2-1.gif в счетчике, а придвижении влево – вычитание 1. Таким образом, в счетчике ПК формируется код углаповорота Na или его приращения.
/>
Посколькузадан датчик без умножения, то разрядность счетчиков равна 10.
Используютсятри микросхемы 4-разрядных реверсивных двоичных счетчиков К555ИЕ7, соединенныхпо схеме увеличения разрядности.
Для передачиданных в микроконтроллер используются 2 микросхемы буферных регистров К555ИР33
/>
Запись данныхв регистр производится с приходом такта на вход С. Для чтения информации с МКна вход Zподается сигнал H-уровня. При этом выходы регистра переходят из высокоимпедансномсостояния в обычное.
5 Расчет потребляемоготока от источника питания
Токи,потребляемые элементами, входящими в состав микроконтроллера для обработкидискретных сигналов, приведены в таблице 5.
Таблица 5Микросхема Наименование элемента Количество элементов Потребляемый ток, мА DD1 AT89C5131A-L 1 25 DD2 MCP4921 1 24 DD3 AD7949 1 50 DD4 КР580ВД79 1 60 DD5 К555ИД3 1 35 DD6-DD8 К555ИЕ7 3 3*20 DD9-DD10 К555ИР33 2 2*20 DD11 К555ТМ8 1 15 DD12 К555ТМ9 1 18 DD13 К555КП2 1 10 DD14 К555ЛЛ1 1 10 DD15-DD16 К555ЛИ1 2 11.5*2 HG1-HG9 АЛС348А 10 8*10
Суммарныйток, потребляемый элементами микроконтроллера от источников питания, составляет/>395мА.
РАСЧЕТ БЛОКА ПИТАНИЯ
Блок питаниядолжен быть хорошо отфильтрован и стабилизирован /1/. Поэтому применяется схемадвухполупериодного выпрямления со стабилизатором на интегральных микросхемах(рисунок 4.1.). Необходимо получить выходное напряжение для питания микросхем+5В, +12В и –12В. При этом двух полярное напряжение необходимо для питанияоперационных усилителей, а остальные микросхема работают при напряжении +5В.
Схема блокапитания приведена на рисунке 21.
/>
Схема блока питания
Понижающий трансформатор Т1 необходим для гальванической развязкипитания цифровой и аналоговой частей. В качестве схемы выпрямления используетсядиодный мост КЦ405Е (100В, 1А). Напряжение снимается с микросхемстабилизаторов: MC78L05 с выходным напряжением Uвых=5 В; MC78L12 с выходным напряжениемUвых=12 В; MC79L12 с выходным напряжениемUвых=-12 В. Входныеконденсаторы C2,C5, C6 имеют емкость 0.33 мкФи предназначены для сглаживания входного напряжения, поступающего настабилизатор. Выходные конденсаторы C7, C9, C10 емкостью 0.1 мкФ не являются необходимыми, но существенноулучшают характер переходного процесса при включении электропитания. Остальныеконденсаторы – сглаживающие: C1, C3, C4 – К50-35 1000 мкФ; C8, C11, C12 – К50-35 100 мкФ.
6 Программная часть
Блок-схемапрограммы вывода информации на индикацию представлена на рис. 21.
/>
Блок-схема программы
HG:
CLR P0.4; выбор кристалла
SETB P0.3; направление передачиМК à ККД
CLR P0.7;
SETB P0.6; запись в ККД
MOV P2,00000000B; инициализация клавиатурыи индикаторов
MOV P2,00111111B; инициализация опорнойчастоты
CLR P0.3; начало записи данныхв память дисплея
MOV R0,10010000B; начальный адрес памятидисплея в ККД
MOV R1,07H; счётчик
MOV R2,50H; начальный адрес массиваданных на индикацию в МК
M:
MOV P2,R0; выбор ячейки в памятиККД
MOV P2,@R2; запись в неё очередногозначения из массива
INC R0
INC R2
DEC R1
JNC M; переход если нетпереноса
SETB P0.7;
CLR P0.6; данные записаны
RET