K-line — однопроводная диагностическая линия (ISO 9141, ISO 14230)
Автомобили до массового перехода на CAN общались с диагностическим сканером по одному проводу — K-line на контакте 7 разъёма OBD-II. На ней работают протоколы ISO 9141-2 и ISO 14230 (KWP2000), и её до сих пор поддерживают адаптеры вроде ELM327. Разбираем, как устроена линия и что нужно для своего адаптера.
Обновлено Редакция GAW
Содержание
K-line — однопроводная двунаправленная линия диагностики автомобиля, по которой работают протоколы ISO 9141-2 и ISO 14230-4 (Keyword Protocol 2000, KWP2000). В разъёме OBD-II (SAE J1962) это контакт 7; на контакте 15 бывает вспомогательная L-line, которая нужна некоторым машинам для инициализации, а многим новым не нужна (ELM327, описание выводов и рис. 9).
Протоколы
| Протокол в ELM327 | Инициализация | Скорость |
|---|---|---|
| 3 — ISO 9141-2 | медленная, 5 бод | 10,4 кбод |
| 4 — ISO 14230-4 KWP | медленная, 5 бод | 10,4 кбод |
| 5 — ISO 14230-4 KWP | быстрая | 10,4 кбод |
Источник — список протоколов команды SP в даташите ELM327. Оба стандарта требуют сначала «разбудить» блок управления: ISO 9141 допускает только медленную инициализацию, которая длится 2–3 с, ISO 14230 — и медленную, и быструю. После инициализации обмен должен идти регулярно, обычно не реже раза в 5 секунд, иначе шина вернётся в спящий режим; ELM327 сам посылает запросы поддержания (раздел «Bus Initiation»).
Электрически
В схеме ELM327 линия подтянута резистором к напряжению бортовой сети, а передатчик — транзистор с открытым коллектором, по принципу открытого стока, — переводит её в активное (доминантное) состояние:
- выходы ISO K и ISO L управляют NPN-транзисторами с подтяжками 510 Ом, как требует стандарт; допустимо 560 Ом, лучше набрать 510 Ом из 240 + 270 Ом; меньшее сопротивление нагружает все устройства на шине;
- резисторы на 1/2 Вт: замыкание линии при 13,8 В даёт на подтяжке около 0,4 Вт;
- вход ISO In принимает сигнал, полученный с K-line, в покое на нём высокий уровень;
- два сканера с подтяжками 510 Ом параллельно дают 255 Ом — Elm предупреждает о сбоях и даже повреждениях и советует для мониторинга подключать подтяжку через 10 кОм с перемычкой.
Бортовая сеть даёт выбросы: STN1110 указывает импульсы по ISO 7637-2 и сброс нагрузки до 60 В (разд. 6.2.5), поэтому вход своего адаптера защищают.
K-line сегодня
По правилам EPA с 2008 модельного года для транспортных средств до 8500 фунтов единственный допустимый протокол OBD — ISO 15765-4 на шине CAN (40 CFR § 86.1806-05). K-line осталась у более старых машин; похожая однопроводная автомобильная шина для датчиков и исполнительных устройств — LIN. Распиновка разъёма и протоколы по контактам — в статье «Распиновка OBD-II».
Частые вопросы
Чем ISO 9141-2 отличается от KWP2000?
Оба работают по K-line на 10,4 кбод, но различаются инициализацией. ISO 9141 допускает только медленную инициализацию — 2–3 с, ISO 14230 (KWP2000) — и медленную, и быструю (ELM327, «Bus Initiation»). В ELM327 это протоколы 3, 4 и 5 команды SP.
Какую подтяжку ставить на K-line в своём адаптере?
510 Ом, как требует стандарт, — так сделано в схеме ELM327; Elm допускает 560 Ом или пару 240 + 270 Ом и не рекомендует меньше. Резистор берут на 1/2 Вт: при замыкании линии при 13,8 В на нём около 0,4 Вт (ELM327, раздел о схеме применения).
Есть ли K-line в современных машинах?
Всё реже. По правилам EPA (40 CFR § 86.1806-05) с 2008 модельного года для транспортных средств до 8500 фунтов единственный допустимый протокол OBD — ISO 15765-4, то есть CAN. Протоколы на K-line остались у более старых машин и в других регионах.
Источники
- Elm Electronics. ELM327 OBD to RS232 Interpreter, data sheet ELM327DSJ — описание выводов: ISO In (вывод 12) — инверсный вход сигнала ISO 9141 и ISO 14230, получаемого с K-line, в покое высокий уровень; ISO K и ISO L (выводы 21 и 22) — выходы, переводящие шины в активное (доминантное) состояние, многим новым машинам L-line не нужна; команда SP: 3 — ISO 9141-2 (5 baud init, 10,4 кбод), 4 — ISO 14230-4 KWP (5 baud init, 10,4 кбод), 5 — ISO 14230-4 KWP (fast init, 10,4 кбод); IB 10 — скорость ISO 10400 по умолчанию; FI — быстрая инициализация, SI — медленная (5 бод); «Bus Initiation»: оба стандарта требуют инициализации шины, ISO 9141 — только медленной (2–3 с), ISO 14230 — медленной или быстрой; без обмена хотя бы раз в 5 секунд шина засыпает, ELM327 сам шлёт запросы поддержания; схема применения: выходы через NPN-транзисторы с подтяжками 510 Ом, как требует стандарт, 560 Ом в крайнем случае, лучше 240 + 270 Ом; 1/2 Вт, потому что КЗ при 13,8 В даёт около 0,4 Вт; два сканера параллельно дают 255 Ом — возможны ошибки и повреждения; рис. 9: контакт 7 — ISO-K, 15 — ISO-L
- U.S. Government Publishing Office. 40 CFR § 86.1806-05, ред. 2012 — п. (h): разъём диагностики по SAE J1962; допустимые протоколы — SAE J1850, ISO 9141-2, ISO 14230-4 и ISO 15765-4; с 2008 модельного года для транспортных средств до 8500 фунтов — только ISO 15765-4 (CAN)
- OBD Solutions. STN1110 Multiprotocol OBD to UART Interpreter, data sheet STN1110DSG — рис. 5: K-LINE на контакте 7, L-LINE на 15; разд. 6.2.5: выбросы по ISO 7637-2, сброс нагрузки до 60 В
Нашли ошибку?
Смотрите также
- OBD-II (J1962)CAN 6/14, K 7, L 15, J1850 2/10, земли 4/5, батарея 16
- CANCAN_H и CAN_L, терминаторы, кадр, арбитраж, ошибки, тайминг, MCP2515
- LINКадр, PID, контрольная сумма, расписание, трансивер, LIN на UART
- Открытый стокВыход только с транзистором к земле, единицу даёт подтяжка
- Сброс нагрузки (load dump)Выброс напряжения при отключении аккумулятора на ходу
- UARTКадр 8N1, скорость и допуск, TX и RX, уровни, USB–UART, AVR и STM32