Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPS_kaf12_8 / MPS_kaf12_8.doc
Скачиваний:
114
Добавлен:
27.03.2016
Размер:
3.27 Mб
Скачать

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, или буферные элементы OBUFT с активным «низким» состоянием разрешающего сигнала.

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

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

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

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

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

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

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

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

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

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