|
Плис, управление большим кол-вом устройств., pwm, дискретные выхода |
|
|
|
Nov 23 2017, 05:06
|

Участник

Группа: Участник
Сообщений: 18
Регистрация: 1-06-17
Из: Урал
Пользователь №: 97 429

|
Добрый день.
Суть идеи. Есть основной мозг, это контроллер stm32f303 который считывает состояния аналоговых датчиков(около 100 штук). Далее есть около 100 выходных реле, которыми нужно управлять. Есть 100 устройств, которые управляются при помощи шим.
Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их с стм32 по какому либо интерфейсу.
Все эти устройства управляются в ручную, т.е. это будет большой пульт, на котором оператор будет нажимать кнопки и включать то что ему нужно.
Что можете посоветовать?
--------------------
Стремлюсь к лучшему...
|
|
|
|
|
Nov 23 2017, 05:14
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Здесь главный вопрос, какое latency Вы хотите получить в рез-те. Могу сказать, что в DSP типа TMS320 сделаны прямые связи управления между блоками периферии чтобы, к примеру, можно было мгновенно отрубить ШИМ по сигналу с АЦП, а не пропускать это все через процессор/программу. В Вашем случае latency это время работы программы + задержка внешнего интерфейса проц-плис (для параллельного - меньше, последовательного - больше). Если latency не критично, можете хоть по rs-232 управлять - всего 2 провода надо. Если наоборот, latency очень критично, то лучший вариант - собрать SoC-FPGA со своей специально под задачу написанной периферией.
|
|
|
|
|
Nov 23 2017, 05:50
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(kotopes @ Nov 23 2017, 08:06)  Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их..
Что можете посоветовать? Можем посоветовать взять одну ПЛИС и потолще: 10M04DCU324C8G @ Number of I/O 246.
|
|
|
|
|
Nov 23 2017, 05:52
|

Участник

Группа: Участник
Сообщений: 18
Регистрация: 1-06-17
Из: Урал
Пользователь №: 97 429

|
Попробую объяснить так, с помощью шим сигнала мы плавно регулируем подачу давления воды в системе(от 0 - воды нет, до максимума). С помощью реле открываем необходимые каналы по которым пойдет вода(вода идет по нужным трубкам для измерений, либо по трубкам сброса воды с системы). С помощью датчиков мы измеряем давление и расход этой самой воды, и пишем в файл зависимость давления и расхода, от сигнала шим.
По параметру latency еще думаю.
Это принцип работы одного канала. Таких каналов будет не сколько, они все выполняют одинаковые функции и состоят из одинаковых элементов.
Хотелось бы управлять этими каналами параллельно, заложить такую возможность.
Что нужно еще - писать данные в файл по каждому каналу. Выводить данные от датчиков(дисплей, либо 7 сегментник). И сделать возможность связи с программой на пк( т.е. стендом можно управлять либо только с пк, либо только с помощью кнопок).
Насчет связи с пк, думаю либо сделать через wi-fi, либо проводное. С wi-fi я связывал уже и есть в этом опыт.
--------------------
Стремлюсь к лучшему...
|
|
|
|
|
Nov 23 2017, 19:01
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 18-12-16
Пользователь №: 94 676

