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

 
 
> Сориентируйте по протоколам/транспортам для связи 2 микроконтроллеров
p_v
сообщение Sep 22 2018, 18:51
Сообщение #1


Участник
*

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



https://easyeda.com/speed/DC_Motor_speed_co...8f540acd1a2f4bb
https://easyeda.com/speed/Universal_speed_c...8f540acd1a2f4bb

Нужно сделать гальваническую развязку между высоковольтной частью регулятора скорости и внешними интерфейсами (индикатор, кнопки и т.п.). Как ни странно, но по деталькам проще всего оказывается поставить 2 микроконтроллера и свинтить их через что-то вроде adum1201.

Понятно, что не особо сложно взять UART и схолхозить протокол типа modbus (запись/чтение по заданному виртуальному адресу). Но может на эту тему есть что-то стандартное, чтобы не изобретать лисапед?

Я не готов выкатить полноценное ТЗ, но надеюсь по схемам и задачам примерно понятно, что может подойти. Все "мясо" - на силовом контроллере. На вспомогательном - только ручки и индикатор. Мне бы хватило, если бы вспомогательный был master-ом, и сам инициировал все опросы. Можно более сложные варианты, если есть готовые библиотеки, но не обязательно. Ну и конечно нужна какая-то минимальная защита от сбоев, чтобы обмен не затыкался.

Какие есть варианты кроме самопального колхоза а ля модбас?

Сообщение отредактировал p_v - Sep 22 2018, 18:54
Go to the top of the page
 
+Quote Post
4 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 55)
Forger
сообщение Sep 22 2018, 19:04
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(p_v @ Sep 22 2018, 21:51) *
Какие есть варианты кроме самопального колхоза а ля модбас?

CAN с соотв. защитами.
Гальванич. изоляция, если необходима.

зы Не пойму, к чему тут тема ARM?


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 22 2018, 19:57
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(p_v @ Sep 22 2018, 21:51) *
Можно более сложные варианты, если есть готовые библиотеки, но не обязательно. Ну и конечно нужна какая-то минимальная защита от сбоев, чтобы обмен не затыкался.

SPI с DMA с отражением на память. И никаких протоколов не надо.
Должен ходить фиксированный блок данных с фиксированной частотой.
На таком принципе все PLC работают.



Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 22 2018, 20:23
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(AlexandrY @ Sep 22 2018, 22:57) *
На таком принципе все PLC работают.

Вот только не нужно вводить народ в заблуждение!

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


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 22 2018, 20:57
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(p_v @ Sep 22 2018, 21:51) *
Какие есть варианты кроме самопального колхоза а ля модбас?

Токовая петля (current loop) с парой оптронов обеспечит и оптоизоляцию, и передачу данных, причем на значительное расстояние, до километра вполне может дотянуть. Больше не пробовал. Вот, например, см. стр. 4:

http://www.kron.com.ua/archive/conv/docs/T...0%20GS%20V1.pdf
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 22 2018, 21:41
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (p_v @ Sep 22 2018, 21:51) *
Понятно, что не особо сложно взять UART и схолхозить протокол типа modbus (запись/чтение по заданному виртуальному адресу). Но может на эту тему есть что-то стандартное, чтобы не изобретать лисапед?
Я изобретаю под каждую задачу. Все мои протоколы поверх поверх УАПП (UART) чем-то похожи на WAKE, но выросли из нижнего уровня IrDA. modbus - кошмар для программиста.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 23 2018, 00:19
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Сергей Борщ @ Sep 23 2018, 00:41) *
Все мои протоколы поверх поверх УАПП (UART) чем-то похожи на WAKE, но выросли из нижнего уровня IrDA. modbus - кошмар для программиста.

У SLIP-подобных протоколов главный недостаток, имхо то, что избыточность зависит от передаваемых данных. И может быть очень большой.
Я в последнее время в подобных случаях использую COBS. Он имеет фиксированную избыточность, не зависящую от данных. И очень маленькую избыточность.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 23 2018, 07:37
Сообщение #8


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Forger @ Sep 22 2018, 23:23) *
Вот только не нужно вводить народ в заблуждение!

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

Я думаю моя мысль понятливым понятна.
Софтварные протоколы нарушают жесткий риалтайм, который обычно нужен при управлении опасной механикой.
SPI по DMA один из вариантов не городить софтовую обвязку.
В PLC для соединений в пределах стойки используют именно такой безсофтовый подход с отражением на память.
Если знаете что-то об этом больше, то назовите хоть одно, а не с умным видом "перечислять их можно долго"

Где применять SPI тож не сильны я вижу. Расстояния на которые можно использовать SPI зависят только от драйверов линии и скорости, как и в любом интерфейсе.
Так что забудьте эти детские заблуждения про соединения на одной плате.
Я вам по секрету скажу, что SPI используется в китайских многометровых светодиодных панелях.
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 23 2018, 07:53
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Сергей Борщ @ Sep 23 2018, 00:41) *
Я изобретаю под каждую задачу.

