Выгодная доставка по всей Беларуси и СНГ
(+375 29) 8888-713
(+375 44) 713-8888
iDiag.by
Приём заказов с 09:00 до 20:00, без выходных

Расширенный обзор ELM 327. Полное описание ELM327.

Полное описание  ELM327. Описание выводов чипа. Расширенный обзор ELM327
Описание  ELM327.

Почти всем новым автомобилям, производимым сегодня требуется, согласно закону,  обеспечение интерфейсом,  с помощью которого испытательное оборудование может получить диагностическую информацию. Передача данных по этим интерфейсам соответствует  нескольким стандартам, ни один из которых непосредственно не совместим с ПК или КПК. ELM 327 предназначен для работы в качестве моста между этими бортовыми диагностическими (БД) портами и стандартным ПК RS-232 портом.

ELM327 основывается на улучшенной  версии наших проверенных ELM320, ELM322, ELM323  интерфейсов, добавив к ним четыре CAN протокола.        В результате получилась  IC которая  может автоматически понимать, а также конвертировать девять наиболее  распространенных протоколов используемых сегодня. Есть целый ряд  других усовершенствований, а также - высокая скорость RS232 вариант  буферизации данных, мониторинга  напряжения батареи и способность запоминать последний используемый  протокол и это только некоторые из них.
ELM327 требует несколько внешних компонентов, чтобы сделать полностью схему функционирующей.       На следующих страницах обсудим детали интерфейса и покажем, как использовать  IC  для соединения с вашим автомобилем, прежде чем выбрать из двух типичных схем, чтобы вы начали с раздела Примеры приложений.

Применение.
• Чтение диагностических кодов неисправностей   
• инструмент сканирования автомобилей

• в учебных пособиях

 

Особенности.
• Поддерживает 9 OBDII протоколов
• Автоматический поиск протокола.
• Полностью настраивается  при    помощи AT команд
• Высокая и средняя скорость RS232
• вход для мониторинга напряжения аккумуляторной  батареи
• Низкое энергопотребление в CMOS-исполнении


Описание выводов чипа.
MCLR (вывод 1)
Низкий логический уровень,  прикладываемый к этому входу, сбросит IC. Если этот вывод не используется, он должен быть подключен к логическому (VDD) уровню.
V measure (вывод 2)
Этот аналоговый вход используется для измерения сигнала от 0 до 5 В, которое прилагается к нему. Необходимо соблюдать осторожность, чтобы предотвратить попадание на этот вход от линий  связи  уровней напряжения больше чем допустимо  для ELM327, иначе может произойти повреждение.
J1850 Volts (вывод 3)
Этот выход может быть использован для контроля  напряжения  питания для J1850 Bus+  выхода. Контакт выдает высокий логический уровень, когда  требуется номинал  8V (для J1850 VPW) и выдает низкий уровень, когда необходимо 5В (как  для J1850 PWM приложений). Если этой коммутации не требуется для вашего приложения, этот выход может быть оставлен разомкнутым.
J1850 Bus + (вывод 4)
Этот активный высокий выход используется для приведения J1850 Bus + линии в активный уровень. Обратите внимание, что этот сигнал не должен быть использован для Bus - Line (как это было в случае ELM320), так как отдельный J1850 Bus - выход привода обеспечивается на контакте 14.
Memory (вывод 5)
Это вход управления по умолчанию вариантом состояния памяти. Если этот вывод находится на высоком уровне во время включения питания или сброса то функция памяти будет включена по умолчанию. Если он находится на низком уровне, то по умолчанию будет  ее отключать. Памятью всегда можно управлять в другое время с помощью AT M1 и AT M0 команд.
Скорость передачи данных (вывод 6)
Этот вход управляет  скоростью передачи данных интерфейса RS232. Если он находится в высоком уровне во время включения питания или сброса, скорость передачи будет установлена в 38400. Если на низком уровне, скорость передачи будет 9600.
LF mode (вывод 7)
Этот вход используется для выбора по умолчанию режима перевода строки, который будет использоваться после включения питания или сброса системы. Если он находится на высоком уровне, то по умолчанию, сообщение, отправленное  ELM327, будет завершено, как возврат каретки и символ перевода строки. Если он находится на низком уровне, линия будет прекращена

только возвратом каретки. Такое поведение всегда может быть изменено путем выпуска AT L1 или AT L0 команды (см. раздел о AT-команды).
Vss (выводы 8 и 19)
Общая цепь  должна быть подключена к этим выводам.
XT1 (вывод 9) и XT2 (вывод 10)
4,000 МГц кварцевый резонатор подключается между этими двумя контактами.  Выводы  конденсаторов,  в соответствии с  требованиями  кварца,     (27pF каждая), также соединены  между каждым из этих контактов и заземлением (VSS).
VPW вход (вывод 11)
Это активный высокий вход для J1850 VPW сигнала данных. В состоянии покоя (шина бездействует) этот вывод должен быть на низком уровне логики. Этот вход имеет формирователь триггера Шмитта , поэтому никаких специальных усилений не требуется.
ISO вход (вывод 12)
Это активный низкий вход для ISO 9141 и ISO 14230 сигнала  данных. Он является производным от К-линии  и должен быть на высоком уровне логики в состоянии покоя (шина бездействует). Никакого специального усиления не требуется, так как это вход с триггером  Шмитта.
PWM вход (вывод 13)
Это активный низкий вход для J1850 PWM сигнала данных. Обычно он должен быть на высоком уровне, когда в покое (то есть шина пассивна). Этот вход имеет триггеры  Шмитта, поэтому никаких специальных усилений не требуется.

J1850 Bus- (вывод 14)
Этот активный высокий выход используется для привода J1850 Bus - Линия в активный (доминирующий) уровень  для приложений J1850 PWM. Если не используется, выход может быть оставлен разомкнутым.
RTS (вывод 15)
Этот активный низкий вход "Запрос передачи" может быть использован для обработки прерываний, чтобы послать новую команду. Обычно высокий, если линия не используется и должен оставаться таковым, пока  линия Занят (контакт 16) не укажет, что ELM327 уже не занят. Этот вход имеет триггер Шмитта.
Busy (вывод 16)
Этот активный высокий выход показывает текущее состояние ELM327. Если он находится на низком уровне, процессор готов к приему команд и ASCII символов, но если он находится на высоком уровне, команды находятся в стадии обработки.
RS232Tx (вывод 17)
Это вывод передачи данных RS232.  Уровень сигнала совместим с большинством интерфейсных микросхем (выходной, как правило, высокий), и имеется достаточно тока, чтобы работать с использованием только PNP транзистора, если это необходимо.
RS232Rx (вывод 18)
Это вход получения данных RS232.  Уровень сигнала совместим с большинством интерфейсов микросхем (уровень, как правило, высокий), но может быть использован и с другими интерфейсами, так как на входе стоит триггер Шмитта.

Vdd (вывод 20)
Этот вывод является положительным контактом питания, и всегда должен быть наиболее положительным моментом в цепи. Внутренняя схема, связанная с этим выводом используется для подачи питания на сброс микропроцессора, так что внешний сигнал сброса не требуется. Обратитесь к разделу Электрические характеристики для дальнейшей информации.
ISO K (вывод 21) и ISO L (вывод 22)
Это активный высокий уровень выход сигналов, которые используются для управления ISO 9141 и ISO 14230 автобусов в активном (доминирующем) уровне.  Многие новые автомобили не требуют L- Line  если у вас ее нет, вы можете просто оставить вывод 22 разомкнутым.
CAN Tx (вывод 23) и CAN Rx (вывод 24)
Это два CAN интерфейсных сигнала, которые должны быть подключены к CAN трансиверу IC для нормальной работы. Если вы подключаетесь к существующей системе CAN, ее целостность,  может быть под угрозой, если нужный интерфейс не используется. См. раздел Примеры приложений для получения дополнительной информации.
RS232 Rx светодиодный (вывод 25), RS232 Tx светодиодные (вывод 26),
БД Rx светодиодный (вывод 27) и OBD Tx светодиодные (вывод 28).
Эти четыре выхода, обычно  в высоком уровне, и они переходят в низкий уровень,  во время передачи или приема данных ELM327. Текущие возможности подходят для управления непосредственно самими светодиодами через токоограничивающие резисторы, или при помощи  другой  логики для отчетов о состоянии. Если не используется, эти выводы следует оставить разомкнутым.

 

Абсолютные максимальные
Температура хранения -65 ° C до +150 ° C
Температура окружающей среды при которой микросхема работоспособна           -40 ° C  до +85 ° C.
Напряжение на VDD по отношению к VSS  oт 0 до 7,5 V.
Напряжение на любом другом выводе  
по отношению к VSS от -0.3V до (VDD + 0,3).
Примечание:
Подчеркиваем, любые другие, кроме тех, что приведены  здесь, скорее всего, приведут к повреждению устройства. Эти значения приведены в качестве дизайна только для ориентировки. Способность работать на этих уровнях не является утверждением и не рекомендуется.

Примечания:
1. Эта интегральная микросхема производится с  Microchip Technology Inc 'PIC18F248   PIC18F2480   или в качестве основного встроенного микроконтроллера. Дополнительно о техническом устройстве и возможности уточнения приведенных сведений, пожалуйста обратитесь к соответствующей документации  Microchip  (http://www.microchip.com/).
2. Эта спецификация должна быть выполнена для того, чтобы при включении питания правильно происходил сброс. Это довольно легко достигается с помощью наиболее распространенных способов питания,  это может быть нарушено  при использовании пульсирующего напряжения питания, которое может быть получено через прямое соединение с солнечными батареями или от какой-либо схемы зарядного устройства.
3. Устройство только не рассчитано на любые токи нагрузки.
4. Контакты 1, 11, 12, 13, 15 и 18 имеют внутренние формирователи триггера Шмитта .
5. Типичная длительность импульса Занят выход,  в то время как ELM327 интерпретирует команды, измеряет напряжение, величину  его и передает результат средний  диапазона измерений на 38400 бод.

Обзор.
Далее описывается, как использовать  ELM327, чтобы получить большое количество информации от вашего автомобиля. В  каком-то случае, эта информация  будет подавляющей, а для других этого  будет не достаточно.
Мы начинаем прямо сейчас с обсуждения, как связываться с IC с использованием ПК, а затем объясним, как изменять настройки с помощью "AT" команд  и, наконец, мы покажем, как использовать ELM327 для получения кодов ошибок (и как сбросить их). Для более продвинутых экспериментаторов, есть также раздел о том, как использовать некоторые из программируемых функций этого продукта. Использование ELM327 не такое сложное, как кажется на первый взгляд. Многие пользователи никогда не должны выдавать 'AT' команды, настройки тайм-аутов или изменять заголовки. Для большинства, все, что требуется, ПК или КПК с терминальной программой (например, HyperTerminal или ZTerm), а также знание одного или двух команд БД, которые мы предоставим в следующих разделах ...

Общение с ELM 327.
ELM327 опирается на стандартный RS232 тип последовательного соединения для взаимодействия с  пользователем.  Убедитесь, что вы выбрали правильную скорость передачи данных (или 9600 или 38400 бод), с 8 бит данных, без бита четности, 1 стоп-бит. Все ответы от IC заканчиваются одним символом возврата каретки и, возможно, символом перевода строки. Убедитесь, что программное обеспечение настроено должным образом для режима "конца строки", который вы выбрали.
При правильном  подключении и включенном питании, ELM327 активизирует четыре светодиодных выхода  последовательно  (в качестве "лампы тест"), а затем отправляет сообщение:
ELM327 v1.0
>
В дополнение к определению версии данной микросхемы, получая эту строку хороший способ убедиться, что соединение с компьютером и настройки программного обеспечения терминала являются правильными. Тем не менее, на данный момент никаких сообщений не произошло с автомобилем, поэтому состояние этой связи, пока неизвестно.
'>' Символ, отображаемой выше строки символов в ELM327 означает, что устройство находится в  пассивном состоянии, готово к приему символов на порт RS232. Сообщения, отправленные с  компьютера, могут быть предназначены для внутреннего использования ELM327, или для переформатирования и перехода к выводу БД (бортовой диагностики).
ELM327 может быстро определить, куда полученные символы должны быть направлены, анализируя всю строку один раз полученного полного сообщения.  Команды для внутреннего пользования ELM327 будут всегда начинаться с 'AT' символов (как это часто бывает с модемами), а команды для шины OBD разрешаются только содержащие ASCII-коды из шестнадцатеричных цифр (от 0 до 9 и до F).
Если есть тип 'AT' внутренняя команда или шестнадцатеричная строка для шины OBD, все  сообщения в ELM327 должны быть прекращены с символом возврата каретки (шестнадцатеричное значение '0 D '), прежде чем она будет действовать. 
 Исключением является тот случай, когда неполная строка посылается и не появляется возврат каретки. В этом случае внутренний таймер автоматически прервет неполное сообщение после примерно 20 секунд, а ELM327 будет печатать один вопросительный знак ('?') показать, что вход не был понят (и  не действует).
На не понятые сообщения, (синтаксические ошибки) ELM327 всегда будет сигнализировать один вопросительный знак. К ним относятся неполные сообщения, неправильные AT команды, или недействительными шестнадцатеричными цифрами строки, но не является показателем того, что сообщение было понято автомобилем. Следует иметь в виду, что ELM327 является переводчиком протокола, и он не делает попытки оценить правильность сообщения БД - это только гарантирует, что четное число шестнадцатеричных цифр было получено, объединены в байты, и отосланы OBD порту, и он не знает, было ли сообщение  отправлено на транспортное средство по ошибке.
Неполные или неправильно сообщения могут также возникнуть, если управляющий компьютер пытается записать в ELM327, пока  он еще не готов к приему следующую команду. Чтобы избежать переполнения данных, пользователи должны всегда ждать строку ('>')  или низкий уровень занят выход данных  перед отправкой следующей команды.
Наконец, есть несколько удобных пунктов на заметку.IC  ELM327 не чувствительна  к регистру, так что "АТЗ" является эквивалентом "АТЗ" и "ат3". Кроме того, она  игнорирует пробелы и все управляющие символы (табуляция, перевод строки и т.д.) на входе, так что они могут быть вставлены в любом месте для улучшения читаемости. Еще одной особенностью является то, что отправка только одного символа возврата каретки всегда будет повторять последнюю команду (что делает ему легче выполнять запрос на обновление динамических данных, таких как число оборотов двигателя).
    AT-команды. 
