Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Гуров Проектирование микропроцессорных систем 2010

.pdf
Скачиваний:
125
Добавлен:
16.08.2013
Размер:
2.49 Mб
Скачать

Рис. 2.5. Текст программы для тестирования АЛУ

41

2.2.Рекомендации по подключению внешних устройств

ксистемной шине и порту Р4 микроконтроллера

Варианты подключения внешних устройств через системную шину

В МПС на основе УЛС все составные части системы подключаются к внешней системной шине. Шина представляет собой набор отдельных линий данных, адресов и сигналов управления. Оказывается, что шину в УЛС системной назвать нельзя, нельзя её называть и шиной данных. При ограниченном количестве задействованных контактов ПЛИС для подключения внешних устройств или средств визуализации используется ограниченный набор сигналов внешней системной шины: восемь разрядов шины данных DMK [7-0], стробы чтения и записи MKRD и MKWR соответственно и два адресных 7FFAh и 7FFBh, формируемых селектором адреса. Четыре последних сигнала – входные. Трехстабильная шина данных – это просто выходы порта Р0 МК, где при выполнении программы или при обмене данными в режиме разделения времени выдаются младшие разряды адреса памяти (старшие в это время передаются через порт Р2), а потом и байт данных.

Подключение схем на ПЛИС ко всем этим сигналам осуществляется через контакты ПЛИС, а собственно к контактам подключение осуществляется через IO Buffers – стандартные буферные эле-

менты IBUF, OBUF, OBUFE, OBUFT.

Если просто нужно вывести из ПЛИС сигнал, не подключаемый к трёхстабильной шине данных, или ввести в ПЛИС какой-то сигнал с внешнего контакта, то на логической схеме это делается просто с помощью входных и выходных буферов IBUF, OBUF (так же, как это делается при подключении схемы в ПЛИС к порту Р4 МК). Именно так подключаются стробы чтения и записи MKRD и MKWR и два адресных сигнала 7FFAh и 7FFBh.

Для трехстабильной двунаправленной шины данных всегда применяются контакты IOPAD. Подключение к внешней шине через контакты ПЛИС одного источника данных обычно никаких затруднений не вызывает. Для этого используются имеющиеся в библиотеке ПЛИС буферные элементы OBUFE с активным «высоким» состоянием разрешающего сигнала, как показано на рис. 2.3,

42

или буферные элементы OBUFT с активным «низким» состоянием разрешающего сигнала.

Более сложная задача – подключение к выходным контактам нескольких внешних устройств – источников данных. Первый вариант решения – использование нескольких буферных элементов OBUFE или OBUFT, объединённых у контакта. Для ПЛИС такой вариант непригоден.

Один источник подключается к контакту ПЛИС через элементы OBUFE, OBUFT. На схеме проекта эти элементы должны быть представлены, но при загрузке на кристалл они берутся из блока ввода-вывода, придаваемому каждому выводу корпуса ПЛИС. Аналогично элементы берутся из состава блока и в случае использования буферов IBUF, OBUF – минуя блок ввода-вывода выйти за пределы ПЛИС невозможно.

Блок ввода-вывода может быть конфигурирован как вход, выход или двунаправленный вывод. На рис. 2.6 показана структура блока ввода-вывода для контакта LOC=P80 (реализация в ПЛИС фрагмента схемы на рис. 2.7). Ни рис. 2.7 пунктиром отмечено, какие элементы и цепи из состава блока были использованы системой для реализации.

Рис. 2.6. Структура блока ввода-вывода в ПЛИС УЛС

43

Рис. 2.7. Фрагмент схемы подключения к шине

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

ВПЛИС необходимо организовать внутреннюю шину данных и подключить её к внешней шине. Можно использовать для этого из библиотеки элементов ПЛИС Tri-States – элементы с тристабильными выходами (BUFE, BUFT). Эти элементы находятся рядом с каждым конфигурируемым логическим блоком и вне него. Они через транзисторы-перемычки могут подключаться к общим шинам, проходящим вдоль всего кристалла.

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

вПЛИС фирмы Xilinx всё-таки широко применяются шины с тремя состояниями, хотя это существенно повышает их себестоимость. Зато, во-первых, проще выполнить переход от проекта схемы на плате к проекту системы на кристалле. Во-вторых, устройство с общими шинами, к которым подключено несколько десятков источников, имеет аппаратные затраты в несколько раз меньше, чем такое же устройство, в котором шины заменены на эквивалентную схему из мультиплексоров.