+1.
Причём у меня предпочтительный вариант - это читаемый человеком формат типа "set 1 123\n". sprintf и sscanf не напрягают, да и без них это можно сделать. Тут начали всякую экзотику предлагать, а тем временем ТС так и не озувучил требования, из-за которых наличие экзотики необходимо.
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 23 2018, 07:59
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(AlexandrY @ Sep 23 2018, 10:37) *
Если знаете что-то об этом больше, то назовите хоть одно, а не с умным видом "перечислять их можно долго"

ETHERCAT - используется в современном промышленном оборудовании. Но для данной темы он крайне избыточен и дорог.
CAN - используется во всех современных авто, в разным машинах обвешивается разными протокольными надстройками. Также используется в промышленном оборудовании.
Минус CAN один - требуется соотв. МК. Плюс - уже аппаратно решены многие протокольные проблемы

Цитата
"в китайских многометровых светодиодных панелях".

Вот именно там самое место подобному применению SPI!


Цитата
SPI по DMA один из вариантов не городить софтовую обвязку.

Тогда давайте уж дальше будем продолжать необоснованные фобии, советуя автору вообще ВСЕ делать на ПЛИС или "гулять так гулять" - на "рассыпухе"! lol.gif


Цитата
эти детские заблуждения
Да кто-бы говорил sm.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 23 2018, 08:02
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AlexandrY @ Sep 23 2018, 10:37) *
В PLC для соединений в пределах стойки используют именно такой безсофтовый подход с отражением на память.

Что значит "безсофтово" применительно к SPI? И причём тут какой-то "жёсткий реалтайм"? И в чём бОльшая жёсткость реалтайма SPI по сравнению с другими интерфейсами?
При использовании SPI не нужен механизм парсинга на кадры, так как это - кадр-ориентированный интерфейс. Кроме SPI есть множество других кадр-ориентированных интерфейсов.
Да и SPI - это не протокол, а интерфейс, всё таки.
И для задачи ТС-а минус SPI в том, что потребуется в два раза больше гальваноразвязок чем для SPI. И скорость прикладного протокола, работающего поверх SPI, может получиться невысокой.

Цитата(Forger @ Sep 23 2018, 10:59) *
ETHERCAT - используется в современном промышленном оборудовании.
CAN - используется во всех современных авто, в разным машинах обвешивается разными протокольными надстройками. Также используется в промышленном оборудовании.

ТСу нужна гальваноразвязка. И двунаправленная передача. Для данных интерфейсов есть чипы, обеспечивающие её? И на какой скорости?
И зачем ETHERCAT с огромной скоростью для "индикатор, кнопки и т.п."? Зачем использовать необоснованно тяжёлые чипы (содержащие ETHERCAT), для опроса кнопок??
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 23 2018, 08:04
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Forger @ Sep 23 2018, 10:59) *
ETHERCAT - используется в современном промышленном оборудовании.
CAN - используется во всех современных авто, в разным машинах обвешивается разными протокольными надстройками. Также используется в промышленном оборудовании.


Если уж разговор про связь ПЛК то модбас еще никуда не списали, а реализация вышеуказанных интерфейсов гораздо сложнее и дороже.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 23 2018, 08:06
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Сергей Борщ @ Sep 23 2018, 00:41) *
modbus - кошмар для программиста.

Если рассматривать только его механизм деления на кадры (а только он нужен для данной задачи), то что там такого страшного?
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 23 2018, 08:15
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(jcxz @ Sep 23 2018, 11:02) *
ТСу нужна гальваноразвязка. И двунаправленная передача. Для данных интерфейсов есть чипы, обеспечивающие её? И на какой скорости?

Да, все это есть. Дорого, надежно. Скорости - как у ethernet, он тут является "физикой".
Но, разумеется, для данной темы ETHERCAT вообще ни к месту, это я уточнил в посте, где упомянул про него.
Тут он - как на самолете в булочную, что через дорогу sm.gif

Для CAN cуществуют готовые драйвера с гальваноразвязкой. Например, ISO1050. Пользовал однажды такой, но его одного мало, все равно нужны доп. защиты.
Если речь идет про некий выносной пульт с кнопками и лампочками, то питание и данные можно развязать еще в силовой коробке. Питание тянуть к пульту в том же кабеле, что и данные.
Получится всего 4 провода. Если нужна аварийная кнопка, то ее лучше тянуть отдельными проводами.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 23 2018, 08:43
Сообщение #15


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Forger @ Sep 23 2018, 10:59) *
ETHERCAT - используется в современном промышленном оборудовании. Но для данной темы он крайне избыточен и дорог.
CAN - используется во всех современных авто, в разным машинах обвешивается разными протокольными надстройками. Также используется в промышленном оборудовании.
Минус CAN один - требуется соотв. МК. Плюс - уже аппаратно решены многие протокольные проблемы

Все таки не поняли о чем я написал. Значит с современными PLC не имели дело, и мне нет смысла с вами спорить
Просто к сведению, там есть стойки или модули со своими соединениями, а есть межстоечные соединения.



Цитата(jcxz @ Sep 23 2018, 11:02) *
Что значит "безсофтово" применительно к SPI? И причём тут какой-то "жёсткий реалтайм"? И в чём бОльшая жёсткость реалтайма SPI по сравнению с другими интерфейсами?

Эт трудно объяснить поскольку все тесно завязано на периферию конкретного семейства ARM-ов.
Там надо привлекать не только SPI, но и связанные DMA каналы, таймеры, мультиплексоры ивентов, аппаратный блок CRC и кое-что другое.
Но мне удавалось безсофтово делать отражение АЦП, портов, и других вещей одного контроллера в память другого даже на STM32.
На Kinetis это еще проще.
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 23 2018, 08:51
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(AlexandrY @ Sep 23 2018, 11:37) *
Все таки не поняли о чем я написал. Значит с современными PLC не имели дело, и мне нет смысла с вами спорить.

Есть конкретный пример "современного PLC" в вашем понимании?
Покажите такой, где применяется SPI через DMA.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 23 2018, 08:51
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AlexandrY @ Sep 23 2018, 11:43) *
Но мне удавалось безсофтово делать отражение АЦП, портов, и других вещей одного контроллера в память другого даже на STM32.

Автору нужно видимо передавать сообщения между МК, а не отображать периферию (тем более что и МК на 2-х концах возможно будут разные).
А сообщение - это некая структура. Которая заполняется при отправке программно и парсится после приёма программно. И каким боком тут отображение каких-то областей памяти одного МК на адресное пространство другого? И какая безсофтовость, если и приёмник и передатчик - это программа. Это совершенно неудобно при передаче сообщений от одной программы к другой.

Цитата(AlexandrY @ Sep 23 2018, 11:43) *
На Kinetis это еще проще.

Так это была скрытая реклама Кинетиса? biggrin.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 23 2018, 10:32
Сообщение #18


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (jcxz @ Sep 23 2018, 11:06) *
Если рассматривать только его механизм деления на кадры (а только он нужен для данной задачи), то что там такого страшного?
Как минимум то, что механизм деления на кадры завязан на времянки и требует дополнительного таймера и весьма нетривиального алгоритма при использовании УАПП в связке с ПДП. Ну а верхние уровни, завязанные на передачу исключительно наборов битов или двухбайтовых чисел в формате больших индейцев - то еще счастье, особенно если пытаться натянуть сову на глобус его команды группового чтения/записи набора регистров на реальную систему.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 23 2018, 10:38
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Короче, резюмируем так: как умеешь, так и делай, ибо работать будет в любом случае. Не рокет саенс, в конце концов. Ну и если уверенности не хватает, можно обсудить здесь отдельные решения в части помехоустойчивости, например.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 23 2018, 10:39
Сообщение #20


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (jcxz @ Sep 23 2018, 03:19) *
У SLIP-подобных протоколов главный недостаток, имхо то, что избыточность зависит от передаваемых данных. И может быть очень большой.
Среднестатистический пакет длиной в пару десятков байтов увеличивается на два-три байта. Меня это не напрягает. Зато можно подключиться к приему хоть в середине пакета и войти в синхронизм уже на следующем пакете, не нужно передавать длину пакета, мизерный код для реализации приема и передачи. Про COBS слышал, как-то не возбудил (это чисто субъективно).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 23 2018, 10:39
Сообщение #21


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(jcxz @ Sep 23 2018, 11:51) *
Автору нужно видимо передавать сообщения между МК, а не отображать периферию (тем более что и МК на 2-х концах возможно будут разные).
А сообщение - это некая структура. Которая заполняется при отправке программно и парсится после приёма программно. И каким боком тут отображение каких-то областей памяти одного МК на адресное пространство другого? И какая безсофтовость, если и приёмник и передатчик - это программа. Это совершенно неудобно при передаче сообщений от одной программы к другой.

Тут надо задать вопрос, что такое сообщения.
Сообщение - это надо так думать в контексте обсуждения будет асинхронное событие.
Но вот как раз обработка асинхронных событий и есть лишнее неудобство.
Может показаться что асинхронные события улучшают быстродействие системы, но они же и вызывают проблему планирования очередей этих событий и их приоритетов.
Но в управлении движками (а мы обсуждаем не коней в вакууме, если кто забыл) есть несколько циклов с фиксированным периодом.
Достаточно каждый период иметь актуальную информацию в памяти и никакие события т.е. сообщения уже не нужны.
Что собственно принцип работы PLC и доказывает.


Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 23 2018, 11:26
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Сергей Борщ @ Sep 23 2018, 13:32) *
Как минимум то, что механизм деления на кадры завязан на времянки и требует дополнительного таймера

Для большинства МК - не требует, так как таймер входит в состав UART-периферии МК. И имеются и соответствующие статусные биты и прерывания. На приём конечно. На передачу тоже можно обойтись: дождавшись состояния "сдвиговый регистр TX пуст", перевести TX-ногу в режим GPIO в неактивный уровень, выплюнуть некоторое число символов, опять дождаться состояния "сдвиговый регистр TX пуст" и перевести ногу обратно.

Цитата(Сергей Борщ @ Sep 23 2018, 13:39) *
Среднестатистический пакет длиной в пару десятков байтов увеличивается на два-три байта. Меня это не напрягает.

Неудобство-то не со среднестатическим, а с максимальным: все буфера под максимум нужно рассчитывать, да и время обработки тоже и таймауты всякие и пр. Если что-то будет не успевать или переполняться только в редких случаях, то то что "среднестатистически всё работает" - будет слабым утешением.

Цитата(Сергей Борщ @ Sep 23 2018, 13:39) *
Зато можно подключиться к приему хоть в середине пакета и войти в синхронизм уже на следующем пакете, не нужно передавать длину пакета, мизерный код для реализации приема и передачи. Про COBS слышал, как-то не возбудил (это чисто субъективно).

Всё это имеет и COBS, но кроме того - не имеет такого большого оверхеда по объёму при кодировании.
Раньше я тоже обычно использовал SLIP. wink.gif

Цитата(AlexandrY @ Sep 23 2018, 13:39) *
Но в управлении движками (а мы обсуждаем не коней в вакууме, если кто забыл) есть несколько циклов с фиксированным периодом.

Вангую что кроме собственно управления движками у ТСа там ещё много чего надо будет передавать. О чём намекает упоминание кнопок и пр.
И откуда и куда и каким образом это будет делаться - знает только он сам.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 23 2018, 11:59
Сообщение #23


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(jcxz @ Sep 23 2018, 14:26) *
Вангую что кроме собственно управления движками у ТСа там ещё много чего надо будет передавать. О чём намекает упоминание кнопок и пр.
И откуда и куда и каким образом это будет делаться - знает только он сам.

Чет тут ванговать.
Циклы движка самые важные и самые быстрые в его системе.
Быстрее циклов быть не может, иначе упрется в риалтаймность движка.
Если SPI буде давать актуальные данные на этих циклах, то во всех остальных потоках и подавно не надо никаких сообщений и их очередей.

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

Go to the top of the page
 
+Quote Post
k155la3
сообщение Sep 23 2018, 14:28
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(Forger @ Sep 23 2018, 10:59) *
. . . Минус CAN один - требуется соотв. МК. Плюс - уже аппаратно решены многие протокольные проблемы ...

CAN не редкость, напр. STM32F103 итд. Используется как один из стандартный интерфейсов в упомянутых PLC.
В протоколе должна быть как минимум реализована проверка целостности пакета по CRC (в CAN это уже имеется, как и адресация узлов).
Из "сложностей" CAN - потребуется внешний трансивер 82C250 или другой (много аналогов).
Развязка - по линиям Tx,Rx между трансивером и контроллером.

ps развязка для CAN на оптронах pg 9
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 23 2018, 14:42
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(k155la3 @ Sep 23 2018, 17:28) *
CAN не редкость, напр. STM32F103 итд.
Так никто и не говорил, что он - редкость laughing.gif
Просто, встроен он далеко не в каждый МК, в отличие от того же USART, который нынче есть в любом МК.

Цитата
Используется как один из стандартный интерфейсов в упомянутых PLC.
, однако, по-ходу, не все об этом знают, хотя CAN используют в таких сетях лет этак 15..20 wink.gif

Цитата
Из "сложностей" CAN - потребуется внешний трансивер 82C250 или другой (много аналогов).

Да и тут сложности особой нет, т. к. трансивер все равно нужен для любого интерфейса, даже того же USART (кроме межплатных соединений).
Для CAN существуют трансиверы со встроенной гальвано-развязкой, например, уже довольно старый и уже упомянутый тут ISO1050.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 23 2018, 17:32
Сообщение #26


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(k155la3 @ Sep 23 2018, 17:28) *
В протоколе должна быть как минимум реализована проверка целостности пакета по CRC (в CAN это уже имеется, как и адресация узлов).

Если между двумя чипами на плате нужен целый CAN для коммуникации, то такую плату проще выкинуть.
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 23 2018, 17:52
Сообщение #27


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(AlexandrY @ Sep 23 2018, 20:32) *
Если между двумя чипами на плате нужен целый CAN для коммуникации, то такую плату проще выкинуть.

Если между двумя блоками/модулями, раскиданными по шкафу, используется голый SPI, то такое "изделие" "проще выкинуть" cool.gif

Исключение составляет SPI, обвешанный соотв. трансиверами и защитами, но такой интерфейс придуман очень-очень давно, и называется он SSI.
Встречал его в датчиках положения рабочих органов станка.
Кстати, его можно рассмотреть как вариант для задачи этой темы.

CAN сам по себе хорош для распределенной системы, где много узлов и узлы делают РАЗНЫЕ производители, опираясь на некий единообразный самодельный или готовый протокол (например, тот же CANopen).
Но для тривиальной задачи - один блок + один выносной пуль от ОДНОГО производителя - CAN может оказаться несколько избыточным, и поэтому вполне сгодится обычный UART с трансиверами RS-422/485.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 23 2018, 18:09
Сообщение #28


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (jcxz @ Sep 23 2018, 14:26) *
Для большинства МК - не требует, так как таймер входит в состав UART-периферии МК. И имеются и соответствующие статусные биты и прерывания. На приём конечно. На передачу тоже можно обойтись: дождавшись состояния "сдвиговый регистр TX пуст", перевести TX-ногу в режим GPIO в неактивный уровень, выплюнуть некоторое число символов, опять дождаться состояния "сдвиговый регистр TX пуст" и перевести ногу обратно.
Сколько символов надо выплюнуть, чтобы получить паузу в три с половиной байтовых интервала? Какие статусные биты и прерывания AVR, STM32, LPC2xxx позволяют отличать паузу в два с половиной байтовых интрвала от паузы в три с половиной байтовых интервала?
QUOTE (jcxz @ Sep 23 2018, 14:26) *
Неудобство-то не со среднестатическим, а с максимальным: все буфера под максимум нужно рассчитывать, да и время обработки тоже и таймауты всякие и пр.
Я собираю и разбираю на лету, буфера не увеличиваются ни на байт.

