Перейти к содержанию

    

Плис, управление большим кол-вом устройств.

Добрый день.

 

Суть идеи.

Есть основной мозг, это контроллер stm32f303 который считывает состояния аналоговых датчиков(около 100 штук).

Далее есть около 100 выходных реле, которыми нужно управлять. Есть 100 устройств, которые управляются при помощи шим.

 

Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их с стм32 по какому либо интерфейсу.

 

Все эти устройства управляются в ручную, т.е. это будет большой пульт, на котором оператор будет нажимать кнопки и включать то что ему нужно.

 

Что можете посоветовать?

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здесь главный вопрос, какое latency Вы хотите получить в рез-те.

Могу сказать, что в DSP типа TMS320 сделаны прямые связи управления между блоками периферии чтобы, к примеру, можно было мгновенно отрубить ШИМ по сигналу с АЦП, а не пропускать это все через процессор/программу. В Вашем случае latency это время работы программы + задержка внешнего интерфейса проц-плис (для параллельного - меньше, последовательного - больше). Если latency не критично, можете хоть по rs-232 управлять - всего 2 провода надо. Если наоборот, latency очень критично, то лучший вариант - собрать SoC-FPGA со своей специально под задачу написанной периферией.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их..

 

Что можете посоветовать?

Можем посоветовать взять одну ПЛИС и потолще: 10M04DCU324C8G @ Number of I/O 246.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробую объяснить так, с помощью шим сигнала мы плавно регулируем подачу давления воды в системе(от 0 - воды нет, до максимума). С помощью реле открываем необходимые каналы по которым пойдет вода(вода идет по нужным трубкам для измерений, либо по трубкам сброса воды с системы). С помощью датчиков мы измеряем давление и расход этой самой воды, и пишем в файл зависимость давления и расхода, от сигнала шим.

 

По параметру latency еще думаю.

 

Это принцип работы одного канала. Таких каналов будет не сколько, они все выполняют одинаковые функции и состоят из одинаковых элементов.

 

Хотелось бы управлять этими каналами параллельно, заложить такую возможность.

 

Что нужно еще - писать данные в файл по каждому каналу. Выводить данные от датчиков(дисплей, либо 7 сегментник). И сделать возможность связи с программой на пк( т.е. стендом можно управлять либо только с пк, либо только с помощью кнопок).

 

Насчет связи с пк, думаю либо сделать через wi-fi, либо проводное. С wi-fi я связывал уже и есть в этом опыт.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Добрый день.

 

Суть идеи.

Есть основной мозг, это контроллер stm32f303 который считывает состояния аналоговых датчиков(около 100 штук).

Далее есть около 100 выходных реле, которыми нужно управлять. Есть 100 устройств, которые управляются при помощи шим.

 

Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их с стм32 по какому либо интерфейсу.

 

Все эти устройства управляются в ручную, т.е. это будет большой пульт, на котором оператор будет нажимать кнопки и включать то что ему нужно.

 

Что можете посоветовать?

 

Могу посоветовать следующее:

Если цена критична, выбирайте lattice machXO2 или XO3 - стоят $ 5..7 и имеют внутри flash для хранения прошивки. Если latency критична, собирайте все внутри плис, как говорит Shivers.

А так, я думаю, подойдет практически любая ПЛИС с достаточным числом ног. В качестве интерфейса связи с МК - spi или параллельная шина, в

зависимости от latency опять же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Есть основной мозг, это контроллер 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...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Что можете посоветовать?

Я бы посоветовал посмотреть, можно ли обойтись шинами I2C с соответствующей периферией (GPIO, ADC, PWM) и коммутаторами.

Не стоит умножать печали, закладывая в схему лишние программируемые единицы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Не стоит умножать печали, закладывая в схему лишние программируемые единицы.

На россыпухе получится дороже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
На россыпухе получится дороже.

Как знать. Случаи - они разные бывают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
На россыпухе получится дороже.

Т.е. Вы предлагаете сначала зарядить 100 выходов ПЛИС, потом гнать 100 дорожек, потом 100 буферов на 24 Вольта помощнее ...Ведь сразу с выходов ПЛИС реле не подключают...

А ведь чтобы жилось веселее на SPI можно и гальваническую развязку дать...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А ведь чтобы жилось веселее на SPI можно и гальваническую развязку дать...

Не стоит умножать печали, ...

:biggrin:

 

Как знать. Случаи - они разные бывают.

Так всякий может сказать. Так что, это ничего не доказывает.

 

К тому же, для управления напором воды, вероятно, достаточно будет 4-х битных ЦАП'ов..

 

PS. Наверняка ТС сооружает цветомузыкальный фонтан в городском парке. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Так всякий может сказать. Так что, это ничего не доказывает.

Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено.

 

100 аналоговых каналов могут оказаться много дороже всего остального. А может оказаться дороже плата под вашу ПЛИС.

Или трудозатраты на построение системы, если тираж составляет 1 экз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено.

 

100 аналоговых каналов могут оказаться много дороже всего остального. А может оказаться дороже плата под вашу ПЛИС.

Или трудозатраты на построение системы, если тираж составляет 1 экз.

aliexpress 13,80 EP4CE6 altera fpga board

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено.

Самый дешевый ЦАП на 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), вероятно, будут нужны в любом случае.

 

ПЛИС, ессно, нужно программировать, но для единичного экземпляра это не критично.

 

Вот такое подкрепление. :biggrin:

 

PS. И ещё хотелось бы услышать, как вы собирались подключать 109 устройств на шину I2C.. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
aliexpress 13,80 EP4CE6 altera fpga board

А еще там можно взять 20 PCA9555 за 430 рублей с доставкой, и что?

 

Самый дешевый ЦАП на digikey'e стоит...

А где в задаче ЦАП фигурирует, не напомните?

 

ПЛИС, ессно, нужно программировать, но для единичного экземпляра это не критично.

Как раз в этом случае и критично. Не размазать трудозатраты на серию.

 

PS. И ещё хотелось бы услышать, как вы собирались подключать 109 устройств на шину I2C.. ;)

Через мультиплексоры. И не обязательно ограничиваться одной шиной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация