Подскажите пожалуйста!
Имеются два процессора ATmega8 между которыми налажен обмен по SPI посредством которого передается восьми битное число от одному к другому. Подскажите пожалуйста как гальванически развязать схему посредством оптопары. Как какая оптопара подойдет? ее требуется только правильно подключить в разрыв SPI и всё или требуется чтото под нее писать?
PC817, если побыстрее то типа этого HCPL2630.
И это не процессор а микроконтроллер, отличается от процессора наличием встроенной памяти и переферии.
По идее ничего дополнительного писать не нужно, просто оптопары в разрыв. Но я могу ошибаться, реально такого не делал. Зачем вообще понадобилась там гальваническая развязка?
Гальваническая развязка понадобилась ввиду того что через SPI идет какойто сигнал, так как при разрыве SPI все нормальзуется и работает корректно. Скорее всего проходит земля. Подскажите пожалуйста а частота отптопары должна также быть 8 мгц? Больхое спасибо!!!!
Желательно даже побольше. Тут тогда лучше оптопару для цифровых сигналов типа вот такой http://tec.org.ru/board/6n137/119-1-0-528
(по частоте не смотрел, сами сосчитайте)
Есть микросхемы для цифровой развязки. Из них можно выжать и 100Mbit. Например ADUM1400. а вообще зайдите на сайт analog devices. У них много очень интересных интегрированных решений =)
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
m.dr писал(а):частота отптопары должна также быть 8 мгц?
Что значит "также" ? Частота кварца у МК 8 МГц ? Граничная частота передачи опторазвязки никакого отношения к частоте кварца МК не имеет и определяется только настройками SPI, которые в свою очередь, определяются необходимым для передачи в единицу времени объмом данных.
А из секретной информации: сколько метров ( километров ) между этими МК ?
Тут, я думаю, оптопазвязка нужна как жирафу велосипед. Питание - от одного источника ? Мастер и слейв настроены одинаково ( в смысле частот и полярности ) ? Если без SPI работает, а с SPI нет - косяк в проге, и никакие опторазвязки тут не спасут. Или в монтаже. Банальной витой парой на такие расстояния передать - не вопрос. На крайняк - в экране, если помехи гуляют.
Я бы загнал в мастер и слейв тестовые проги, когда мастер что-то передавал бы, а слейв принимал и реагировал. Если не катит -- включить осцилл и голову . А если тест проходит - ошибка в рабочей проге. Тут осцилл не помощник, только голова
А пином CS управляете ? Я в молодости сдуру этот пин у слейва посадил на землю, и вся передача получалась как один непрерывный бооольшой пакет. Ес-сно, любая попавшая помеха вклинивалась в этот поток и сдвигала нормальные биты. Молодой был , дурной
Передается 1 байт данных.
В миллисекунду ? В час? За сутки ? Соединено правильно MOSI -> MOSI, MISO -> MISO ? Часто путают по аналогии с UART : TxD -> RxD.
А slave знает, что он - slave? Или у него тоже прописано - master ?
Питание разное. Если не путаю то ноль проходит через SPI. Работает как с SPI так и без SPI, но при работе с SPI замечена утечка которая мешает нормальной работе. CS управляем и тут не причем. Цель лишь в том чтобы гальванически развязать SPI. В остальном протокол работает как надо. Можно ли для этих нужд воспользоваться для полноценной развязки SPI с помощью ADuM1401? сложно ли это или всеже проще оптопарами? А так как я понял советам Форумчан мне подойдет почти любая оптопара, которую следует поставит в разрыв SPI. Посоветовали чтото типо 6N137. думаю побольше почитать и всеже решиться на опыт. Большое всем за советы!