Схемы подключения компьютеров к k-line
Схемы подключения компьютеров к k-line.
Краткий экскурс по сайтам показал наличие многообразных схем для согласования порта RS-232, с последовательной шиной K-Line. Дабы упорядочить имеющийся хаос и была создана эта страница. Авторы конкретных схем не указаны, т.к. некоторые комментрии нелицеприятны, но при надобности можно указать.
Если у Вас имеются какие либо пожелания или что ни будь новенькое, то завсегда пожалуйста.
Базовая схема.
Эта самая навороченная и правильная, как в учебнике, схема. На нее можно смотреть и удивляться, но изготавливать такое могут только мазохисты. Тем не менее интересно рассмотреть как этот огород работает.
Схема состоит из трех узлов
- блок питания. Питается все от источника +12В, т.е. прикуривателя. Входное напряжение, через диод, служащий защитой от переполюсовки, подается на микросхему стабилизатора TLE4260 , которая делает стабилизированные +5В для питания всего остального. Конденсаторы С8 и С9 есть фильтры от импульсной помехи, поэтому лучше параллельно им поставить керамический конденсатор 0.1 мкф. Вызывает легкое недоумение, почему вместо этого монстра не применили ходовую КРЕН-5.
- блок согласования уровней напряжения интерфейса RS-232 с уровнями ТТЛ построен на хорошем и дорогом чипе MAX232. Эта микросхема вырабатывает из +5В два напряжения +10В на конденсаторе С1 и -10В на конденсаторе С2. Конденсаторы С3 и С4 являются накопительными для преобразователя. Сигнал уровней RS-232 с передатчика TxD, через переключатель, подается на вход TD1 микросхемы, и приводится к уровням ТТЛ на выходе RO1. В обратную сторону входной сигнал уровней ТТЛ подаваемый на вход TO1 приводится к уровням RS-232 и подается на приемник через контакт RxD. Переключатель К1/К2 служит для того, что бы менять вход с выходом, но зачем это нужно ?
- блок согласования K-Line с уровнями ТТЛ построен на специально по этому случаю созданной микросхеме MC3319. На вход TxD подается сигнал для передачи, а с выхода RxD берется принятый сигнал. Сигнал подаваемый на ножку L разрешает работу передатчика. Резистор R1 есть источник тока для питания линии. При напряжении питания +12В максимальный ток 12/510 = 0.023А, соответственно рассеиваемая на резисторе мощность не превышает 0.25Вт.
Для тех кто не боится трудностей и решил воплотить в жизнь этот вариант рекомедую вместо TLE4260 поставить КРЕН-5. Микросхему MAX232 или ее аналог можно найти на битых мультикартах, а MC3319 можно вынуть из фирменного устройства диагностики двигателя :)
K-Small 1
Эта схема заметно проще, чем и привлекает внимание, но она обладает некоторым недостатком - в половине случаев не работает, во второй половине работает хреново.
Линия здесь питается так же как и в предыдущей схеме через резистор 510ом. Выходной сигнал с уровнями RS-232 подается с входа TxD через токоограничивающий резистор 10к на базу транзистора. Транзистор работает в ключевом режиме. При высоком уровне (+10В) через базу протекает ток около 1ма, и при коэффициенте усиления транзистора более 30 весь ток K-Line будет замкнут на землю. При низком уровне (-10В) транзистор уйдет в глубокое закрывание, и через коллекторный переход будет подсаживать K-Line на 1ма, что в общем то не страшно. В таком режиме несколько задерживается положительный фронт, но при имеющейся скорости обмена (10кГц) это безразлично. До идеала эту часть схемы можно довести включив последовательно с резистором 10к (левый по схеме) диод КД522 и подключить резистор 10к от базы транзистора на землю.
Приемник питается от сигнала RTC, который должен находиться в высоком уровне. Резистор 750ом и стабилитрон образуют стабилизатор +4.9В. Зачем он нужен - совершенно не понятно. Можно его выкинуть и подключить резистор 1к на контакт RTS разъема и все будет не хуже чем было.
Водное напряжение с K-Line подается через токоограничивающий резистор 10к на базу ключевого транзистора (нижнего по схеме) При напряжении на линии +12В транзистор открыт и на входе RxD присутствует напряжение близкое к нулю (~0.2В). Когда на K-Line напряжение меншее 0.5В транзистор закрывается и на входе RxD присутствует +4.9В. Однако весьма часто низкий уровень на K-Line больше 0.5В. Зависит это от конкретного контроллера двигателя и тока питания R-Line и в среднем находится в диапазоне 1-2В. Этого напряжения вполне достаточно что бы транзистор был всегда открыт. Вылечить это можно включением последовательно с резисторов 10к (правым по схеме) стабилитрона на 2-3.5В. Можно так же поставить четыре диода КД522 или пару светодиодов. Для полного консенсуса можно и здесь подключить резистор 100к от базы транзистора на землю.
Спорным остается только возможность подавать вместо низкого уровня RS-232 (по стандарту не более -3В) напряжения 0-0.2В. Практика показывает, что в большинстве случаев это проходит, но это не честно.
K-Small 2
Эта схема отличается от вышеприведенной увеличенным резистором 1к питания K-Line . Ток питания при этом уменьшается до 12/1000 = 0.012А, что может и к лучшему. Транзистор приемника питается от тех же +12В что и линия и имеется специальный выключатель для отключения передатчика. Хотя если не надо передавать - не передавай, а зачем выключатель - не понятно. Приемник работает (или не работает) так же как и в предыдущей схеме и лечится теми же средствами.
K-Small 3
Эта схема имеет наиболее человеческое лицо. Присутствует защитный диод питания и стабилитрон смещения уровня в в приемнике. Конденсатор С2 призван бороться с импульсной помехой, но на самом деле только заваливает фронты сигнала. Конденсатор С1 для этой цели существенно более важен. В этом варианте остается открытым вопрос об низком уровне входного сигнала RS-232.
Моя схема.
Проанализировав все имеющееся было решено сделать схему лишенную всех недостатков и имеющую одни достоинства. Рассмотрим как это чудо работает:
Просматривются те же функциональные узлы, что и во всех остальных схемах
- питание +12В от бортовой сети авто подается через защитный диод VD1 на фильтр импульсных помех на конденсаторах С2 и С3. (Для ленивых С3 можно не ставить, но С2 необходим.) Питание линии осуществляется от источника тока. Светодиод VD2 и резистор R2 служат двоякой цели - во первых как индикатор +12В и правильности подключения, во вторых как источник опорного напряжения +1.2В для источника тока. Опорное напряжение подается на базу транзистора VT1 с эмиттерным резистором R1. С коллектора этого транзистора получаем ток питания K-Line порядка 20мА. По сравнению с питанием от резистора питание от источника тока повышает устойчивость работы и существенно увеличивает защиту от помех. Например для создания напряжения помехи 0.5В на провод должен наводится ток более 2мА, т.е. от такого уровня помехи можно запитать светодиод. Поскольку светодиоды бывают разные, то при настройке полезно подобрать резистор R1 замеряя ток между коллектором транзистора VT1 и общим поводом. Для ленивых можно заменить все это резистором 1к между приводом питания после защитного диода и K-Line.
- передатчик не отличается оригинальностью и построен на ключевом транзисторе VT4, диоде защиты от глубокого закрывания VD3 и токоограничивающего резистора R8. Для ленивых VD3 можно не ставить.
- приемник построен на двух транзисторах. Первый транзистор выполняет функцию компаратора. Опорное напряжение образуется делителем на резисторах R3 и R4. Напряжение делится не симметрично, что бы компенсировать падение напряжение на защитном диоде и эмиттерном переходе транзистора. Порог срабатывания компаратора равен половине напряжения питания. Если напряжение на K-Line превышает половину напряжения питания, то транзистор открывается и через коллекторный переход начинает протекать ток, который открывает выходной ключ на транзисторе VT3. Так как входной ток компаратора смещает опорное напряжение, то возникает гистерезис около 1.5В, который успешно подавляет входную помеху. Можно посмотреть как происходит работа приемника при номинальном напряжении питания +12 и минимальном +6В при наличии помехи амплитудой 0.5В. Диаграммы посчитаны на PSpice.
Напряжение на выходе приемника может изменяться от напряжения питания +12В до напряжения, к которому подключен резистор R7. Если этот резистор подключить и на общий провод, то выход становится похожим на предыдущие схемы, но правильнее, конечно, подключить его на источник какого либо отрицательного напряжения, например на неиспользуемый выход разъема RS-232 включенный в низкое состояние. Тогда выходное напряжение будет полностью совместимым со стандартом RS-232.
Работа при напряжении питания +12В
Работа при напряжении питания +6В
Видимыми недостатками является несколько большее число деталей чем на простейших схемах, но это компенсируется высокой помехоустойчивостью и полностью стандартным выходом для RS-232. Вторым недостатком можно считать необходимость подбора резистора R1 при настройке схемы. Но поскольку это не крупносерийное изделие с этим можно мириться. По деталям все очень доступно и не критично. При планарном монтаже все устройство помещается внутри корпуса разъема RS-232. Провода подключения могут быть не экранироваными, только не очень тонкими. В моем варианте все прекрасно работает при обычном четырехжильном телефонном проводе длинной около 10м.
PS: Очень частый вопрос - куда подключать провод -12В. Тут все просто, есть три варианта:
1 - подключается к общему проводу (5кт). Все работает как в обычных схемах, только непосредственно от нуля.
2 - на RTS (4кт). Этот выход большая часть программ норовит включить в +12, поэтому надо либо программу править либо смотреть третий вариант.
3 - на DTR(20кт). В моих программах этот вход включается в -12В. Но т.к. исправления вносятся чаще, чем проверяется работоспособность, желательно убедиться в правильности тестером и в случае проблем сообщить мне.
Распайка различных разъемов и подключение к ним.