Sbornik_PLIS
.pdfленной линии, то такой интерфейс называют синхронным, в этом случае генератор синхронизации располагается на стороне устройства инициирующего передачу. Если же приемник и передатчик содержат каждый свой генератор синхроимпульсов, работающий на одной частоте, то такой интерфейс называется асинхронным. Получается, что приемник информации сам вырабатывает синхроимпульсы.
Периферийное устройство UART – это полнодуплексный Универсальный Асинхронный Приемник/Передатчик (Universal Asynchronous Receiver/Transmitter – UART), совместимый с промышленным стандартом 16450. UART преобразует данные между последовательным и параллельным форматами. Последовательная передача (прием) выполняется по асинхронному протоколу, который допускает изменение длины слова данных, различное число стоп-бит, формирование сигнала четности. UART также может включать аппаратные средства модемного управления и обработки прерываний.
При передаче по интерфейсу UART каждому байту данных предшествует СТАРТ-бит, сигнализирующий приемнику о начале посылки, за СТАРТбитом следуют биты данных. Завершает посылку СТОП-бит, гарантирующий паузу между посылками. СТАРТ-бит следующего байта посылается в любой момент после СТОП-бита, то есть между передачами возможны паузы произвольной длительности. СТАРТ-бит, обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Внутренний генератор синхроимпульсов приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала СТАРТ-бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты.
4.Контрольные вопросы
1.Какие функции выполняет порт последовательной передачи данных?
2.Опишите работу периферийного устройства UART. Пояснения сделайте с помощью временных диаграмм.
3.Что такое пользовательский тип данных в VHDL? Как он объявляется?
4.В какой код преобразуются данные, принятые UART?
5.Опишите назначение основных элементов отладочного набора для ПЛИС Xilinx Spartan.
6.Для чего в языке VHDL используются библиотеки?
7.В листинге файла GPIO_demo.vhd укажите декларацию компонентов проекта. Какие функции выполняют эти компоненты?
8.Правильно ли, что компоненты, декларируемые в архитектурном теле, должны специфицироваться полностью (т.е. вместе с интерфейсом и выполняемыми функциями)? Поясните на примере программы, приведенной в Приложении 3.1.
9.Сколько архитектурных тел может быть связано с одним entity? Поясните на примере программы, приведенной в Приложении 3.1.
10.Разрешается ли специфицировать начальное значение порта?
61
11.Поясните назначение каждого из блоков и особенности их реализаций. 12. В какой части VHDL-кода должны быть декларированы локальные
сигналы архитектурного тела? Поясните на примере программы, приведенной в Приложении 3.1.
13.С помощью фрагмента программы, приведенной в Приложении 3.1, поясните работу интерфейса UART.
14.С помощью фрагмента программы, приведенной в Приложении 3.1, поясните работу устройства, выполняющего функцию избавления от дребезга контактов.
5.Литература
1.Бабак В.П. VHDL: справочное пособие по основам языка / В.П. Бабак, А.Г. Корченко, Н.П. Тимошенко, С.Ф. Филоненко и др. – М.: Издательский дом «Додэка-XXI», 2008.
2.Тарасов И.Е. Разработка цифровых устройств на базе ПЛИС Xilinx с применением языка VHDL. –М.: Горячая линия-Телеком. – 2005. – С. 140145.
3.Бибило П.Н. Основы языка VHDL. 2-е изд. – М.: Солон-Р, 2002.
62