QUOTE (jcxz @ Sep 23 2018, 14:26) *
Если что-то будет не успевать или переполняться только в редких случаях, то то что "среднестатистически всё работает" - будет слабым утешением.
Видимо все дело в реализации.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 23 2018, 19:07
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Сергей Борщ @ Sep 23 2018, 21:09) *
Сколько символов надо выплюнуть, чтобы получить паузу в три с половиной байтовых интервала? Какие статусные биты и прерывания AVR, STM32, LPC2xxx позволяют отличать паузу в два с половиной байтовых интрвала от паузы в три с половиной байтовых интервала?

Зачем 3.5? На передачу нужно обеспечить чтобы пауза была >=3.5.

Цитата(Сергей Борщ @ Sep 23 2018, 21:09) *
Я собираю и разбираю на лету, буфера не увеличиваются ни на байт.

Это пока имеете дело с простейшим случаем байтового потока - железным UART. Когда этот байтовый поток - часть комплексного канала (например тот же TCP-сокет), то без буферов будет сложновато. Хотя это уже за пределами задачи ТСа. Я просто хочу сказать, что если среда передачи байтового потока - железный UART, то modbus так же имеет право на жизнь. И ничем не хуже SLIP, а имеет свои плюсы. Вот например - обошлись Вы без буферов, но забыли что не только объём увеличился, но и время передачи тоже. Соответственно - там где протоколу с modbus или COBS хватит меньшей бодовой скорости, со SLIP придётся скорость увеличить. Т.е. - возможно поставить более дорогие элементы гальванической развязки.
Для других типов байтовых потоков (типа TCP-сокета; или SPP в bluetooth; или CDC в USB; ...), modbus вообще не подходит, но и у SLIP-а появляются серьёзные минусы. Если уж упираться в универсальность, то из всех этих вариантов, COBS - самый универсальный: оверхед маленький и фиксированный, и временнЫх привязок (как modbus) тоже никаких не имеет. Ну конечно кодирование-декодирование чуток сложнее.

Цитата(Forger @ Sep 23 2018, 20:52) *
Но для тривиальной задачи - один блок + один выносной пуль от ОДНОГО производителя - CAN может оказаться несколько избыточным, и поэтому вполне сгодится обычный UART с трансиверами RS-422/485.

Согласен.
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 23 2018, 19:08
Сообщение #30


Участник
*

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



https://github.com/speedcontrols/wifi-confi...doc/protocol.md

Тут текущий протокол, который с точки зрения управления в принципе устроил бы. Но там совсем дешево и сердито, точилось под немного другую задачу, и под внутреннюю коммуникацию нюансы не обдумывал.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 23 2018, 19:20
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(p_v @ Sep 23 2018, 22:08) *
Тут текущий протокол, который с точки зрения управления в принципе устроил бы. Но там совсем дешево и сердито, точилось под немного другую задачу, и под внутреннюю коммуникацию нюансы не обдумывал.

JSON то зачем? wacko.gif Чтоб максимально усложнить себе жизнь?
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 23 2018, 20:02
Сообщение #32


Участник
*

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



Цитата(jcxz @ Sep 23 2018, 22:20) *
JSON то зачем? wacko.gif Чтоб максимально усложнить себе жизнь?

Почему бы не прочитать сначала документацию повнимательнее, и не сообразить что к протоколу в рамках данной темы это не относится?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 23 2018, 20:08
Сообщение #33


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(p_v @ Sep 23 2018, 23:02) *
Почему бы не прочитать сначала документацию повнимательнее, и не сообразить что к протоколу в рамках данной темы это не относится?

Попахивает arduino. biggrin.gif
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 23 2018, 20:48
Сообщение #34


Участник
*

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



Вы всерьез считаете, что всем важно знать что вам как попахивает? Лучше б написали во что обойдется гальваноразвязка SPI, за который вы тут топили. По деталям и деньгам.
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 23 2018, 22:03
Сообщение #35


Участник
*

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



У меня вопрос по CAN. Не уверен, насколько вообще критична автоматическая ретрансмиссия битых фреймов, но в принципе было бы интересно заюзать эту штуку вместо UART. Возможно, не столько по большой нужде сколько из любопытства.

1. Насколько стабильными должны быть частоты самих микроконтроллеров? Можно например их оба запустить на внутренних RC-генераторах?

2. Правильно ли я понимаю, что если точек только две и токовая петля не нужна, то можно заюзать все тот же дешевый ADUM1201 от UART?

