реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> RS232 для вывода на компьютер данных с fpga, как наиболее просто сделать
Ariel
сообщение Apr 23 2010, 16:18
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 820
Регистрация: 12-05-08
Из: Israel
Пользователь №: 37 440



Есть SP601 (EB для Spartan6). Я хочу организовать вывод байтов на компьютер через RS232. Скачал с XILINX VHDL код для UART (XAPP341, прилагается). Мне нужно только Tx. Просимулировал в modelsim, см. картинку. Входной сигнал (Din) для примера взят 01101100. Выходной сигнал - sdo.
Вопрос: Где Stop Bit на выходном сигнале? Может быть XAPP341 - это код UART для применения между FPGA(CPLD), а не для стандартного компьютерного RS232? Но тогда как организовать RS232? Надо ли для этого задействовать picoblaze, или можно обойтись кодом на VHDL?
Прикрепленное изображение

Прикрепленные файлы
Прикрепленный файл  UART_Tx.zip ( 1.05 килобайт ) Кол-во скачиваний: 30
 
Go to the top of the page
 
+Quote Post
sazh
сообщение Apr 23 2010, 17:33
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Простой сдвигающий регистр на 8 разрядов + стартовый бит + бит паритета (если надо).
Это грузите в сдвигающий регистр, когда надо, и сдвигаете, в конец пристраиваете 1 (стоп биты, оно же пауза в линии).
Все.
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post
Ariel
сообщение Apr 23 2010, 17:38
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 820
Регистрация: 12-05-08
Из: Israel
Пользователь №: 37 440



А есть ли где-то готовый код? Задача-то стандартная.
Go to the top of the page
 
+Quote Post
des333
сообщение Apr 23 2010, 17:55
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



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

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

http://opencores.org/
http://www.google.com/codesearch?hl=ru


--------------------
Go to the top of the page
 
+Quote Post
sazh
сообщение Apr 23 2010, 18:06
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



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

На верилоге
Прикрепленные файлы
Прикрепленный файл  txd_232.v ( 1.27 килобайт ) Кол-во скачиваний: 81
 
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Apr 23 2010, 18:16
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



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

Вот хорошая корка (vhdl)
http://www.digilentinc.com/Products/Detail...amp;Prod=NEXYS2
RS232 RefComp.zip
Go to the top of the page
 
+Quote Post
Ariel
сообщение Apr 23 2010, 18:20
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 820
Регистрация: 12-05-08
Из: Israel
Пользователь №: 37 440



Спасибо всем, завтра утром проверю коды.
rolleyes.gif
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Apr 24 2010, 17:49
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Что-то мне подсказывает, что на Вашей картинке передача заканчивается вечным нулем потому, что младший бит передаваемого байта 0.
Вы уверены, что ядро не разработано/настроено на 7мибитную передачу, или еще какая-то хитрая настройка есть?

Сообщение отредактировал Koluchiy - Apr 24 2010, 17:49
Go to the top of the page
 
+Quote Post
Ariel
сообщение Apr 25 2010, 18:44
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 820
Регистрация: 12-05-08
Из: Israel
Пользователь №: 37 440



Цитата(Koluchiy @ Apr 24 2010, 21:49) *
Что-то мне подсказывает, что на Вашей картинке передача заканчивается вечным нулем потому, что младший бит передаваемого байта 0.
Вы уверены, что ядро не разработано/настроено на 7мибитную передачу, или еще какая-то хитрая настройка есть?


Да нет, нет в коде никаких настроек. Код простой, вот его начало.
Я поискал в opencores.org, нашел простой код на VHDL для Tx. Прилагаю его потому что может еще кому понадобится. По крайней мере симулируется правильно.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  TxUnit.vhd ( 4.66 килобайт ) Кол-во скачиваний: 40
 
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Apr 25 2010, 20:03
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



На самом деле, проще сделать самому, чем сначала искать чужое, а потом выискивать фичи и баги.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 04:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01473 секунд с 7
ELECTRONIX ©2004-2016