UART на VHDL

UART на VHDL В данном посте представлен UART на VHDL. VHDL код полного UART приемопередатчика реализован на базе VHDL модулей UART передатчика и ресивера, которые скомпонованы в проект UART VHDL на Quartus 9, который протестирован на отладочном модуле Altera DE0 Board от Terasic. Тест заключается в одновременной передаче Modbus запроса и приема последовательного длинного кода с чередующимися данными типа 0xAA, 0x55 и контроль сигналов передатчика на мониторе Rs232, а сигналов приемника на осциллографе.

В симуляторе симитирована передача по txd Modbus запроса на датчик давления "Сапфир-22МП-ВН" и прием данных о давлении на вход rxd. На диаграмме видно, что UART приемник надежно реагирует на 15_ти байтный ответ датчика.

Диаграмма работы UART на VHDL

На скриншоте ниже показана реальная работа UART - тестирование с помощью программы монитора RS232 ComPort Toolkit. В окне приема строки Modbus запросов, а в окне передачи длинный чередующийся код 0xAA, 0x55, который монитор передает на вход UART приемника с периодом 100 мс.

Тестирование UART

Не имеет смысла представлять скриншет экрана осциллографа. Там все просто. На любом из выходов шины данных будет последовательность из чередующихся нулей и едениц. Надежность работы приемника проверялась до частоты 115200 бод. Кроме того данный пост заканчивается ссылкой проекта полного VHDL UART на Quartus90. В проекте сделаны все необходимые установки, в том числе и пины DE0 Board куда заводятся и выводятся сигналы порта для его тестирования. На этом все. Замечания и предложения по ссылке для добавления комментов.

Скачать Uart на VHDL Quartus90. А тут - раздел литературы по VHDL Verilog.


Очень нужна помощь с разработкой
очень нужна помощь с разработкой на языке описания аппаратуры VHDL приёмопередатчика асинхронного цифрового потока и реализация устройства на базе ПЛИС Xilinx инструментального модуля Starter Kit Startan 3E.
Буду очень благодарен nopasaran@sibmail.com
Денис.

2013 03 21 11:56:54  Добавил:   Денис


UART на VHDL RS485
Как переделать в Rs485 чтобы сигналы для микросхемы выдавались?
RE/ — Receiver Output Enable — Разрешение выхода приемника при RE/=0. При RE/=1 выход RO находится в высокоимпедансном состоянии.
DE — Driver Output Enable — Разрешение выходов передатчика. Если DE=1 выходы активны, в противном случае они находятся в высокоимпедансном состоянии.

2016 02 20 12:14:43  Добавил:   Василий


Только кодировать
В свое время это делалось с помощью таймера 1006ви1 который запускался сигналом с TX и формировал импульс типа ворота для разрешения работы микросхемы rs485. При отсутствии сигналов с TX микросхема находилась в режиме приема. То же самое можно организовать и на ПЛИС в виде цифрового таймера.

2016 02 22 09:31:47  Добавил:   Admin


Почему сигнал RTS в 0 уходит при передаче?
Почему сигнал RTS в 0 уходит при передаче? Передаётся несколько байтов и в конце каждого сигнал в 0 уходит, а должен только в конце всей посылки - непорядок. Как код правлиьно подправить?

2016 02 25 08:45:50  Добавил:   Василий


RTS - готовность передавать данные по Tx
Вполне возможно что RTS работает неверно. Очевидно Вы просмотрели файл uart.sim.cvwf. Этот файл может не соответствовать последним изменениям в проекте. Нужно просимулировать UART на базе файла uart.vwf. Там должно работать как надо. Исходник для того и представлен, чтобы пользователь мог модифицировать его и подправлять самостоятельно.

2016 02 26 09:51:58  Добавил:   Admin


Продвинутый VHDL код RS232
Продвинутый приемопередатчик RS232 на VHDL работает безупречно. Рекомендую для любых, любительских и профессиональных, проектов. По указанной выше ссылке представлен полный проект для Quartus11.0 + симуляционная модель работы RS232 приемопередатчика.

2017 12 02 12:12:28  Добавил:   Admin


   Всего комментариев: 6

* Заполните все поля
* Тема

* Ваше имя

* Ваш email: (нигде не публикуется)

*Новость (реплика)

Введите код подтверждения с картинки (проверка от автороботов):

 

email при указании не будет опубликован. Адреса с http:// преобразуются в ссылки автоматически. Теги запрещены.
Перейти и растаять в своей любимой социалке