073-Адаптер USB to K-line на базе Atmega8/48/88.

Автор: | 19.05.2011

K-Line.
Когда я разрабатывал эту схему хотелось сделать конструкцию максимально надёжную и простую для повторения. И решить взаимоисключающие требования надёжность/простота/цена. Теперь подробней:

Пациент — автомобильная борт сеть.
Автомобильная борт сеть очень капризная штука. Только непосвящённый уверен что там 12вольт постоянного тока. А на практике от 8-9 до 15-16 с ВЧ иголками амплитудой до 100! вольт. Фактически это смерть любому криво сделанному устройству. 99% случаев выхода ЭБУ из строя словили такую иголку.

K и L линии.
Интерфейс обмена ЭБУ с диагностическим оборудованием K линия, это симплексная реализация UART по схеме монтажное ИЛИ:

физическая реализация K-Line

все это удовольствие описано 2-мя стандартами ИСО 9141 для K и L линий
и ИСО 14230 для K линии.
K-Line.zip - Описание устройства протокола

Для подключения по этим стандартам используют МС сопряжения например MC33290 — в моём мелком городе это чудо стоит около 70р.
mc33290.pdf - Драйвер последовательных интерфейсов.

Но пойдем другим путём! МС эта хоть и не особо редкая но в некоторых городах труднодоставаема. И судя по датасшиту на неё, не обеспечивает развязки от борт сети.
Кто-то желает словить 100В в USB порт? Я нет 🙂

Для K линии приняты следующие значения 0 и 1:
Логические уровни K-Line
При этом уровни даны в процентах от значения напряжения борт сети. А оно у нас может быть любое.

МК Аtmega8/48/88
Тут всё просто — для совместимости с программной реализацией USB делаем питание 3.3В. По феншую уровень 0 составляет от 0 до 1/2 напряжения питания, а уровень 1 от 1/2 до напряжения питания. Т.е. ‘0’- это от 0 до 1.65вольт, а ‘1’-  от 1.65 до 3.3вольт.

Как скрестить ужа с ежом?
Тут есть техническая проблема:
— с одной стороны — уровни в K-Line от 0 до 24вольт с возможными иголками до 100В и разрядами статического электричества до 1000-2000В в момент подключения;
— с дугой стороны МК с уровнями от 0 до 3.3Вольт и очень чувствительный к статике.

Решим проблему статики и уровней простым, как удар лопатой в голову методом 😀 : поставим диодно транзисторную оптопару. Средний оптрон обеспечивает изоляцию вход-выход 2000-3000В, что нас вполне устраивает. Будем использовать PC817 или аналогичный. В случае если пользователь воткнет провода не туда МК и компьютер останутся жить. А входная цепь как повезёт 😀
spc817.pdf - Оптопара

В принципе, скорости на K-Line не большие. Но однажды посмотрев осциллографом борт сеть не уверен что МК правильно распознает среди всей этой каши полезный сигнал. А не уверен не обгоняй! Нужно сделать простейшую защиту от помех. Самым распространённым методом борьбы с помехами в цифровой технике является триггер шмитта. Делают его интегрально на базе компаратора.  Данные МС у мя есть но там много лишнего. Например 8 линий. Сделаем триггер шмитта на NE555 (с уровнем переключения в 50% напряжения питания), культовая МС всех времён и народов. По сути описание конструкций на этой МС заслуживает отдельной книги в тысячу другую страниц.
lm555.pdf - Таймер 555

В K-Line передача происходит замыканием линии ключом на землю. Поручим эту работу оптрону.

Собственно схема устройства.


Диоды D1,D3 цепь защитные на случай если забудут подключить питание или массу(любые диоды шотки). Диод D2 (мощный диод шотки на >10A) и предохранитель F1 образуют цепь защиты от переполюсовки. Конденсаторы в цепи питания K-Line на 28-10Вольт.  МС интегрального стабилизатора на 3.3В 78l33 формирует питание для цепей МК из USB +5В.
l78l33ab.pdf - Интегральный стабилизатор напряжения
Светодиоды и лампочки добавить по вкусу 😀


(Visited 3 040 times, 9 visits today)

There are 77 comments

Комментарии подгрузятся после небольшой паузы.