Несколько параметров в ELM327 можно регулировать для того, чтобы изменить его поведение. Они обычно не должны быть изменены перед тем, как связаться с транспортным средством, но иногда пользователь может пожелать настроить эти параметры, например, отключать  характер эха, настройки тайм-аута  или изменение байта заголовка. Для того  чтобы сделать это должна быть выдана  внутренняя команда 'AT'.
Те, кто знаком с компьютерным модемом сразу поймут, AT команды это стандартный способ,  с помощью которого модемы внутренне настроены. ELM327 существенно использует тот же метод, всегда следит за данными, передаваемыми компьютером, глядя на характер сообщения, которые начинаются с "А", за которым следует "Т". Если будет установлено, следующий символы будут интерпретироваться как внутренней конфигурации или 'AT' команды и будут выполнены после получения прекращения возврата каретки

AL [Разрешить длинные сообщения].
Стандартным протоколом OBDII ограничено количество байт данных в сообщении  до семи, которые ELM327 обычно делает  (для передачи и приема). Если дать AL, то ELM327 позволит долго отправлять (восемь байт данных) и получать длинное (неограниченное число)сообщение. AL По умолчанию не выдается,  (NL выбрана).            
BD [выполнить дамп БД буфера].      
Все сообщения,  отправленные и полученные ELM327, временно хранятся в наборе из двенадцати ячеек памяти хранения под названием БД буфера.  Иногда эта команда может быть использована для просмотра содержимого этого буфера, возможно, чтобы понять, почему не удалось начало, чтобы увидеть байт  заголовка в последнем сообщении, или просто, чтобы узнать больше о структуре БД сообщений. Вы можете обратиться в любое время к содержимому этого буфера, но  будут "сбрасываться" (печатные) - когда вы это делаете, ELM327 посылает байт длины (представляющий количество байт данных), после чего содержимое всех двенадцати мест  БД буфера.
Байт  длины представляет фактическое число байт полученных  данных, будь они вписаны в буфер БД или нет. Это может быть полезно при просмотре длинных потоков данных (с AT AL), так как число точно представляет число полученных байтов, модель 256. Отметим, что только первые  двенадцать байт полученные хранятся в буфере. ELM327, как правило, ответит  символами 'OK' на успешное завершение команды, так что пользователь знает, что она была исполнена.                    
Некоторые из следующих команд позволяют передавать номера в качестве аргументов для того, чтобы установить внутренние ценности. Это всегда будут шестнадцатеричные числа, которые должны быть представлены в целом в парах. Шестнадцатеричная таблица преобразования в разделе БД команды может оказаться полезной, если вы захотите интерпретировать значения.  Кроме того, следует иметь в виду, что для включения / выключения типа команд, второй символ является с номером 1 или 0, универсальные термины для включения и выключения.
Ниже приводится описание всех АТ команд, которые распознаются текущей версией ELM327. Поскольку их много предоставлено, на сводной странице после этого раздела.           
     BI [Обход последовательности инициализации]
