Упрощенная схема синхронного последовательного



порта передачи данных из ВУ

 

(слайд 11). И так, последовательные порты предназначены для обмена информацией между МП, а также между МП и ВУ, если критично количество соединительных проводов.

В состав последовательного порта, приведенного на рисунке 12.3, входит универсальный последовательно-параллельный регистр D 1. Он обеспечивает преобразование последовательного кода, поступающего из SSI-шины в параллельный вид. После записи в этот регистр последнего бита в триггер D7 заносится единичное значение (устанавливается флаг готовности).

(слайд 12).

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

Его можно было бы сформировать счетчиком импульсов тактовой синхронизации, но в данной схеме единичный потенциал заносится в младший бит сдвигового регистра D1 сигналом кадровой синхронизации.

Этот флаг может быть обнаружен либо при опросе содержимого триггера D7 микропроцессором, либо этот сигнал может непосредственно вызвать прерывание работы программы микропроцессора по входу запроса прерывания INT.

 

 

Рисунок 12.3 – Упрощенная схема синхронного последовательного порта

 

Одновременно с установкой флага готовности принятый кадр из последовательного регистра копируется в параллельный регистр (регистр данных D 6). В последовательный регистр D1 при этом записывается комбинация 00000001, которая используется в качестве счетчика битов, и начинается новый цикл приема данных по интерфейсу SSI. Микропроцессор должен за время приема следующего кадра успеть обнаружить окончание приема предыдущего и считать его. В противном случае предыдущая информация будет замещена новой.

Как это уже упоминалось ранее, флаг готовности порта рассматривается как отдельный бит восьмиразрядного слова состояния порта и размещается обычно в соседнем по отношению к регистру данных адресу. Для этого в состав схемы введен дополнительный шинный формирователь D9 и заведен младший разряд шины адреса. Логические элементы D4 и D5 в зависимости от логического уровня на этом разряде подключают к ШД либо регистр данных последовательного порта D 6, либо триггер D7, содержащий его флаг готовности.

При обращении центрального процессора к регистру данных последовательного порта D 6 вырабатывается сигнал чтения RD , который подается на вход CS шинного формирователя D 8. Одновременно этот же сигнал обнуляет триггер D 7, сбрасывая тем самым флаг готовности данных последовательного порта.

(слайд 13). Подробнее рассмотреть принцип работы последовательного и параллельных портов ввода-вывода самостоятельно.

Микушин А.В. и др. Цифровые устройства и микропроцессоры. – СПб.: БХВ-Петербург, 2010. Стр. 445 – 465.

 

1.4. Синхронный последовательный интерфейс передачи данных во ВУ

 

Простой контроллер для синхронной передачи данных в ВУ по последовательной линии связи (последовательный интерфейс) представлен на рисунке 12.4.

 

 

Рисунок 12.4 – Контроллер последовательной синхронной передачи

 

Восьмиразрядный адресуемый буферный регистр контроллера А1 служит для временного хранения байта данных до его загрузки в сдвиговый регистр. Запись байта данных в буферный регистр А1 с ШД системного интерфейса производится только при наличии единицы в одноразрядном адресуемом регистре состояния контроллера А2. Единица в регистре состояния указывает на готовность контроллера принять очередной байт в буферный регистр. Содержимое регистра А2 передается в процессор по одной из линий ШД системного интерфейса и используется для формирования управляющего сигнала системного интерфейса "Готовность ВУ". При записи очередного байта в буферный регистр A1 обнуляется регистр состояния А2.

Преобразование данных из параллельного формата, в котором они поступили в буферный регистр контроллера из системного интерфейса, в последовательный и передача их на линию связи производятся в сдвиговом регистре с помощью генератора тактовых импульсов (ГТИ) и двоичного трехразрядного счетчика импульсов следующим образом.

Последовательная линия связи контроллера с ВУ подключается к выходу младшего разряда сдвигового регистра. По очередному тактовому импульсу содержимое сдвигового регистра сдвигается на один разряд вправо и в линию связи "Данные" выдается значение очередного разряда. Одновременно со сдвигом в ВУ передается по отдельной линии "Синхронизация" тактовый импульс. Таким образом, каждый передаваемый по линии "Данные" бит информации сопровождается синхронизирующим сигналом по линии "Синхронизация", что обеспечивает его однозначное восприятие на приемном конце последовательной линии связи.

Количество переданных в линию тактовых сигналов, а, следовательно, и переданных бит информации, подсчитывается счетчиком тактовых импульсов. Как только содержимое счетчика становится равным 7, т. е. в линию переданы 8 бит (1 байт) информации, формируется управляющий сигнал "Загрузка", обеспечивающий запись в сдвиговый регистр очередного байта из буферного регистра. Этим же управляющим сигналом устанавливается в "1" регистр состояния. Очередным тактовым импульсом счетчик будет сброшен в "0", и начнется очередной цикл выдачи восьми битов информации из сдвигового регистра в линию связи.

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

При записи байта данных в буферный регистр обнуляется регистр состояния контроллера. Нуль в этом регистре указывает, что в линию связи передается байт данных из сдвигового регистра, а следующий передаваемый байт данных загружен в сдвиговый регистр.

Контроллер для последовательного синхронного приема данных из ВУ состоит из тех же компонентов, что и контроллер для синхронной последовательной передачи, за исключением генератора тактовых импульсов.

 

 

1.5. SPI-порт и I2С-порт

 

Кроме задачи передачи непрерывного потока информации довольно часто требуется передавать отдельные цифровые пакеты данных или управляющие команды. Именно для передачи такого вида информации и предназначен синхронный последовательный интерфейс (SPI – serial peripheral interface).

В синхронном последовательном интерфейсе синхронизирующие импульсы не передаются постоянно. Это не нужно. Они присутствуют только в момент передачи управляющей команды или цифрового пакета данных. Соответственно новой задаче меняется и название сигналов тактовой и кадровой синхронизации. В SPI-интерфейсе сигнал кадровой синхронизации называется выбор ведомого (slave select – SS). Сигнал тактовой синхронизации в этом интерфейсе получил название SCLOCK – serial clock (последовательная синхронизация).

Для обмена данными по I2C – Inter-Integrated Circuit порту, который часто называется I2C -шиной, используется всего два проводника (не считая кор пуса).

В I2C-шине прием и передача данных, а также передача адреса микросхемы и адреса регистра внутри микросхемы, к которому осуществляется обращение, производится по одному и тому же проводу. Для подключения к этому проводу используются микросхемы с открытым коллектором. Нагрузкой для всех микросхем, подключенных к линии SDA, служит внешний резистор. В результате общее количество проводников, требующихся для реализации данного последовательного порта, уменьшается до двух. Сокращение количества проводников позволяет уменьшить площадь печатной платы и размеры корпуса микросхемы (чем меньше количество выводов микросхемы, тем меньше ее габариты).

Естественно, что скорость передачи данных по такому порту будет ниже, по сравнению с SPl-портом, тем не менее, там, где на первом месте стоит такой параметр, как габариты устройства, последовательный интерфейс I2C незаменим.


Дата добавления: 2022-01-22; просмотров: 36; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!