Надо ли при этом городить схему с диодами и резистором, или можно просто can_tx/can_rx крест на крест соединить?
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 24 2018, 05:37
Сообщение #36


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(p_v @ Sep 24 2018, 01:03) *
Возможно, не столько по большой нужде сколько из любопытства.

Для "любопытства", имхо, лучше купить пару отладочных плат и на них в полной мере утолить свое любопытство sm.gif

Цитата
1. Насколько стабильными должны быть частоты самих микроконтроллеров? Можно например их оба запустить на внутренних RC-генераторах?

Тут все упирается в стабильность этого самого RC-генератора на всем диапазоне рабочих температур и требуемой скорости CAN-шины.
Подробности как всегда см. в гуглях.

Цитата
2. Правильно ли я понимаю, что если точек только две и токовая петля не нужна, то можно заюзать все тот же дешевый ADUM1201 от UART?

Наверно можно, если удастся правильно понять вашу мысль sm.gif

Цитата
Надо ли при этом городить схему с диодами и резистором, или можно просто can_tx/can_rx крест на крест соединить?

Не вижу никакого смысла соединять два MK голым CAN без соотв. трансиверов и защит - это как из пушки по воробьям. Для подобной цели вполне хватит и обычных USART.
Хотя ничто не мешает извратиться и по такой "методе" соединить даже два ETH sm.gif

Дабы далее не "гадать на кофейных гущах", опишите сразу топологию этой "шины": как и что это выглядит и как это все должно запитываться, какие расстояния и т.п.?


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 24 2018, 06:09
Сообщение #37


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(p_v @ Sep 23 2018, 23:48) *
Вы всерьез считаете, что всем важно знать что вам как попахивает? Лучше б написали во что обойдется гальваноразвязка SPI, за который вы тут топили. По деталям и деньгам.

Здесь не консультационное бюро.
Качество ответов зависит от качества вопроса.
Так что сначала сами потрудитесь.
Ссылка на то что вы нашли вам в минус в профессиональной ветке.
Вашей теме в такой постановке место в ветке про ардуино или о чем-то подобном, о возможности туда ее перенести я и намекнул.

CAN контроллеры не могут соединятся по линиям tx и rx напрямую, нужна как минимум логика И на каждый rx от двух tx.
От RC генераторов CAN контроллеры врядли будут работать, поскольку там каждый бит делится еще на 13 точных квантов минимум, хотя и есть ресинхронизация по 3-м квантам.
Но опять же, это не консультация и все сказанное может быть неточным. laughing.gif
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 24 2018, 07:04
Сообщение #38


Участник
*

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



Цитата(AlexandrY @ Sep 24 2018, 09:09) *
Здесь не консультационное бюро.
Качество ответов зависит от качества вопроса.
Так что сначала сами потрудитесь.
Ссылка на то что вы нашли вам в минус в профессиональной ветке.


Я вас вроде силой в эту тему не затаскивал, и вещать на целую страницу об офигительной важности чтения кнопок через DMA тоже не заставлял. Вы б как-то различали что ли, когда ждут конкретные подробности, а когда хотят просто поговорить на общие темы.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 24 2018, 10:28
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(p_v @ Sep 23 2018, 23:02) *
и не сообразить что к протоколу в рамках данной темы это не относится?

Если это не относится к обсуждаемой теме, то почему бы не подумать немного и не сообразить что тогда нет и смысла постить это сюда?
Go to the top of the page
 
+Quote Post
sidy
сообщение Sep 24 2018, 11:01
Сообщение #40


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 2-11-08
Пользователь №: 41 333



Цитата(Сергей Борщ @ Sep 23 2018, 00:41) *
modbus - кошмар для программиста.

Поясните в чем заключается кошмар? Старый и очень простой и понятный протокол передачи данных.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 24 2018, 12:29
Сообщение #41


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(sidy @ Sep 24 2018, 14:01) *
Поясните в чем заключается кошмар? Старый и очень простой и понятный протокол передачи данных.


То же самое, так и не понял кошмарности. Там 1 таймаут и то, +-лапоть. biggrin.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 24 2018, 15:10
Сообщение #42


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sidy @ Sep 24 2018, 14:01) *
Поясните в чем заключается кошмар? Старый и очень простой и понятный протокол передачи данных.

CODE
struct config
{
    typedef uint8_t version;
    static version const VERSION = 3;
    version Version;

    struct localhost
    {
        uint8_t     MAC_address[6];     // big endian
        uint8_t     Built_in_MAC  :1;
        uint8_t     DHCP_enabled :1;
        ip_addr_t   IP_address;         // big endian
        ip_addr_t   Netmask;            // big endian
        ip_addr_t   Gateway;            // big endian
        ip_addr_t   DNS[2];             // big endian
        char        Hostname[64];
    }   Localhost;

    struct telnet
    {
        in_port_t   Port;
        char        Password[21];   // 20 symbols + trailing '\0'
    }   Telnet;

    struct ademco685
    {
        uint32_t    Baudrate;
        uint8_t     Receiver_ID;            // Receiver ID
        uint8_t     System_enabled;         // bitset
        uint8_t     Keep_alive_timeout;
        uint16_t    Copy_filter_timeout;    // seconds
    }   ADEMCO685;
Все данные (кроме оговоренных в комментариях) в маленьких индейцах. Напишите чтение/запись через modbus. Только честно - чтобы можно было менять как один параметр через Preset Single Register, так и произвольную группу через Preset Multiple Registers. И чтобы в процессе записи группы или через Preset Single Register не допускалась запись половины 32-битного числа. Любопытно глянуть на простоту реализации. А это только малая часть настроек моего устройства.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Alechek
сообщение Sep 24 2018, 16:24
Сообщение #43


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(mantech @ Sep 24 2018, 17:29) *
То же самое, так и не понял кошмарности. Там 1 таймаут и то, +-лапоть. biggrin.gif


В таймауте как раз и кошмарность.
Вроде и ничего сложного, но почему-то возникают проблемы на "поделках"


Цитата(Сергей Борщ @ Sep 24 2018, 20:10) *
Напишите чтение/запись через modbus. Только честно - чтобы можно было менять как один параметр через Preset Single Register, так и произвольную группу через Preset Multiple Registers. И чтобы в процессе записи группы или через Preset Single Register не допускалась запись половины 32-битного числа. Любопытно глянуть на простоту реализации. А это только малая часть настроек моего устройства.

А что сразу функции 4/6/16? MODBUS ими не ограничивается!
Кто мешает использовать 20/21 (Read File Record/Write File Record)?
Или даже (при действительно необходимости) свои функции, стандарт ведь это допускает.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 24 2018, 17:30
Сообщение #44


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Alechek @ Sep 24 2018, 19:24) *
Или даже (при действительно необходимости) свои функции, стандарт ведь это допускает.
И что потом делать с этими функциями, если готовые программы о них не знают? Так почему не использовать свой протокол целиком, если нет жесткого требования использовать именно modbus?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 24 2018, 18:50
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Сергей Борщ @ Sep 24 2018, 20:30) *
И что потом делать с этими функциями, если готовые программы о них не знают? Так почему не использовать свой протокол целиком, если нет жесткого требования использовать именно modbus?

Из modbus-а имеет смысл использовать только его механизм деления на кадры. Я говорил уже.
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 24 2018, 22:44
Сообщение #46


Участник
*

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



Цитата(Сергей Борщ @ Sep 24 2018, 20:30) *
И что потом делать с этими функциями, если готовые программы о них не знают? Так почему не использовать свой протокол целиком, если нет жесткого требования использовать именно modbus?

Давайте считать что я неудачно выразился и под словами "типа модбас" мы понимаем слишком разные вещи. Меня устроил сам принцип "чтения-записи в ячейку". Повторять на нижнем уровне всю модбасовскую хреномундию и в мыслях не было. Там как раз достаточно самосинхронизируемой штуки, типа вашего weak или вообще текстовых строк как в модеме.

А так как задача вполне типовая, мне показалось что это все уже давно должно было оказаться в библиотеках. Ну или как вариант, могли быть какие-то радикально другие решения, с которыми я не очень знаком (вроде CAN).

Цитата(Forger @ Sep 24 2018, 08:37) *
Наверно можно, если удастся правильно понять вашу мысль sm.gif

Все упирается в простоту/цену. Когда все комплектующие стоят 15 баксов, тулить туда развязку за 10 как-то жаба душит.

Одна крайность - фигарить все на рассыпухе из оптронов. Не считая их кривых характеристик, пролетаем в простоте. Другая крайность - многоканальные и специализированные развязки, где вопросы с доступностью и ценник от 5 долларов.

Вариант с ADUM1201 мне кажется довольно удачным балансом - запаять не проблема, размер небольшой, цена приемлима. Правда всего 2 линии передачи.

Цитата(Forger @ Sep 24 2018, 08:37) *
Дабы далее не "гадать на кофейных гущах", опишите сразу топологию этой "шины": как и что это выглядит и как это все должно запитываться, какие расстояния и т.п.?

Давайте от печки начну, возможно так будет понятнее. Нужны малогабаритные и простые регуляторы скорости для "хоббийных" моторов разных типов, все в пределах 1kW. Которые в готовом виде купить нельзя. Все опенсорчное, делается специально чтобы "любой мог повторить". Там где управление чуть более кучерявое чем пара кнопок, по понятным причинам нужна гальваноразвязка.

Это все в пределах ОДНОЙ платы. Именно ради гальваноразвязки. Внутренний формат думал особо не изобретать и взять как в частотниках - когда в какую-то "ячейку" пишется "число" (потом при необходимости будет проще под какой-то частотник мимикрировать, чтобы свой мануал не делать). Так как изоляции подлежит "клавиатура" и "индикатор частоты", то не требуется ни высокая скорость ни пакетирование. Подозреваю, что даже на повтор при ошибках можно будет забить (хватит самосинхронизации). Не уверен что там ошибки вообще когда-либо случатся.

Спрашивайте, если что.

Единственный нюанс - т.к. это все делается именно под повторяемость разными людьми, а не под серию, то допустимы некоторые компромиссы по цене, если это упростит сборку. Но не сильные sm.gif. Ради простоты разработки компромиссы тоже возможны.

