|
Выбор ПЛИС для мультиплексора, 8UART в SPI или 2 UART |
|
|
|
Apr 22 2013, 07:32
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(drum1987 @ Apr 22 2013, 10:56)  Добрый день!
Появилась задача мультиплексировать 8 UART со скоростью 1Мбит/с. Внутренне понимаю, что нужна ПЛИС для решения задачи, но поскольку никогда с ними не работал, то оценить под какую можель нужно заложиться не знаю. на другой стороне есть 1 SPI или 2 UART(до 5 Мбит/с). входы мультиплексора необходимо иметь с триггером Шмидта. И это еще не все, как говорят рекламисты... Если 8 потоков данных на входе и 1 на выходе, то нужно, чтобы все данные со входа пролезли на выход... А как, если 8х1=8 1Мбит/с, а на выходе есть только 5 ??? Но и это еще не все... Кроме скорости передачи есть еще Стартовые, Стоповые, Паритеты. И их соответственно надо пересчитать "от входа к выходу"... Как часто на входе общий поток на входе превысит выходной и насколько? Этим же определяется буфер FIFO... И он определит "емкость" кристалла и его стоимость. Либо FIFO надо делать внешнее. И тогда сложность проекта резко увеличится, ибо надо будет либо ставить 8 FIFO, либо делать разборку, какой байт от какого канала записан. И как получатель потока поймет из какого канала передавался байт?
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Apr 22 2013, 07:48
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Methane @ Apr 22 2013, 11:38)  Иначе геморой себе сделаете на пустом месте грандиозный. Присоединяюсь! И могу точно сказать, что если что-то сразу кажется некрасивым, как в этом случае, то это значит, что задача поставлена НЕ ВЕРНО! У Вас что за данные? Это непрерывные потоки видео? Или сбор информации о медленном объекте? А в таком случае, зачем нужны такие скорости? И почему не сделать распределенную обработку? 8 дешевых микроконтроллеров будут дешевле, чем "мультиплексор на ПЛИС"... Так что начните с "Гайки М3" и постарайтесь пересмотреть задачу....
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Apr 22 2013, 08:06
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(drum1987 @ Apr 22 2013, 10:57)  Пересматривать задачу у меня не получится - она у меня уже есть. Попробую описать ее подробнее: Есть 8 датчиков, которые срабатывают одновременно и дают N бит со скоростью 1Мбит/с. N~200-400. Задача мультиплексора свести все эти потоки в один с добавлением адреса откуда что пришло. Запуск осуществляется мультиплексором путем передачи данных в датчики. На другой стороне есть либо 2 UART, но большей скорости(5Мбит/с), либо SPI (30Мбит/с).
Датчики конкретные уже есть - у них uart и накрутить туда rs485 или чтото другое я не могу... Тоесть вам надо сформировать аппаратно запрос со всех датчиков, потом принять все, на одинаковой скорости как я понял, и слить в контроллер? Тогда все проще. Делаете SPI мастер, который будет опрашивать контроллер, и если есть запрос, то формировать свой запрос на датчики. Потом декодировать, и сливать в контроллер уже готовую информацию. Тогда все красиво получится. Если есть SPI с ПДП, как в AVR32UC то вообще замечательно будет.
|
|
|
|
|
Apr 22 2013, 08:15
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(drum1987 @ Apr 22 2013, 11:57)  Пересматривать задачу у меня не получится - она у меня уже есть. Попробую описать ее подробнее: Есть 8 датчиков, которые срабатывают одновременно и дают N бит со скоростью 1Мбит/с. N~200-400. Это типичная ошибка "программиста"... Давайте еще раз и внимательно. Есть физический объект. Он меняет свои параметры, которые передаются датчикам. Как быстро объект может менять свои параметры? Ну, например температура объекта массой 100 кГ скорее всего не изменится за 10 сек, если только речь не идет о камере сгорания в ракете. Так какой тогда смысл гнать информацию в "центр" на скорости в 1Мбит??? Кто опрашивает датчики и как часто? Или они сами гонят данные в "центр"? Если информация, поступающая от датчиков имеет локальные алгоритмы обработки, например фильтрация шумов или сравнение с уставкой, то в таком случае делается распределенная обработка, при этом поток данных в "центр" значительно уменьшается. И все разнесенные обработчики подключаются к единому интерфейсу... У меня на сайте есть статья про "Квадригу"...
--------------------
www.iosifk.narod.ru
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|