[uquote="VNS",url="/forum/viewtopic.php?p=4747680#p4747680"]Таким образом, вам необходимо подробно рассказать об источнике сигнала, длине линий, как проложены эти линии, есть ли возле линий данных источники электромагнитных излучений.[/uquote]
В данном случае я не указывал это т.к. именно это не принципиально, важна универсальность. Сигналы могут быть любыми, UART, I2C, SPI, что угодно в пределах частоты передачи 4Мгц. Линии - провода длинной 5-10см =) Собранное на макетке с охапкой проводов в воздухе и шумным источником питания проблем для максимально возможной скорости обмена не создает, по крайней мере на оптронах или напрямую.
[uquote="VNS",url="/forum/viewtopic.php?p=4747680#p4747680"]И наконец, почему нельзя просто подать данные сигналы на выводы МК напрямую.[/uquote]
Я специально это написал - они и так идут на него напрямую, только на этих ногах сидит другой чип (который обязан быть подключен именно так (параллельно шине данных)), т.е. нужно отключить 4 ноги с IN для нормальной работы МК с чипом который сидит на ногах OUT и с которым будет общаться МК, при этом с IN по прежнему будет идти сигнал повлиять на который я иначе не могу. Разрывать землю между IN и остальным устройством с помощью всего одной оптопары тоже нельзя. Т.к. в случае, например, если источник сигнала и мое устройство будет подключено по USB их земля будет соединена и без меня.
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4747682#p4747682"]Если сигнал не превышает допуска по входам МК, то можно просто переводить ноги в режим "analog in" или подобный, не занимаясь лишним обвесом.[/uquote]
К сожалению они (ноги) продолжат работу по этой шине данных с другим чипом и так сделать не получится. Чуть выше написал уже подробнее.
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4747682#p4747682"]Схема с опторазвязками плоха тем, что дешевые опторазвязки в 4МГц не очень умеют. Можно осциллографом посмотреть, что там творится на оптотранзисторах.[/uquote]
Я вот не понял когда читал датащиты, разве это влияет на прохождение сигнала внутри полностью включенного оптрона? Я считал что это влияет только на скорость его включения \ выключения, но у меня это делается разово, так что не должно влиять.
На осциллографе до 1Мгц приемлемый сигнал, дальше искажения, на 1,5Мгц сигнал похож на пилу, но осциллограф у меня г. поэтому скорее всего просто он просто искажает сам уже.
По тестам до 2Мгц проблем с потерей данных нет, 4Мгц больше пока только в планах.
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4747682#p4747682"]На каждый светодиод нужен свой токозадающий резистор, иначе они постепенно будут выгорать.[/uquote]
Тогда схема на транзисторах выглядит еще более привлекательней.
А нельзя это обойти подбором резистора для гарантированно низкого тока чтобы этого не происходило и одновременно достаточного для стабильной работы оптрона?
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4747682#p4747682"]BJT в ключевом режиме лучше, наверное, FET'ами заменить. Но, опять же, если внешнее напряжение за рамки питания МК не выходит, то зачем заморачиваться?[/uquote]
Нет, за внешнее не выходит, логика 3.3-5в с разной скоростью приема.
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4747682#p4747682"]Вторая схема с BJT правильней, но все равно, по-моему, перебор.[/uquote]
Как бы изменили?
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4747682#p4747682"]Кстати, бывают микросхемы-буферы с общим отключающим входом. Может, если уж так хочется почти физически отключить эти линии, использовать буфер, а не городить уйму рассыпухи?[/uquote]
Да, посмотрел, это прям готовое решение - то что нужно, спасибо. Подберу потом подходящий по скорости.
Добавлено after 12 minutes 7 seconds:
[uquote="AlexS4",url="/forum/viewtopic.php?p=4747724#p4747724"]ток не возникает сам по себе
например если макс напряжение сигнала 5V то при сопротивлении 1k последовательно с gpio ток не сможет превысить 5mA
неясно с какой целью хочется "разрывать"
самый грамотный путь - просто не использовать информацию с неких gpio на время когда это не нужно[/uquote]
Если бы было так просто - тогда бы меня здесь не было.
[uquote="AlexS4",url="/forum/viewtopic.php?p=4747724#p4747724"]можно логическими элементами выполнить то что можно сделать парой инструкций mcu (напр 4 элемента 2AND могут запрещать трансляцию 4х логических сигналов от одного из своих входов к выходу по сигналу на 2м входе (H=enable) или 2OR (L=enable) )[/uquote]
Хм, действительно, тоже вариант, спасибо, я что-то совсем забыл об этом пути. Но нужно быстрые будет искать, а они могут быть дорогими.
[uquote="AlexS4",url="/forum/viewtopic.php?p=4747724#p4747724"]самый радикальный и понятный всем кто не хочет погружаться в электронику - это реле

[/uquote]
Это был крайний вариант, я рад что мне удалось его избежать
[uquote="AlexS4",url="/forum/viewtopic.php?p=4747724#p4747724"]или логические буферы с enable
или логические cmos коммутаторы[/uquote]
Подсказали уже, спасибо, это пока наиболее точное решение моей проблемы.
[uquote="AlexS4",url="/forum/viewtopic.php?p=4747724#p4747724"]но в любом случае применять оптроны в качестве транзисторов - это бррр!

[/uquote]
Согласен, даже на форуме по такому поводу зарегался
