|
Связь с РС, Передача данных |
|
|
|
May 15 2012, 19:42
|
Участник

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

|
Уважаемые коллеги! Если надо с РC (Win7) передавать данные c/на ПЛИС (у нас CYCLONE IV E) то правильно ли будет со стороны РС использовать обмен с RS-232, а со стороны ПЛИС (она на DE2-115) - UART (SoPC Builder ready)? Можно ли использовать JTAG UART, даёт ли это какие-либо преимущества? Заранее спасибо.
|
|
|
|
|
 |
Ответов
(1 - 10)
|
Aug 18 2013, 08:14
|
Гуру
     
Группа: Модераторы
Сообщений: 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
|
|
|
|
|
Aug 18 2013, 08:50
|

Участник

Группа: Участник
Сообщений: 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 чего на небольших скоростях должно хватить.
|
|
|
|
|
Aug 18 2013, 09:35
|
Гуру
     
Группа: Модераторы
Сообщений: 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
|
|
|
|
|
Oct 29 2014, 13:30
|
Местный
  
Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701

|
Я смутно помню, что из Ниос можно работать с файлами хоста напрямую через тот же JTAG-UART. Или через что-то ещё более системное, через что прога грузится и идёт отладка, только в настройках BSP где-то следует включить HostFS. Судя по молчанию ТС, проблему он давно решил, но я бы лично СОМ-порты и пр. самопись исключил бы. Ниос принял данные через fopen()/fread() -- поклал в ОЗУ, толкнул обработку, в обратную сторону не трудней, только постоянный бластер требуется для связи, ну и как при любом другом соединении. Только скорость не ахти, хотя с последним разогнанным в 4 раза бластером вдруг и ахти уже ?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|