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

 
 
 
Reply to this topicStart new topic
> Spartan - 6 LX9 USB - UART, Зделать обмен даними компьютера и ПЛИС
Igor_G
сообщение Nov 1 2016, 23:52
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 13-10-15
Пользователь №: 88 835



Доброго времени суток. Мне нужна помощь с програмираванием ПЛИС.
Мне нужно передать байт даних с компьютера на ПЛИС,вичеслеть на ней логическое уравнение и результат отправить на компьютер.
ПЛИС - Spartan - 6 LX9.
я нашол VHDL-код для прошивки, но не знаю как зделать тестбенч на компьютере для приема и передачи.
Помогите, пожалуйста. Буду благодарен
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 2 2016, 07:11
Сообщение #2


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



http://fpga4fun.com/SerialInterface.html
https://github.com/alexforencich/verilog-uart
Также есть известная реализация uart_rx6.v и uart_tx6.v для Xilinx от Ken Chapman

Какая операционная система на компьютере? И чем тогда не подходит любая программа терминала, умеющая работать в hex режиме?
Как сделать? Написать программу, для начала проще взять язык Python и сделать такой тестбенч.

Пример такой программы на Python:
Цитата
import serial
ser = serial.Serial("COM1", 9600, timeout=10)
ser.write("\x01")
Пишем байт число 1. Для чтения: ser.read.


--------------------
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Nov 2 2016, 07:41
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(AVR @ Nov 2 2016, 10:11) *
Пример такой программы на Python:


Мне кажется, что автор топика хочет сначала промоделировать все это в симуляторе и не знает как это сделать.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Nov 2 2016, 08:28
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Igor_G @ Nov 2 2016, 02:52) *
Помогите, пожалуйста. Буду благодарен

Хотите поговорим по скайпу?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 2 2016, 09:02
Сообщение #5


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Tpeck @ Nov 2 2016, 10:41) *
Мне кажется, что автор топика хочет сначала промоделировать все это в симуляторе и не знает как это сделать.
Действительно так. Тогда подойдут все мои ссылки - именно с помощью них я делал подобные тестбенчи. Если у автора темы мало опыта написания простейших тестбенчей, то будет сложно объяснить как воткнуть туда эти модули и заставить их принимать передавать и в консоль выводить. Вкратце, автору надо просто воткнуть на прием в тестбенче то же, что он поставил для ПЛИСовой части, и на передачу то же, что он вставил в ПЛИС для передачи. В VHDL я не силен, но могу автору темы подсказать как написать подобный тестбенч на Verilog - то что рабочие модули на VHDL это не беда.
А симулятор тогда какой?


--------------------
Go to the top of the page
 
+Quote Post
iosifk
сообщение Nov 2 2016, 09:41
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(AVR @ Nov 2 2016, 12:02) *
Действительно так. Тогда подойдут все мои ссылки - именно с помощью них я делал подобные тестбенчи. Если у автора темы мало опыта написания простейших тестбенчей, то будет сложно объяснить как воткнуть туда эти модули и заставить их принимать передавать и в консоль выводить. Вкратце, автору надо просто воткнуть на прием в тестбенче то же, что он поставил для ПЛИСовой части, и на передачу то же, что он вставил в ПЛИС для передачи. В VHDL я не силен, но могу автору темы подсказать как написать подобный тестбенч на Verilog - то что рабочие модули на VHDL это не беда.
А симулятор тогда какой?

Вкратце еще проще.. Пишу "сверху-вниз":
Надо выбрать протокол обмена между ПЛИС и ПК
Потом для ПК поставить монитор или написать свой
Для ПЛИС сделать автомат обрабатывающий протокол
Под ним сделать автомат, отсылающий байты в UART
Потом сделать UART
Потом все это запустить в железе...

Ну и для симуляции тоже самое, только надо в тестбенче сделать еще аналог ПК с его шифратором протокола...
А так, в остальном, все довольно просто... Наверняка и ссылки на написание тестбенча подойдут... И готовых UARTов на "открытых проектах" полно... Только если "не знаю как зделать тестбенч на компьютере для приема и передачи", то начинать надо с самого начала, иначе курсовик не получится в срок...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Igor_G
сообщение Nov 2 2016, 10:00
Сообщение #7





Группа: Участник
Сообщений: 5
Регистрация: 13-10-15
Пользователь №: 88 835



У меня Windows 8.
то есть достаточно поставить прошивку на ПЛИС и зделаться тестовою программу?

Цитата(AVR @ Nov 2 2016, 09:11) *
http://fpga4fun.com/SerialInterface.html
https://github.com/alexforencich/verilog-uart
Также есть известная реализация uart_rx6.v и uart_tx6.v для Xilinx от Ken Chapman

Какая операционная система на компьютере? И чем тогда не подходит любая программа терминала, умеющая работать в hex режиме?
Как сделать? Написать программу, для начала проще взять язык Python и сделать такой тестбенч.

Пример такой программы на Python:
Пишем байт число 1. Для чтения: ser.read.

Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Nov 2 2016, 12:35
Сообщение #8


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Отправить байт по UART очень просто:
1. Создаёте текстовый файл.
2. Открываете его HEX редактором. Я например открываю его программой Notepad ++ с плагином для редактирования HEX файлов.
3. Удаляете всё что там есть и записываете нужный Вам байт.
4. В консоле Windows набираете
Код
mode com5 baud=9600 parity=n data=8
copy D:\bit /b com5
pause

Где:
com5 - имя порта через который пересылаются данные.
baud=9600- необходимый бод-рейт.
parity=n - отключение битов паритета
data=8 - количество бит в пакте.
D:\bit - расположение и название файла с байтом
Для получения полной справки по команде mode наберите в коносле mode /?

Вот у меня например 3 байта в файле:


Сообщение отредактировал Flip-fl0p - Nov 2 2016, 12:36
Go to the top of the page
 
+Quote Post
Igor_G
сообщение Nov 2 2016, 16:22
Сообщение #9





Группа: Участник
Сообщений: 5
Регистрация: 13-10-15
Пользователь №: 88 835



Буду признателен.
Цитата(iosifk @ Nov 2 2016, 10:28) *
Хотите поговорим по скайпу?



А как прочитать байт по UART
Цитата(Flip-fl0p @ Nov 2 2016, 14:35) *
Отправить байт по UART очень просто:
1. Создаёте текстовый файл.
2. Открываете его HEX редактором. Я например открываю его программой Notepad ++ с плагином для редактирования HEX файлов.
3. Удаляете всё что там есть и записываете нужный Вам байт.
4. В консоле Windows набираете
Код
mode com5 baud=9600 parity=n data=8
copy D:\bit /b com5
pause

Где:
com5 - имя порта через который пересылаются данные.
baud=9600- необходимый бод-рейт.
parity=n - отключение битов паритета
data=8 - количество бит в пакте.
D:\bit - расположение и название файла с байтом
Для получения полной справки по команде mode наберите в коносле mode /?

Вот у меня например 3 байта в файле:

Go to the top of the page
 
+Quote Post
Igor_G
сообщение Nov 2 2016, 21:35
Сообщение #10





Группа: Участник
Сообщений: 5
Регистрация: 13-10-15
Пользователь №: 88 835



Возникла ошибка: ImportError: No module named serial. B Python не шарю, может подскажите?


Цитата(AVR @ Nov 2 2016, 09:11) *
http://fpga4fun.com/SerialInterface.html
https://github.com/alexforencich/verilog-uart
Также есть известная реализация uart_rx6.v и uart_tx6.v для Xilinx от Ken Chapman

Какая операционная система на компьютере? И чем тогда не подходит любая программа терминала, умеющая работать в hex режиме?
Как сделать? Написать программу, для начала проще взять язык Python и сделать такой тестбенч.

Пример такой программы на Python:
Пишем байт число 1. Для чтения: ser.read.

Go to the top of the page
 
+Quote Post
iosifk
сообщение Nov 3 2016, 07:54
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Igor_G @ Nov 2 2016, 19:22) *
Буду признателен.

Ну так действуйте... Камера+микрофон->звонок...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 3 2016, 09:47
Сообщение #12


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Igor_G @ Nov 3 2016, 00:35) *
Возникла ошибка: ImportError: No module named serial. B Python не шарю, может подскажите?

Нет нужного модуля. Предлагаю скачать такую интересную сборку https://www.continuum.io/downloads#windows - в ней уже все необходимые модули включены в поставку.


--------------------
Go to the top of the page
 
+Quote Post
Igor_G
сообщение Nov 3 2016, 21:43
Сообщение #13





Группа: Участник
Сообщений: 5
Регистрация: 13-10-15
Пользователь №: 88 835



Как связаться с вами?
Вот мой скайп:
gubish_i19
Цитата(iosifk @ Nov 3 2016, 09:54) *
Ну так действуйте... Камера+микрофон->звонок...

Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 4 2016, 08:45
Сообщение #14


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(Igor_G @ Nov 4 2016, 00:43) *
Как связаться с вами?
Вот мой скайп:
gubish_i19

https://electronix.ru/forum/index.php?showuser=8369
Другая информация
skype:


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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