Не путайте пожалуйста то что я описывал с выносным пультом. Там совершенно другая задача. Под нее воткнутo ESP8266 для настройки с мобилки через браузер. Но к внутренней изолирующей шине на плате это отношения не имеет.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 25 2018, 04:39
Сообщение #47


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(p_v @ Sep 25 2018, 01:44) *
Все упирается в простоту/цену. Когда все комплектующие стоят 15 баксов, тулить туда развязку за 10 как-то жаба душит.

Одна крайность - фигарить все на рассыпухе из оптронов. Не считая их кривых характеристик, пролетаем в простоте. Другая крайность - многоканальные и специализированные развязки, где вопросы с доступностью и ценник от 5 долларов.

Вариант с ADUM1201 мне кажется довольно удачным балансом - запаять не проблема, размер небольшой, цена приемлима. Правда всего 2 линии передачи.

В интернетах MAX14933ASE+ будет подешевле чем ADUM1201
Если выбираете I2C, то на другой стороне даже процессор не нужен.

Скажем протестировал я тут намедни I2C контроллер клавиатуры-дисплея AS1115-BSST как раз в управлении частотником.
Скажу эффект порадовал. Дисплей с 40мА сегментами горит на полную мощность.
Скорость до 1 Мбит/с держит стабильно. Опорос сделал с частотой тика операционки.
Никаких протоколов и прочих модбасов. Работает железно.
Ну правда у меня Kinetis, он со спец. защитой от глитчей на I2C, может поэтому так надежно работает. wink.gif
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 25 2018, 06:26
Сообщение #48


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(p_v @ Sep 25 2018, 01:44) *
Единственный нюанс - т.к. это все делается именно под повторяемость разными людьми, а не под серию...

Дык, с этого и нужно было начинать!
Это все меняет: подобное "изделие" можно собрать как говорится "из говна и палок" sm.gif
Имхо, идеально подойдут готовые платки из китаев, например эти: тынц, тынц, тынц.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 25 2018, 11:23
Сообщение #49


Участник
*

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



Цитата(Forger @ Sep 25 2018, 09:26) *
Имхо, идеально подойдут готовые платки из китаев, например эти: тынц, тынц, тынц.

То ли я плохо объясняю, то ли вы не так поняли. Регулятор - это одна плата, маленькая. На ней 2 проца с гальваноразвязкой (один подключен к силовым цепям, другой к внешним интерфейсам). Делать гальваноразвязку через внешнюю плату - ну совсем не в кассу.

Это должен быть какой-то дешевый чип, плюс баланс между стоимостью самого чипа и сложностью софта.

Цитата(AlexandrY @ Sep 25 2018, 07:39) *
В интернетах MAX14933ASE+ будет подешевле чем ADUM1201
Если выбираете I2C, то на другой стороне даже процессор не нужен.

Примеры в студию пожалуйста. Где конкретно есть дешевые MAX14933ASE+ и по какой цене. Работу i2c в условиях силовых наводок обсудим потом, если до этого дойдет.

ADUM1201 есть тут, заказывать можно будет вместе с платой, что особенно ценно для самодельщиков.
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 25 2018, 11:32
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Никак не пойму, что не так с банальным оптроном?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 25 2018, 12:08
Сообщение #51


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(scifi @ Sep 25 2018, 14:32) *
Никак не пойму, что не так с банальным оптроном?

Чел уже сделал схему и просто ищет ей оправдание, что тут непонятного? biggrin.gif
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 25 2018, 15:16
Сообщение #52


Участник
*

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



Цитата(scifi @ Sep 25 2018, 14:32) *
Никак не пойму, что не так с банальным оптроном?

Если не вдаваться в характеристики - тупо больше деталей за сравнимые деньги. Не вижу смысла.
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 25 2018, 15:20
Сообщение #53


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Ну не знаю... 2 оптрона - и будет UART. Хозяин - барин, конечно.
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 25 2018, 17:30
Сообщение #54


Участник
*

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



Цитата(scifi @ Sep 25 2018, 18:20) *
Ну не знаю... 2 оптрона - и будет UART. Хозяин - барин, конечно.

Просто так два оптрона включить нельзя. Посчитайте ВСЮ необходимую обвязку, и переведите в осязаемые метрики - количество деталей, площадь на плате, цену и т.п. Тогда будет конкретный разговор - какая выгода, какой ценой и надо ли это для конкретного проекта. Иначе будет пустая болтовня, из которой нельзя извлечь ничего конструктивного.
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 25 2018, 17:43
Сообщение #55


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Ну и считайте. Я же не настаиваю laughing.gif
Go to the top of the page
 
+Quote Post
p_v
сообщение Sep 25 2018, 18:23
Сообщение #56


Участник
*

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



Цитата(scifi @ Sep 25 2018, 20:43) *
Ну и считайте. Я же не настаиваю laughing.gif

Есть встречное предложение - не встревайте с бесполезными советами. Когда мне захочется пообщаться за жизнь с интересными людьми, я создам отдельную тему, или найду более подходящую.
Go to the top of the page
 
+Quote Post

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

 


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


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