Развязка SPI оптопарами

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Родился
Сообщения: 9
Зарегистрирован: Вт дек 07, 2010 16:43:50

Сообщение igor_ts »

Подскажите пожалуйста, как подключить оптопару для развязки шины SPI, т.е. к микроконтроллеру по SPI подключено несколько регистров сдвига 595, как их развязать от контроллера?
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 454
Зарегистрирован: Вс янв 15, 2012 19:58:40

Сообщение radiokot__ »

Есть один сайтик называется NXP там этого добра как грязи.
Даже сэмплы просто так высылают.
Ни один домашний кот незнает что он домашний.
Реклама
Родился
Сообщения: 9
Зарегистрирован: Вт дек 07, 2010 16:43:50

Сообщение igor_ts »

а что, обычным транзисторным оптроном нельзя сделать?
Вымогатель припоя
Аватара пользователя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Сообщение zero648 »

6N134 или 6N137 тогда ставить с логическим выходом
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 9
Зарегистрирован: Вт дек 07, 2010 16:43:50

Сообщение igor_ts »

zero648 писал(а):6N134 или 6N137 тогда ставить с логическим выходом
а инвертировать их выхода не придется?
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Сообщение zero648 »

Чтобы получить прямой сигнал с выхода 6N134, нужно будет тогда управлять катодом светодиода, а анод на Vcc через резистор и наоборот, если управлять анодом светодиода, то получим инвертированный сигнал на выходе.
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

igor_ts писал(а):Подскажите пожалуйста, как подключить оптопару для развязки шины SPI, ....
Есть у ATMEL такое решение поищите в Appnote
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Да, это быстродействующие оптроны с логическим выходом. Есть их сдвоенные варианты, можно в даташите посмотреть. Еще удобно использовать специализированные микросхемы-изоляторы, например серия ADuM1400 ADuM1401 ADuM1402. Там сразу четыре канала, это может быть удобно именно для SPI
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

igor_ts, если скорость небольшая (до мегагерца, например) или требуется передача данных только в одну сторону, то подойдёт практически любой вариант - и оптопары и цифровые изоляторы (упоминавшееся выше микрухи серии ADUM от Analog devices, или смотрите у Texas instruments, серия ISO, если не ошибаюсь). Надо только по скорости подобрать.
Если же скорость единицы мегагерц или выше, или же надо двухсторонний обмен, то надо уже учитывать задержки вызванные прохождением сигнала через развязку, со всеми вытекающими последствиями.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Родился
Сообщения: 9
Зарегистрирован: Вт дек 07, 2010 16:43:50

Сообщение igor_ts »

ILYAUL писал(а):
Есть у ATMEL такое решение поищите в Appnote
Не совсем понял где искать.
SmarTrunk писал(а):.... , например серия ADuM1400 ADuM1401 ADuM1402....
Заказал ADuM1400, когда привезут, буду пробовать.
Kavka писал(а):... , то подойдёт практически любой вариант - и оптопары и ...
я начинал подключение с оптотранзисторами, всяко пробовал, не работает. Контроллер работает на частоте 4MHz, а на всех трех выходах импульсы идут с частотой 10Hz, обмен не двухсторонний. Может я что-то не так делаю :dont_know:
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Не совсем понял где искать.
www.atmel.com
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

igor_ts писал(а):
SmarTrunk писал(а):.... , например серия ADuM1400 ADuM1401 ADuM1402....
Заказал ADuM1400, когда привезут, буду пробовать.
Спецификацию не читали. Да? 1400 это 4 канала в одну сторону. Для SPI нужен 1401 - 4 канала, три в одну сторону, один в обратную.
Если CS не нужен, то можно посмотреть в сторону 1301.
Учтите, что там ещё 2 или 3 градации по скорости.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Родился
Сообщения: 9
Зарегистрирован: Вт дек 07, 2010 16:43:50

Сообщение igor_ts »

Kavka писал(а):Спецификацию не читали. Да? 1400 это 4 канала в одну сторону. Для SPI нужен 1401 - 4 канала, три в одну сторону, один в обратную.
Если CS не нужен, то можно посмотреть в сторону 1301.
Учтите, что там ещё 2 или 3 градации по скорости.
Читал pdf на них и видел, что они разные, но не подумал про направление которое мне нужно. Решил, что все в одну сторону не подумав. Но оно так и есть. У меня используются SCK, RCK и SER. А вот про CS не понял, что за вход или выход.
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

igor_ts писал(а):Читал 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 г.)
Друг Кота
Аватара пользователя
Сообщения: 6337
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Kavka писал(а): Если на SPI одно единственное устройство, то CS не нужен - включается в активное состояние на стороне устройства. к.
Вот это категорически не советую. Сам напоролся. Дело в том, что CS не только выбирает приемник, но и обеспечивает исходное его состояние, в т.ч. очистку приемного буфера. Если случайная помеха на SCK, то в приемный буфер запишется паразитный битик и будет циркулировать там во всех принятых байтах, всех их искажая. И ничем не исправишь, кроме ресета. Если такое произойдет при передаче с активным CS, то можем диагностировать ошибку и, передернув CS, еще раз повторить пакет.
Вы скажете : надо иметь хорошие беспомеховые линии связи. Не спорю, но за свою долгую жизнь такие встречал только в теории. И всякие контроли четности, CRC и пр. люди придумали не от балды, а жизнь заставила.
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Jack_A, то что вы описали - это очень хороший практический аспект.
Который, впрочем, можно почерпнуть из спецификаций некоторых микросхем (протокол работы).
Спорить нет смысла. С точки зрения надёжности - вы правы.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Родился
Сообщения: 9
Зарегистрирован: Вт дек 07, 2010 16:43:50

Сообщение igor_ts »

Kavka писал(а):... Что такое RCK и SER я могу только догадываться. :)...
взял из pdf на 74hc595, а с контроллера конечно-же (SCK),(MOSI) и стробирующий импульс (три выхода). По SPI подключено 36 регистров.
Друг Кота
Аватара пользователя
Сообщения: 6337
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Kavka писал(а): это очень хороший практический аспект.
А мне теоретизировать было некогда : за спиной - призводство, впереди - заказчик :)
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса

Сообщение clawham »

Ребятки ну вы и разошлись!!!!

Человеку надо лампочками или релюшками моргать через простейший сдвиговик...а вы его....эээх...не стыдно?
там простейшие 2 оптопары можно было взять и поиграться с частотой....обычная т25 до 500 килогерц держит.....а если это релюшки дык там и макс делитель можно врубить - задержки не заметите
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Контактная информация:
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

Как бы мы не "расходились" - всё равно, автор темы решает что из предложенного применить, а что нет :)
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Ответить

Вернуться в «Периферия»