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

 
 
> Связь с РС, Передача данных
NIOSnew
сообщение May 15 2012, 19:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 29-11-11
Пользователь №: 68 584



Уважаемые коллеги! Если надо с РC (Win7) передавать данные c/на ПЛИС (у нас CYCLONE IV E) то правильно ли будет со стороны РС использовать обмен с RS-232, а со стороны ПЛИС (она на DE2-115) - UART (SoPC Builder ready)? Можно ли использовать JTAG UART, даёт ли это какие-либо преимущества? Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
juvf
сообщение May 16 2012, 02:24
Сообщение #2


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

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Я в своих проектах связываюсь с РС (Win7) через UART. Со стороны компа RS-232 или RS-485, со стороны плис UART+формирователь уровней (уарт из и SoPC Builder, и Qsys). Cyclon III, DE0.
JTAG UART использовать для связи с РС со своим ПО теоретически можно, но нужно ковыряться в нём. Дешевле (быстрее поднять) использовать просто uart. JTAG UART я использую только для отладки: в BSP редакторе указал поток для stdout - JTAG UART, в нужных местах программы делаю printf("log message"), на компе запускаю терминал (что-то типа nios2-trminal) и вижу логи, ероры и прочую служебную информацию. А как без nios2-trminal связаться с компом - гуглвпомощь.
Go to the top of the page
 
+Quote Post
Wic
сообщение May 16 2012, 05:14
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Для связи можно использовать всё что угодно UART, USB FIFO, ethernet. Как бы тут всё зависит от того, что вы хотите передавать, как быстро и как просто должна быть построена реализация. По описаниями DE2-115 у вас простор для творчества.
А JTAG UART лучше оставить для отладки. Потому что обмен с платой по любому протоколу всё равно придется отлаживать.
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 17 2013, 20:32
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



какая, предпологаемая, скорость передачи данных?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 18 2013, 04:59
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(NIOSnew @ May 15 2012, 23:42) *
Уважаемые коллеги! Если надо с РC (Win7) передавать данные c/на ПЛИС (у нас CYCLONE IV E) то правильно ли будет со стороны РС использовать обмен с RS-232, а со стороны ПЛИС (она на DE2-115) - UART (SoPC Builder ready)? Можно ли использовать JTAG UART, даёт ли это какие-либо преимущества? Заранее спасибо.


Плюсы не надо преобразователя уровней УАРТ - РС232
недостатки, без среды разработки и жетага данные не получите.

И может я ошибаюсь, но вроде бы данные по жетагуарту не доступны из других приложений онлайн, это не полноценный интерфейс, это для отладки....
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 18 2013, 08:14
Сообщение #6


Гуру
******

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



Цитата(NIOSnew @ May 15 2012, 23:42) *
Уважаемые коллеги! Если надо с РC (Win7) передавать данные c/на ПЛИС (у нас CYCLONE IV E) то правильно ли будет со стороны РС использовать обмен с RS-232, а со стороны ПЛИС (она на DE2-115) - UART (SoPC Builder ready)? Можно ли использовать JTAG UART, даёт ли это какие-либо преимущества? Заранее спасибо.

Я предлагаю несколько другой вариант.
Возьмите любой маленький микроконтроллер. Что-то с 8-ю выводами... И от него с одной стороны - UART или USB, а с другой - SPI.
Так вот, UART - это байт ориентированный канал передачи данных. Все байты одинаковые, начало или конец пакета данных не определены... И над ним, сверху придется надстраивать протокол. Надо будет формировать пакеты, контрольные суммы, запросы-перезапросы и т.д. Все это делать в ПЛИС - долго и занудно, да и ресурса сожрет много. А вот в микроконтроллере сделаете за полчаса не напрягаясь. А со стороны SPI можно будет сформировать сигнал, стобирующий пакет. И сигнал "Ошибка", когда при приеме пакет пришел неправильный и его не надо обрабатывать... И при таком подходе практически весь дорогой ресурс ПЛИС сохранится...
Можно например взять DLP2232 и там есть возможность получить с одной стороны USB, а с другой - SPI... Но обработки пакетов там нет...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 18 2013, 08:50
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Цитата(iosifk @ Aug 18 2013, 10:14) *
Я предлагаю несколько другой вариант.
Возьмите любой маленький микроконтроллер. Что-то с 8-ю выводами... И от него с одной стороны - UART или USB, а с другой - SPI.
Так вот, UART - это байт ориентированный канал передачи данных. Все байты одинаковые, начало или конец пакета данных не определены... И над ним, сверху придется надстраивать протокол. Надо будет формировать пакеты, контрольные суммы, запросы-перезапросы и т.д. Все это делать в ПЛИС - долго и занудно, да и ресурса сожрет много. А вот в микроконтроллере сделаете за полчаса не напрягаясь. А со стороны SPI можно будет сформировать сигнал, стобирующий пакет. И сигнал "Ошибка", когда при приеме пакет пришел неправильный и его не надо обрабатывать... И при таком подходе практически весь дорогой ресурс ПЛИС сохранится...
Можно например взять DLP2232 и там есть возможность получить с одной стороны USB, а с другой - SPI... Но обработки пакетов там нет...