|
Цитата(kotopes @ Nov 23 2017, 06:06)  Добрый день.
Суть идеи. Есть основной мозг, это контроллер stm32f303 который считывает состояния аналоговых датчиков(около 100 штук). Далее есть около 100 выходных реле, которыми нужно управлять. Есть 100 устройств, которые управляются при помощи шим.
Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их с стм32 по какому либо интерфейсу.
Все эти устройства управляются в ручную, т.е. это будет большой пульт, на котором оператор будет нажимать кнопки и включать то что ему нужно.
Что можете посоветовать? Могу посоветовать следующее: Если цена критична, выбирайте lattice machXO2 или XO3 - стоят $ 5..7 и имеют внутри flash для хранения прошивки. Если latency критична, собирайте все внутри плис, как говорит Shivers. А так, я думаю, подойдет практически любая ПЛИС с достаточным числом ног. В качестве интерфейса связи с МК - spi или параллельная шина, в зависимости от latency опять же.
|
|
|
|
|
Nov 23 2017, 19:14
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(kotopes @ Nov 23 2017, 08:06)  Есть основной мозг, это контроллер stm32f303 который считывает состояния аналоговых датчиков(около 100 штук). Далее есть около 100 выходных реле, которыми нужно управлять. Есть 100 устройств, которые управляются при помощи шим.
Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их с стм32 по какому либо интерфейсу. На выход что-то вроде этого: https://www.nxp.com/docs/en/data-sheet/MC33996.pdfЯ когда-то делал проект, из ПЛИС на полсотни реле. И у меня была только одна микросхема на 48 выходов... Так вот, внутри ПЛИС было 50 Мгц, а на SPI - 1 Мгц. В ПЛИС я сделал 2 микроконтроллера, один 17 битный обрабатывал аналог, и один 1 битный - логику. Причем он на каждый бит данных по SPI мог сделать до 30 команд в каждом такте SPI. И он производил вычисления и бит результата выдавал в SPI. А информацию он получал и передавал в 17 битный как битовые флаги. Если Вам так делать лень, то можно поставить мелкую ПЛИС только чтобы сделать разветвитель SPI...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Nov 23 2017, 19:47
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(iosifk @ Nov 23 2017, 22:23)  А ведь чтобы жилось веселее на SPI можно и гальваническую развязку дать... Цитата(aaarrr @ Nov 23 2017, 22:14)  Не стоит умножать печали, ...  Цитата(aaarrr @ Nov 23 2017, 22:20)  Как знать. Случаи - они разные бывают. Так всякий может сказать. Так что, это ничего не доказывает. К тому же, для управления напором воды, вероятно, достаточно будет 4-х битных ЦАП'ов.. PS. Наверняка ТС сооружает цветомузыкальный фонтан в городском парке.
|
|
|
|
|
Nov 23 2017, 20:52
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 16-11-10
Пользователь №: 60 920

|
Цитата(aaarrr @ Nov 24 2017, 00:16)  Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено.
100 аналоговых каналов могут оказаться много дороже всего остального. А может оказаться дороже плата под вашу ПЛИС. Или трудозатраты на построение системы, если тираж составляет 1 экз. aliexpress 13,80 EP4CE6 altera fpga board
|
|
|
|
|
Nov 23 2017, 20:57
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(aaarrr @ Nov 23 2017, 23:16)  Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено. Самый дешевый ЦАП на digikey'e стоит 0,462$: MCP47A1T. Умножаем на 100 шт. и получаем 46,2$. Плюс к этому нужно будет 9 шт. I/O Expanders MCP23017T по цене 0,956$, что в сумме дает 8,6$. Итого: 46,2$ + 8,6$ = 54,8$. При том, что дешевая ПЛИС стоит 5$ - 7$. Драйвера для реле (напр., ULN2003), вероятно, будут нужны в любом случае. ПЛИС, ессно, нужно программировать, но для единичного экземпляра это не критично. Вот такое подкрепление.  PS. И ещё хотелось бы услышать, как вы собирались подключать 109 устройств на шину I2C..
|
|
|
|
|
Nov 23 2017, 21:09
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(alxkon @ Nov 23 2017, 23:52)  aliexpress 13,80 EP4CE6 altera fpga board А еще там можно взять 20 PCA9555 за 430 рублей с доставкой, и что? Цитата(blackfin @ Nov 23 2017, 23:57)  Самый дешевый ЦАП на digikey'e стоит... А где в задаче ЦАП фигурирует, не напомните? Цитата(blackfin @ Nov 23 2017, 23:57)  ПЛИС, ессно, нужно программировать, но для единичного экземпляра это не критично. Как раз в этом случае и критично. Не размазать трудозатраты на серию. Цитата(blackfin @ Nov 23 2017, 23:57)  PS. И ещё хотелось бы услышать, как вы собирались подключать 109 устройств на шину I2C..  Через мультиплексоры. И не обязательно ограничиваться одной шиной.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|