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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Выбор ПЛИС для мультиплексора, 8UART в SPI или 2 UART
drum1987
сообщение Apr 22 2013, 06:56
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 255
Регистрация: 3-02-09
Из: Омск
Пользователь №: 44 323



Добрый день!

Появилась задача мультиплексировать 8 UART со скоростью 1Мбит/с. Внутренне понимаю, что нужна ПЛИС для решения задачи, но поскольку никогда с ними не работал, то оценить под какую можель нужно заложиться не знаю. на другой стороне есть 1 SPI или 2 UART(до 5 Мбит/с). входы мультиплексора необходимо иметь с триггером Шмидта.

Знающие люди - помогите.
Go to the top of the page
 
+Quote Post
Methane
сообщение Apr 22 2013, 07:05
Сообщение #2


Гуру
******

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



Цитата(drum1987 @ Apr 22 2013, 09:56) *
Добрый день!

Появилась задача мультиплексировать 8 UART со скоростью 1Мбит/с. Внутренне понимаю, что нужна ПЛИС для решения задачи, но поскольку никогда с ними не работал, то оценить под какую можель нужно заложиться не знаю. на другой стороне есть 1 SPI или 2 UART(до 5 Мбит/с). входы мультиплексора необходимо иметь с триггером Шмидта.

Знающие люди - помогите.

А что значит "мультиплексировать"? Если уже есть UART а надо просто подключать к нему 1 из 8 портов, то самая дешевая CPLD подойдет. Хотя я бы взяли чегонить из 74HC
Go to the top of the page
 
+Quote Post
drum1987
сообщение Apr 22 2013, 07:14
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 255
Регистрация: 3-02-09
Из: Омск
Пользователь №: 44 323



Нужно одновременно принимать и передавать во все 8 уартов. Тоесть не просто коммутировать нужный вход с выходом, а делать чтото вроде TDMA.
Go to the top of the page
 
+Quote Post
Methane
сообщение Apr 22 2013, 07:17
Сообщение #4


Гуру
******

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



Цитата(drum1987 @ Apr 22 2013, 10:14) *
Нужно одновременно принимать и передавать во все 8 уартов. Тоесть не просто коммутировать нужный вход с выходом, а делать чтото вроде TDMA.

На одной и тойже скорости или на разных? Что есть кроме SPI?
Go to the top of the page
 
+Quote Post
drum1987
сообщение Apr 22 2013, 07:24
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 255
Регистрация: 3-02-09
Из: Омск
Пользователь №: 44 323



8 uart каждый на 1 мгц (1Мбит/с). Есть spi или 2 uart
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 22 2013, 07:32
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 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
Go to the top of the page
 
+Quote Post
Methane
сообщение Apr 22 2013, 07:38
Сообщение #7


Гуру
******

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



Цитата(drum1987 @ Apr 22 2013, 10:24) *
8 uart каждый на 1 мгц (1Мбит/с). Есть spi или 2 uart

Ищите через что еще можно данные передать. Ну там вход, через который можно дернуть за прерывание и шину адресса/данных, это классика. Иначе геморой себе сделаете на пустом месте грандиозный.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 22 2013, 07:48
Сообщение #8


Гуру
******

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



Цитата(Methane @ Apr 22 2013, 11:38) *
Иначе геморой себе сделаете на пустом месте грандиозный.

Присоединяюсь!
И могу точно сказать, что если что-то сразу кажется некрасивым, как в этом случае, то это значит, что задача поставлена НЕ ВЕРНО!
У Вас что за данные? Это непрерывные потоки видео? Или сбор информации о медленном объекте? А в таком случае, зачем нужны такие скорости? И почему не сделать распределенную обработку? 8 дешевых микроконтроллеров будут дешевле, чем "мультиплексор на ПЛИС"...
Так что начните с "Гайки М3" и постарайтесь пересмотреть задачу....


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
_pv
сообщение Apr 22 2013, 07:52
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



http://www.maximintegrated.com/datasheet/index.mvp/id/6560
Go to the top of the page
 
+Quote Post
Victor®
сообщение Apr 22 2013, 07:55
Сообщение #10


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(iosifk @ Apr 22 2013, 10:48) *
Присоединяюсь!
И могу точно сказать, что если что-то сразу кажется некрасивым, как в этом случае, то это значит, что задача поставлена НЕ ВЕРНО!


Согласен.
Почему бы не посмотреть в сторону RS-485 (c Modbus или Profibus, например)?


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
drum1987
сообщение Apr 22 2013, 07:57
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 255
Регистрация: 3-02-09
Из: Омск
Пользователь №: 44 323



Пересматривать задачу у меня не получится - она у меня уже есть. Попробую описать ее подробнее:
Есть 8 датчиков, которые срабатывают одновременно и дают N бит со скоростью 1Мбит/с. N~200-400. Задача мультиплексора свести все эти потоки в один с добавлением адреса откуда что пришло.
Запуск осуществляется мультиплексором путем передачи данных в датчики.
На другой стороне есть либо 2 UART, но большей скорости(5Мбит/с), либо SPI (30Мбит/с). UART нужен в режиме RX, TX. Ничего больше не надо.

Датчики конкретные уже есть - у них uart и накрутить туда rs485 или чтото другое я не могу...

MAX14830 по температуре не подходит...надо до 105.

Сообщение отредактировал drum1987 - Apr 22 2013, 08:04
Go to the top of the page
 
+Quote Post
Methane
сообщение Apr 22 2013, 08:06
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 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 то вообще замечательно будет.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 22 2013, 08:15
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 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
Go to the top of the page
 
+Quote Post
drum1987
сообщение Apr 22 2013, 08:15
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 255
Регистрация: 3-02-09
Из: Омск
Пользователь №: 44 323



Methane
Именно так мне и нужно, просто нужно оценить какую ПЛИС надо для этого

iosifk
Да чтож вы так то...у меня есть задание 1 Мбит/с я не могу спорить с этим. А там как оно получилось уже не особо важно.

Сообщение отредактировал drum1987 - Apr 22 2013, 08:18
Go to the top of the page
 
+Quote Post
Methane
сообщение Apr 22 2013, 08:40
Сообщение #15


Гуру
******

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



Цитата(drum1987 @ Apr 22 2013, 11:15) *
Methane
Именно так мне и нужно, просто нужно оценить какую ПЛИС надо для этого

Любая подойдет. Если именно ПЛИС. И на процессор место останется. Вообще вы можете начать писать проект на HDL, потом собрать его для разных ПЛИС, посмотреть сколько ресурсов оно занимает.
Go to the top of the page
 
+Quote Post

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

 


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


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