Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Реализация интерфейса UART на FPGA Spartan-3E
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Lstart_AlekseyK
Мне нужно управлять 27-ю устройствами синхронно по RS232 соответственно по 27 каналам сразу. Но низкий опыт в FPGA не позволяет понять это можно сделать на FPGA Spartan-3E ?. Нужна помощь.
FPGA Spartan-3E предпологается использовать с отдельным микроконтроллером который будет выдавать задание на обмен.
psL
Цитата(Lstart_AlekseyK @ Feb 16 2007, 11:11) *
Мне нужно управлять 27-ю устройствами синхронно по RS232 соответственно по 27 каналам сразу. Но низкий опыт в FPGA не позволяет понять это можно сделать на FPGA Spartan-3E ?. Нужна помощь.
FPGA Spartan-3E предпологается использовать с отдельным микроконтроллером который будет выдавать задание на обмен.

А что за устройства (какой у них интефейс)?
И как можно управлять ими синхронно через асинхронный порт?
avesat
Полное название камня?
sazh
Да все просто. При синхронном режиме требуется отдельная линия внешней синхронизация. Смотрите, есть ли такое количество портов ввода вывода (ножек). Или используется самосинхронизирующее кодирование (например манчестерский код). Тогда ножек нужно меньше. Далее подсчитать количество триггеров. И выбрать кристалл.
Все упирается по большому счету в знание Вами протокола обмена.
SergeyX
Реализовать 27 UART(RS232) на Spartan-3E с интерфейсом к микроконтроллеру не должно составить большого труда. Вопрос только в ресурсах Spartan-3E. Для того чтобы Вы смогли оценить приведу данные из собственного опыта: для передатчика с 32-байтным буфером требуется около 60 слайсов, для приемника с 32-байтным буфером около 50-ти. Возможно Вам потребуется только передатчики (т.к. Вам требуется только управление), что уменьшит требования к ресурсам FPGA. Размер буфера данных (а он потребуется т.к. все должно работать синхронно) зависит от размера пакета, используемого для управления. Вероятней всего вам подойдет XC3S250E (2448 слайсов).
Lstart_AlekseyK
Цитата(avesat @ Feb 16 2007, 11:31) *
Полное название камня?



Камень XC3S700A я использую HW-SPAR3E-SK-EC-G - Hardware Kit, Spartan-3E Starter Kit

Цитата(psL @ Feb 16 2007, 11:30) *
Цитата(Lstart_AlekseyK @ Feb 16 2007, 11:11) *

Мне нужно управлять 27-ю устройствами синхронно по RS232 соответственно по 27 каналам сразу. Но низкий опыт в FPGA не позволяет понять это можно сделать на FPGA Spartan-3E ?. Нужна помощь.
FPGA Spartan-3E предпологается использовать с отдельным микроконтроллером который будет выдавать задание на обмен.

А что за устройства (какой у них интефейс)?
И как можно управлять ими синхронно через асинхронный порт?


у меня каждое устройство это тоже микроконтроллер(простой 8-разрядный) с интерфейсом UART и того 27 шт.
Синхронно имелось ввиду отправка данных 3 байта во все 27 устройств одновременно а ответ от них три байта с небольшой задержкой соответственно асинхронно.
avesat
Цитата(Lstart_AlekseyK @ Feb 16 2007, 13:45) *
Камень XC3S700A я использую HW-SPAR3E-SK-EC-G - Hardware Kit, Spartan-3E Starter Kit


Для этой шайбы это тривиальная задача smile.gif Я бы рекомендовал закрутить там MicroBlaze.
psL
Цитата(Lstart_AlekseyK @ Feb 16 2007, 14:45) *
у меня каждое устройство это тоже микроконтроллер(простой 8-разрядный) с интерфейсом UART и того 27 шт.
Синхронно имелось ввиду отправка данных 3 байта во все 27 устройств одновременно а ответ от них три байта с небольшой задержкой соответственно асинхронно.



То есть 1 Tx, 27 - Rx?
SergeyX
Здесь сможешь найти массу информацию по вопросу реализации UART. В том числе исходники примеров на основе которых сможешь начать свой проект.
Lstart_AlekseyK
Цитата(psL @ Feb 16 2007, 15:09) *
Цитата(Lstart_AlekseyK @ Feb 16 2007, 14:45) *


у меня каждое устройство это тоже микроконтроллер(простой 8-разрядный) с интерфейсом UART и того 27 шт.
Синхронно имелось ввиду отправка данных 3 байта во все 27 устройств одновременно а ответ от них три байта с небольшой задержкой соответственно асинхронно.



То есть 1 Tx, 27 - Rx?



27 Tx, 27 Rx
klop
Кстати может действительно ядро uC внутрь запихать. Какой нибудь восьмиразрядник. Их сейчас как грязи.
tegumay
извиняюсь smile.gif но меня как прочитал до конца колбасить стало
... а еще давайте управление через спутник сделаем smile.gif
в принципе все верно подсказано.
микроблейз и все-все-все
нюанс только во времени разработки,
если его навалом то осваивай.
иначе знакомый микр+плис
27 приемопередатчиков должны влезть поидее и еще места останется.
набортный рам используй и будет счастье
klop
Цитата(tegumay @ Feb 21 2007, 21:21) *
извиняюсь smile.gif но меня как прочитал до конца колбасить стало
... а еще давайте управление через спутник сделаем smile.gif
в принципе все верно подсказано.
микроблейз и все-все-все
нюанс только во времени разработки,
если его навалом то осваивай.
иначе знакомый микр+плис
27 приемопередатчиков должны влезть поидее и еще места останется.
набортный рам используй и будет счастье


микроблейз я не рекомендовал. А рекомендовал восьмиразрядник(в идеале - знакомый).
vladec
Зачем здесь Microblaze, здесь Picoblaz-а за глаза хватит и гемороя на порядок меньше будет.
druzhin
Цитата(vladec @ Feb 22 2007, 10:46) *
Зачем здесь Microblaze, здесь Picoblaz-а за глаза хватит и гемороя на порядок меньше будет.

А нафига ваще uC нужен, внешеий или внутренний??? Надо зафигачить нормальный fsm и всё будет в порядке!!!
Трудно отучать фпга-шников от микроконтроллерного мышления, вечно норовят к огромной монстрообразной фпгашке присобачитиь какую-нибуть 8-битную соплю. фпгашки созданы не только для интерфейсов, на них неплохо реализовывать интеллект получается.
Смотрите пдф по ссылке, там толково написано про fsm:
http://www.sunburst-design.com/papers/Cumm...mVerilogFSM.pdf
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.