Эта команда должна использоваться с осторожностью. Это позволяет протоколу OBD стать  активным,  не требуя какого-либо инициирования  или рукопожатия. Инициирование процесса обычно используется для проверки протокола, а без этого, результаты могут быть трудно предсказаны. Она не должна использоваться для рутинного БД  и может использоваться только при условиях создания  ЭКЮ тренажеров и в  демонстрационном обучении.
CAF0 и CAF1 [CAN Авто Форматирование выключено или включено]          
Эти команды определения ELM327 помогает вам с форматированием CAN данных, которые отправляются и принимаются. С CAN Автоматическое форматирование включено (CAF1), IC автоматически генерирует форматирование (PCI) байт для вас при отправке  данных и удалит их при получении. Это означает, что вы можете продолжать выдавать БД запросами (01 00 и т.д.), как обычно, без учета этих дополнительных байтов, что системы CAN диагностики требуют. При форматировании  последних (неиспользуемых) байт  данных, которые, поступают в кадр, будут удалены  и только актуальные будут показаны.
Включение автоматического выключения CAN форматирования (CAF0), вызовет ELM327 печать всех принятых байтов данных. Байты не будут скрыты от вас, и ничего не будет вставлено для вас. Кроме того, при отправке запроса данных с форматированием всего, вы должны предоставить все
требуемые  байты данных точно так, как они должны быть направлены - ELM327 не будет выполнять для вас любое форматирование, кроме как добавит  некоторый завершающий байт 'обивка, чтобы гарантировать, что необходимые восемь байт данных передаются. Это позволяет работать в системах, которые не используют PCI байт, ISO 15765-4 делает.
Иногда длинные  (несколько кадров) ответы, возвращаются  автомобилем. Для того, чтобы помочь вам проанализировать их, автоматический режим форматирование будет извлекать общую длину данных и распечатать его на одной линии. После этого каждый сегмент сообщение будет с номером сегмента (одна шестнадцатеричная цифра)  стоящим в начале используемым как разделитель (жирное':').
Вы также можете увидеть персонажей FC: 'в начале строки (если вы экспериментируете). Это  представляет собой сообщение  Flow Control отправленное в ответ на многострочные сообщения. Сообщения  Flow Control автоматически генерируются ELM327 в ответ на "Первый кадр" ответ, до тех пор, как CFC функция включена (не важно, если  у вас выбран CAF1 или CAF0 режим).
Другой тип сообщения - RTR (или «Удаленный запрос передачи ') - будут автоматически скрыты для вас, когда в CAF1 режиме, так как они не содержат данных. При автоматическом форматировании выключен (CAF0), вы увидите символы ' RTR ' печатные, когда удаленный кадр запроса на перевод получено не было.
Обратите внимание, что включение отображения заголовков (с AT H1) переопределит CAF1 форматирование полученных данных и всех принятых байт будет показано, как в CAF0 режиме - именно так, как получили. Это только печать получила  данных, которые будут затронуты, когда оба CAF1 и H1 режимы включены, хотя, при отправке данных, байт PCI все еще нужно создать для вас и байтов заполнения будет по-прежнему  добавлен. Автоматическое форматирование (CAF1) является по умолчанию для ELM327.
CF hhh [набор CAN ID фильтр для hhh]
Может фильтровать  в связке с CAN маской, чтобы определить, какая информация должна быть принята приемником. Как получаются сообщения, входящие ID CAN биты по сравнению с CAN фильтра бит (при маске бит '1 ').  Если все соответствующие биты совпадают, сообщение будет принято и обработано ELM327, иначе оно будет отброшено. Если использовать три полубайт версию фильтровать команда делает это немного легче устанавливать фильтры с 11 бит ID CAN систем. Только правые 11 разрядов при условии, полубайта используются, и самый старший бит игнорируется. Данные на самом деле хранится в виде четырех байтов внутри страны, однако, с этой командой добавляются ведущие нули для других байт. Смотрите CM команду для получения более подробной информации.
CF hh hh hh hh [набор CAN ID фильтр чтобы hhhhhhhh]               
Эта команда позволяет все четыре байта (на самом деле 29 бит)  фильтровать  одновременно. Три наиболее значимые бита всегда будут проигнорированы, им можно дать любое  значение.       Обратите внимание, что эта команда может быть использована для входа 11 бит ID фильтры, а также, так как они хранятся в тех же местах, внутренне (ввод AT CF 00 00 0h hh точно такой же, как ввод короче НА CF hhh команды).
CFC0 и CFC1 [CAN-Flow Control выключен или включен]                      
ISO 15765-4 протокол ожидает "Flow Control" сообщение, которое всегда должно быть отправлено в ответ на «Первый кадр» сообщения. ELM327 автоматически отправляет его и  это  как правило мало заботит  пользователя.  Если экспериментировать не с  БД-системами, может быть желательно, чтобы отменить эту автоматическую  реакцию.  AT CFC0 команда была предоставлена ​​для этой цели. Умолчанию CFC1 – Flow Контроль.
Обратите внимание, что в ходе мониторинга (AT МА, МR или MT), есть иногда  Поток управления не направлен ни на что CFC параметр имеет значение.
CM hhh [набор CAN ID маска для hhh]     
в CAN системе в любой момент времени может множество сообщений передаваться. Для того, чтобы ограничить то, что ELM327хочет видеть, там должна быть система фильтрации актуальных из всех других. Это достигается за счет фильтра, который работает в сочетании с маской. Маска группы битов, которая показывает, ELM327, какие биты в фильтре являются актуальными, а какие можно игнорировать. 'Должны совпадать »состоянии сигнализирует, установив бит маски в '1', и 'не волнует" сигнализирует установкой бита в 0. Это трехзначный изменения CM команда используется, чтобы обеспечить значения маски для 11 бит ID системы (самый старший бит всегда игнорируется). Обратите внимание, что общее хранилище используется внутри для 29 бит и 11 бит маски, поэтому 11 бит маски, вероятно, могут быть присвоены следующей команде (CM hh hh hh hh), если вы хотите сделать    дополнительный   ввод.  Значения выравниваются по правому краю, так что вы должны предоставить пять нулей следующих три байта маски.
CM hh hh hh hh [набор CAN ID Маска для hhhhhhhh]
Эта команда используется для присвоения значения маски для 29-битных систем ID. См. обсуждение под CM hhh команда - это, по сути идентично, за исключением длины. Обратите внимание, что три наиболее значимые бита, которые вы предоставляете, с первой цифры будут игнорироваться.
CP hh [набор может Приоритет биты hh]   
Эта команда используется для установки пяти наиболее значимых битов в 29 бит  ID слове (другие 24 бита устанавливаются с AT SH командой). Некоторые системы используют несколько  этих  бит, чтобы присвоить значение приоритета для сообщений, что является названа команда была названа. При этом условии, любые биты сверх пяти обязательных будут игнорироваться и не храниться ELM327 (он использует только пять младших битов этого байта).  Значение по умолчанию для этих приоритетных бит шестнадцатеричное значение 18.
CS [показать CAN статус]           
CAN протокол требует, чтобы статистика хранилась в отношении количества обнаруженных ошибок приема и передачи. Если их не будет значительное число, устройство может даже пойти автономно, чтобы не повлиять на другие данные на шине, были ли они аппаратными или программными. В CS команде можно увидеть и Tx и Rx рассчитывает ошибку. Если передатчик должен быть выключен (кол> FF), вы увидите "OFF", а не конкретные отчеты.  


CV dddd [Калибровка напряжения на dd.dd вольт] 
Напряжение, прочитанное  ELM327 с помощью  AT команды  RV (чтение напряжения), может быть откалибровано  этой командой. Аргумент ('dddd') всегда должен быть предоставлен как 4 цифры, без десятичной точки (она предполагается в десятичной форме  между второй и третьей цифрами).
Для проведения калибровки этой функции, просто используйте прибор с достаточной точностью, чтобы читать фактическое входное напряжение. Если, например, ELM327 постоянно выдает напряжение 12.2V, когда вы измеряете 11,99 вольт, просто задайте на CV 1199 и устройство  само откалибрует  предоставляемое напряжение (он должен после этого прочитать 12.0V из-за округления). Если вы используете испытательное  напряжение, которое меньше 10 вольт, не забудьте добавить нуль (то есть, 09.02 вольт должно быть введено как AT CV 0902)                 
D [установить все значения по               умолчанию]
Эта команда используется для установки параметров к значениям по умолчанию (или заводским настройкам),  которые были применены впервые. Последний сохраненный протокол будет извлечен из памяти, и станет текущей настройкой (возможно, закроет другие активные протоколы). Любые параметры, которые пользователь сделал для своих пользовательских заготовок, фильтры, или маски будут восстановлены в значения по умолчанию, и все настройки таймера будут также восстановлены по умолчанию.
DP [Описать текущий протокол]          
ELM327 может  автоматически определять соответствующий протокол OBD используемый  каждым транспортным  средством, к которому он подключен. Когда IC подключается к транспортному  средству, то она возвращает только те данные что просили  и не сообщает найденного протокола.  Команда DP используется для определения текущего протокола, который выбран ELM327 (даже если он не подключен).  Если автоматическая опция также выбрана то покажет слово "AUTO", прежде чем  протокол, а затем тип протокола.  Обратите внимание, что с использованием данной команды выводятся фактические имена протоколов, а не номера протоколов.
DPN [Описать номер протокола].
Эта команда похожа на команду DP, но она возвращает число, которое представляет текущий протокол. Если функция автоматического поиска также включена, номеру будет предшествовать написание "А".  Тот самый Номер, который используется в наборе протоколов и команды протокола испытаний.
E0 и E1 [Эхо выключает (0) или включает (1)]    
Эта команда определяет, будут или нет символы  полученные  портом RS232, передаваться повторно (или эхом) обратно в  компьютер. Для снижения трафика на RS232 шине, пользователи, возможно, пожелают отключить эхо  путем выдачи AT E0. По умолчанию используется E1 (эхо).
AT-команд (продолжение).           
H0 и H1 [Заголовки выключает (0) или на (1)]
Эти команды управления есть или нет дополнительные байты информации (заголовок) приведены в ответах от транспортного средства. Они, как правило, не показываются ELM327, но могут показываться  при выдаче AT команды H1.
Обратите внимание, заголовки на самом деле показывают больше, чем просто байт заголовка - вы увидите, каким передается полное сообщение,  в том числе регистрации цифры и PCI байт.  Единственным исключением является то, что текущая версия не отображает длину CAN кода данных (DLC), Конвенции о правах ребенка, ни специальных J1850 IFR байт (которые некоторые протоколы используют для подтверждения получения сообщения).
I [Определить себя]             
Выдача этой команды приводит к тому, чтобы чип  идентифицировал себя путем запуска выдачи строки кода продукта (в настоящее время "ELM327 v1.0").  Программное обеспечение может использовать это, чтобы определить, с каким именно вариантом интегральной схемы вы говорите, без необходимости перезагрузки IC.                  
IB 10 [выбор скорости ISO  10400бод]
Эта команда восстанавливает для ISO 9141-2 и ISO 14230-4 скорость передачи данных 10400 в значение по умолчанию.
IB 96 [выбор скорости ISO  9600бод]
Некоторые пользователи не просят эту команду. Они пользуются, чтобы изменить скорость, используемую при ISO 9141-2 и ISO 14230-4 протоколов (цифры 3, 4 и 5), на 9600 бод, во время отдыха некоторые требования для инициирования перевода байт. Это может быть полезно для экспериментов с некоторыми транспортными средствами. Нормальная 10400 бод операция может быть восстановлена в любое время путем выпуска IB 10 команды.
L0 и L1 [перевод строки выключает (0) или включает (1)]                       
Эта опция контролирует отправку символа перевода строки после каждого символа возврата каретки. Если ATL1 выдается, символы перевода строки будут созданы после каждого символа возврата каретки, а  для ATL0  перевод строки будет выключен.  Пользователи обычно хотят иметь эту опцию, если используется  терминальная программа, но если бы и с помощью пользовательского интерфейса компьютера (дополнительных символов передача  будет служить только для медленной связи вниз). По умолчанию
установка определяется напряжением на выводе 7 во время включения питания (или сброса). Если уровень высокий, то символы перевода строки будут по умолчанию, в противном случае не будет символов перевода строки.
M0 и M1 [Memory выключает (0) или включает (1)]
ELM327 имеет внутреннюю "энергонезависимую" память, которая обладает возможностью запоминания последнего используемого протокола, даже после выключения питания. Это может быть удобно, если IC часто используется для одного конкретного протокола, который будет первым выполняться при следующем включении. Для включения этой функции памяти, необходимо либо использовать AT команду, чтобы выбрать вариант М1, или если по умолчанию выбрана "память" то при включении питания (путем подачи на вход 5 ELM327  высокого логического уровня).
Каждый раз когда функция память включена , ELM327 находит правильный протокол OBD, потому что протокол будет сохранен (хранится) и станет новым по умолчанию. Если функция памяти не включена, то протоколы, найденные во время сессии, не будут сохранены,  и ELM327 будет всегда начинать работу при включении питания, используя тот же (последний сохраненный) протокол.
Если ELM327 будет использоваться в условиях, когда протокол постоянно меняется, вам, вероятно,  будет лучше всего обратиться один раз к функции памяти с   AT SP 0 командой. Команда SP 0 указывает, что ELM327 всегда будет в "Автоматическом"  режиме поиска протокола, который является наиболее полезным для неизвестной среды. Микросхемы приходят с завода установленными в этот режим. Однако, если у вас есть только один автомобиль, к которому вы регулярно подключаетесь в хранении этого протокола транспортного средства по умолчанию был бы здравый смысл.
Как уже упоминалось, по умолчанию для функции памяти определяется уровнем напряжения на выводе 5 при включении питания (или сброса системы). Если это связано с высоким уровнем (VDD), то функция памяти будет по умолчанию.  Если  пин-5 соединен с низким уровнем, то функция  памяти по умолчанию будет отключена  .
MA [Все сообщения Монитора]        
С помощью этой команды ELM327вместо  режима мониторинга линии,  она показывает все сообщения, которые она видит  на шине OBD. Это продолжается до бесконечности, пока не остановится  деятельность на входе RS232 или на контакте RTS. Чтобы остановить мониторинг, можно отправить один символ, чем ждать пока ELM327 ответит в строке символов ('>'). Кроме того вход RTS может быть переведен в низкий уровень, чтобы также прервать продолжение работы устройства.  Ожидание строки необходимо, так как время реакции непредсказуемо, и варьируется в зависимости от того, что IC делала, когда поступило прерывание. Если, например, она находится в середине печати линии, она будет после первой полной линии,  вернется в командный режим, выдачи строки символов. Если бы это было просто ожидание ввода, он бы немедленно вернулся. Обратите внимание, что символ, который останавливает мониторинг, всегда будет сброшен, и не повлияет на последующие команды.
MR hh [Монитор для приемника hh]           
Эта команда также имеет место IC в режиме мониторинга шины. Отображает только те сообщения, которые были отправлены по шестнадцатеричному адресу, указанному в hh. Сообщения, которые имеют значение hh во втором байте традиционного трехбайтового заголовка БД в битах с 8 по 15 из 29 бит CAN  ID, или в битах с 8 по 10  11 бит CAN ID. Любой отдельный символ RS232 прерывает мониторинг, как с помощью команды MA.
MT hh [Монитор для передатчика hh]        
Другая команда мониторинга, которая отображает только сообщения, посланные передатчиком в hh адрес. Это сообщения, в которых были обнаружены  значение hh в третьем байте в традиционных трехбайтовых заголовках БД  или в битах 0 до 7 для CAN-систем. Как и в МА и MR режимах мониторинга, любая активность RS232 (один символ) прерывает мониторинг.               
NL [Обычная длина сообщения]          
В установленном режиме NL вся посылаемая и принимаемая информация ограничивается стандартными семью байтами  данных в длину, подобно другим ELM32x БД ИС. Для того чтобы выдать более длинные сообщения, используйте команду AL. По умолчанию NL.                    
PC [Протокол закрыть]              
Могут быть случаи, когда желательно, чтобы остановить (деактивировать) протокол. Возможно, вы не используете автоматический протокол поиска, и желаете, чтобы вручную включать и отключать протоколы. Может быть, вы хотите, чтобы остановить отправку простоя (пробуждения) сообщение или есть другая причина. PC команда используется в этих случаях, чтобы заставить протокол закрыться.               
R0 и R1 [выключает Ответы (0) или включает (1)]
Это команды управления автоматически  ELM327 в отображение ответов. Если ответы были выключены, IC не будет ждать ответа от автомобиля после отправки запроса, и немедленно возвращается  ждать следующей команды RS232. Это полезно, если отправка команд вслепую при использовании ИС не для - БД сетевых приложений, либо имитирующие ЭКЮ в основную учебную среду. Не рекомендуется, чтобы этот вариант обычно использовался, однако, если с транспортным средством могут возникнуть трудности, если он ожидает признания байт и никогда не получает одно. По умолчанию R1 или ответы включены.
RV [Читать входное напряжение].        
Инициализация чтения напряжения на контакте 2 и преобразования его в десятичное напряжение. По умолчанию предполагается, что подключенное к входу напряжение должно измеряться через резисторный делитель 47ком и 10 ком (и 10ком  соединяющим ножку 2 с Vss), и что ELM 327 питание номинальное 5В. Это позволит обеспечить измерение входного напряжения до 28 вольт  с некалиброванной точностью обычно около 2%.                       
SH xx yy zz [Установить заголовок в xx yy zz]        
Эта команда позволяет пользователю вручную управлять значениями, которые передаются в трех байтах заголовка в сообщении. Значения этих байт, как правило, назначаются для вас (и не обязательно должны быть скорректированы), но могут быть случаи, когда желательно, изменить их (особенно, если экспериментировать с физической адресацией). Шестнадцатеричного значения xx цифры будут использоваться  для первого или приоритет / тип байта,  yy будут использоваться для второго байта или второй приемник / цели, и  zz будут использоваться для третьего или передатчик / источник байт. Значения остаются в силе, при наборе еще раз, или пока не восстановлены в значения по умолчанию с D, WS, или Z командами.                    
Эта команда используется для назначения всех байт заголовков, являются ли они для J1850, ISO 9141, ISO 14230 или CAN системы. CAN системы будут использовать эти три байта, чтобы заполнить биты с 0 по 23 ID слова (29 бита ID), или будут использовать только правые 11 бит на 11 бит CAN ID.  Дополнительные 5 бит, необходимых для 29 битной системе обеспечивается через AT команду CP (так как они редко изменяются).                                                SH xyz [Установить заголовок на 00 0x уz]    
Ввод 11 бит ID слово (заголовок) обычно требует, чтобы дополнительные нули были добавлены (например, AT SH0 07 DF), но эта команда упрощает это. SH хуz AT команда принимает трехзначный аргумент, принимает только самый правый из 11 бит, что добавляет нули, и сохраняет результат в заголовке места хранения для вас. Например, AT SH 7DF это допустимая команда, и весьма полезная  для работы с 11 бит CAN системами. Это фактически приводит к тому, что байты заголовка будут храниться внутри в виде 00 07 DF.
SP h [Установить протокол h].
Эта команда используется для установки ELM327 в  работу с использованием протокола, указанного параметром 'h', а 
также сохранить его в качестве нового значения по умолчанию. Обратите внимание, что протокол будет сохраняться независимо от того, как AT M0/M1 была настройка.                                В настоящее время существуют  следующие протоколы:
0 – Автоматический выбор
1 - SAE J1850 PWM (41,6 Кбод)
2 - SAE J1850 VPW (10,4 Кбод)
3 - ISO 9141-2 (5 бод инициализация 10,4кбод)
4 – ISO 14230-4 KWP (5 бод инициализация   10,4 кбод)
5 - ISO 14230-4 KWP (быстрая инициализация  10,4 кбод)
6 - ISO 15765-4 CAN (11 бит ID, 500 кбод)
7 - ISO 15765-4 CAN (29 бит ID, 500 кбод) 
8 - ISO 15765-4 CAN (11 бит ID, 250 кбод) 
9 - ISO 15765-4 CAN (29 бит ID, 250 кбод) 
Автоматический выбор (протокол 0) предусматривает, чтобы ELM327 автоматически попробовал все протоколы  для  поиска допустимого.  Первым будет испытан протокол 1, потом  последовательно будут опробованы другие, пока не будет найден правильный. Когда допустимый протокол будет найден и функция память включена, то протокол будет запомнен и станет новой настройкой по умолчанию.  Это сохранится, но если режим автоматического поиска все равно будет включен, в следующий раз ELM327 не сможет подключиться к сохраненному протоколу, он будет снова искать   другой  допустимый протокол. 
Если другой протокол (кроме одного автоматического) выбирается с помощью этой команды (например, AT SP 3), то протокол будет по умолчанию, и будет только протокол, используемый ELM327.Отсутствие связи в этой ситуации приведет к знакомым 
ответам, таким как BUS INIT: ... ERROR, и  более не будет попыток поиска протоколов. Это полезная настройка, если вы знаете, что ваш автомобиль  поддерживает только один протокол.                     
SP Ah [Установить протокол в авто, h]
Этот вариант команды SP позволяет установить протокол запуска (по умолчанию), в то же время сохраняя возможность для автоматического поиска допустимого протокола если не удалось  подключиться.  Например, если ваш автомобиль ISO 9141-2, но вы хотите, чтобы время от времени использовать ELM327 цепи на другие транспортные средства, вы можете AT SP A3. После этого протокол по умолчанию будет 3, но с возможностью автоматического поиска  других протоколов. Не забудьте отключить функцию памяти, если сделаете это, иначе протокол вашего соседа может стать вашим новым по умолчанию. Что же касается AT h,  SP Ah спасет информацию  о протоколе, даже если опция память выключена. Обратите внимание, что «А» может находиться до или после h, так что в SP A3 также может быть введено как AT SP 3A.                     
ST hh [Установить интервал на hh]           
После отправки запроса, ELM327 ждет заданное время прежде, чем объявить, что нет ответа от транспортного средства (ответ "Нет данных"). Даже если бы был ответ, ELM327 будет ждать на этот раз, чтобы убедиться, что  больше ответов не ждать. Параметр hh контролирует количество времени, которое ELM327 ждет. Реальное время, которое   ELM327  будет ждать, составляет около 4 мс x hh, поэтому в результате максимальное время передачи при значении FF  составляет немногим более одной секунды.  Значение 00 является как особый случай, установка таймера по умолчанию значение 200 мс.                 
SW hh [Установить Wakeup в hh]            
После осуществления  подключения  к транспортному средству, необходимо обеспечивать поток данных каждые несколько секунд иначе соединение будет "засыпать". ELM327 автоматически генерирует сообщения 'пробуждения' в целях поддержания этой связи всякий раз, когда пользователь не запрашивает какие-либо данные. (Ответы на эти сообщения всегда игнорируется, и не видимы со стороны пользователя.)
Временные интервалы между этими периодическими сообщениями "пробуждения" могут быть скорректированы с шагом 20 мс с использованием AT SW hh команды, где hh- шестнадцатеричное значение от 00 до FF. Максимально возможная задержка                               составляет немногим более 5 секунд,  это происходит, когда используется значение FF (десятичное 255). По умолчанию обеспечивается номинальная задержка 3 секунды между сообщениями.
Заметим, что значение 00 (ноль) рассматривается как особый случай  и должно использоваться с осторожностью, так как оно остановит все периодические сообщения. Это предусмотрено для  удобства  в определенных обстоятельствах. Выдача AT SW 00 не будет менять  настройки  времени между пробуждениями.                                           TP Ah [Попробуйте протокол h с Авто] 
Эта команда почти такая же, как SP Аh, за исключением того, что выбранный только протестированный  протокол, не сразу сохраняется во внутренней (EEPROM) памяти. Выбранный протокол будет тестироваться  и если он не инициализируется, то ELM327 будет автоматически последовательно проверять все протоколы, пытаясь подключиться к одному из них.               TP h [Попробуйте протокол h] 
Эта команда идентична команде SP , кроме того, что протокол, выбранный вами,  не сразу будет сохранен во внутренней памяти, так что не меняет настройки по умолчанию. Заметим, что если функция памяти включена (AT M1), и этот новый протокол, который вы пробуете, будет признан действительным, то  протокол будет храниться в памяти, как новое значение по умолчанию.
WMxx yy zz аа или WM xx yy zz аа bb или
WM xx yy zz аа bb cc [набор Wakeup сообщение для ... ]  
Эта команда позволяет пользователю переопределить параметры по умолчанию для пробуждения сообщения (иногда его называют сообщением «периодического простоя").  Пользователь должен предоставить три байта заголовка (xx yy zz), и либо один байт (аа), два (aa bb) или три  байта данных (aa bb cc.) В этом случае нет необходимости предоставлять контрольный  байт - ELM327 создает его за  вас. Сообщения  будут периодически отправляться с интервалами, определяемыми AT SW настройками (заметим, что ELM327 никогда не печатает ответы на эти сообщения). Значения  Байт, назначенные с этой командой не влияют на те, которые были с другими командами (AT SH) и не имеют никакого влияния  на нормальную передачу  запроса БД сообщения, протокол должен быть начат заново.

WS [Теплый старт].
Эта команда заставляет ELM327 выполнить полный сброс программного обеспечения.  Очень похоже на AT команду Z, но не включает  светодиодный тест. Для пользователей это может быть удобным способом быстро "начать все сначала".
Z [Сбросить все]
Эта команда заставляет чип  выполнить полный  сброс, как если бы питание было  выключено и снова включено. Все настройки возвращаются к значениям по умолчанию  и чип  становится  в неактивное состояние,  ожидая, когда появятся символы на RS232 шине.

Основные команды.

 
D        Установить все значения по           умолчанию
E0       Эхо выключить 
E1       Эхо включить
I          Печатать  ID 
L0       Перевод строки выключить (установленный по умолчанию контакт 7) 
L1       Перевод строки включить                    WS     Теплый старт (быстрый перезапуск программного обеспечения)
Z        Сбросить все


Специфичные команды CAN:

 
CAF1            CAN автоматическое                форматирование On. 
CAF0            CAN автоматическое             форматирование Off. 
CF hhh         установка  ID фильтр в  hhh.
CF hh hh hh hh    -установка  ID фильтр в    hhhhhhhh
CFC1           CAN управление потоком On   CFC0           CAN управление потоком Off 
CM hhh            установка  ID Маски в  hhh
CM hh hh hh hh  установка  ID Маски  в hhhhhhhh
CP hh           выбрать  CAN приоритет (только для 29 бит)
CS                показать  CAN  статус

OBD команды:                                                        

AL          Разрешить длинные (> 7 байт) сообщения
BD         выполнить   Дамп буфера
BI          Обход последовательности инициализации  
DP         Опишите текущий протокол
DPN       Опишите протокол по номеру
H0          Заголовок выключить (по умолчанию)
H1          Заголовок  включить
M0         память выключить (по умолчанию установленные вывод 5)    М1        память включить
MA         Все Мониторы  
MR hh    монитор для приемника  hh
MT hh    монитор передатчика  hh
NL                нормальной длины (7 байт)  сообщения
PC                 протокол закрыть
R0                  Ответы  выключить
R1                  Ответы  включить 
SH yzz           Установить заголовок
SH xx yy zz   Установить заголовок
SP h               Установить протокол   h и сохранить его
SP Аh           Установить протокол  авто, h и сохранить его
ST hh             Установите тайм-аута, в  hh х 4 мс
TP h               Попробуйте протокол h
TP Аh             Попробуйте протокол h с функцией автоматического поиска  

 Специфичные команды ISO:


IB 10      выбор скорости ISO  10400 бод
IB 96      выбор скорости ISO  9600 бод
SW hh   установить Wakeup интервал hh х 20 мс
WM xx yy zz аа      выбор Wakeup  сообщения
WM xx yy zz аа bb       "     "
WM xx yy zz аа bb cc       "     "

Разные Команды:


CV dddd               калибровка напряжения  на  dd.dd вольт
RV                         прочитать напряжение

 Чтение напряжения батареи. 
Прежде чем приступить к БД команды, мы покажем пример, как использовать AT-команды. Будем считать, что вы создали (или купить) схему, которая похожа на рис 8 в разделе Примеры приложений. Эта схема обеспечивает подключение читать аккумулятора автомобиля напряжением, что многие найдут очень полезными.
Если вы посмотрите на список AT-команд, вы увидите, есть одна команда, которая указана в качестве RV [Читать входного напряжения]. Это команда, которую вы должны будете использовать. Во-первых, убедитесь, что строки символов показана (то есть '>' характер), то введите просто 'AT' с последующим RV, и нажмите ввод (или введите):
>  at rv
12.6V
>
Обратите внимание, что мы не использовали прописными буквами в данном примере, в основном из-за лени. ELM327 будет принимать в верхнем регистре (AT RV), а также в нижнем регистре (по крайней св.) или любой комбинации из них (В RV). Это не имеет значения для ELM327. Также отметим, что мы показали, пробел (' ') между "at" и "rv. Это только отдельные команды и сделать их более читаемыми. Вы не должны добавить пространства, или если вы хотите, вы можете добавить множество пространств - это не влияет внутренняя интерпретация команды.
При поставке с завода-изготовителя, ELM327 напряжения чтении схемы как правило, будет с точностью около 2%. Для многих, это все, что необходимо. Некоторые люди могут хотите калибровать схему для более точные показания, поэтому мы предусмотрели специальную команду "Калибровка напряжения" для этого.
Чтобы изменить внутренние константы калибровки, вы должны знать фактическое напряжение батареи с большей точностью, чем ELM327 показывает. Напряжение можно измерить  многими качественными цифровыми мультиметрами, но вы должны проверить их точность до принятия слишком больших изменений. Возможно, в этом случае, если вы подключили свой мультиметр и обнаружили, что он читает 12.47 V  и вы хотели бы ELM327 читал то же самое. Просто откалибровать это  напряжение, используя команду резюме:

> at cv 1247  
ОК
В  данный момент, внутренние ценности были изменены, и ELM327 знает, что текущее напряжение на входе на самом деле 12.47V.  Вы не должны предоставлять запятой в стоимости, как IC знает, что это должно быть между второй и третьей цифры. Чтобы убедиться, что изменения произошли, просто   прочитать напряжение снова :    > at rv
12.5v
>
ELM327 всегда округляет измерений до одной десятой, так 12.47V на самом деле выглядит как 12.5В. Обратите внимание, что сотых долей, всегда поддерживается внутри страны, и используется в расчетах, но никогда не отображается.
ELM327 может быть откалиброван с любого источника опорного напряжения, что Вы имеете в наличии, но обратите внимание, что команда CV всегда рассчитывает получить четыре символа представленного напряжения на входе.  Если вы используете 9В батареи для справки, а это на самом деле 9.32V, то вы должны добавить ведущий ноль  при калибровке IC:
> at cv 0932                                                       ОК 
>
Другие AT-команды используются в том же порядке. Просто введите буквы и Т, следует, что с помощью команды вы хотите отправить, то любые аргументы, которые требуются для этой команды и нажмите возвращения (или ввести в зависимости от вашей клавиатуре). Вы можете разместить пробелами так часто, как вы хотите, если это улучшает читаемость для Вас, как они игнорируются ELM327. 
Команды БД. 
Если байты,  полученные по RS232 шине, не начинаются с букв "А" и "T", то они считаются БД командами автомобиля.  Каждая пара ASCII коде байт будет протестирована, чтобы гарантировать, что они действительно шестнадцатеричные цифры, а затем будут объединены в один байт данных для передачи на транспортное средство.
БД команды на самом деле направлены в автомобиль встроенными в пакет передачи данных. Многие стандарты требуют, чтобы были три байта заголовка и байт контрольной суммы был включен в каждом сообщении, чтобы исключить ошибки  и ELM327 добавляет эти дополнительные байты, чтобы ваша команда автоматически имела этот байт. Начальное (по умолчанию) значение  для этих байтов заголовка, как правило, достаточно для большинства запросов, но если вы хотите изменить их, есть способ сделать это (см. "Настройка заголовков" раздел).
Большинство команд БД, имеют  только один или два байта в длину, но некоторые из них могут быть в три или более байта.  ELM327, как правило, ограничивает количество  байт  которые  можно  отправить  до 7  (14 шестнадцатеричных цифр),  максимальное число разрешено  в норме. Попытки отправить либо нечетное число шестнадцатеричных цифр, либо слишком много цифр приведет к синтаксической ошибке – то вся команда  игнорируется и один вопросительный знак печатается.
Шестнадцатеричные цифры используются для всех данных обмена с ELM 327, потому что этот формат данных чаще всего используется в соответствующих стандартах. Это согласуется со списками режима запроса и наиболее часто используемый формат для отображения результатов. После небольшой практики,  не должно быть очень трудно иметь дело с шестнадцатеричными  цифрами, но некоторые люди, возможно, захотят использовать таблицы, такие как рис 1, или держать рядом калькулятор.  Все пользователи должны будут манипулировать результатами в некотором роде, хотя - сочетание байтов и деления на 4 для получения оборотов в минуту, разделить на 2, чтобы получить степень продвижения и т. д., и могут найти программное обеспечение интерфейс к более полезным.
Как пример отправки команды на транспортное средство, предположим, что A6 (или десятичный 166) является команда, которая требуется для отправки. В этом случае пользователь при вводе буквы, то число 6, то будет настаивать на возвращении ключа. Эти три символа будут направлены ELM327 путем порт RS232. ELM327 будет хранить символы, как они были получены, и, когда третий символ (возврат каретки) было получено, начнется для оценки двух других. Было бы видеть, что они являются допустимыми шестнадцатеричных цифр, и было бы конвертировать их в один байт значение (десятичное значение 166). Заголовка байт и байт контрольной суммы будут добавлены, а в общей сложности пять
байт, как правило, направляются на транспортном средстве. Обратите внимание, что символ возврата каретки только сигнал ELM327, и не отправляются на автомобиле.
После отправки команды ELM327 прослушивает БД автобус для сообщений, глядя на те, которые направлены на это. Если адреса сообщения матчей, тем принятых байт, будут отправлены в порт RS232 для пользователя, в то время как сообщения, полученные, которые не имеют совпадающие адреса будут проигнорированы (но все еще доступна для просмотра с командой AT BD).
ELM327 будет продолжать ждать сообщения, адресованные его, пока Есть ничего не найдено в то время, когда был установлен командой AT ST. Пока сообщения принимаются, ELM327 будет продолжаться для сброса этой функции таймера. Следует отметить, что СК будет всегда отвечать с чем-то, даже если она есть "NO DATA" (имеется в виду, что нет никаких сообщений на всех разговорах с автомобилем).
ELM327 не могут быть непосредственно связаны с транспортного средства, как она есть, но нуждается в поддержке схемы, как показано в разделе Примеры приложений. Как только включаются в такие схемы, нужно только использовать терминальную программу для отправки байт и получить товар от автомобиля через ELM327.Стандарты определяют, что каждая группа байтов, отправленных на транспортном средстве должно придерживаться установленного формата. Первый байт (известный как "режим") всегда описывает тип запрашиваемых данных, в то время как второй, третий и т.д. байт указать фактический требуемую информацию (определяется "параметром идентификации» или PID число). Режимы и идентификаторы, подробно описаны в документе SAE J1979 (ISO 15031-5), а также могут быть расширены по транспортным средствам производителей. Как правило, он описывает, только девять диагностических режимов испытаний описывается J1979 (хотя иногда предусматривается более). Все эти режимы не обязательно должны  поддерживаться каждым транспортным средством  и часто не поддерживаются.  Эти девять режимов: 
1 - показывать текущие данные 
2 - показать данные стоп-кадр 
3 - показать диагностических кодов   неисправностей
4 - текущие коды неисправностей и сохраненные значения 
5 - результаты тестов, кислородные       датчики
6 - результаты испытаний, не под постоянным контролем
7 - шоу "до" коды неисправностей 
8 - специальный режим контроля 
9 - запрос информации об автомобиле

В каждом режиме ПИД-00, как правило зарезервирован, чтобы показать какие идентификаторы поддерживает этот режим. Режим-1  ПИД-00 должен быть поддержан всеми транспортными средствами и может быть доступен после следующего: убедитесь, что ELM327 правильно подключено к вашему транспортному средству и есть питание. Большинство транспортных средств не будет реагировать без ключа зажигания в положение ВКЛ, поэтому включите зажигание, но не заводите автомобиль. В командной строке вопрос режим 01 PID 00 команду:
> 01 00
Первым на шине доступа, вы можете увидеть сообщение инициализации шины, а затем ответ, который может быть, как правило, следующим:
41 00 BE 1F B8 10
41 00 (4)- означает ответ от режима 1 запрос от ПИД-00 (режим 2, ПИД-00 на запрос ответит 42 00 и т.д.). Следующие четыре байта (BE, 1F, B8,10) представляют запрошенные данные  и в этом случае биты показывают  ПИД поддерживаемые в этом режиме (1 = поддерживается, 0 = нет). Хотя эта информация не очень полезна для обычных пользователей, это доказывает, что связь работает. 
Другой пример запрос текущей температуры охлаждающей жидкости двигателя (ECT). Это ПИД-05 в режиме 01,  может быть предложено следующее:
> 01 05  
Ответ будет иметь вид:
41 05 7B 
41 05 показывает, что это ответ на запрос режим 1 для ПИД 05, в то время как 7B является искомым данным.  Преобразовав шестнадцатеричное число 7B в десятичное, получаем 7 х 16 + 11 = 123.  Это представляет текущую температуру в градусах Цельсия, но со смещением от нуля, чтобы обеспечить вывод отрицательных температур. Чтобы преобразовать в фактическую температуру охлаждающей жидкости, необходимо вычесть 40 из полученного значения. То температура охлаждающей жидкости в этом случае, 123 - 40 или 83 ° C.  Следующий  пример показывает запрос оборотов двигателя. Это PID 0C режима 01, так что в командной строке введите:
> 01 0C 
Типичный ответ был бы: 
41 0C F8 1A 
Возвращаемого значения (1А F8) на самом деле два байта значение, которое должно быть преобразовано в десятичное значение, которое будет полезным. После преобразования, мы получим значение 6904, которое, кажется, очень высоким значением оборотов двигателя. Это потому, что обороты в минуту отправляются с шагом в 1 / 4 оборотов в минуту! Для преобразования в фактические обороты двигателя, нам нужно разделить 6904 на 4. В этом случае  обороты 1726, которые являются гораздо более разумными. Надеюсь, что  это показывает, насколько типичны просьбы продолжить. Она не претендует на полное руководство по режимам и пидам - эта информация может быть получена от производителя вашего автомобиля, SAE (http://www.sae.org/), от ISO (http://www.iso.org/), или из других различных источников в  Интернете.
Multiline Ответы.
Есть случаи, когда транспортное средство должно отвечать большим количеством информации, чем способно показать в одном "сообщении". В этих случаях оно отвечает  несколькими линиями, которые должны быть объединены в одно полное сообщение.
Одним из примеров этого является запросом серийного номера транспортного средства (режим 09, ПИД-02). Это часто многострочный отклик линии, с которой есть установленное  соединение. В таких ситуациях, вы должны позаботиться, чтобы убедиться, что все ответы получены  были, и именно в правильном порядке, прежде чем отклик завершился. Фактический ответ обычно имеет байт, который показывает последовательность данных, чтобы помочь с этим. Вот один из примеров для типичного автомобиля SAE J1850:
> 0902 
49 02 01 00 00 00 31
49 02 02 44 34 47 50
49 02 03 30 30 52 35
49 02 04 35 42 31 32
49 02 05 33 34 35 36
Обратите внимание, что не все транспортные средства совместимые с OBD,  обязательно предоставят эту информацию. Многие старые этого не сделают, но, как правило, более новые делают. Если ваш автомобиль не поддерживает этот параметр, вы увидите только "NO DATA" в ответе.
Первые два байта (49 и 02) в каждой строке выше ответа не показывают информации об автомобиле. Они лишь показывают, что это ответ на запрос 09 02. Следующий байт в каждой строке показывает порядок, в котором данные должны быть собраны. Сборка остальной части данных производится  в таком порядке, и игнорируя первые 00-е, получаем:
31 44 34 47 50 30 30 52 35 35 42 31 32 33 34 35 36
Использование ASCII таблицы, чтобы преобразовать эти шестнадцатеричные цифры дает следующий серийный номер для автомобиля: 
1 D 4 G P R 0 0 5 5 B 1 2 3 4 5 6
 CAN система будет отображать эту информацию в несколько иной форме. Вот типичный ответ от автомобиля с CAN:                          
> 0902 
014
0: 49 02 01 31 44 34                                        1: 47 50 30 30 52 35 35                                   2: 42 31 32 33 34 35 36
Форматирование CAN было уставлено ​​ (по умолчанию), что делает чтение данных проще. После форматирования порядковые номера строк будут отделены  жирным (':'), после каждого из них, чтобы они четко выделялись (0:, 1:, и т.д.).  CAN система добавляет это шестнадцатеричное число (оно идет от 0 до F, затем повторяется), для оказания помощи в сборке данных, так же, как это сделано  для J1850 автомобиля.
Первая строка этого ответа говорит, что есть 014 байт информации, чтобы следовать. То есть 14 в шестнадцатеричной системе, или 20 в десятичной системе терминов, что согласуется с 6 + 7 + 7 байт  показано на трех линиях. Серийные номера, как правило, состоят из 17 цифр, однако, как мы можем собрать номер из 20 цифр?
Вторая линия  начинается со знакомых 49 02 ,так как это является ответом на запрос 09 02. Ясно, что они не являются частью серийного номера. CAN будет время от времени добавлять третий байт в  ответ, который мы видим следующим ('01'), показывающий номер группы данных в ответе. Когда транспортное средство будет иметь короткий VIN, то  ответ будет иметь только одну группу данных. Этот третий байт может быть проигнорирован, что оставляет 17 байт данных, из которых серийный номер состоит (намеренно выбран идентичный  из предыдущего примера). Все что требуется, это преобразование в ASCII, для того, чтобы читать их точно так же, как и раньше. Следующий  пример показывает другой тип многострочного ответа, который может произойти, когда два или более экю все отвечают на один запрос. Ниже приведен типичный ответ на запрос  01 00:
> 01 00 
41 00 BE 3E B8 11
41 00 80 10 80 00
Это трудно расшифровать, не зная немного больше информации. Нам необходимо получить заголовки, чтобы посмотреть, «кто» здесь говорит:
>at h1
ОК
> 01 00
48 6B 10 41 00 BE 3E B8 11 FA
48 6B 18 41 00 80 10 80 00 C0 
Теперь, если вы проанализируете заголовок, вы можете видеть, что третий байт показывает ECU 10 (контроллер двигателя) и ECU 18 (трансмиссия)  которые отвечают на запросы.
Обычно многострочные ответы относительно легки, чтобы их расшифровать, но они потребуют некоторой практики.  Надеюсь, это поможет вам начать работу. Интерпретация кодов ошибок,
вероятно, самый распространенный способ использования  ELM327,если она будет поставлена ​​на получение текущих диагностических кодов неисправностей или DTC. Как минимум, это требует, чтобы был сделан запрос режима 3  ,
но сначала надо определить, сколько кодов ошибок в настоящее время хранится. Это делается с помощью режима 01 PID 01 запрос следующим образом: 
> 01 01
Типичный ответ на это может быть таким:
41 01 81 07 65 04
41 01 -означает ответ на просьбу, а  следующий байт данных (81) что есть ряд текущих кодов неисправностей. Очевидно, не присутствовал  бы 81 (Hex) или 129 (в десятичной системе) код неисправности, если бы транспортное средство работало в норме. На самом деле, этот байт делает двойную обязанность, причем наиболее значащий бит используется для указания, что лампа индикатора неисправности (MIL или "Check Engine”), была включена одним из кодов этого модуля (если есть более чем один), в то время как другие 7 бит этого байта показывают фактическое количество хранимых кодов неисправностей. Для того чтобы рассчитать количество сохраненных кодов, если MIL, то надо вычесть 128 (или 80 HEX). Если результат меньше 128, просто прочитать число сохраненных кодов непосредственно.
Ответ выше  указывает, что есть один хранящийся код, и это был тот, что установил лампу Check Engine или MIL. Остальные байты в ответе информация о типах тестов поддержки данного модуля (см. документ SAE J1979 для получения дополнительной информации).
В данном случае, был только  от одной линии  ответ, но если бы  были коды, хранящиеся в других модулях, каждый из них мог бы обеспечить ответ в линию. Чтобы определить, какой модуль посылает коды неисправностей, можно было бы обратиться к заголовку (AT H1), а затем посмотреть на третий байт из трех байт заголовка адреса модуля, который отправил информацию.
Чтобы определить какое количество кодов хранится, следующим шагом нужно будет запросить фактические коды неисправностей с режимом 03 запроса:
> 03
Ответ на это может быть:
43 01 33 00 00 00 00
'43 'В выше ответ просто означает, что это ответ на режим 03 запроса. Другие
6 байт в ответе должны быть прочитаны в парах, чтобы увидеть коды неисправностей (выше будет интерпретироваться как 0133, 0000 и 0000). Обратите внимание, что
реакция была дополнена 00-е, как того требует стандарт SAE для этого режима -  0000 не являются фактическими кодами неисправностей.
Как и в случае, когда запрашивали  число сохраненных кодов, наиболее значимый бит каждого код неисправности также содержит дополнительную информацию.  Проще всего использовать следующую таблицу для интерпретации дополнительных битов в первой цифре следующим образом: замените первую цифру в Hex коде ошибки на 2 символа

0   P0    коды Powertrain -SAE определены
1   P1 ""   - производителем определены
2   P2 ""   - SAE определены
3   P3 ""   - совместно определенные
4  C0          коды шасси - SAE определены
5  C1 ""    - производителем определены
6  С2 ""    - производителем определены
7  С3 ""    - зарезервирован для будущего
8  B0        - кузова коды - SAE определены
9  B1 ""    - производителем определены
А  B2 ""   - производителем определены
B  B3 ""   - зарезервирован для будущего
С  U0          кодов сети - SAE определены
D  U1 ""   - производителем определены
E  U2 ""   - производителем определены
F  U3 ""   - зарезервирован для будущего

взяв, например код неисправности (0133), первая цифра (0) затем будет заменена на P0, и 0133 сообщение станет P0133 (что есть код для цепи датчика 'кислорода медленный ответ"). Что же касается других примеров, если ответ был D016, код будет интерпретироваться как U1016, а 1131 будет P1131.
Более одного модуля ECU может отвечать на запросы, подобные этому, поэтому будьте готовы к возможности получения нескольких строк ответа. Чтобы определить, какой ЭБУ отвечает каждой линии, потребуется вернуться к заголовку  AT команды H1, как описано в предыдущем разделе.

Сброс кодов ошибок.                       
ELM327 вполне способна сбросить диагностические коды неисправностей, так как для этого только требуется выдача команды в режиме 04. Последствия всегда следует рассматривать, прежде чем отправить его,  так как больше чем MIL (или "Check Engine Свет»), будут сброшены. На самом деле, в результате выдачи режима 04 будет следующее.               
- Сброс числа кодов неисправностей
- Стирание любых диагностических кодов неисправностей
- Сотрутся все сохраненные данные стоп-кадра
- Сотрутся DTC, которые инициировали стоп-кадр
- Сотрутся все данные тестов  датчиков кислорода 
- Сотрутся  результаты испытаний в режиме 06 и 07
Освобождение от всей этой информации, не является уникальной для ELM32 , это происходит каждый  раз  когда инструмент сканирования используется для сброса кодов. Самая большая проблема с потерей этих данных является то, что ваш автомобиль может работать плохо некоторое время, так как он выполняет калибровку.
Для того чтобы избежать случайного стирания хранимой информации, SAE указывает, что сканирование инструменты должны проверить, что
Режим 04 назначен ("Вы уверены?") перед тем как отправить его на транспортное средство, а вся информация, коды неисправностей сразу же теряется, когда режим 04 подан. Помните, что ELM327 не контролирует содержание сообщений, поэтому он не будет знать, чтобы обратиться за подтверждением режима  запрос - это должно быть обязанностью программного интерфейса, если он написан. Как уже говорилось, на самом деле удаления диагностических кодов неисправностей, нужно только вопрос режиме 04 команд. Реакция 44 с транспортного средства указывает, что режим запроса был проведен, информация стирается, и MIL выключен. Для некоторых транспортных средств могут потребоваться специальные условия для возникновения (например, зажигание, но двигатель не работает), прежде чем они будут реагировать на режим 04 команд.
То есть все, что нужно для очистки кодов. Еще раз, будьте очень осторожны, чтобы случайно не отправить 04 код!

Краткое руководство для чтения кодов ошибок.
Если вы не используете ваш ELM327 в течение некоторого времени, весь этот лист данных может показаться, что совсем немного, чтобы пересмотреть, когда свет  "Check Engine"загорается. Мы предлагаем этот раздел как краткое руководство по основам, что вам нужно.
Для начала подключите ELM327 схему к компьютеру или PDA и общаться на нем с помощью терминальной программы, такие как HyperTerminal, ZTerm, ptelnet, или аналогичная программа. Он должен быть установлен в 9600 или 38400 бод, 8 бит данных, без контроля четности или рукопожатия.
Диаграмму в нужное обеспечивает быструю процедуру, что делать дальше:

Выбор протоколов.   
Текущая версия ELM327 поддерживает несколько различных протоколов OBD. Как пользователь, вы никогда не придется выбирать, какой из них использовать, так как заводские настройки причиной автоматического поиска должны быть выполнены для вас. Во время экспериментов, вы можете иметь возможность выбора. Однако,
если вы знаете, что ваш автомобиль поддерживает определенный протокол, вы можете  установить, чтобы ELM327 использовал только этот протокол.          

 Если, к примеру, ваш автомобиль, как   известно, использует SAE J1850 VPW, и это все, что вы хотите, просто посмотрите в таблице, что это за протокол, а затем, используя AT-команду, установите этот протокол:
> AT SP 2
ОК
С этого момента, по умолчанию  (используется после включения питания или командой AT D) это будет ваш протокол. Убедитесь в этом, задав ELM327 для описания текущего протокола:

> AT DP 
SAE J1850 VPW                                               

Если транспортное средство использует ISO 9141-2. Как вы используете ELM327 интерфейс для данного транспортного средства? Есть несколько вариантов ...
Одна из возможностей это изменить выбор протокола, чтобы автоматически был поиск другого протокола, в случае возникновения ошибок в текущем:
> AT SP A2
ОК
> AT DP
AUTO, SAE J1850 VPW 
Теперь ELM327 будет всегда пробовать начинать  с протокола 2, но автоматически начнет поиск другого протокола, даже не пытаться соединиться  с протоколом 2  (как произошло бы при подключении к транспортному средству друга). Помните, что если у вас также включена функция памяти, то при подключении к транспортному средству вашего друга, его протокол будет храниться в памяти, как новый протокол по умолчанию (но он найдет ваш, как новое значение по умолчанию, когда вы снова подключитесь к собственному транспортному средству).
Возможно, вы отключили функцию памяти (установили контакт 5 до 0 В), или использовали AT SP 2 для настройки IC для своего транспортного средства только. Не используя AT SP A2, интерфейс не начнет искать другой протокол просто потому, что вы забыли включить зажигание,  который будет преимущество.  В этом случае, вы можете использовать команду "Выбрать Протокол” для автомобиля друга. Вы можете выдать:


> AT TP 3
ОК
Если известно, что автомобиль вашего друга использует протокол 3, то вы можете выдать: 
> AT TP A3
ОК
Команда использует 3 как начальное приближение, а затем автоматически циклы по 1 протоколу, 2, 3 и т.д., если сначала не удается подключиться.
В целом, пользователи обнаружили, что позволяет памяти (установка контакта 5 в  5 В) и выбрать "Авто" вариант (самый простой способ есть AT SP 0) работает очень хорошо. После первоначального поиска, протокол, используемый вашим автомобилем, становится новым режимом по умолчанию (так он каждый раз пытался с первого), но, если интерфейс используется в  другом   транспортном средстве, тогда есть только небольшая задержка, на время пока он выполняет автоматический поиск первое время, когда он подключен.

Описание протоколов.


0  Automatic
1  SAE J1850 PWM       (41,6 Кбод)
2  SAE J1850 VPW       (10,4 Кбод)
3  ISO 9141-2  (5 бод инициализация)
4  ISO 14230-4 KWP (5 бод инициализация)
5  ISO 14230-4 KWP (быстр. инициализац.)                        
6  ISO 15765-4 CAN (11 бит ID, 500 кбод)
7  ISO 15765-4 CAN (29 бит ID, 500 кбод)
8  ISO 15765-4 CAN (11 бит ID, 250 кбод)
9  ISO 15765-4 CAN (29 бит ID, 250 кбод)
Рисунок 2.  номера протоколов ELM327.

Форматы сообщений БД.
До сих пор мы обсуждали только содержимое БД сообщения, и сделали лишь вскользь упоминание о других частях, таких как заголовки и контрольные суммы, которые все пакеты данных  используют в той или иной степени. БД системы могут быть очень гибкими  и предоставлять средства для взаимодействия нескольких  устройств, друг с другом. Для того, чтобы отправлять сообщения между устройствами, необходимо  добавить информацию, описывающую тип информации которая направляется, устройство,  которому она направляется, и возможно, какое устройство делает передачу. Кроме того, важным в сообщении становится озабоченность, например – в информации о местоположении коленчатого вала, это, безусловно, имеет значительно большее значение, чем запрос у работающего двигателя числа хранящихся кодов ошибок. Чтобы передать это значение,  сообщению также присваивается приоритет. Информацию, описываемую приоритетом, о предполагаемом получателе, и передатчике, как правило, необходимы им еще до получения информации о содержании сообщения. Во-первых, для того, чтобы эта информация была получена,  БД системы передают ее в начале (или голове) сообщения. Так как эти байты в голове, они, как правило, называются байты заголовка. На рисунке 3 показана типичная структура сообщения БД, которая используется SAE J1850, ISO 9141-2 и ISO 14230-4 стандартам. Он использует 3 байта заголовка, им показано представить подробную информацию о приоритете, приемника и передатчика. Обратите внимание, что
большинство текстов относятся к приемнику, как "Адрес передатчика" (ТА), и как передатчик "Адрес источника" (SA).
Еще одной проблемой при отправке любого сообщения в том, что ошибки могут возникнуть, и полученные данные могут быть ложно истолкованы. Для обнаружения ошибок, различные протоколы все это обеспечивает некоторую форму проверки полученных данных, часто, как просто, как расчет суммы («нарастающим итогом» находится в ведении приемника, сообщение обрабатывается). Это по сравнению с «нарастающим итогом» прислал передатчик, и если они не согласны, произошла ошибка. Его, как правило, называют байт" контрольной суммы 'или CRC' и он обычно отправляется в конце сообщения. Если обнаруживается ошибка, различные протоколы предоставляют различные способы обращения с ней. Таким образом,  байты  данных  БД,  обычно инкапсулируются в сообщении, с               'байтом заголовка' в начале и "контрольной суммой" в конце.  J1850,  все эти протоколы ISO 9141-2 и ISO 14230-4  используют, по существу, ту же структуру, с тремя байтами заголовка, максимум семь байт данных и одним байтом контрольной суммы, как показано на рисунке 3.
ISO 15765-4 (CAN) протокол использует очень похожие структуры, основное различие действительно только касающиеся структуры заголовка. Байт заголовка может так не называться - вместо этого они называются "ID биты". Начальный CAN стандарт, определенный ID биты как 11битные числа, а в последнее время CAN БД формат сообщений (обновленный стандарт) теперь позволяет 29бит в общей сложности.          
ELM327 обычно не показывают какой-либо из этих дополнительных байтов, если вы не поставите функцию  заголовков по команде (AT H1).  Последний Выпуск  позволяет вам видеть все три заголовка и один байт контрольной суммы для J1850, ISO 9141 и ISO 14230 протоколов. Для CAN протоколы, однако, вы вместо того, чтобы увидеть ID битов (переданных в виде шестнадцатеричных цифр), а также так называемый байт PCI, как раз перед началом данных. ELM327 не отображает сведения о контрольной сумме для систем CAN, а также не показывают  IFR байт для J1850. Если вы хотите узнать больше об этом наведении порядка, обратитесь к соответствующим
стандартам или к ISO или SAE . Это не обязательно, что когда-нибудь придется  устанавливать этот заголовок байт  или  выполнять расчеты одной из этих  контрольных сумм -  это всегда  будет делать за вас ELM327.
Однако байты заголовка можно  регулировать,  если вы хотите использовать  передовые  технологии, такие как физическая адресация.

Наведение порядка.

 Иногда,  кажется, что ELM327 вышел из-под контроля, и вы должны знать, как сохранить контроль.  Прежде чем мы продолжим обсуждать изменения многих параметров, это, кажется, хороший момент, чтобы обсудить, как "вернуться к началу. Возможно, вы указали, что для мониторинга данных есть мониторы и  данные мониторы работают. Возможно, IC теперь ответит  "Нет данных", когда он действительно работал ранее. Это когда несколько советов могут помочь.
Всегда можно прервать выполнение задачи ELM327, одним нажатием клавиши на клавиатуре. В рамках своей нормальной работы чеков производится  полученные персонажами и если находит, IC остановится, что он сделает при следующей возможности. Часто это означает, что он будет продолжать передавать информацию о текущей строке, затем остановится, печатать строку символов, и ждать  ваши ответы. Остановки, возможно, не всегда, кажется, немедленно, если RS232 буфер передачи почти заполнен, хотя - Вы не будете видеть строку символов, пока буфер опустошается, и ваш терминал как программа завершит свою печать, что она получила. Есть моменты когда,  проблемы кажутся более серьезными, и только вы не помните, что Вы сделали, чтобы сделать их так плохо. Возможно,  вы "регулировали" некоторые таймеры, затем экспериментировал с CAN фильтром, или возможно пытались увидеть, что произойдет, если заголовок байта был изменен. Все они могут быть сброшены,  и установлены к  значению  по умолчанию отправив AT-команду:


> AT  D                                                                      OK  


Это, иногда, может привести к неожиданным  результатам. Один такой сюрприз будет происходить, если вы подключены на транспортном средстве, с помощью одного протокола, но сохранен по умолчанию  другой протокол. В этом случае ELM327 закроет текущую сессию, а затем установит протокол по умолчанию, точно в соответствии с инструкциями.
Если AT D не приносит ожидаемых результатов, может быть, необходимо сделать что-то более радикальное - как сбросить всю IC. Есть два способа, что бы это могло быть выполнено  ELM327. Первый -  полный сброс оборудования, которое действует точно так, как если бы было выключено и включено питание. Он использует эту же команду и с другими схемами нашего интерфейса:
> AT Z 
Она занимает примерно одну секунду, чтобы инициализировать всю IC , а затем выполнить проверку состояния четырех светодиодов, подсвечивая их в определенной последовательности. Если этого не требуется, есть новая команда, которую предоставляет  ELM327. Это команда теплый старт:                                                                                                       
> AT WS
при этом используется программный сброс выполняет точно такие же функции, как AT Z, но он не испытывает светодиодов, поэтому значительно быстрее.

Настройка заголовков.


Выбросы, связанные диагностическими кодами неисправностей, с чем большинство людей знакомо, описаны в стандарте SAE J1979 (ISO15031-5). Они представляют собой лишь часть данных, что транспортное средство может иметь в своем распоряжении - намного больше, может быть получен, если вы сможете направить запросы в другом месте.
Доступ к информации OBDII диагностика требует, желательно, прежде чем, чтобы был известен ее  аа 'функциональный адрес'. Любой процессор, который поддерживает функцию, будет реагировать на запрос (и теоретически, много разных процессоров могут реагировать по единому функциональному запросу). Каждый процессор (или ECU) будет также реагировать на это, если известны  их физические адреса. Этот физический адрес, который однозначно идентифицирует каждый модуль в автомобиле и позволяет вам направлять более конкретные запросы только одному конкретному модулю.
Чтобы извлечь информацию помимо этого требования OBDII ,  будет необходимо направить ваши запросы на различные функциональные, или физические адреса ЭБУ. Это делается путем изменения данных в заголовке сообщения. В качестве  примера функционального решения, давайте предположим, что необходимо потребовать, чтобы процессор отвечал за температуру охлаждающей жидкости двигателя и обеспечивал текущую температуру жидкости. Вы не знаете его адрес, так что вы обратитесь SAE J2178 стандарту и определите, что функциональным адресом охлаждающей жидкости двигателя является 48. J2178 также сообщает вам, что для вашего автомобиля J1850 VPW, приоритет байт A8 является целесообразным. Затем, зная, что диагностический прибор, как правило, имеет адрес F1, вы формируете информацию в заголовке три байта A8 48 и F1. И ELM327 правильно использует эти новые байты заголовка, все что нужно, это установить в команду заголовок:
> AT SH A8 4 8 F1                                         OK
Три байта заголовка назначаются таким образом, что будут оставаться в силе до изменения следующей SH командой, сбросе или  команды AT D.
Поставив заголовки, все, что нужно сделать, это вопрос  второй идентификатор для температуры жидкости (10) в командной строке. Если отображение заголовков выключен, разговор может выглядеть следующим образом:
> 10                                                                  10  2E
Первый байт в ответе - эхо запроса,
как обычно, в то время как данные, которые мы просили это 2E байт. Вы можете обнаружить, что на некоторые запросы, с низким приоритетом, не может быть сразу же ответ, что может вызвать "NO DATA" результат. В этом случае  вы должны изменить значение тайм-аута  и , возможно,  первым попытаться установить максимальное  значение   FF). Многие транспортные средства просто не поддерживает эти дополнительные режимы адресации.
Другой метод получения информации с физической адресацией, в которой вы обращаете ваш запрос на конкретное устройство, а не к группе. Чтобы сделать это, вам снова нужно построить набор байт заголовка, чтобы был прямой запрос в физический адрес процессора, или ECU. Если вы не знаете адреса, напомним, что отправитель информации, как правило, показаны на третий байт заголовка. Осуществляя мониторинг вашей системы  с включенными заголовками (AT H1), вы можете быстро узнать основные адреса отправителей.  Когда вы знаете адрес, просто использовать его во втором байте  заголовка. Физическая адресация используется в стандартах, таких как SAE J2190 может предоставить большую информацию об автомобиле. Многие подробности того, как получить доступ к этой информации (PID чисел и т. д.) хорошо сохраняется в тайне, чем производители, естественно, не хотели бы поделиться. Вяз электроники не поддерживает списки этой информации, и не может обеспечить любой дополнительной информации для вас.
Расширенный экспериментаторы будут знать, что ISO14230 стандарт также указывает, что первый байт заголовка всегда должен включать длину поля данных. Из этого, можно предположить, что заголовок должен быть изменен для каждого сообщения. Это не так. ELM327 всегда определяет число байт, которые вы посылаете, и добавляет,  длину за вас, поэтому вам нужно только предоставить два бита формата. Кроме того, нам иногда задавали вопросы о дополнительных байтах, что общий ISO 14230 Стандарт предусматривает. ELM327 поддерживает только то, что требуется по ISO 14230-4, который имеет три байта заголовка, и никаких дополнительных байт. Обращаясь к CAN (ISO 15765-4) протоколы очень похожи во многих отношениях. Во-первых, рассмотрим 29 бит стандарт. ELM327 разбивает 29 бит на байт  Приоритета и три байта заголовка, с чем мы теперь знакомы. Рисунок 5 на следующей странице показывает, как это объединяется для использования в ELM327.
CAN стандарт утверждает, что для диагностики, приоритета байт ('вв' на диаграмме) всегда должна быть 1B.         В использование отдельной инструкции для установки этих битов "приоритета" должны быть лишь незначительные неудобства, так как они редко меняются.

Рисунок. Настройка 29 бит CAN ID.

Следующий байт ("xx") описывает  тип  сообщения и устанавливается в шестнадцатеричное значение DB  при функциональной адресации или в DA при использовании физической адресации.  Следующие два байта имеют значения, определенные ранее для других стандартов - 'уу' является приемником (или Target адрес), и 'zz' является передатчиком (или Source адрес). Для запросов функциональной диагностики, приемник всегда 33, а передатчик F1.Те, кто знаком с SAE J1939 стандартом, вероятно, найдете, что это структура заголовка, которая будет вам знакома. (J1939 CAN является стандартом для использования "тяжелых транспортных средств", таких как грузовики и автобусы). Мы используем несколько иную терминологию, но есть прямая параллель между байтами, используемыми J1939 для заголовков и группировкой байт ELM327. Хотя нами специально не заявлена ​​поддержка J1939, мы будем принимать предложения по улучшению, которые делают ELM327 более полезным для использования с ней. Экспериментаторы должны учесть, что автоматическое форматирование (добавление PCI байт) и отправка сообщений управления потоком данных по умолчанию были в ELM327. Вам нужно, чтобы превратить их как  автономно (AT CAF0 и AT CFC0) перед отправкой сообщения в J1939.
Окончательный формат заголовка, чтобы обсудить то, что используется в11 бит CAN систем. Они также используют приоритет / адрес структуры, но сократить его в примерно в три грызет, а не три байта.

ELM327 использует те же команды, чтобы установить эти значения, как для других заголовков, за исключением того, что он использует только 11 младших бит при условии байт заголовка, и игнорирует другие (как показано на рисунке 6). Очень быстро становится неудобным  вводить шесть цифр, когда только три являются обязательными, так что есть специальная «короткая» версия AT SH команда, которая принимает три шестнадцатеричных цифры. Это на самом деле работает так, просто добавляет нули за вас.

11 бит CAN стандарт обычно делает функциональные запросы (ID / заголовок = 7DF), но получает ответ с физического адреса (7En). Если заголовки включены, это простой вопрос, чтобы узнать адрес модуля, который ответил, а затем использовать эту информацию для принятия физических запросов, если это необходимо. Например, если заголовки включены, и вы посылаете 01 00, вы можете увидеть:
> 01 00
7E8 06 41 00 BE 3F B8 13 00
7E8- показывает, что ECU № 1           отреагировала. Для того, чтобы говорить непосредственно с ЭБУ, то все, что вам нужно, это установить заголовок соответствующего значения (это 7E0 - см. ISO 15765-4 для получения дополнительной информации). С этого момента, вы можете "говорить" прямо на ECU используя его физический адрес:
> AT SH 7E0
ОК
> 01 05
7E8 03 41 05 46 00 00 00 00
Конечно, это немного смущает видеть заголовки  все время, так что вы можете выключить их снова. Надеюсь, это
помогло вам начать работу. Так часто говорят те, которые пишут - если вы планируете сделать некоторые серьезные эксперименты с БД, вы должны купить соответствующие стандарты.
 

Мониторинг управления.
Некоторые транспортные средства используют шину БД  для передачи информации во время нормальной эксплуатации транспортного средства, минуя большое количество информации  много можно узнать, если у вас есть возможность для подключения к одной из этих машин, и в состоянии расшифровать содержимое сообщения. Некоторые другие транспортные средства не могут быть инициализированы, а вместо этого постоянно посылают информацию - единственный способ читать данные из них, контролируя все, что посылается, и извлечения полезных данных.
Чтобы увидеть, как ваш автомобиль использует шину БД, вы можете войти в режим ELM327 в «Монитор всех», отправив команду AT MA из терминала программы. После получения IC будет постоянно отображать информацию, что он видит на шине БД, независимо от передатчика или приемника адреса. Обратите внимание, что сообщения о периодических "пробуждениях" не отправляются в то время как в этом режиме, поэтому если у вас есть ISO 9141 или ISO 14230 шина, которая была инициализирована ранее, она может "спать" во время мониторинга.
Режим мониторинга может быть остановлен путем отправки какой-либо одной RS232 характер ELM327, или помещая низкий логический уровень на выводе RTS. Любой удобный персонаж может быть использовано для прерывания IC: если никаких ограничений от того, для печати, и т.д. Обратите внимание, что параметр отправки будет отброшен, и не будет иметь никакого влияния на последующие команды. Время необходимое для ответа на это прерывание будет зависеть от того, что ELM327 делает, и когда оно получено. IC всегда будет заканчивать задачу, которая находится в процессе (при печати линии, например), прежде чем вернуться ждать ввода, так что вы всегда должны ждать строки ('>') характера или, когда линия занята, пойдет в низкий уровень, прежде чем начинать допосылать команды.
К неожиданным результатам может привести, если у вас "Авто" протокола поиска функция включена, и вы говорите ELM327, чтобы он начал мониторинг, когда шина спокойна. В этом случае, ELM327 начнет искать другой протокол, который может быть неожиданным. Имейте в виду также, что ISO 9141 и ISO 14230 протоколы выглядят идентично при мониторинге, так ELM327, скорее всего, остановит поиск в ISO 9141, даже если протокол ISO 14230. Если включен Автоматический поиск, то это должно исправить себя, когда будет сделан первый запрос БД.
Если "Мониторы все» команда предоставляет слишком много информации (это, конечно же, для большинства CAN систем!), То можно ограничить диапазон данных, которые должны быть показаны. Может быть, вы хотите видеть только сообщения, которые передаются от ECU с адресом 10. Для этого просто наберите:
> AT MT 10
и все сообщения, которые содержат 10 в третьем байте заголовка, будут отображаться.
Использование этой команды с 11-бит CAN систем может быть немного запутанным на первый взгляд.  Напомним, каким образом все байты заголовка хранятся в ELM327.В  11 бит CAN ID на самом деле 3 байта хранится в качестве младших 11 бит в ячейке "коллектором, хранения". Она будет храниться в 3 битах в адресной строке получателя, а оставшиеся 8 бит в адресе места передатчика. Для этого примера, мы просили, чтобы все сообщения, создаваемые передатчиком '10 'могли быть напечатаны, так что все 11 бит CAN идентификаторы, которые заканчиваются на 10, будут отображаться (т.е. 'x10').
Другие команды мониторинга, которые очень полезны это команды, которая ищет определенные адреса в середине байта заголовка. С помощью этой команды вы можете посмотреть на все сообщения, направляемые конкретному адресу. Например, чтобы использовать ее для поиска сообщений, которые были отправлены в ЭКЮ с адресом 10, просто отправьте: 
> AT MR 10
и все сообщения, которые содержат 10 во  втором байте заголовка, будут отображаться.
Использование этой команды в 11 бит CAN системы, будут нужны объяснения некоторых причин. Это может быть полезно в первую очередь изображение шестнадцатеричного числа '10 'в качестве двоичного числа '0001 0000'. Это число ELM327, как правило, использует при просмотре второго байта входящих сообщений. Кроме того, напоминаем, что все идентификаторы 11 битного CAN хранятся в заголовке хранения, с данными «правому краю '. ELM327 ожидает этого и только когда-нибудь использует 3 бита из второго байта заголовка и 8 бит с третьего байта для всех 11 бит CAN сообщений. Остальные игнорируются.
В этом случае  ELM327 обеспечивает просмотр байта во второй позиции, но он смотрит только на три правых бита, чтобы были все нули (000). Все сообщения, которые начинаются с '0 'в качестве первой цифры на самом деле будут отображаться, если вы говорите AT MR 10. Чтобы найти все CAN-сообщения, которые начинаются с 2, то вам нужно будет использовать команду 'AT MR 02' и, чтобы увидеть все 7xx, вам нужно будет использовать 'AT MR 07'.
Фильтрация CAN сообщений и 
ELM327 мониторинга команд (AT MA, MR и MT) как правило, работают очень хорошо с «медленными» протоколами - J1850, ISO 9141 и ISO 14230. CAN системы совсем другая история, однако, поскольку они часто имеют на порядок больше информации, проходящей через них. Относительно небольшой 256 байт буфер, который ELM327 использует для отправки можно быстро заполнить, когда данные прибывают на 500 Kbps и оставить на 38,4 Kbps. Чтобы уменьшить количество информации, которую видит ELM327, внутренний модуль имеет "фильтр", который может быть использован для передачи сообщений только с определенным идентификатором.  Определенный диапазон значений может быть передан, если фильтр используется с так называемой  "Маской", чтобы указать, какие биты относятся к делу.
В качестве примера, рассмотрим приложение, в котором вы пытаетесь контролировать для  29 бит CAN диагностические сообщения так же, как ELM327 делает. По определению, эти сообщения будут приходить на диагностический прибор по адресу F1.Из ISO 15765-4 вы знаете, что ID части ответа должны быть в форме:                              18 DA F1 хх 
где хх это адрес модуля, который посылает сообщение.  Используйте фильтр, а затем введите то, что вы в него, положив что-нибудь в неизвестной  части (вы поймете, почему в данный момент). Команды для установки CAN фильтр НА CF  …




> НА CF-18 DA F1 00  
Как, спросите вы, может ELM327 игнорировать эти два последних 0 '? Вы делаете это с маской. Маска набор битов, которые говорят ELM327, какие биты в фильтре являются актуальными. Если бит маски равен 1, что фильтр бита, является актуальным и требуется, чтобы соответствовать. Если он равен 0, то, что фильтр бита, будет игнорироваться. Все биты в приведенном выше сообщении относятся к делу, за исключением тех, две последние цифры. Чтобы задать маску для этого примера, то вы должны использовать команду может маскировать, а именно:                              
> AT CM 1F FF FF 00
При желании, вы можете преобразовать шестнадцатеричные в двоичные, чтобы увидеть, что было сделано.11 бит CAN идентификаторы рассматриваются в том же порядке. Напомним, что они хранятся внутри в самый правый бит 11 мест для 29 бита CAN, которые необходимо учитывать при создании фильтра или
маска. В качестве примера предположим, что мы хотим, чтобы отобразить все сообщения, которые 6 в качестве первой цифры 11 бит ID. Мы должны установить фильтр для поиска 6 в эту цифру:
> НА CF 00 00 06 00 
11 бит ID хранится в течение последних трех местах, так 6 будут появляться, где показано. Теперь, чтобы сделать эту цифру необходимо, мы создаем маску:
> AT CM 00 00 0F 00 
Система использует только 11 крайних правых бита в этом случае, поэтому мы можем  полениться и ввести F, как показано на рисунке (первый бит F будет игнорироваться, и это будет рассматриваться,  как если бы мы ввели 7).
Ясно, что это может быть весьма громоздким при использовании 11 бит CAN системы обычно. Чтобы помочь с этим, ELM327 предлагает несколько коротких версий CF и CM команд. Вам нужно только ввести:
> НА CF-600 
и
> AT CM F00
для приведенного выше примера. Команды работают внутренне, просто введут для вас дополнительные  00-е. Что же касается полных восьми цифр версии, только 11 младших (справа ¬ большинство) цифры используются, так что вам не нужно обратить особое внимание с первого бита.
После небольшой практики, то эти команды достаточно просты в освоении. Сначала попробуйте ввести фильтр и значения маски, а затем использовать такие команды, как AT MA, чтобы увидеть, какие результаты. ELM327 знает, что вы пробуете фильтр, и сочетает в себе эффекты обеих команд (он будет делать это за MR и MT, а). М., MR и MT команды также имеют дополнительное преимущество, что если они в действительности, ELM327 будет оставаться спокойными, не посылая подтверждения или ошибки сигналы, так как вы делаете во время контроля,  не должны нарушать другие, которые находятся на шине в данный момент. 
Заметим, что если фильтр не был установлен, он будет использоваться для всех CAN-сообщений, поэтому стандартные запросы БД может затем реагировать с "NO DATA". Если у вас возникли проблемы, сбросьте все значения  по умолчанию.
Форматы сообщений CAN. 
Стандарт ISO 15765-4 определяет несколько типов сообщений, которые должны быть использованы с диагностическими системами.   В настоящее время есть четыре основные из них, которые используются: 
SF   - один кадр
FF   - первый кадр (из сообщения многокадровых) 
CF   - последовательный Frame  (" ")
FC   - контроль потока фреймов 
Одноместное сообщение Frame содержит хранение на срок до семи байт данных и так называемый PCI (протокол управления информации) байт. Байта PCI всегда первый байт их всех, и говорит, сколько байт данных для подражания. Если CAN опции форматирования Авто включен (CAF1), то ELM327 будет создавать этот байт для вас при отправке, и удалить его при получении (но если заголовки включено, вы всегда будете видеть это). Если  включить “Авто Форматирование” выключен (с CAF0), ожидается, что вы предоставите все байты данных для отправки для диагностики системы, это означает PCI байт и байт данных. ELM327 будет добавлять дополнительные байты заполнения для вас (значение '00 '), однако, убедитесь, что вы отправили восемь байт данных (так как этот параметр не регулируется с этой версией ELM327). Вам не нужно устанавливать ”Разрешить Лонг” (AT AL) вариант для того, чтобы сделать это так IC перекрывает его для вас. Первое сообщение Frame используется, чтобы сказать, что сообщение многокадровое вот-вот будет отправлено, и говорит, приемнику, сколько байт данных можно ожидать. Длина descripter ограничена  до 12 бит, поэтому максимум 4095 прощания можно получить сразу, используя этот метод. Последовательные сообщения Frame высылаются после первых сообщений Frame предоставить оставшуюся часть данных. Каждый последовательный сообщение кадров включает в себя одно шестнадцатеричное число "порядковый номер", который используется, чтобы помочь с сборкой данных. Ожидается, что, если сообщения были повреждены и возмущаются, это может быть из строя на несколько пакетов, но не более чем на 16. Как было замечено ранее, серийный номер для автомобиля часто ответ многокадровый:
> 0902 
014
0: 49 02 01 31 44 34
1: 47 50 30 30 52 35 35
2: 42 31 32 33 34 35 36.
В этом примере строка, которая начинается с 0: это первое сообщение Frame. Длина (014) было на самом деле извлечено из сообщения ELM327 и печатается на отдельной строке, как показано на рисунке. После первой линии Frame два последовательных кадра, как показано на рисунке (1: и 2:). Чтобы узнать более подробную информацию о точном форматировании, вы можете отправить запрос, такие как один выше, а затем повторите тот   же запрос с заголовками включен (AT H1). Это покажет PCI байт, которые действительно используются для отправки этих компонентов общего сообщения.
Контроль потока фреймов это тот, с которым вам обычно не приходится иметь дело. Когда первое сообщение Frame отправляется как часть ответа, ELM327 должен сказать отправителю некоторые технические вещи, такие как длительность задержки между последовательными кадрами, и т.д. Они предопределены стандартом ISO 15765-4  и не могут быть изменены пользователем. Единственное, что вы можете делать с ними, чтобы отключить отправку сообщений Flow Control полностью (AT CFC0). Это может потребоваться, если экспериментировать с различными системами CAN.                             
Если кадр управления потоком принимается во время мониторинга, линия будет начинаться с «FC: 'до отображения данных, чтобы помочь с расшифровкой информации.
Существует Последний тип сообщения, которое время от времени сообщается, но не поддерживается стандартной диагностики. (Bosch) CAN стандарт позволяет для передачи запроса данных без передачи каких-либо данных в запрашивающем сообщении. Чтобы убедиться, что сообщение рассматривается как таковая, отправитель также устанавливает специальный флаг в сообщении - бит RTR, который рассматривается на каждом приемнике. ELM327 ищет этот флаг, или для нулевых байт данных и может сообщить вам, что RTR обнаружено не было. Об этом свидетельствует символы RTR, где данные, как правило, появляются, но только если форматирование может автоматически выключено, или заголовков включены. Часто, когда мониторинга CAN системы с неправильно выбранной скорости, RTS может быть показано на рисунке.
Обратите внимание, что CAN система довольно надежная несколько методов обнаружения ошибок на месте, таким образом, чтобы для нормальной передачи данных, которые вы редко увидите никаких ошибок. При контроле автобусов однако, вы можете также увидеть ошибки (особенно если установлен в неправильное скорость передачи). Когда  случаются ошибки, ELM327 будет печатать все байты (независимо от того, что CAF и т.д., имеет значение), после чего сообщение '<RX ERROR".                         
Инициирование связи. 
Оба ISO 9141-2 и ISO 14230-4 (KWP2000) стандарта требуют, чтобы БД шина автомобиля должна быть инициализирована до любых сообщений, может быть.  ISO 9141 Стандарт допускает только медленный (от 2 до 3 секунд) процесс, в то время как ISO 14230 позволяет как медленный метод, и работает быстрее. В любом случае, как только шина была инициирована, связи должны проводиться не реже одного раза в пять секунд, или автобус вернется в режим "сна" маломощный.
ELM327 заботится об этом начала автобус и периодической отправки 'Keep-Alive "или пробуждения "сообщения для вас - это происходит автоматически и не требует ввода от пользователя. ELM327 не будет выполнять автобус до начала первого сообщения должен быть отправлен, однако. Во время процесса автоматического поиска, вы не увидите никаких отчетов о состоянии в то время как начало процесса не происходит, но если у вас Авто опция, то вы увидите сообщение, подобное этому:
BUS  INIT: ...
Три точки появляются только как медленное начало  Wakeup    сообщения.                        
После ISO 9141 или ISO 14230 связь была установлена, там должна быть периодическая передача данных, чтобы поддерживать эту связь. Если нормальные запросы и ответы в настоящее время направлено, как правило, достаточно, но мы иногда вынуждены создавать сообщения для предотвращения разъединения от времени ожидания.
Мы называем эти периодические сообщения, которые создали "Wakeup сообщений. Они держат “связь живой” и не допускают схему к возвращению  в простаивание или спящий режим. Некоторые тексты говорят,  что  просто   ELM327 автоматически  создает сообщения  и отправляет их для вас, если они есть, кажется, никакой другой деятельности "простоя сообщения. '- Нет ничего, что вам нужно сделать, чтобы гарантировать, что они происходят. Чтобы увидеть это, как только соединение установлено, просто монитор БД передает светодиоду - вы увидите периодические "всплески"   ELM327 отправляет один. Если Вам интересно фактическое содержание сообщения, вы можете затем выполнить дамп буфера, чтобы увидеть байт. Обратите внимание, что ELM327 никогда не печатает ответ на любой из этих пробуждения сообщений.
Государственные стандарты устанавливают, что если нет никакой активности каждые пять секунд, соединение может закрыться. Чтобы гарантировать, что этого не произойдет, то по умолчанию ELM327 пошлет сообщение пробуждения после трех.
Процесс осуществляется - быстрого инициирования не показывает их. Это будет сопровождаться либо выражение "ОК", чтобы сказать, что это был успешный, иначе сообщение об ошибке указывает, что существует проблема. (Самая распространенная встречающаяся ошибка, это забыли  ключ автомобиля в положение 'ON', прежде чем пытаться говорить с транспортным средством.)
После начала, ELM327 должен поддерживать шину в активном состоянии, без какого-либо вмешательства со стороны пользователя. Если у вас установлен мониторинг светодиодов, вы сможете видеть, что автоматические сообщения направляются через каждые несколько секунд, если нет другой деятельности на линии связи.                             
По умолчанию, ELM327 гарантирует, что эти «пробуждения» или «холостые» сообщения отправляются каждые 3 секунды, но это регулируется с AT SW командой. Содержание сообщения пробуждения также программируется пользователем с командой AT WM. Пользователям, как правило, не нужно изменять любые, из указанных выше настроек, настройки по умолчанию работают практически со всеми системами. 
Этот промежуток времени (секунд бездействия) полностью программируемый, если вы предпочитаете что-то другое (см. AT SW команды).
Как и ELM323, ELM327 действительно позволяет пользователям изменять фактическое сообщение, когда  пробуждение будет отправлено. Для этого просто отправьте ELM327 команду Wakeup сообщение, сказав ему, что вы хотите сообщить изменения. Например, если вы хотите послать байт данных 44 55 с байтами заголовка, установленными в 11 22 33, просто отправьте:                      
> AT WM 11 22 33 44 55.
С этого момента,  ELM327 будет отправлять каждое сообщение пробуждения, как было показано выше. 
Вы можете изменять это так часто, как вы хотите, единственное ограничение в том, что каждый раз, когда вы делаете это, вы должны обеспечить полное сообщение - три байта заголовка следуют и либо одного, двух или трех байтов данных. Вам не нужно беспокоиться об обеспечении контрольной суммой, так как она будет добавлена ​​за вас.

Сообщения об ошибках. 
Если  с оборудованием  или данными  возникают проблемы, ELM327 будет отвечать одним  из следующих коротких сообщений. Некоторые из сообщений подавляются во время.

BUFFER FULL. (Буффер заполнен). 
ELM327 обеспечивает 256 байт внутренней RS232 буфер передачи, так что БД сообщения могут быть получены быстро, хранятся и отправляются на компьютер или КПК с более постоянной скоростью. Иногда (особенно с CAN-систем), буфер будет заполнить более быстрыми темпами, чем быть "очищена". В конце концов она становится полной, и не более того данные могут быть сохранены (это потеряно).                            
Если вы получаете заполнения буфера сообщений, а также используют 9600 бод скорость передачи данных, серьезно рассмотреть вопрос о смене скорости передачи данных до 38400 бод. Если вы все еще получаете заполнения буфера сообщений после того, рассмотрим некоторые из параметров фильтрации (МР, МТ, CF и CM AT-команды) 
BUS BUSY.(Шина занята)
ELM327 попытался отправить командном режиме или инициализации шины, но обнаружил слишком много активности, чтобы вставить сообщение. Это может быть потому, что шина был  фактически занята, но может быть и из-за проблемы с проводкой, которая дает непрерывно активный вход. Чтобы избежать проблем с вашим ELM327, проверьте уровни напряжения на входе вашей БД -  очень вероятно, что есть проблемы с проводкой.
BUS ERROR. (Ошибка шины).
Общего возникновения проблемы. Это чаще всего из недействительного сигнала обнаружения (длинный импульс и т.д.) на шине, или ошибка в проводке.
CAN ОШИБКА. 
CAN системы  трудности  инициализации, отправки или приема. Часто это просто, если вы, не будучи подключены к системе CAN, когда вы пытаетесь отправить сообщение.

FB ОШИБКА. 
Когда БД выход под напряжением, проверка, чтобы убедиться, что сигнал появляется на соответствующем входе. Если есть проблема, IC оказывается выходной выходные и заявляет, что существует проблема с обратной связью (FB) сигнала. Если этого первоначальное  разбирательство с вашей  ELM327, это очень вероятно, проблемы с проводкой. Проверьте проводку перед переходом в автоматический поиск протокола, и видны, только если не в "Авто" режиме. Вот краткое описание каждой из них.
DATA ERROR. 
Существовал ответ от транспортного средства, но информация была неправильной или не могла  быть восстановлена. 
<DATA ERROR.
Была ошибка в линии или  неправильная контрольная сумма, или проблема с форматом сообщения (ELM327-прежнему показывает вам, что он получил). Там возможно была  помеха, которая препятствовала, или цепь проблем. Попробуйте повторно отправить команду. 
NO DATA. (НЕТ ДАННЫХ). 
IC ждала период времени, который был установлен в тайи-ауте, но не обнаружила не одного ответа от автомобиля. Вполне возможно, что у транспортного средства не было данных, чтобы предложить, или запрошенный режим не был поддержан, или  транспортное средство было занято с высшим приоритетным вопросом, либо в случае системы CAN, фильтр мог быть установлен. Не обращая внимания на ответ, попробуйте изменить время AT ST, чтобы быть уверенным, что вы позволили достаточного времени для получения ответа, или восстановление может фильтровать его по умолчанию.
<RX ОШИБКА
Обнаружена ошибка в полученных данных CAN. Это, как правило, только в том случае, если мониторинг CAN шине, в то время как набор для неправильной скорости передачи данных. Попробуйте использовать другой протокол.
UNABLE TO CONNECT.(НЕ УДАЕТСЯ ПОДКЛЮЧИТЬСЯ)                                                                                                            ELM327 попробовал все доступные протоколы, и не смог обнаружить совместимый. Это может быть потому, что ваш автомобиль использует неподдерживаемый протокол, или может быть также просто, как забыли повернуть ключ зажигания далее. Проверьте все соединения, и зажигание, а затем повторите команду:
?  (Вопрос)
Это стандартный ответ на неправильные команды, полученные по RS232 входу. Обычно это происходит из-за опечатки. Компьютерная система управления Общий вопрос, который мы получили из наших переводчиков БД,  является «Можно ли подключить ELM32x схеме непосредственно из моей собственной схемы, или же я должен использовать интерфейс RS232 показали?" Конечно, вы можете подключить непосредственно к нему, вам не нужно использовать RS232 уровни напряжения . ELM327 является устройством, которое использует КМОП уровней отраслевым стандартом для всех входов и выходов. Выходы на самом деле в состоянии вести несколько мА без проблем, так что можно напрямую управлять светодиодами и т.д. С ELM327, мы перестали использовать перевернутый  RS232 Rx ввод, так интерфейс еще проще. Если у вас есть микропроцессор, который использует то же самое питание 5В, как ELM327, и имеет внутренний UART, все, что вам вообще нужно сделать, это подключить выход передачи вашего процессора на получающий вход ELM327 и ваш получающий вход на передающий выход ELM327. Сообщения должны работать с этим соединением (и правильно установленной скорости).                .
ELM327 появилась новая особенность рукопожатий, которая может быть очень полезной для многих интерфейсов. Существует запрос на передачу (RTS), вход и выход занят. Чтобы воспользоваться им, обычно обеспечивает установкой одного из контактов вашего порта.

Примеры приложений. 
SAE J1962 Стандарт диктует, что все транспортные средства OBD совместимый должен предоставить стандартный разъем возле сиденья водителя, формы и выводов которого показан на рисунке 7 ниже. Схема, описанная здесь, может использоваться для подключения к этому J1962 разъему без изменения вашего автомобиля.
К OBD2  разъему автомобиля,  возможно, трудно получить доступ в некоторых местах и вы могли бы возникнуть соблазн импровизировать, создавать свои собственные соединения с задней разъем автомобиля. Если делать так, то мы рекомендуем вам делать ничего, что поставит под угрозу целостность БД сети вашего автомобиля.  Использование любых разъемов высокой производительности, и подключить его к входной RTS . Используйте другой вывод порта в качестве вклада в мониторинг ELM327 Занят выход. Если вы хотите отправить команду, проверьте, не занят ли выход в первую очередь. Если он находится на высоком логическом уровне, то взять с собой линии RTS  низкий и ждать, когда линия занята,  пойдет в низкий уровень. Когда это произойдет, восстановить линию RTS в высокий уровень, а затем отправить команду ELM327. Не беспокойтесь о том, что ELM327 становится Занят снова после того как вы поднимете линию RTS - один раз занят идет низко, ELM327 ждет вашу команду, которую вы могли бы легко создать, закоротив контакты (например, разъем RJ11 телефонного типа, не рекомендуется).
Схема на Рисунке 8  показывает, как правильно, ELM327 можно  использовать. Цепи питания получаются из транспортного средства (с помощью БД контактов 16 и 5), а после защиты диодов и некоторые емкостной фильтрации, ставится пяти вольтовой регулятор напряжения. (Заметим, что несколько автомобилей были зарегистрированы, которые не имеют контакт 5
- на них вы будете использовать контакт 4, а не вывод 5) регулятор силы несколько точек в цепи, а также светодиоды (для визуального подтверждения того, что есть связь в настоящее время). Мы показали 78L05 с регулятором, имеющим в настоящее время предельный ток  примерно до 100 мА, который является безопасным для экспериментов. Цепи CAN интерфейса обладают низким импедансом  и если это устойчивая передача на CAN, этот тип регулятора может закрыться от перегрева. Если у вас возникла эта проблема, вы можете рассмотреть 1 Ампер  версию регулятора тока.
Показанный в левом верхнем углу схемы CAN интерфейс. Настоятельно рекомендуется реализовать нечто похожее на то, что мы показали, с                            
использованием коммерческого чипа трансивера. Шины некоторых из них  имеют много важной информации о них,  в основном по соображениям целостности данных, они это не сообщают, чтобы вы развивали свой собственный дискретный интерфейс. Здесь показана  микросхема  Microchip MCP2551, но и многие другие производители выпускают микросхемы CAN трансиверов, такие как Philips (82C251), Texas Instruments (SN65LBC031) и Linear Technology (LT1796). Как правило, это очень недорогие устройства, но которые могут спасти от многих бед.
Следующий интерфейс приведен для ISO 9141 и ISO 14230 соединений. Мы предоставляем две выходных линии, в соответствии с требованиями стандартов, но в зависимости от вашего автомобиля, вам возможно, не нужно использовать ISO-L выход. (Многие транспортные средства не требуют такого сигнала для начала, но некоторые требуют, как это показано здесь.)
ELM327 контролирует обе линии ISO через транзисторы NPN показано, с подтягивающими резисторами, подключенными к их коллекторам. 510ом значение для этих резисторов  указанны в стандартах, но вы можете использовать близкое значение в случае необходимости (люди часто пишут нам об этом). Если вам нужно, скорее всего, можно перейти к 560ом для этих резисторов, не испытывая побочных эффектов. Обратите внимание, что снижение значения может привести к повреждению схемы, так что следует этого избегать. Старайтесь, чтобы как можно ближе к 510ом. Отметим также, что 1/2Вт резисторы должны быть использованы (и что 1/4Вт 240ом + 270ом резисторы работают хорошо тоже).
Данные, полученные от К-линии шины БД,  подаются на вывод 12 после  уменьшения на  R20/R21 делителе напряжения, показанном на рисунке.
Последний интерфейс БД показан для двух J1850 стандартов. Если для J1850 VPW стандарта  нужна положительная подача  8 вольт, то для J1850 PWM потребуется 5V. Это двойное напряжение питания обеспечивается   регулируемым стабилизатором 317L, показано управляется с контакта3. С резистора значения напряжения переключаются между примерно 7,5 В и 5 В, который хорошо работает. Два выхода приводятся в Q1 и Q2 комбинация для Bus + и Q3 для автобусов. 
Схема контроля напряжения для AT RV команды показанная в этой схеме подключена к контакту 2  из ELM327. Два резистора просто делят напряжение батареи до безопасного уровня для ELM327, и конденсатор отфильтровывает пульсации. При поставке, ELM327 рассчитывает соотношение резисторов делителя, как показано, и устанавливает номинальные константы калибровки при условии. Если ваше приложение нуждается в другом диапазоне значений, просто корректировать номиналы резисторов, а затем выполните AT CV для калибровки  ( ELM327 не может отображать более чем 99.9V).
Очень просто интерфейс RS232 показано, связан с выводами 17 и 18 ELM327.   Эта схема берет питание от компьютера, чтобы обеспечить самый разгар RS232 без необходимого напряжения при отсутствии питания.  Контакты RS232 приведены для стандартного 9-контактного разъема. Если вы используете 25-контактный, то вам нужно, компенсировать различия. Полярность контактов RS232  ELM327 такова, что они совместимы со стандартной интерфейсной ИС (MAX232 и др.), так что если вы отдадите предпочтение таким интерфейсам, вы можете удалить все дискретные компоненты, показанные на схеме и использовать одну  эту микросхему. 
Четыре светодиода показанные на рисунке (на контактах 25 и 28) были поставлены в качестве визуального средства подтверждения работоспособности схемы. Они не являются необходимыми, но приятно видеть, визуальную обратную связь, когда будете экспериментировать. Наконец показано, что кварц стоит между контактами 9 и 10 стандартный  4.000MHz тип кварца для микропроцессора. Показано, что кристалл нагружен конденсаторами, для которых характерны значения 27pF, и вам, возможно, придется выбрать другие значения в зависимости от того, что указано на кварц вы получите. Частота резонатора имеет решающее значение для работы схемы и не должна быть изменена. Мы часто получаем запросы на списки деталей, чтобы сопровождать наш пример применения схемы. Так как эта схема является более сложной, чем у большинства, у нас есть все компоненты, в соответствии со списком (см. рисунок 9 на стр. 33). Обратите внимание, что это только предложение на запчасти. Если вы предпочитаете другой цвет светодиода, или имеете на различные общие цели транзисторы на руках, и т.д., этими средствами можно сделать замену.  Быстрый совет для тех, у кого возникли проблемы с поиском 0,3 "широкий разъем для ELM327 из нескольких  14 выводных стандартных панелек  можно разместить друг за другом, чтобы сформировать одну 0,3" широкоформатную 28 контактную панельку. ELM327 был построен, чтобы было устройство с несколькими протоколами, которое автоматически ищет допустимый протокол, но нет никакой причины, что он не может быть использован в схему, которая поддерживает только один протокол. Рисунок 10 на стр. 34 показывает пример того, как микросхема может быть использована только для 'J1850 VPW "цепи. Различия между рисунками 8 и 10 должны быть очевидными. Неиспользуемые протоколы просто не было, их выходы игнорированы (слева обрыв), а их входы подключены к удобному логическому уровню. Заметим, что это КМОП входы, поэтому, никогда не должны быть оставлены свободными. Схема поддерживает схему измерения входного напряжения, светодиоды и J1850 Bus  схему, но большинство остальных было ликвидировано. Схема переключения напряжения была  также сведена к одному 8V регулятору, так как не будет необходимости переключаться на 5В.
Если эта схема используется впервые, то, скорее всего она будет установлена в протокол 0 - режим "Автоматический поиск" по умолчанию (при поставке с завода). Когда вы подключите ее к автомобилю с J1850 VPW, она будет первым пытаться J1850 PWM (протокол 1), и продолжит, если потерпит неудачу, чтобы попытаться J1850 VPW. Если память включена (как показано на рисунке), J1850 VPW тогда станет снова в значение по умолчанию. Это будет хорошо работать для большинства приложений, но если схема используется на транспортном средстве с ключом, например, то он будет снова идти поиск нового протокола.
В общем, если вы не хотите, чтобы на это уходило каждый раз время. Это может  лишь доставить незначительное неудобство, чтобы подождать, пока ELM327 определяет, что "Не удается подключиться", но почему бы пройти через это.  Если вы знаете, что вы используете схему J1850 VPW единственным приложением (протокол 2), то вы должны выполнить команду AT SP 2 в самый первый раз, когда схема заработает. С этого момента она будет оставаться в протоколе 2,  сможет ли она установить соединение или нет.
Здесь даны вам два примера того, как эта интегральная схема может быть использована. Сведения о ELM327 не ограничиваются только этим, но, надеюсь, этого достаточно, чтобы вы начали...

Полупроводники :                                           Резисторы :                                                     D1 = 1N4001                                                   R32, R33 = 100ом        
D2, D3, D4, D5 = 1N4148                               R5 = 240ом 
L1, L2, L3, L4 = желтый светодиод           R1, R2, R3, R4, R27, R28, R29, R30 = 470ом.
L5 = зеленый светодиод                            R17, R19 = 510ом ½Вт 
Q1, Q3, Q5, Q6, Q7, Q9 = 2N3904 (NPN)      R16, R18 = 2,2 ком 
Q2, Q4, Q8 = 2N3906 (PNP)                          R6, R7, R14, R15, R23, R26, R31 = 4,7ком
U1 = ELM327                                                 R8, R9, R11, R13, R22, R24, R25, R35 = 10ком
U2 = MCP2551                                               R10, R21 = 22 ком                            
U3 = 78L05 (5В, 100 мА регулятора)         R20, R34 = 47 ком                     
U4 = 317L (регулируемое 100 мA)             R12 = 100 ком         
Конденсаторы: 
С1, С2, С5, С6, С7 = 0.1мкф 16V 
C3, C4 = 27pF 
C8, C9 = 560pF 
Разное:                                                                                                                                        X1 = 4.000MHz кварц                                                                                                           RS232 Разъем = DB9                                                                                                                   IC Socket = 28pin 0,3 "(или 2 по 14pin)