Подскажите пожалуйста, как подключить оптопару для развязки шины SPI, т.е. к микроконтроллеру по SPI подключено несколько регистров сдвига 595, как их развязать от контроллера?
Чтобы получить прямой сигнал с выхода 6N134, нужно будет тогда управлять катодом светодиода, а анод на Vcc через резистор и наоборот, если управлять анодом светодиода, то получим инвертированный сигнал на выходе.
Да, это быстродействующие оптроны с логическим выходом. Есть их сдвоенные варианты, можно в даташите посмотреть. Еще удобно использовать специализированные микросхемы-изоляторы, например серия ADuM1400 ADuM1401 ADuM1402. Там сразу четыре канала, это может быть удобно именно для SPI
igor_ts, если скорость небольшая (до мегагерца, например) или требуется передача данных только в одну сторону, то подойдёт практически любой вариант - и оптопары и цифровые изоляторы (упоминавшееся выше микрухи серии ADUM от Analog devices, или смотрите у Texas instruments, серия ISO, если не ошибаюсь). Надо только по скорости подобрать. Если же скорость единицы мегагерц или выше, или же надо двухсторонний обмен, то надо уже учитывать задержки вызванные прохождением сигнала через развязку, со всеми вытекающими последствиями.
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
.... , например серия ADuM1400 ADuM1401 ADuM1402....
Заказал ADuM1400, когда привезут, буду пробовать.
Kavka писал(а):
... , то подойдёт практически любой вариант - и оптопары и ...
я начинал подключение с оптотранзисторами, всяко пробовал, не работает. Контроллер работает на частоте 4MHz, а на всех трех выходах импульсы идут с частотой 10Hz, обмен не двухсторонний. Может я что-то не так делаю
.... , например серия ADuM1400 ADuM1401 ADuM1402....
Заказал ADuM1400, когда привезут, буду пробовать.
Спецификацию не читали. Да? 1400 это 4 канала в одну сторону. Для SPI нужен 1401 - 4 канала, три в одну сторону, один в обратную. Если CS не нужен, то можно посмотреть в сторону 1301. Учтите, что там ещё 2 или 3 градации по скорости.
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Спецификацию не читали. Да? 1400 это 4 канала в одну сторону. Для SPI нужен 1401 - 4 канала, три в одну сторону, один в обратную. Если CS не нужен, то можно посмотреть в сторону 1301. Учтите, что там ещё 2 или 3 градации по скорости.
Читал pdf на них и видел, что они разные, но не подумал про направление которое мне нужно. Решил, что все в одну сторону не подумав. Но оно так и есть. У меня используются SCK, RCK и SER. А вот про CS не понял, что за вход или выход.
Читал pdf на них и видел, что они разные, но не подумал про направление которое мне нужно. Решил, что все в одну сторону не подумав. Но оно так и есть. У меня используются SCK, RCK и SER. А вот про CS не понял, что за вход или выход.
Что такое RCK и SER я могу только догадываться. Поэтому опишу типивую ситуацию. Подчинённое (slave) SPI устройство, которое имеет: - вход тактирования (SCK) - вход данных (MOSI - master out, slave in) - выход данных (MISO - slave out, master in) - сигнал выбора устройства (CS - chip select), если к SPI подключено несколько устройств, то этот сигнал устанавливается активным для того устройства с которым происходит обмен. Для остальных устанавливается не активным. Хотя, можно посылать одно и тоже нескольким устройствам одновременно. Соответственно от главного на SPI (микроконтроллера), к подчинённому устройству направлены - SCK, MOSI и CS. В обатную сторону - MISO.
Если от подчинённого устройства нет обратной связи, то MISO не подключаем. (остаётся три сигнала в одну сторону) Если на SPI одно единственное устройство, то CS не нужен - включается в активное состояние на стороне устройства. (остаётся три сигнала в одну сторону). А если без CS и MISO, то остаётся два сигнала в одну сторону.
Вроде так.
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Если на SPI одно единственное устройство, то CS не нужен - включается в активное состояние на стороне устройства. к.
Вот это категорически не советую. Сам напоролся. Дело в том, что CS не только выбирает приемник, но и обеспечивает исходное его состояние, в т.ч. очистку приемного буфера. Если случайная помеха на SCK, то в приемный буфер запишется паразитный битик и будет циркулировать там во всех принятых байтах, всех их искажая. И ничем не исправишь, кроме ресета. Если такое произойдет при передаче с активным CS, то можем диагностировать ошибку и, передернув CS, еще раз повторить пакет. Вы скажете : надо иметь хорошие беспомеховые линии связи. Не спорю, но за свою долгую жизнь такие встречал только в теории. И всякие контроли четности, CRC и пр. люди придумали не от балды, а жизнь заставила.
Jack_A, то что вы описали - это очень хороший практический аспект. Который, впрочем, можно почерпнуть из спецификаций некоторых микросхем (протокол работы). Спорить нет смысла. С точки зрения надёжности - вы правы.
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Человеку надо лампочками или релюшками моргать через простейший сдвиговик...а вы его....эээх...не стыдно? там простейшие 2 оптопары можно было взять и поиграться с частотой....обычная т25 до 500 килогерц держит.....а если это релюшки дык там и макс делитель можно врубить - задержки не заметите
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
Как бы мы не "расходились" - всё равно, автор темы решает что из предложенного применить, а что нет
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения