kotopes 0 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Добрый день. Суть идеи. Есть основной мозг, это контроллер stm32f303 который считывает состояния аналоговых датчиков(около 100 штук). Далее есть около 100 выходных реле, которыми нужно управлять. Есть 100 устройств, которые управляются при помощи шим. Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их с стм32 по какому либо интерфейсу. Все эти устройства управляются в ручную, т.е. это будет большой пульт, на котором оператор будет нажимать кнопки и включать то что ему нужно. Что можете посоветовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shivers 0 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Здесь главный вопрос, какое latency Вы хотите получить в рез-те. Могу сказать, что в DSP типа TMS320 сделаны прямые связи управления между блоками периферии чтобы, к примеру, можно было мгновенно отрубить ШИМ по сигналу с АЦП, а не пропускать это все через процессор/программу. В Вашем случае latency это время работы программы + задержка внешнего интерфейса проц-плис (для параллельного - меньше, последовательного - больше). Если latency не критично, можете хоть по rs-232 управлять - всего 2 провода надо. Если наоборот, latency очень критично, то лучший вариант - собрать SoC-FPGA со своей специально под задачу написанной периферией. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их.. Что можете посоветовать? Можем посоветовать взять одну ПЛИС и потолще: 10M04DCU324C8G @ Number of I/O 246. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kotopes 0 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Попробую объяснить так, с помощью шим сигнала мы плавно регулируем подачу давления воды в системе(от 0 - воды нет, до максимума). С помощью реле открываем необходимые каналы по которым пойдет вода(вода идет по нужным трубкам для измерений, либо по трубкам сброса воды с системы). С помощью датчиков мы измеряем давление и расход этой самой воды, и пишем в файл зависимость давления и расхода, от сигнала шим. По параметру latency еще думаю. Это принцип работы одного канала. Таких каналов будет не сколько, они все выполняют одинаковые функции и состоят из одинаковых элементов. Хотелось бы управлять этими каналами параллельно, заложить такую возможность. Что нужно еще - писать данные в файл по каждому каналу. Выводить данные от датчиков(дисплей, либо 7 сегментник). И сделать возможность связи с программой на пк( т.е. стендом можно управлять либо только с пк, либо только с помощью кнопок). Насчет связи с пк, думаю либо сделать через wi-fi, либо проводное. С wi-fi я связывал уже и есть в этом опыт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Viktuar 0 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Добрый день. Суть идеи. Есть основной мозг, это контроллер stm32f303 который считывает состояния аналоговых датчиков(около 100 штук). Далее есть около 100 выходных реле, которыми нужно управлять. Есть 100 устройств, которые управляются при помощи шим. Хочу сделать управление реле и генерацию шим на отдельных плис, и связать их с стм32 по какому либо интерфейсу. Все эти устройства управляются в ручную, т.е. это будет большой пульт, на котором оператор будет нажимать кнопки и включать то что ему нужно. Что можете посоветовать? Могу посоветовать следующее: Если цена критична, выбирайте lattice machXO2 или XO3 - стоят $ 5..7 и имеют внутри flash для хранения прошивки. Если latency критична, собирайте все внутри плис, как говорит Shivers. А так, я думаю, подойдет практически любая ПЛИС с достаточным числом ног. В качестве интерфейса связи с МК - spi или параллельная шина, в зависимости от latency опять же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Есть основной мозг, это контроллер 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... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Что можете посоветовать? Я бы посоветовал посмотреть, можно ли обойтись шинами I2C с соответствующей периферией (GPIO, ADC, PWM) и коммутаторами. Не стоит умножать печали, закладывая в схему лишние программируемые единицы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Не стоит умножать печали, закладывая в схему лишние программируемые единицы. На россыпухе получится дороже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба На россыпухе получится дороже. Как знать. Случаи - они разные бывают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба На россыпухе получится дороже. Т.е. Вы предлагаете сначала зарядить 100 выходов ПЛИС, потом гнать 100 дорожек, потом 100 буферов на 24 Вольта помощнее ...Ведь сразу с выходов ПЛИС реле не подключают... А ведь чтобы жилось веселее на SPI можно и гальваническую развязку дать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба А ведь чтобы жилось веселее на SPI можно и гальваническую развязку дать... Не стоит умножать печали, ... Как знать. Случаи - они разные бывают. Так всякий может сказать. Так что, это ничего не доказывает. К тому же, для управления напором воды, вероятно, достаточно будет 4-х битных ЦАП'ов.. PS. Наверняка ТС сооружает цветомузыкальный фонтан в городском парке. :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Так всякий может сказать. Так что, это ничего не доказывает. Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено. 100 аналоговых каналов могут оказаться много дороже всего остального. А может оказаться дороже плата под вашу ПЛИС. Или трудозатраты на построение системы, если тираж составляет 1 экз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alxkon 0 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено. 100 аналоговых каналов могут оказаться много дороже всего остального. А может оказаться дороже плата под вашу ПЛИС. Или трудозатраты на построение системы, если тираж составляет 1 экз. aliexpress 13,80 EP4CE6 altera fpga board Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Можно подумать, что утверждение "на россыпухе получится дороже" чем-то подкреплено. Самый дешевый ЦАП на 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.. ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба aliexpress 13,80 EP4CE6 altera fpga board А еще там можно взять 20 PCA9555 за 430 рублей с доставкой, и что? Самый дешевый ЦАП на digikey'e стоит... А где в задаче ЦАП фигурирует, не напомните? ПЛИС, ессно, нужно программировать, но для единичного экземпляра это не критично. Как раз в этом случае и критично. Не размазать трудозатраты на серию. PS. И ещё хотелось бы услышать, как вы собирались подключать 109 устройств на шину I2C.. ;) Через мультиплексоры. И не обязательно ограничиваться одной шиной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться