Четрые десятка STM32, чтобы обеспечить работу 200 UART? Вы бы сразу комп с двухста USB2UART преобразователями тогда лучше предложили )))
Сбор данных с кучи UART
Eddy_Em, а кто заставляет использовать именно те МК, у которых есть проблема с I2C, которая именно в Вашем случае критична? В подавляющем большинстве случаев, проблемы на I2C начинаются при наличии более одного мастера. Зачем Вам больше одного мастера в данном случае? Лично мне не попадался пока ни один МК, в котором не получилось бы успешно общаться с той же PCF8574. И зачем DMА для I2C? Это же не скоростной протокол, а прерывание по ошибке все равно обрабатывать. Больше времени потратите на управление DMA, чем выиграете на нескольких передаваемых/принимаемых байтах.
Четрые десятка STM32, чтобы обеспечить работу 200 UART? Вы бы сразу комп с двухста USB2UART преобразователями тогда лучше предложили )))
Четрые десятка STM32, чтобы обеспечить работу 200 UART? Вы бы сразу комп с двухста USB2UART преобразователями тогда лучше предложили )))
- Реклама
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
ПростоНуб, никто не заставляет. Я с I2C почти не работаю, разве что иной раз дурацкие датчики (вроде тех же термодатчиков для зеркала) нужно подключать, но у STM32F042 с I2C особых проблем нет.
Ну и никто не отменял возможности использовать конвертеры интерфейсов (хоть на 20-рублевых STM8, хоть на 15-рублевых ch55x): брать с UART'а и выплевывать в 485, например...
Если нужны раздельные UART'ы, то как-то других вариантов нет. Но я не представляю себе ситуации, когда потребовалось бы одновременно с двумя сотнями раздельных уартов работать. Чушь какая-то... Вот пять одновременно — да, можно представить.Четрые десятка STM32, чтобы обеспечить работу 200 UART?
Ну и никто не отменял возможности использовать конвертеры интерфейсов (хоть на 20-рублевых STM8, хоть на 15-рублевых ch55x): брать с UART'а и выплевывать в 485, например...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 20
- Зарегистрирован: Пт сен 21, 2012 22:58:16
ПростоНуб,
>> I2C имеет встроенную адресацию
На 127 устройств или использовать IIC-подобную связь с большим числом байт для адреса.
>> что позволяет обойтись без регистров и дешифраторов
Не вижу ничего плохого.
Как раз сегодня ночью подумал, что огромный плюс: с регистрами я смогу сообщить физический слот, где проблема с устройством.
>> и работает по двум проводам, вместо четырех у SPI.
Тоже ничего плохого. Меньше меди будет стравлено с печатной платы
Я бы считал, что "проводов" три (clock,miso,mosi) + ещё 2 на обслуживание кучи CS от сдвиговых регистров.
>> Вы бы сразу комп с двухста USB2UART преобразователями тогда лучше предложили )))
Было бы смешно, если бы не было так грустно: сейчас решение формально работает практичесеки такое )))
Eddy_Em
STM32 не более 5 (3 USART, 2 UART)
>> Но я не представляю себе ситуации, когда потребовалось бы одновременно с двумя сотнями раздельных уартов работать.
Элементарнейшая ситуация, уже написал: GSM модемы на приеме\отправке SMS и пропускать данные от них нельзя
---
P.S.
На тему финансовой стороны персонального аппаратного UART к каждому устройству
Нашел микросхемы от NXP и MaxLinear в QFP
8 UART не менее 33 евро
Однозначно идут лесом из-за стоимости, сложности и недоступности
MAX14830 в QFN-48
4 UART, не менее 400 руб.\шт.
ATXMega 128a3u в QFP-64 (что куда лучше)
7 UART, около 680 руб.\шт.
ATMega8 (сверхдоступность и, если DIP, можно и руками заменять)
1 UART
, менее 44 руб.\шт.
>> I2C имеет встроенную адресацию
На 127 устройств или использовать IIC-подобную связь с большим числом байт для адреса.
>> что позволяет обойтись без регистров и дешифраторов
Не вижу ничего плохого.
Как раз сегодня ночью подумал, что огромный плюс: с регистрами я смогу сообщить физический слот, где проблема с устройством.
>> и работает по двум проводам, вместо четырех у SPI.
Тоже ничего плохого. Меньше меди будет стравлено с печатной платы
Я бы считал, что "проводов" три (clock,miso,mosi) + ещё 2 на обслуживание кучи CS от сдвиговых регистров.
>> Вы бы сразу комп с двухста USB2UART преобразователями тогда лучше предложили )))
Было бы смешно, если бы не было так грустно: сейчас решение формально работает практичесеки такое )))
Eddy_Em
STM32 не более 5 (3 USART, 2 UART)
>> Но я не представляю себе ситуации, когда потребовалось бы одновременно с двумя сотнями раздельных уартов работать.
Элементарнейшая ситуация, уже написал: GSM модемы на приеме\отправке SMS и пропускать данные от них нельзя
---
P.S.
На тему финансовой стороны персонального аппаратного UART к каждому устройству
Нашел микросхемы от NXP и MaxLinear в QFP
8 UART не менее 33 евро
Однозначно идут лесом из-за стоимости, сложности и недоступности
MAX14830 в QFN-48
4 UART, не менее 400 руб.\шт.
ATXMega 128a3u в QFP-64 (что куда лучше)
7 UART, около 680 руб.\шт.
ATMega8 (сверхдоступность и, если DIP, можно и руками заменять)
1 UART
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
afynfpbz, налепите преобразователи UART<>RS485 на 16-рублевые STM8S003, раз вам нужно так много устройств обслуживать. Разместите на плате bit-switch, которым задавайте адрес устройства. В итоге у вас будет буферизация и ничего важного не пропустите.
Можно, кстати, и "общение" чуть упростить, если вместо 485 CAN использовать (даже среди STM8 многие дешевые — от 20 до 40 рублей — модели это умеют, правда, может выйти так, что МК получается чуть ли не дешевле, чем CAN-драйвер)…
Еще более дешевые МК — ch55x, но с ними работать сложно (программатор очень дорогой и грамотно переведенной с китайского на английский документации крайне мало).
Если хочется несколько на один МК повесить, то, скажем, у STM32F09[18][RV] есть 8 UART'ов! STM32F091RBT6 за <270 рублей…
Можно, кстати, и "общение" чуть упростить, если вместо 485 CAN использовать (даже среди STM8 многие дешевые — от 20 до 40 рублей — модели это умеют, правда, может выйти так, что МК получается чуть ли не дешевле, чем CAN-драйвер)…
Еще более дешевые МК — ch55x, но с ними работать сложно (программатор очень дорогой и грамотно переведенной с китайского на английский документации крайне мало).
Если хочется несколько на один МК повесить, то, скажем, у STM32F09[18][RV] есть 8 UART'ов! STM32F091RBT6 за <270 рублей…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
I2C поддерживает 10-битную адресацию. На AVR программно, на STM8/STM32 - аппаратно.afynfpbz писал(а):На 127 устройств
Это может делать и концентратор.afynfpbz писал(а):с регистрами я смогу сообщить физический слот, где проблема с устройством
С чего бы это, если размер платы будет больше в несколько раз из-за большего количества корпусов и коммутаций?afynfpbz писал(а):меньше меди будет стравлено с печатной платы
Я же предлагал выше:afynfpbz писал(а):менее 44 руб.\шт.
2 руб. 70 коп. и даже 4 руб. 20 коп. выглядят на порядок привлекательней 44 руб. А отсутствие железного UART полностью компенсируется его автоматизированной программной реализацей в штатном IDE )ПростоНуб писал(а):PDK13 (PMS150C-S08 - от 10 шт. по $0.0424), а если смущает OTP, то PDK14 (PFS154-S08 - от 50 шт. по $0.0659).
С чего это вдруг? Один STM8S103K3 вполне в состоянии одновременно принимать от двух десятков клиентов программным UART, передавая им и управляя ими последовательно через мультиплексор. Так как он все равно, кроме этого и обмена по I2C ничем заниматься не будет, то производительности хватит с лихвой. Или Вы так привыкли к CMSIS, что для Вас реализация высокоскоростной обработки на низком уровне без использования библиотек кажется не выполнимой?Eddy_Em писал(а):Если нужны раздельные UART'ы, то как-то других вариантов нет.
- Реклама
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
Eddy_Em, не позорились бы хоть публично. Если для Вас программная реализация того, что в каких-то МК реализовано аппаратно - непомерный труд, то для обычных любителей - это привычное нудное программирование )))
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
Eddy_Em, "полная тупость и разложение" не только свое бабло тратить на дорогие IC, но и других агитировать на это, когда решение можно сделать за три копейки. Складывается ощущение, что или ST Вам процент с продаж платит, или Вы просто фанатик, бесплатно им делающий рекламу )))
Если что-то можно сделать программно без ущерба для результата конкретного проекта, то совершенно не зачем повышать себестоимость готовой продукции, экономя на её проектировании. Вы же готовы тратить лишние деньги на каждый экземляр ГП, лишь бы не утруждать себя кодированием чего-то более сложного, чем вызова готовой функции для связи с конкретным железом.
Если что-то можно сделать программно без ущерба для результата конкретного проекта, то совершенно не зачем повышать себестоимость готовой продукции, экономя на её проектировании. Вы же готовы тратить лишние деньги на каждый экземляр ГП, лишь бы не утруждать себя кодированием чего-то более сложного, чем вызова готовой функции для связи с конкретным железом.
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
До того как освоили шину CAN датчики и центральный MCU соединяли по RS232 в кольцо. TX->RX:TX->RX и так далее. Плюс свой протокол и UID на каждый датчик.
Девице - Device