У человека есть уже кит DE2-115, ему нет надобности мастерить что-либо руками. На сколько знаю там на борту есть RS-232 чего на небольших скоростях должно хватить.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 18 2013, 09:35
Сообщение #8


Гуру
******

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



Цитата(zzztop @ Aug 18 2013, 12:50) *
У человека есть уже кит DE2-115, ему нет надобности мастерить что-либо руками. На сколько знаю там на борту есть RS-232 чего на небольших скоростях должно хватить.

Странно, я же русским по белому написал, что данные обычно передаются пакетами... Кто в ПЛИСе будет пакеты делать? ТС явно новичек. Так ему что, в ПЛИС еще процессор запихнуть надо? Ему это пока сложно. А взять самый дешевый стартовый набор и соединить его с имеющимся китом - дело 10-ти минут...
Вот Вы и объясните это мне, что и зачем Вы предлагаете конкретно... Без вот этого "ему нет надобности мастерить "... Речь шла не о том, есть ли там RS или его нет, речь шла о передаче данных... А данные передаются либо медленно и занудно символьными кодами и 0A+0D - это начало пакета... И дальше все остальное в символьных кодах... Но при этом и перекодировка, и контрольные суммы должны быть... Либо передача данных идет в нех-кодах но тогда либо бит-стаффинги, либо байт-стаффинги. И передачей данных занимается отдельный контроллер, что я и предлагаю...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
DASM
сообщение Aug 18 2013, 10:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Простите что вмешиваюсь, просто с этим китом имел дело, там НИОС воткнуть -3 минуты. Заоодно пора привыкать, что встроенные АРМ ядра скоро будут почти во всех ПЛИС. НИОС - очень хороший старт для этого, хотя его надежность лично для меня под сомнением. По теме - рекомендую SLIP (байт стаффинг) - минимум оверхэда и все понятно
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 18 2013, 17:22
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



да я только позавчера писал в ПЛИС автомат который принимает пакет данных адрес + данные + контрольная сумма. За полвечера сделал с отладкой. Не надо делать сложные автоматы, если нужно просто передавать-принимать данные.

И еще один момент если ТС говорит о жетаг-уарте, скорее всего речь идет уже о проце в плисе...

и второй момент, голая плис к компу - немного неудобная система, какой то контроллер интерфейсный все же нужен...
Go to the top of the page
 
+Quote Post
WitFed
сообщение Oct 29 2014, 13:30
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701



Я смутно помню, что из Ниос можно работать с файлами хоста напрямую через тот же JTAG-UART.
Или через что-то ещё более системное, через что прога грузится и идёт отладка, только в настройках BSP где-то следует включить HostFS.
Судя по молчанию ТС, проблему он давно решил, но я бы лично СОМ-порты и пр. самопись исключил бы.
Ниос принял данные через fopen()/fread() -- поклал в ОЗУ, толкнул обработку, в обратную сторону не трудней, только постоянный бластер требуется для связи, ну и как при любом другом соединении. Только скорость не ахти, хотя с последним разогнанным в 4 раза бластером вдруг и ахти уже ? wink.gif
Go to the top of the page
 
+Quote Post

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

 


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


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