Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Направление передачи данных в шине
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
TU22
Здравствуйте!
Задача такая: имеем однопроводную шину LIN с постоянным (рецессивным) уровнем 12В, и доминантным - 0В, соединяющую два устройства. Периодически устройства обмениваются данными. Нужно их считать и разобраться, какое из устройств было их источником, т.е. в каком направлении эти данные идут. Просто считать несложно - достаточно подключить осциллогаф с памятью и сделать запись за какой-то промежуток времени. Или подцепить микроконтроллер с простенькой программкой, которая бы считывала состояние на входе и при его изменении с 0 на 1 и наоборот, записывала данные в память, или даже передавала на компьютер. Но вот как определить направление сигнала? Видимо нужна какая-то развязка, может быть с ретранслятором? Подскажите пожалуйста решение или направьте, где почитать, поиск не помог.
редактор
Самый тупой вариант - вставить МК в разрыв линии и сделать из него ретранслятор (заодно и данные запишет)
Пришел сигнал справа, выставили его налево, пришел слева - выставили направо.
TU22
А как сделать двунаправленность такого ретранслятора? Допустим мы левый порт настроим на ввод, а правый на вывод, то данные будут идти только слева направо. Если в правом порту запараллелим еще одну ножку, которую настроим на ввод, а слева соответственно тоже самое, на вывод, то получится двунаправленность, но контроллер будет видеть сам себя. Можно попробовать программно игнорировать 0 на входе левого порта, если мы его сначала увидели на правом порту и выставили на левый. А потом, когда мы его прекращаем транслировать, выставив 1, снимаем игнорирование. Наверное должно получиться. Надо пробовать. Спасибо, Редактор! Надеюсь общепринятые методы именно такие, а то не хочется изобретать велосипед.
kolobok0
Цитата(TU22 @ May 23 2013, 13:49) *
А как сделать...


думаю пару диодов и пару резисторов спасут отца русской демократии
TU22
Цитата(kolobok0 @ May 23 2013, 20:35) *
думаю пару диодов и пару резисторов спасут отца русской демократии

Честно говоря, не понял, куда их воткнуть. Не могли бы вы пояснить, что имелось ввиду. Как ни кручу, либо контроллер не увидит сигнал совсем, либо контроллер все равно увидит свою же трансляцию.
XVR
У каждого устройства свой подтягивающий резистор (к +12). Между устройствами - маленький резистор (что бы линия работала, но и напряжение на нем можно было увидеть без микроскопа sm.gif )
2х канальный запоминающий осцилограф подключаете к концам этого резистора.
По разнице напряжений можно будет понять кто тянул шину к земле, а по среднему напряжению - что вообще тянули
TU22
Вот это похоже самый простой и интересный вариант! Спасибо! Главное, чтобы тока в линии хватило.
kolobok0
Цитата(TU22 @ May 24 2013, 09:40) *
... не понял, куда их воткнуть....


диоды навстречу друг-другу. последовательно с ними разные номиналы резисторов. далее смотреть осцилом. Разные уровни = разные направления.
TU22
С диодами получается избыточный вариант, одного резистора и двух каналов осциллографа оказалось достаточно. Правда в моем случае падение напряжения разное в зависимости от того, какое устройство передает информацию. От одного оно ощутимо падало - больше вольта при 100 Ом, а от другого буквально на один-два пикселя при 510 Ом. При 1к вообще связь в одну сторону прекращалась. Так что всем спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.