ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.01.2025
Просмотров: 948
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 12. Схемотехника микропроцессорных цифровых устройств.
12.1. Классификация микропроцессоров и особенности их использования в измерительной аппаратуре.
12.2. Принципы организации микропроцессорных систем.
12.2.1. Принцип программного управления.
12.2.2. Структурная организация микропроцессорной системы.
12.2.3. Организация ввода-вывода в микропроцессорной системе.
12.3. Организация подсистемы памяти.
12.3.1. Оперативные запоминающие устройства.
12.3.2. Постоянные запоминающие устройства.
12.3.3. Увеличение информационной емкости модулей памяти.
Приведем в качестве
примера организацию наиболее часто
используемых в микроконтроллерных
системах интерфейсов. Начнем с интерфейса
RS-232. Принято также
обозначениеEIA-232 этого
стандарта. Этот интерфейс обеспечивает
последовательный мультиплексный режим
связи. Для него сигнал логической единицы
имеет уровень напряжения менее –3 В
(обычно –10 В) и сигнал логического нуля
- уровень напряжения более +3 В (обычно
+10 В). Гарантированная длина кабеля для
надежной работы интерфейса может быть
до 30 м в зависимости от скорости передачи.
Есть микросхемы, которые выполняют
преобразование стандартных ТТЛ-уровней
в уровни стандартаRS-232.
Примером может служить микросхемаMAX232Aпроизводства фирмыMaxim,
условное графическое обозначение и
типавая схема включение которой показаны
нарис.12.12. Микросхема
преобразует уровни напряжений стандарта
ТТЛ (уровень нуля0,2
В и уровень единицы3,5
В, рельно 0 В и 5 В) в уровни напряжения
стандартаRS-232 (уровень
единицы –10 В и уровень нуля +10 В) и
наоборот для двух равноценных каналов
1 и 2. ВыводT1inмикросхемы является входом усилителя
первого канала с входными напряжениями
ТТЛ, выводT1out- выходом усилителя первого канала с
уровнями напряженийRS-232.
ВыводR1inявляется входом усилителя первого
канала с входными напряжениямиRS-232,
выводR1out- выходом усилителя первого канала с
уровнями напряжений ТТЛ. Аналогично
назначение выводов второго канала.
Существет аналогичная микросхемаMAX242, отличающаяся от
рассмотренной тем, что у нее ТТЛ-выходы
усилителей обоих каналов выполнены по
трехстабильной схеме. Для управления
состояниями этих выходов микросхемаMAX242 имеет дополнительный
управляющий вход
.
Рис.12.12. УГО и типовая схема включения микросхемыMAX232Aпреобразователя уровней ТТЛ вRS-232.
Передача данных по протоколу стандарта RS-232 осуществляется обычно побайтно (в общем случае от 5 до 8 бит) бит за битом по независимым двум каналам для каждого направления. Канал передачи данных от передатчика называется каналомTxD(передача данных), а канал приема данных в приемник – каналомRxD(чтение данных). Пассивному состоянию линии передачи соответствует уровень напряжения логической единицы (-10 В). Наибольшее распространение получил асинхронный режим передачи интерфейсаRS-232, поскольку именно он реализован дляCOM-портов персонального компьютера. В этом режиме передаче основного байта предшествует выдача на линию передатчиком логического нуля (стартовый бит), а завершение передачи заканчивается выдачей логической единицы (стоповый бит) (рис.12.13). Может также использоваться контрольный бит четности, предшествующий передаче стопового бита. Бит четности дополняет общую сумму единиц основного байта до четного (нечетного) количества единиц. Такой способ контроля может выявить на принимающей стороне ошибку, если общее количество единиц приходит нечетным (четным). При пересылке данных между устройствами необходимо, чтобы оба устройства были настроены в один режим и на одну скорость. Типовые значения скорости передачи данных для интерфейсаRS-232 составляют: 2400, 4800, 9600, 19200 Бод.
Рис.12.13. Временная диаграмма протоколаRS-232 в асинхронном режиме.
Как правило, функции интерфейса RS-232 реализуются аппаратно. Для этого существуют специализированные микросхемы последовательных приемопередатчиков. Если такие микросхемы реализуют асинхронный режим последовательной связи, то они называютсяUART-преобразователями(от англ.«Universal Asynchronous Receiver/Transmitter»). Примером подобной микросхемы являетсяi8251A(отечественный аналог КР580ВВ51А). Эта микросхема не является в чистом виде асинхронным приемником-передатчиком. Она поддерживает как асинхронный режим, так и синхронный. Т.е. ее можно охарактеризовать какUSART-преобразователь. Обмен может быть как полудуплексным, так и дуплексным. Структурная схема микросхемыi8251Aприведена нарис. 12.14. Микросхема выполняет следующие функции:
прием данных из устройства, осуществляющего передачу, преобразование их из параллельного формата в последовательный и передачу через последовательный канал периферийному устройству;
прием данных по последовательному каналу из периферийного устройства, преобразование их к параллельному формату и передачу в устройство назначения.
Рис. 12.14. Структурная схема микросхемаUSART-преобразователяi8251A.
Назначение выводов микросхемы следующее (стрелка внутрь соответствет входу, стрелка наружу – выходу):
D0…D7 – двунаправленные трехстабильные выводы параллельных данных;
RESET– сброс;
CLK– синхронизация (вход подачи последовательности прямоугольных импульсов с типовым значением частоты 2 МГц);
A0 – адрес. Высокий уровень сигнала на этом входе определяет возможность записи или чтения данных по параллельному каналу, а низкий – возможность записи управляющих кодов для задания режима работы микросхемы или чтение слова состояния;
- разрешение вывода
данных или слова состояния на выводы
параллельного канала;
- разрешение ввода
данных с параллельного канала;
- выбор кристалла;
- готовность
микросхемы передавать данные по
последовательному каналу;
- готовность
приемника терминала;
- готовность
микросхемы принять данные по
последовательному каналу;
- готовность
передатчика терминала;TxD– последовательный канал передачи данных;
TxEnd– буфер передатчика пустой;
TxRDY– готовность передатчика к приему данных с выводов параллельного канала;
- синхронизация
передачи данных;RxD– последовательный канал приема данных;
SynDet– определяет вид синхронизации - внутренней или внешней. Состояние вывода определяется программно;
RxRDY– данные на выводах параллельного канала готовы для считывания их микропроцессором;
- синхронизация
приема данных.
Несмотря на то, что микросхема имеет большое количество управляющих выводов, для связи терминала и периферийного устройства в асинхронном режиме используется обычно всего 2 вывода: RxDиTxD. Причем входRxDтерминала соединяется кабелем с выходомTxDпериферийного устройства и выходTxDтерминала соединяется с входомRxDпериферийного устройства. Рассмотрим работу микросхемы в наиболее часто используемом режиме – асинхронном. В этом режиме скорость обмена кратна частоте сигналов синхронизацииTxCиRxCв соответствующих направлениях обмена. На эти входы подаются синхроимпульсы в виде последовательности прямоугольных импульсов. Коэффициент кратности задается программно и может быть выбран из ряда 1:1, 1:16 и 1:64. Для задания режима работы в микросхему необходимо по параллельному каналу записать слово инициализации. Это слово определяет асинхронный или синхронный режим работы микросхемы, кратность коэффициента деления, длину передаваемых/принимаемых данных по последовательному каналу, наличие или отсутствие бита контроля на четность или нечетность, блительность стоп-бита. В асинхронном режиме биты параллельного кода слова инициализации определяются следующими значениями:
D0=1,D1=0 - коэффициент кратности равен 1;
D0=0,D1=1 - коэффициент кратности равен 16;
D0=1,D1=1 - коэффициент кратности равен 64;
D2=0,D3=0 - формат передаваемых данных – 5 бит;
D2=1,D3=0 - формат передаваемых данных – 6 бит;
D2=0,D3=1 - формат передаваемых данных – 7 бит;
D2=1,D3=1 - формат передаваемых данных – 8 бит;
D4=1,D5=0 - контроль по четности;
D4=1,D5=1 - контроль по нечетности;
D4=0,D5=1 - без контроля;
D6=1,D7=0 - длина стоп-бита 1;
D6=0,D7=1 - длина стоп-бита 1,5;
D6=1,D7=1 - длина стоп-бита 2.
Слово инициализации устанавливается один раз. Смена слова инициализации необходима тогда, когда необходимо сменить режим работы микросхемы. Также в процессе передачи может возникнуть потребность задавать слова команды, определяющие функции и этапы передачи. Разряды слова команды задают следующие функции:
D0 – разрешение на передачу (при нулевом значении разряда передача не возможна, при единичном – возможна);
D1 – запрос готовности передатчка (при единичном значении разряда на выводе
микросхемы устанавливается ноль);D2 – разрешение приема (при нулевом значении разряда прием не возможен, при единичном – возможен);
D3 – конец передачи (при нулевом значении разряда – нормальная работа канала передачи, при единичном – установка высокого уровня на выходеTxDмикросхемы);
D4 – сброс меток ошибок (при единичном значении разряда сбрасываются все флажки-признаки ошибок);
D5 - запрос готовности приемника терминала (при единичном значении разряда на выводе
микросхемы устанавливается ноль);D6 – программный сброс (единичное значение разряда равноценно подаче сигналаRESET);
D7 – поиск синхроимпульсов (при единичном значении разряда выполняется поиск синхроимпульсов в синхронном режиме).
В настоящее время стандарт последовательной передачи RS-232 считается морально устаревшим. На многих современных персональных компьютерах он даже не предусмотрен. На смену ему пришел интерфейс USB(universal serial busили универсальная последовательная шина). Этот интерфейс широко применяется для связи внешних периферийных устройств с персональным компьютером. Он может быть полезен, когда необходимо подключить измерительный прибор, построенный на базе микропроцессора или микроконтроллера как внешнее устройство к персональному компьютеру. USB предствляет собой шину. Т.е. к одному физическому каналу можно подключать несколько устройств. Для подключения периферийных устройств к шине USB используется четырёхпроводный кабель. При этом два провода «USB-» и «USB+» (витая пара) в дифференциальном включении используются для приёма и передачи данных, а два провода «+5 В» и «Общий» - для питания периферийного устройства. Благодаря встроенным линиям питания интерфейс USB позволяет подключать периферийные устройства без собственного источника питания. Максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 500 мА. Существует несколько версий стандарта шиныUSB, отличающихся режимами работы и пропускной способностью, но схемотехническое подключение устройств к этой шине одинаковое для всех версий (кроме последней версии 3.0). По этой причине не будем рассматривать в рамках данной данной книги особенности конкретных версий.
Шина USBстрого ориентирована, имеет понятие «главное устройство» (хост, он же USB контроллер), и «периферийные устройства». Шина имеет древовидную топологию, т.е. периферийным устройством может быть разветвитель (хаб), к которому в свою очередь могут подключаться другие периферийные устройства. Разветвитель всегда активный и представляет собой сложное электронное устройство. К одному контроллеру шины USB можно подсоединить до 127 устройств по топологии «звезда», в том числе и разветвители. На одной шине USB может быть до 5 уровней каскадно включенных разветвителей.
USB поддерживает «горячее» подключение периферийных устройств в режиме Plug&Play. Это означает, что подключаемое к контроллеру периферийное устройство должно быть опознано персональным компьютером и должна автоматически запуститься программа обработки этого подключения. Попутно решается историческая проблема нехватки ресурсов на внутренних системных шинах персонального компьютера - контроллер USB занимает только одно прерывание независимо от количества подключенных к шинеUSBустройств. Для этого каждое периферийное устройство должно иметь уникальный код, который считывается контроллеромUSB(хостом) при подключении этого устройства.
Несмотря на то, что стандарт RS-232 на сегодняшний момент считается устаревшим и во многих новых моделях персональных компьютеров не используется вовсе, существует огромный парк периферийных устройств, имеющих интерфейс RS-232. Поэтому возникает задача стыковки периферии, имеющей интерфейс RS-232, с новыми моделями персональных компьютеров, в особенностями с переносными типа Notebook. Для этих целей разработаны микросхемы преобразователей RS-232 (с асинхронным режимом работы) в стандарт шины USB. Примером такой микросхемы является микросхема FT232R фирмы Future Technology Devices International Ltd., условное графическое обозначение и типовая схема включения которой приведены на рис.12.15.
Рис.12.15. УГО микросхемыFT232Rи ее типовая схема включения.
В микросхеме
имеются все сигналы и линии стандарта
RS-232 со стороны периферийного
устройства, рассмотренные ранее и
дополнительные линии
(обнаружен вызов) и
(обнаружена несущая), задействованные
обычно в работе модема. Для связи
периферийного микропроцессорного
устройства с персональным компьютером
достаточно использовать только линииTxDиRxD.
В микросхемуFT232Rзапрограммирован индивидуальный
идентификационный код, что позволяет
использовать ее без каких-либо специальных
процедур программирования. Если
предусматривается возможность подключения
нескольких устройств через несколько
микросхемFT232Rк одному хосту, то в каждую из них нужно
запрограммировать индивидуальный
номер, чтобы хост мог корректно
идентифицировать устройство и запустить
необходмую процедуру обработки. Для
этих целей микросхема имеет встроенное
перепрограммируемое ПЗУ, программирование
которого осущетсвляется через выводыCBUS0…CBUS4.
ВыводыOSCiиOSCoиспользуются в опциональных применениях
и в обычном режиме не задействованы.
ВыводTESTтакже
используется в специальных режимах, в
обычном режиме на него подается логичеий
ноль. Вывод 3,3Voutможет
быть использован как стабилизированный
источник напряжения для подключения
дополнительных потребителей с потребляемым
током не более 50 мА, если такие есть в
схеме.
Другим примером интерфейса, широко применяемым в цифровой микропроцессорной технике, является интерфейс I2C(часто встречается обозначение «I2C»). Этот интрефейс представляет собой шину, поддерживающую мультиплексный синхронный последовательный обмен данными. Название интерфейса расшифровывается как как «InterIC», т.е. «межмикросхемная шина». ИнтерфейсI2Cбыл предложен фирмойPhilipsв начале 90-х годов прошлого века специально для связи различных цифровых микросхем между собой. Сегодня эта шина широко применяется для простой, не требующей большого количества выводов и сигнальных линий, стыковки микроконтроллеров с микросхемами памяти, АЦП, ЦАП, часами реального времени, таймерами, различными преобразователями, индикаторами и прочей периферией. В периферийных устройствах протокол шиныI2Cобычно реализуется аппаратно, в микроконтроллерах и микропроцессорах он может реализовываться как аппаратно, так и программно.