Есть некая однопроводная двунаправленная шина, TTL-уровни, открытый коллектор, подтянута до питания резюком 10к. по ней два девайса обмениваются данными. протокол - RS232, скорость обмена от 9600 до 115к. идеология обмена такая, хост-девайс отправляет комманду, (примерно 10 байт), второй девайс отвечает (до 2кб) Задача - аппататно определить направление передачи данных, т.е. разбить на два потока - "от хоста" и "к хосту" и сохранить весь обмен так, что-бы можно было видеть КТО из девайсов передает данные. Добавлено: Tue Mar 29, 2011 6:27 am |
А детали протокола известны? Набор комманд, их формат, и т.д ? Просто реализуй псевдо-слейв, определяющий команды хоста, как это делает настоящий слейв. Возможно такой вариант прокатит Добавлено: Tue Mar 29, 2011 10:06 am |
никаких деталей протокола не известно, собственно в этом-то и глобальная задача, разобратся, на какие комманды что отвечает слэйв. Добавлено: Tue Mar 29, 2011 10:10 am |
А в разрез воткнуться можно?) Добавлено: Tue Mar 29, 2011 11:08 am |
2SeaDog
Особенно когда "TTL-уровни, открытый коллектор" окажется RS-485, а сами девайсы "Болид"ообразной хренькой... Добавлено: Tue Mar 29, 2011 12:26 pm |
ФСБ детектед! Добавлено: Tue Mar 29, 2011 12:38 pm |
Если можно тыкаться в разрыв, то варианта 2: 1) делаем устройство (или программу для компа), прозрачно перекидывающую данные из одного последовательного порта в другой. Порты подключены к устройствам через адекватные переходники. Недостаток - появляется задержка между передачей и приёмом. 2) садимся вокруг подтягивающего резистора и смотрим, в сторону какого устройства от него течёт ток. Если нельзя, то выделяем одну пару запрос-ответ и пытаемся глазками понять, где между ними граница (как правило, у пакетов в таких протоколах есть очевидные маркеры начала и конца). Добавлено: Tue Mar 29, 2011 3:18 pm |
" Anton А в разрез воткнуться можно?)" да, можно разорвать линию и воткнуть туда что-то свое Добавлено: Tue Mar 29, 2011 3:56 pm |
Там еще резисторы подтяжки могут быть с двух сторон сразу. Если задержка недопустима, можно врезать в провод резистор. Сопротивление подобрать так, чтоб оно еще работало, но падения было бы достаточно, чтоб разобраться, откуда приходит сигнал. Сначала на выключенной схеме померять сопр-я подтяжек от шины до питания. Смотреть же направления передачи- тупо по амплитуде пачек. Но вообще, если там асинхронный интерфейс, задержка в пределах нескольких байт не должна бы мешать (можно тупой сниффер на МК сделать), хотя надо тестить, - я не знаю что за устройства. Добавлено: Tue Mar 29, 2011 5:48 pm |
2Юрий Псевдо-1-wire ближе. 485ый не однопроводной. 2SeaDog Если в разрыв тыкаться можно - это вообще круто Вообще, если там подтянуто с обоих концов, то вероятнее всего через линию так же течет уравнительный ток, о котором со всякими резисторами забывать не стоит.. Есть еще такой вариант: поставить в разрыв встречно-параллельно включенные Шоттки. Уравнительный ток в таком случае течь, скорее всего, не будет (врят ли разница "стабилизированных" +5 превысит падение на диоде), а вот по появлению падения можно определять направление передачи и логический уровень сразу. Т.е вешаешь на диоды компаратор(сравнивающий напруги на одной стороне диодов, и на другой ), выдающий 0 при открытом коллекторе хоста, и 1цу при открытом коллекторе слейва (тут поправка на смещение нуля, т.е даже в отсутствие передачи там будет 0 или 1, причем что именно - можно лишь догадыватся). Логикой снимаешь уровень с шины... Далее выполняешь логикой S = NOR(D , NOT C) , H = NOR(D, C) S - передача от слейва, H - передача от хоста, D - значение шины, C - выход компаратора (1 - от слейва, 0 - от хоста) Когда на шине 1ца, разумеется, схема выдаст 0 0, так как направление определить невозможно. Добавлено: Wed Mar 30, 2011 12:15 am |
Добавлено: Wed Mar 30, 2011 8:35 am |
2 Anton и ZoneRR а практической схемотехники нет ? Добавлено: Wed Mar 30, 2011 9:45 pm |
Лицензионное соглашение (c)Flyback.org.ru Российское общество любителей высоких напряжений. Использование материалов с данного сайта и форума возможно только с разрешения администрации. |