Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RS232 для вывода на компьютер данных с fpga
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Ariel
Есть SP601 (EB для Spartan6). Я хочу организовать вывод байтов на компьютер через RS232. Скачал с XILINX VHDL код для UART (XAPP341, прилагается). Мне нужно только Tx. Просимулировал в modelsim, см. картинку. Входной сигнал (Din) для примера взят 01101100. Выходной сигнал - sdo.
Вопрос: Где Stop Bit на выходном сигнале? Может быть XAPP341 - это код UART для применения между FPGA(CPLD), а не для стандартного компьютерного RS232? Но тогда как организовать RS232? Надо ли для этого задействовать picoblaze, или можно обойтись кодом на VHDL?Нажмите для просмотра прикрепленного файла
sazh
Простой сдвигающий регистр на 8 разрядов + стартовый бит + бит паритета (если надо).
Это грузите в сдвигающий регистр, когда надо, и сдвигаете, в конец пристраиваете 1 (стоп биты, оно же пауза в линии).
Все.
Ariel
А есть ли где-то готовый код? Задача-то стандартная.
des333
Цитата(Ariel @ Apr 23 2010, 21:53) *
А есть ли где-то готовый код? Задача-то стандартная.

Естественно, есть.

http://opencores.org/
http://www.google.com/codesearch?hl=ru
sazh
Цитата(Ariel @ Apr 23 2010, 20:53) *
А есть ли где-то готовый код? Задача-то стандартная.

На верилоге
Mad_max
Цитата(Ariel @ Apr 23 2010, 21:53) *
А есть ли где-то готовый код? Задача-то стандартная.

Вот хорошая корка (vhdl)
http://www.digilentinc.com/Products/Detail...amp;Prod=NEXYS2
RS232 RefComp.zip
Ariel
Спасибо всем, завтра утром проверю коды.
rolleyes.gif
Koluchiy
Что-то мне подсказывает, что на Вашей картинке передача заканчивается вечным нулем потому, что младший бит передаваемого байта 0.
Вы уверены, что ядро не разработано/настроено на 7мибитную передачу, или еще какая-то хитрая настройка есть?
Ariel
Цитата(Koluchiy @ Apr 24 2010, 21:49) *
Что-то мне подсказывает, что на Вашей картинке передача заканчивается вечным нулем потому, что младший бит передаваемого байта 0.
Вы уверены, что ядро не разработано/настроено на 7мибитную передачу, или еще какая-то хитрая настройка есть?


Да нет, нет в коде никаких настроек. Код простой, вот его начало.
Я поискал в opencores.org, нашел простой код на VHDL для Tx. Прилагаю его потому что может еще кому понадобится. По крайней мере симулируется правильно.
Koluchiy
На самом деле, проще сделать самому, чем сначала искать чужое, а потом выискивать фичи и баги.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.