Я собрал вот такой адаптер:
Адаптер K-LINE (c) VSM
Более "правильную" схему адаптера для тех, кому проблематично достать дефицитную микросхему MC33199D прислал VSM. Здесь для согласования с портом применена всё та же, довольно распространенная микросхема MAX232 (ICL232CPE, HIN232), а согласование с линией диагностики - микросхема 74ALS04 (74LS04, К555ЛН1, К1533ЛН1).
Схема эксплуатируется в течении полутора лет, опробована на всех типах контроллеров. Защитный диод желателен с малым падением напряжения, второй - любой импульсный, например КД521, 522. VSM поделился также опытом подстройки нагрузочного резистора. На схеме его номинал 2 Ком, это оптимально для тестирования и программирования блоков "Январь", для "Бошей" его номинал около 1 Ком, для GM - больше 2 Ком. От себя замечу, что номинал резистора применяю 510 -560 Om, как на "больших" схемах, это обеспечивает ток линии около 20 mA, что повышает помехозащищенность. В GM, повторюсь, нагрузочный резистор установлен в блоке и линия диагностики использует пятивольтовые уровни, внешний нагрузочный резистор в адаптерах ALDL не используется. Нумерация выводов по входу соответствует 9-пиновому разъему СОМ, выхода - 9-пиновому разъему адаптера KR-2 от НПП НТС.
ПРОВЕРКА И НАСТРОЙКА
1. Ищем какой-нибудь измеритель, хотя бы простейший электрический тестер.
2. Убеждается в правильности установки элементов схемы и наличии нужных и отсутствии ненужных соединений между ними.
3. Подаем +12В, адаптер к компьютеру не подключен.
4. Проверяем наличие +5В на выводе 16 MAX232 и выводе 14 логики, если нет - проверяем правильность установки и работоспособность 142ЕН5
5. Проверяем работу конверторов MAX232, т.е. наличие +10В на выводе 2 и -10В на выводе 6, если нет - проверяем правильность установки и исправность конденсаторов.
6. Подаем на вход приемника RS232 -10В, т.е. соединяем выводы 13 и 6 МАХ232 и проверяем прохождение сигнала: (логическая "1" на выходе 12 MAX232) -> (логическая "1" на входе 5 ЛН1) -> (логический "0" на выходе 6 ЛН1) -> (+12В в k-line) -> ( логическая "1" на входе 1 ЛН1) -> (логический "0" на выходе 2 ЛН1) -> ( логический "0" на входе 3 ЛН1) -> ( логическая "1" на выходе 4 ЛН1) -> (логическая "1" на входе 11 MAX232) -> (низкий уровень RS232, т.е. менее -5В на выходе 14 MAX232). При непрохождении сигнала через любой элемент, проверяем правильность установки и работоспособность этого элемента. Удаляем соединение между выводами 13 и 6 МАХ232.
7. Подаем на вход приемника RS232 +10В, т.е. соединяем выводы 13 и 2 МАХ232 и проверяем прохождение сигнала: (логический "0" на выходе 12 MAX232) -> (логический "0" на входе 5 ЛН1) -> (логическая "1" на выходе 6 ЛН1)-(~0В в k-line) -> ( логический "0" на входе 1 ЛН1) -> (логическая "1" на выходе 2 ЛН1)- ( логическая "1" на входе 3 ЛН1)-( логический "0" на выходе 4 ЛН1)-(логический "0" на входе 11 MAX232) -> (высокий уровень RS232, т.е. более +5В на выходе 14 MAX232). При непрохождении сигнала через любой элемент, проверяем правильность установки и работоспособность этого элемента. Удаляем соединение между выводами 13 и 2 МАХ232.
8. Подключаем адаптер к порту RS-232 компьютера, соединяем с k-line и пытаемся установить связь с контроллером. В случае проблем, при отсутствии осциллографа, проверяем: правильность использования программы; параметры COM-порта (может ли он работать на выбранной скорости обмена); величину резистора в нагрузке k-line; качество линии связи и т.д.
Подключал к разъему щупом, питание брал с прикуривателя.