Влюбом случае в практикуме необходимо делать выбор между реализацией на мультиплексорах или на буферных трёхстабильных элементах и решать вопрос с выбором источника управления бу-

44

ферными элементами или управления мультиплексором с учетом того, что МПС представляет для внешних устройств на ПЛИС ограниченное количество доступных адресов.

Рассмотрим различные схемные решения подключения к внешней шине двух и четырёх источников данных.

Варианты решения для двух источников данных

При реализации схемы подключения на мультиплексоре «2-в-1» для управления передачей данных необходим только один управляющий сигнал. Им может быть выходной битовый сигнал с одного из разрядов порта Р4 (рис. 2.8). Подключение мультиплексора D1 к внешней шине выполняется через трёхстабильный буферный элемент OBUFE с активным «высоким» состоянием разрешающего сигнала. Разрешающий сигнал формируется на выходе элемента D2 при совпадении сигнала чтения MKRD и того или иного адресного сигнала.

Рис. 2.8. Вариант подключения двух источников через мультиплексор (управление от порта Р4)

При организации внутренней шины с использованием Tri-States – элементов с трёхстабильными выходами – достаточно использовать либо два элемента BUFE с «активным» высоким состоянием управляющего сигнала и один инвертор, либо один элемент BUFE и один элемент BUFT с «активным» низким состоянием управляющего сигнала (рис. 2.9).

45

Рис. 2.9. Вариант подключения двух источников через буферные элементы (управление от порта Р4)

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

В схеме на рис. 2.10 используется дополнительный регистр адреса (для двух источников – один триггер). Перед чтением данных в этот триггер (D1) необходимо записать «1» или «0». Для выдачи данных с выбранного источника можно использовать команду чтения по тому же или другому адресу. Схема подключения с использованием буферных элементов приведена на рис. 2.11.

Рис. 2.10. Вариант подключения двух источников через мультиплексор

46

Рис. 2.11. Вариант подключения двух источников через буферные элементы

Варианты решения для четырёх источников данных

На рис. 2.12 показана одна из возможных схем подключения к шине нескольких внешних устройств – источников данных. В схеме используется дополнительный регистр адреса (RGADDR), код в который записывается микроконтроллером при обращении по адресу 7FFAh. В схеме в регистр записывается унитарный 4-разрядный код. При обращении МК по второму адресу (7FFВh) происходит запись данных с шины в один из четырёх регистров (внешних устройств – приёмников данных).

В зависимости от кода в регистре адреса подаётся разрешающий сигнал на один из четырёх буферных элементов с «третьим» состоянием выхода. Для упрощения на схеме показано подключение к шине только одного (0-го) разряда источников данных.

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

При использовании мультиплексора «4-в-1» для управления им требуются два сигнала: S0, S1. Поэтому в качестве регистра адреса используются два триггера (D1 и D2), и адрес источника представляется в виде двоичного кода (рис. 2.13).

При наличии двух свободных разрядов порта Р4, которые можно использовать для управления выбором канала мультиплексора, схема подключения имеет вид, представленный на рис. 2.14.

47

Рис. 2.12. Схема подключения к шине нескольких внешних устройств – источников данных(унитарное кодирование адреса)

Рис. 2.13. Вариант подключения четырёх источников через мультиплексор (управление от регистра адреса)

48

Рис. 2.14. Вариант подключения четырёх источников через мультиплексор (управление от порта Р4)

Для схемы с использованием буферных элементов потребуется дешифратор (D3) для преобразования двоичного кода в унитарный

(рис. 2.15).

Рис. 2.15. Вариант подключения четырёх источников через буферные элементы (управление от порта Р4)

Варианты решения для четырёх приёмников данных

На рис. 2.16 и 2.17 показаны возможные схемы подключения к шине четырёх внешних устройств – приёмников данных. Для упрощения на рисунках показана4-разрядная шина. В схемах используется дополнительный регистр адреса (RGADDR), код в который записывается микроконтроллером при обращении, например, по адресу 7FFAh. В первой схеме в регистр записывается унитарный 4-разрядный код. При обращении МК по второму адресу (7FFВh) происходит запись данных с шины в один из четырёх регистров (внешних устройств – приёмников данных).

49

Рис. 2.16. Схема подключения к шине нескольких внешних устройств – приёмников данных(унитарное кодирование адреса)

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

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]