Вы находитесь на странице: 1из 94

ELM327

OBD a RS232 intérprete

Descripción Caracteristicas

Casi todos los automóviles producidos en la actualidad están • Control de energía con el modo de espera
obligados, por ley, para proporcionar una interfaz para la conexión de
• serie universal interfaz (RS232)
equipos de prueba de diagnóstico. La transferencia de datos en estas
interfaces seguir varias normas, pero ninguno de ellos es directamente • Busca automáticamente los protocolos
utilizable por los ordenadores o dispositivos inteligentes. El ELM327 está
• Totalmente configurable con comandos AT
diseñado para actuar como un puente entre estos diagnósticos a bordo
(OBD) puertos y una interfaz serie RS232 estándar. • Diseño de baja potencia CMOS

Además de ser capaz de detectar automáticamente e interpretar


nueve protocolos OBD, el ELM327 también proporciona soporte para Diagrama de conexión
comunicaciones de alta velocidad, un modo de sueño, el poder y el PDIP y SOIC
camión y J1939 estándar de bus. También es completamente (vista superior)
personalizable, si desea modificar para que se ajuste más a sus
necesidades. MCLR OBD Tx LED OBD

Las siguientes páginas tratan sobre todo de las características del Vmeasure Rx LED RS232 Tx

ELM327 en detalle, cómo usarlo y configurarlo, así como proporcionar J1850 Voltios LED RS232 Rx LED
información básica sobre los protocolos que son compatibles. También hay J1850 Bus + CAN CAN Rx Tx
diagramas esquemáticos y consejos para ayudar a hacer interfaz con Memoria ISO L ISO KV DD
microprocesadores, construir una herramienta de exploración básica, y
Velocidad de transmisión
permite utilizar el modo de bajo consumo.
LFmode

PWM En
XT2 V SS
XT1

aplicaciones V SS

En VPW RS232 RS232 Rx


• lectores de códigos de diagnóstico de problemas
ISO En Tx PwrCtrl /
• herramientas de análisis de automoción
Ocupado IgnMon /
• Material didáctico J1850 Bus- RTS

Diagrama de bloques 4.00 MHz

Velocidad de transmisión
6 Memoria
XT1 9 10 XT2 MCLR
5 1
LFmode 7 Vmeasure
2

Convertidor
RS232Rx 18
Interfaz
Mando A/D
RS232
RS232Tx 17 y la
intérprete de
protocolo
ISO 15765-4 ISO 9141-2 ISO SAE J1850
PwrCtrl / Ocupado 16 SAE J1939 14230-4 PWM y VPW
Control de
poder
IgnMon / RTS 15

23 24 22 21 12 14
13 4 3 11

25 26 27 28
las interfaces OBD
LED de estado

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 1 de 94


www.elmelectronics.com
ELM327

Contenido

Los basicos Descripción................................................. .................................. 1


Caracteristicas................................................. ...................................... 1
Aplicaciones ................................................. ................................. 1

Diagrama de bloques................................................ .............................. 1

Diagrama de conexión................................................ .................... 1


Descripciones de los pines ................................................ ........................... 4
Las clavijas no utilizadas ................................................ ................................. 6

Índices absolutos máximos............................................... .......... 6


Características electricas................................................ .............. 7

Utilizando el ELM327 Visión general................................................. ..................................... 8


La comunicación con el ELM327 .............................................. 8 ..
Comandos AT ................................................ ........................... 10
Resumen de comandos AT ............................................... .............. 10
Descripción de los comandos AT ............................................... ......... 12
La lectura de la tensión de la batería .............................................. ........ 29

Comandos OBD ................................................ ........................ 30


Hablando con el vehículo .............................................. ................... 31
Iniciación bus ................................................ ............................... 33
Interpretación de los códigos de problemas ............................................... ......... 34
Restablecimiento de los códigos de problemas ............................................... ............ 35

Guía rápida para los códigos de problemas de lectura ................................... 35


Selección de protocolos ................................................ .................... 36

OBD Formatos de los mensajes ............................................... ............... 38


Seleccionar las cabeceras de ............................................... .................... 39
Las respuestas de varias líneas ................................................ ................... 42
Tipos de mensajes CAN ............................................... .................. 44
Las solicitudes múltiples PID ............................................... ................. 45
Respuesta mensajes pendientes ............................................... .... 45

Puede recibir Filtrado - el comando CRA .............................. 46


El uso de la máscara y el filtro ............................................ ...... 47
Seguimiento de la autobús ............................................... ...................... 48

El restablecimiento del orden ................................................ .......................... 49

Características avanzadas El uso de altas RS232 Velocidad de transmisión ............................................. ..50


Ajuste de los tiempos de espera - el AT ST y AT Comandos AT ............... 52

Mensajes SAE J1939 ............................................... ................. 53


Usando J1939 ................................................ ............................... 55
El estándar FMS ............................................... ...................... 58
El estándar NMEA 2000 .............................................. ........... 59

Periódicas (despertar) Mensajes ............................................. ....... 59


La alteración de Mensajes de Control de Flujo .............................................. .. 60
Uso de direcciones CAN extendido .............................................. . 61
CAN Matching Frecuencia de entrada .............................................. ... 62

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 2 de 94


www.elmelectronics.com
ELM327

Contenido

Características avanzadas Programación de números de serie ............................................... ..... 63


(continuado) Guardar un byte de datos .............................................. ...................... 63

El Monitor de Actividad ............................................... ..................... 64


Control de poder................................................ ............................ 64

Los parámetros programables ................................................ ........ 68


Resumen de parámetros programables ......................................... 69

Las discusiones de diseño Máximo puede Velocidades de datos .............................................. .......... 74

Microprocesador Interfaces ................................................ .......... 76

Versiones de mejora ................................................ .................... 77

Aplicaciones de ejemplo ................................................ ................. 78


Figura 9 - Una OBD a Intérprete USB ................................. 80
Figura 10 - Lista de piezas para la Figura 9 ........................................ 81
Figura 11 - Una interfaz de baja velocidad RS232 .......................... 81
Figura 12 - Una interfaz de alta velocidad RS232 ......................... 82
Figura 13 - Una interfaz USB Alternativa ............................ 82
Figura 14 - que conecta a un sistema de 3.3V ............................ 83

Modificaciones para la operación de espera de baja potencia ....................... 84

Misceláneos. Información Mensajes de error y alertas .............................................. ........... 87


Historial de versiones................................................ ........................... 90

Esbozar diagramas ................................................ ....................... 92


Información sobre pedidos................................................ .................. 92

Derechos de autor y descargo de responsabilidad ............................................... ............ 92

Índice................................................. ......................................... 93

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 3 de 94


www.elmelectronics.com
ELM327

descripciones de los pines

MCLR (pin 1)
A (> 2μsec) lógico bajo momentánea aplicada a esta entrada restablecerá el volver y un carácter de avance de línea. Si es en un nivel bajo, las líneas serán

ELM327. Si no se utiliza, este perno se debe conectar a un nivel lógico alto terminados en sólo un retorno de carro. Este comportamiento siempre se puede

(V DD) nivel. modificar mediante la emisión de un AT L1 o comando AT L0.

Vmeasure (pin 2)
V SS ( pin 8)
Esta entrada analógica se usa para medir una señal de 0 a 5V que se
aplica a ella. Se debe tener cuidado para evitar que la tensión de ir Circuito común debe estar conectada a este pin.
fuera de los niveles de suministro del ELM327, o se puede dañar. Si
no se utiliza, este pin debe estar vinculada a cualquiera de V DD o V SS. XT1 (pin 9) y XT2 (pin 10)
Un cristal oscilador de 4.000 MHz está conectado entre estos dos
pasadores. También tendrá que ser conectado entre cada uno de estos
Volts J1850 (pin 3) pasadores y circuito común (Vss) Cargando condensadores como es
Esta salida puede ser utilizada para controlar un suministro de tensión requerido por el cristal (típicamente 27pF cada uno).
para la salida J1850 Bus +. El pasador normalmente da salida a un nivel
lógico alto cuando se requiere un 8V nominal (por J1850 VPW), y un bajo Tenga en cuenta que este dispositivo no se ha configurado para funcionar
nivel de 5 V (para J1850 PWM), pero esto se puede cambiar con PP 12. con un oscilador externo - que espera un cristal para ser conectado a
Si esta capacidad de conmutación no es estos pines. No se recomienda el uso de una fuente de reloj externa.
requerido para su Además, tenga en cuenta que este oscilador se apaga cuando está en el
aplicación, esta salida se puede dejar en circuito abierto. modo de bajo consumo o 'standby' de la operación.

J1850 Bus + (pin 4)


Esta alta salida activa se utiliza para conducir la VPW En (pin 11)
J1850 + Línea de autobús a un nivel activo. Tenga en cuenta que esta Esta es la alta entrada activa para la señal de datos VPW J1850. Cuando está
señal no tiene que ser utilizado para la línea Bus- (como fue el caso para el en reposo (autobús recesivo) este pin debe estar a un nivel lógico bajo. Esta
ELM320), ya que se proporciona una salida separada unidad J1850 Bus- entrada tiene Schmitt de disparo de conformación de ondas, por lo que no se
en el pin 14. requiere amplificación especial.

Memoria (pin 5)
Esta entrada controla el estado por defecto de la opción de memoria. Si ISO En (pin 12)
este pin está en un nivel alto durante el encendido o el restablecimiento, la Esta es la entrada activa baja para la señal de datos ISO 9141 e ISO
función de memoria será activado por defecto. Si se está en un nivel bajo, 14230. Se deriva de la Línea K, y debe estar a un nivel lógico alto cuando
entonces el valor por defecto será tener desactivado. La memoria siempre está en reposo (bus recesivo). No se requiere la amplificación especial, ya
se puede activar o desactivar con el AT M1 y M0 comandos AT. que esta entrada tiene Schmitt de formación de onda de activación.

Velocidad de transmisión (pin 6) PWM En (pin 13)


Esta entrada controla la velocidad en baudios de la interfaz RS232. Si es en un Esta es la entrada activa baja para la señal de datos J1850 PWM. Normalmente
alto nivel durante el encendido o el restablecimiento, la velocidad de debe ser a un nivel alto cuando está en reposo (es decir. Bus recesivo). Esta
transmisión se establece en 38.400 (o la tasa que se ha establecido por el PP entrada tiene Schmitt de disparo de conformación de ondas, por lo que no se
0C). Si en un nivel bajo, la velocidad de transmisión se iniciará a 9600 bps. requiere amplificación especial.

LFmode (pin 7) J1850 Bus- (pin 14)


Esta entrada se utiliza para seleccionar el modo de avance de línea estándar se Esta alta salida activa se utiliza para conducir el Bus- Línea J1850 a un
usará después de un encendido o reinicio del sistema. Si es en un nivel alto, a nivel activo (dominante) para aplicaciones de PWM J1850. Si no se
continuación, por los mensajes por defecto enviados por el ELM327 se dará por utiliza, esta salida se puede dejar en circuito abierto.
terminado tanto con un carro

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 4 de 94


www.elmelectronics.com
ELM327

Descripciones de los pines (continuación)

IgnMon / RTS (pin 15)


Este pin de entrada puede servir a una de las dos funciones, dependiendo de discusión en la página 84 ( 'Modificaciones para la operación de espera de baja

cómo se establecen las opciones de control de potencia (PP 0E). potencia') proporciona más detalles sobre cómo utilizar esta salida.

Si tanto el bit 7 y el bit 2 del PP son 0E 'de 1, este pin actuará como un monitor Si el bit 7 del PP 0E es un '0', el pin 16 funcionará como una salida de
encendido. Esto dará lugar a un interruptor para el modo de bajo consumo de la 'ocupado', mostrando cuando el ELM327 se procesa de forma activa un
operación, si la señal de IgnMon ir a un nivel bajo, como sucedería si el encendido del comando (la salida será a un nivel alto), o cuando está inactivo, listo
vehículo ha sido desconectada. Un temporizador interno 'de eliminación de rebote' se para recibir comandos (la salida será baja).
utiliza para asegurar que el ELM327 no se cierra para el ruido en la entrada. Cuando el

voltaje en el pin 15 es de nuevo restaurado a un nivel alto, y un tiempo de 1 o 5 Por defecto, el bit 7 del PP 0E es '1', por lo que el pin 16 proporciona la función de
segundos (según lo establecido por PP 0E bit 1) pasa, el ELM327 llevará a cabo un control de energía.
'arranque en caliente' y volver al funcionamiento normal. Una transición baja a alta en la

patilla 15, de hecho, restablecer el funcionamiento normal, independientemente de la RS232Tx (pin 17)
configuración de PP 0E bit 2, o si el pasador 15 fue la causa inicial para el modo de baja Esta es la salida de datos RS232 de transmisión. El nivel de señal
potencia. Esta característica permite a un sistema para controlar cómo y cuándo pasará es compatible con la mayoría de los circuitos integrados de interfaz (la
al funcionamiento espera de bajo consumo, pero todavía tienen de activación salida es alta cuando está en reposo), y no es suficiente unidad actual para permitir
automática de la tensión de encendido, o incluso por un pulsador. Si bien el bit 7 o el bit la interconexión utilizando sólo un transistor PNP, si se desea.
2 del PP 0E son '0', esta clavija funcionará como una 'solicitud de envío' activa de bajos

insumos. Esto se puede utilizar para interrumpir el procesamiento del OBD con el fin de

enviar un nuevo comando, o como se mencionó anteriormente, para poner de relieve el RS232Rx (pin 18)
hecho de que el encendido se haya desactivado. Normalmente se mantiene en un nivel
Este es el RS232 reciben entrada de datos. El nivel de la señal es compatible con la
alto, esta entrada está abatido por la atención, y debe seguir siéndolo hasta que la línea
mayoría de los circuitos integrados de interfaz (cuando en la marcha lenta, el nivel
ocupada (pin 16) indica que el ELM327 ya no está ocupado, o hasta que se recibe un
debe ser alto), pero se puede utilizar con otras interfaces, así, ya que la entrada
carácter indicador (si se utiliza el pin 16 para control de potencia). o como se mencionó
tiene Schmitt de formación de onda de activación.
anteriormente, para poner de relieve el hecho de que el encendido se haya desactivado.

Normalmente se mantiene en un nivel alto, esta entrada está abatido por la atención, y

debe seguir siéndolo hasta que la línea ocupada (pin 16) indica que el ELM327 ya no V SS ( pin 19)
está ocupado, o hasta que se recibe un carácter indicador (si se utiliza el pin 16 para
Circuito común debe estar conectada a este pin.
control de potencia). o como se mencionó anteriormente, para poner de relieve el hecho

de que el encendido se haya desactivado. Normalmente se mantiene en un nivel alto,


V DD ( pin 20)
esta entrada está abatido por la atención, y debe seguir siéndolo hasta que la línea
Este pin es el pin de alimentación positiva, y siempre debe ser el
ocupada (pin 16) indica que el ELM327 ya no está ocupado, o hasta que se recibe un
punto más positivo en el circuito. circuitería interna conectada a este
carácter indicador (si se utiliza el pin 16 para control de potencia).
pin se utiliza para proporcionar energía en puesta a cero del
Esta entrada tiene Schmitt de formación de onda de activación. Por defecto, el pin 15
procesador ELM327, por lo que no se requiere una señal de
actúa como los RTS interrupción de entrada.
reposición externa. Consulte la sección Características eléctricas
para promover
PwrCtrl / Busy (pin 16)
información.
Este pin de salida puede servir a una de las dos funciones, dependiendo de
cómo se establecen las opciones de control de potencia (PP 0E). ISO K (pin 21) e ISO L (pin 22) Estas son las señales de alta salida activas
que se usan para conducir la ISO 9141 y la ISO 14230 buses a un nivel
Si el bit 7 del PP 0E es un '1' (por defecto), este pin funcionará como una activo (dominante). Muchos de los nuevos vehículos no requieren la línea
salida de control de alimentación. El estado normal de la clavija será como se L - si el suyo no lo hace, puede simplemente dejar pasador 22 en circuito
establece por PP 0E bit 6, y el pasador permanecerá en ese estado hasta que abierto.
el ELM327 cambia al modo de baja potencia de funcionamiento, cuando los
cambios de salida al nivel opuesto. Esta salida se utiliza típicamente para
controlar entradas de habilitación, pero también puede ser utilizado para CAN Tx (pin 23) y CAN Rx (pin 24) Estos son los dos interfaz CAN
circuitos de relé, etc. con tampón adecuado. los señales que debe estar conectado a un transceptor CAN IC (ver la

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 5 de 94


www.elmelectronics.com
ELM327

Descripciones de los pines (continuación)

Ejemplos de aplicaciones de sección para más información). Si no se utiliza, el


pasador 24 debe estar conectada a un nivel lógico alto (V DD) nivel.

RS232 Rx LED (pin 25), LED RS232 Tx (pin 26), OBD Rx LED (pin 27) y LED
OBD Tx (pin 28) Estos cuatro pines de salida son normalmente alta, y son
impulsados ​a niveles bajos cuando el ELM327 está transmitiendo o recibir
datos. Estas salidas son apropiados para conducir directamente la mayoría de
los LEDs a través de resistencias de limitación de corriente, o la interfaz con
otros circuitos lógicos. Si no se utiliza, estos pines se pueden dejar en circuito
abierto. Tenga en cuenta que el pasador 28 también se puede utilizar para
apagar todos los parámetros programables, si no puede hacerlo a través de la
interfaz normal, - véase la página 69 para más detalles.

Las clavijas no utilizadas

Cuando las personas sólo quieren implementar una parte de lo que el ELM327 es capaz de, a menudo se preguntan qué hacer con los pines no utilizados. La regla es que
las salidas no utilizadas pueden quedarse sin nada conectado a ellos en circuito abierto, pero las entradas no utilizadas deben estar terminados. El ELM327 es un circuito
integrado CMOS que no puede tener entradas izquierda flotante (o podría dañar el IC). Las entradas no utilizadas de la siguiente manera:

Nivel 1 2 5 6 7 11 12 13 15 18 24

pin H H* H* H* H* H* L* L* H H H

Tenga en cuenta que las entradas que se muestran con un asterisco (*) pueden ser conectados a cualquiera de un Alto (V DD) o mínima (V SS)
nivel, pero se prefiere el nivel mostrado.

Índices absolutos máximos

Temperatura de almacenamiento ....................... -65 ° C a + 150 ° C Nota:

Temperatura ambiente con Estos valores se dan sólo como una guía de diseño. La capacidad
Potencia aplicada ....................................- 40 ° C a + 85 ° C Tensión en de operar a estos niveles no es ni inferido ni recomendable, y
destaca más allá de las mencionadas aquí probablemente dañar el
V DD con respecto a V SS ..... - 0,3 V a + 7,5 V de tensión en cualquier otro
dispositivo.
pasador con respecto a V SS ........................... - 0,3 V a (V DD + 0,3 V)

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 6 de 94


www.elmelectronics.com
ELM327

Características electricas

Todos los valores son para el funcionamiento a 25 ° C y una alimentación de 5V, a menos que se indique lo contrario. Para más información, consulte la nota 1 a continuación.

Característica Máxima mínimo habitual Unidades condiciones

Tensión de alimentación, V DD 4.2 5.0 5.5 V

V DD tasa de incremento 0.05 V / ms nota 2

corriente media, me DD normal 12 mamá


de carga
bajo consumo de energía 0.15 mamá

niveles lógicos de entrada bajo V SS 0.8 V Botones 5, 6, 7, y 24 solamente

alto 3.0 V DD V

los umbrales de entrada creciente 2.9 4.0 V Las patillas 1, 11, 12, 13, 15 y 18 solamente

de disparador de Schmitt
ELM327 solamente - no incluye a las corrientes
que cae 1.0 1.5 V

Salida de baja tensión 0.3 V actual (sumidero) = 10 mA

Salida de alto voltaje 4.4 V corriente (fuente) = 10 mA véase la

voltaje de reposición brown-out 2.65 2.79 2.93 V

tiempo de conversión A / D 9 mseg EN RV a principios de respuesta del dispositivo

Pin duración de pulso de 18 estela 128 despertar de modo de bajo consumo


microsegundos

tiempo de rebote IgnMon 50 sesenta y cinco mseg

En el LP a PwrCtrl tiempo de salida 1.0 segundo

LP ALERT para el tiempo de salida PwrCtrl 2.0 seg

Restablecer el tiempo AT Z 800 mseg Medida desde el extremo de la orden


para el inicio de la ID de mensaje
EN WS 2 mseg (ELM327 v2.1)

notas:
1. Este circuito integrado se basa en el dispositivo PIC18F2480 de Microchip Technology Inc.. Para las especificaciones del dispositivo más detallada y,
posiblemente clarificación de los indicados, por favor consulte la documentación de Microchip (disponible en www.microchip.com).

2. Esta especificación debe cumplirse con el fin de asegurar que se produce una alimentación correcta de restablecimiento. Esto se logra fácilmente utilizando los tipos más comunes

de los suministros, pero puede ser violada si se utiliza una tensión de alimentación varía lentamente, como puede ser obtenida a través de la conexión directa a las células

solares o algunos circuitos de bomba de carga.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 7 de 94


www.elmelectronics.com
ELM327

Visión general

A continuación se describe cómo utilizar el ELM327 para obtener características de este circuito integrado también.
información de su vehículo. Utilizando el ELM327 no es tan difícil como parece a primera vista.
Comenzamos analizando sólo la forma de 'hablar' con el IC mediante un Muchos usuarios nunca tendrán que emitir un comando 'AT', ajustar los tiempos
PC, a continuación, se explica cómo cambiar las opciones usando los comandos de espera, o cambiar los encabezados. Para la mayoría, todo lo que se requiere
'AT', y, finalmente, mostramos cómo utilizar el ELM327 para obtener los códigos es un PC o dispositivo inteligente con un programa de terminal (como
de problemas (y restablecerlos). Para los experimentadores más avanzados, HyperTerminal o ZTerm), y un poco de conocimiento de OBD comandos, lo que
también hay secciones sobre el uso de algunos de los programable vamos a ofrecer en las siguientes secciones ...

La comunicación con el ELM327

El ELM327 espera para comunicarse con un PC a través de una son correctos (lugar, sin embargo, en este punto no hubo ninguna
conexión serie RS232. Aunque los ordenadores modernos no suelen comunicación con el vehículo, por lo que el estado de conexión que aún se
proporcionar una conexión en serie como esta, hay varias formas en las desconoce).
que un 'puerto serie virtual' puede ser creado. Los dispositivos más El carácter '>' que se muestra en la segunda línea es el carácter de la
comunes son los adaptadores USB a RS232, pero hay varios otros, tales línea de ELM327. Indica que el dispositivo está en estado de reposo, listo
como tarjetas de PC, dispositivos Ethernet o Bluetooth a los adaptadores para recibir caracteres en el puerto RS232. Si no ve la cadena de
de serie. identificación, es posible que intente restablecer el CI de nuevo con el
comando AT Z (reset). Simplemente escriba las letras A y Z (espacios son
No importa cómo se conecta físicamente al ELM327, necesitará opcionales), a continuación, pulse la tecla de retorno:
una forma de enviar y recibir datos. El método más simple es utilizar
uno de los muchos programas de 'terminales' que están disponibles
> AT Z
(HyperTerminal, ZTerm, etc.), para permitir escribir los caracteres
directamente desde el teclado. Eso debería hacer que los leds parpadeen de nuevo, y la cadena de identificación

para ser impreso. Si ves personajes de aspecto extraño, a continuación, comprobar su

Para usar un programa de terminal, tendrá que ajustar varias velocidad de transmisión - es probable que haya configurado de forma incorrecta.

configuraciones. En primer lugar, asegúrese de que el software está


configurado para utilizar el puerto adecuado 'COM', y que ha elegido la Caracteres enviados desde el ordenador o bien pueden estar
velocidad de datos adecuada - esto será o 9600 baudios (si el pin 6 = 0 V en destinados a uso interno del ELM327, o para formatear y transmitir
el encendido), o 38400 baudios (si PP 0C no se ha cambiado). Si selecciona al vehículo. El ELM327 puede determinar rápidamente donde los
el puerto incorrecto 'COM', usted no será capaz de enviar o recibir datos. Si caracteres recibidos son para ser dirigido mediante la supervisión de
selecciona el tipo de datos incorrecto, la información que se envía y recibe los contenidos de
será todo ilegible, y es ilegible por usted o el ELM327. No se olvide de el mensaje. Comandos que están
establecer también la conexión de 8 bits de datos, no hay bits de paridad y 1 para uso interno del ELM327 comenzará con los caracteres 'AT', mientras
bit de parada y configurarlo para el modo adecuado 'fin de línea'. Todas las que los comandos del OBD para el vehículo solamente se les permite
respuestas de la ELM327 están terminados con un solo carácter de retorno contener los códigos ASCII para los dígitos hexadecimales (0 a 9 y de A a
de carro y, opcionalmente, un carácter de avance de línea (dependiendo de F).
la configuración). Si se trata de un comando interno 'AT' tipo o una cadena
hexadecimal para el bus OBD, todos los mensajes al ELM327 deben
terminar con un carácter de retorno de carro (hex 0D ') antes de que se
Conectados correctamente y accionado, el ELM327 se energizará las cuatro actúe en consecuencia. La única excepción es cuando una cadena
salidas de LED en secuencia (como una prueba de lámpara) y a continuación, incompleta se envía y no aparece ningún retorno de carro. En este caso,
enviar el mensaje: un temporizador interno se cancelará automáticamente el mensaje
incompleto después de unos 20 segundos, y el ELM327 imprimirá un solo
v2.1 ELM327
signo de interrogación ( '?') Para mostrar que la entrada no se entendía (y
> no se actuó).

Además de identificar la versión de este circuito integrado, que recibe esta


Los mensajes que no están comprendidos por las ELM327 (errores
cadena es una buena manera de confirmar que las conexiones de la computadora y la
de sintaxis) siempre se señalizan por un solo
configuración de software de terminales

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 8 de 94


www.elmelectronics.com
ELM327

La comunicación con el ELM327 (continuación)

signo de interrogación. Estos incluyen mensajes incompletos, incorrectos comandos pueden ser introducidos como se prefiere, ya que nadie método es
comandos AT, o cadenas de dígitos hexadecimales no válidos, pero no más rápido o mejor. El ELM327 también ignora los caracteres de espacio y
son una indicación de si o no el mensaje ha sido entendido por el vehículo. todos los caracteres de control (ficha, etc.), por lo que se puede insertar en
Hay que tener en cuenta que el ELM327 es un intérprete de protocolo que cualquier lugar de la entrada si mejora la legibilidad.
no hace ningún intento para evaluar los mensajes de diagnóstico a bordo
que se envían para su validez - es sólo asegura que se recibieron dígitos Otra característica de la ELM327 es la capacidad de repetir cualquier
hexadecimales, combinados en bytes, luego se envían a través del puerto comando (AT o DAB) cuando se recibe un solo carácter de retorno de carro.
OBD, y lo hace no sé si un mensaje enviado al vehículo estaba en un Si ha enviado un comando (por ejemplo, 01 0C para obtener las
error. revoluciones por minuto), usted no tiene que volver a enviar el comando
completo con el fin de volver a enviar la solicitud al vehículo - sólo tiene que
Al procesar comandos del OBD, el ELM327 supervisará enviar un carácter de retorno de carro y el ELM327 repetirá la comando
continuamente, ya sea para una entrada RTS activo, o un carácter RS232 para usted. El búfer de memoria sólo se acuerda de un comando sin
recibido. Cualquiera de los dos interrumpir el IC, rápidamente de devolver embargo, y no existe ninguna disposición en la corriente ELM327 para
el control al usuario, mientras que, posiblemente abortar cualquier proporcionar almacenamiento para más.
iniciación, etc. que estaba en curso. Después de generar una señal para
interrumpir el ELM327, el software siempre debe esperar a que sea el
carácter símbolo ( '>' o hexagonal 3E), o un nivel bajo en la salida Busy
antes de comenzar a enviar el siguiente comando.

Por último, cabe señalar que el ELM327 no distingue entre


mayúsculas y minúsculas, por lo que los comandos 'ATZ', 'ATZ', y 'AtZ' son
exactamente iguales a la ELM327. Todos

Tenga en cuenta:

Hay una pequeña posibilidad de que caracteres NULL (valor de byte 00) pueden ser insertados en ocasiones en
los datos RS232 que se transmite por el ELM327.

Microchip Technology ha informado de que algunos circuitos integrados que utilizan el mismo EUSART como en el ELM327
pueden, bajo condiciones muy específicas (y raros), insertar un byte adicional (siempre del valor de 00) en los datos transmitidos.
Si está utilizando un programa de terminal para ver los datos, hay que seleccionar la opción 'caracteres de control ocultar' si está
disponible, y si usted está escribiendo software para el ELM327, entonces no hace caso bytes entrantes que son de valor 00 (es
decir. Quita NULL).

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 9 de 94


www.elmelectronics.com
ELM327

Comandos AT

Varios parámetros dentro del ELM327 se pueden ajustar con el fin de que se completó con éxito.
modificar su comportamiento. Estos normalmente no tienen que ser Algunos de los siguientes comandos permiten pasar números
cambiado antes de intentar hablar con el vehículo, pero en ocasiones el como argumentos con el fin de establecer los valores internos. Estos
usuario puede desear personalizar los parámetros - por ejemplo, girando el siempre serán números hexadecimales que generalmente deben ser
carácter eco apagado, el ajuste de un valor de tiempo de espera, o el cambio proporcionados en pares. La tabla de conversión hexadecimal en la
de los bytes de cabecera. Con el fin de hacer esto, se deben utilizar los sección OBD Comandos (página 30) puede ser útil
comandos internos 'en'. Si quieres
interpretar los valores. Además, debe tener en cuenta que para los de encendido /
Quienes están familiarizados con los módems de PC reconocerá apagado tipos de comandos, el segundo carácter es el número 1 o el número 0, los
inmediatamente los comandos AT como una forma estándar en la que los términos universales para el encendido y apagado.
módems se configuran internamente. El ELM327 utiliza esencialmente el
mismo método, siempre viendo los datos enviados por el PC, en busca de El resto de esta página, y las dos páginas siguientes proporcionan
mensajes que comienzan con el carácter 'A' seguido de la letra 'T'. Si lo un resumen de todos los comandos que la versión actual del ELM327
encuentra, los siguientes caracteres se interpretan como una configuración reconoce. Una descripción más completa de cada comando comienza
interna o comando 'at', y se ejecutarán tras la recepción de un carácter de en la página 12. Tenga en cuenta que los ajustes que se muestran con
retorno de carro terminación. Si el comando es sólo un cambio de un asterisco (*) son los valores por defecto.
configuración, el ELM327 responderá por los caracteres 'OK', quiere decir
que

Resumen de comandos AT

Comandos generales Comandos de parámetros programables

<CR> repetir el último comando OFF PP xx Prog desactivar Parámetro xx

BRD hh Velocidad de transmisión tratar Divisor hh PP FF OFF todos los parámetros Prog desactivados

BRT hh establecer la velocidad en baudios de tiempo de espera PP XX sobre permitir xx Parámetro Prog

re establecer todos los valores predeterminados PP FF EN todos los parámetros Prog habilitado

E0, E1 Echo off, o * PP xx yy SV Para XX PP, establezca el valor de yy

FE Olvídese de Eventos PPS imprimir un resumen PP

yo imprimir el identificador de versión

L0, L1 Saltos de línea desactivada o activada


Los comandos de lectura de voltaje
LP ir al modo de bajo consumo
CV dddd Calibrar el voltaje a dd.dd voltios
M0, M1 Memoria desactivada o activada
CV 0000 restaurar el valor CV al ajuste de fábrica
RD Leer los datos almacenados
RV Leer la tensión de entrada
SD hh hh byte de datos Guardar

WS Arranque en caliente (reinicio del software rápida)

Z resetear todo Otro

@1 mostrar la descripción del dispositivo IGN leer el nivel de entrada IgnMon

@2 visualizar el identificador de dispositivo

@ 3 cccccccccccc almacenar el identificador @ 2

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 10 de 94


www.elmelectronics.com
ELM327

Resumen de comandos AT (continuación)

Comandos OBD Comandos específicos J1850 ( los protocolos 1 y 2)

Alabama Permitir largas (> 7 bytes) mensajes IFR0, 1, 2 IFR apagado, automático *, o en

AMC Recuento en pantalla Monitor de Actividad IFR H, S IFR valor de la cabecera * o Fuente

AMT hh establecer el tiempo de espera Actividad lun a SS

Arkansas Recibe automáticamente Comandos específicos ISO ( protocolos de 3 a 5)

AT0, 1, 2 El tiempo de adaptación fuera, auto1 *, auto2


FI realizar una iniciación rápida
BD realizar un volcado Buffer
IB 10 establecer la velocidad ISO Baud a 10.400 *
BI Omitir la secuencia de inicialización
IB 48 establecer la velocidad ISO Baud a 4800
DP Describir el protocolo actual
IB 96 establecer la velocidad ISO Baud a 9600
DPN Describir el Protocolo por el Número
IIA hh establecer ISO (lento) Init Dirección a SS
H0, H1 Encabezados apagado *, o en
KW mostrar las palabras clave
MAMÁ Monitor de toda la
KW0, KW1 Palabra clave de verificación desactivada o activada *
MR hh Monitor para el receptor = hh
SI realizar una iniciación (5 baudios) Slow
MT hh Monitor para el transmisor = hh
SW hh Establecer intervalo de despertador a HH x 20 mseg
NL mensajes de longitud normal *
SW 00 Detener el envío de mensajes de Despertar
ordenador personal Protocolo Cerrar
WM [1 - 6 bytes] establecer el mensaje de despertador
R0, R1 Respuestas desactivada o activada *

RA hh establecer el Recibir dirección a SS


CAN (Comandos específicos protocolos de 6 a C)
S0, S1 la impresión de Espacios desactivada o activada *

xyz SH Conjunto de la cabecera a XYZ CEA apague CAN direccionamiento extendido

xxyyzz SH Conjunto de la cabecera a xxyyzz CEA hh uso puede extendido hh Dirección

CAF0, CAF1 Formato automático desactivada o activada *


wwxxyyzz SH Conjunto de la cabecera a wwxxyyzz
CF hhh configurar el filtro de ID a hhh
SP h Establecer Protocolo h y guardarlo
CF hhhhhhhh configurar el filtro de ID a hhhhhhhh
Ah SP Establecer Protocolo en Auto, h y guardarlo
CFC0, CFC1 Controles de flujo desactivada o activada *
SP 00 Borrar los protocolos almacenados
hhh CM configurar la máscara de ID a hhh

hh SR Establecer la dirección Recibir a SS hhhhhhhh CM configurar la máscara de ID a hhhhhhhh

SS utilizar el orden de búsqueda estándar (J1978) hh CP PUEDE conjunto prioridad a SS (29 bits)

ST hh Establecer tiempo de espera a HH x 4 ms CRA restablecer el Recibe filtros de direcciones

hhh CRA el aparato puede recibir direcciones para hhh


TA hh set probador Dirección a SS
hhhhhhhh CRA configurar la Dirección Rx a hhhhhhhh
TP h Trate Protocolo h
CS mostrar los recuentos de estado pueden
Ah TP Trate Protocolo h con búsqueda automática
CSM0, CSM1 Supervisión silenciosa desactivada o activada *

CTM1 programar el temporizador de multiplicador de 1 *

CTM5 programar el temporizador Multiplicador a 5

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 11 de 94


www.elmelectronics.com
ELM327

Resumen de comandos AT (continuación)

PUEDE comandos específicos (continuación) Comandos específicos J1939 (CAN protocolos de A a C)

D0, D1 pantalla del DLC apagado *, o en DM1 supervisar los mensajes DM1

FC SM h Flujo de control, ajuste el modo en h JE utilizar el formato de datos J1939 Elm *

FC SH hhh FC, establecer la cabecera a HHH JHF0, JHF1 Formateo de cabecera desactivada o activada *

FC SH hhhhhhhh Establecer la cabecera de hhhhhhhh JS utilizar el formato de datos SAE J1939

FC SD [1 - 5 bytes] FC, conjunto de datos a [...]


JTM1 programar el temporizador de multiplicador de 1 *
PB xx yy Opciones Protocolo B y velocidad de transmisión
JTM5 programar el temporizador Multiplicador a 5
RTR enviar un mensaje de RTR
hhhh MP Monitor para PGN 0hhhh
V0, V1 uso de DLC variable apagado *, o en
MP hhhh n “ “Y obtener n mensajes

hhhhhh MP Monitor para PGN hhhhhh

MP HHHHHH n “ “Y obtener n mensajes

Descripción de los comandos AT

A continuación se describe cada una de comandos AT que la


versión actual del ELM327 apoya:

<CR> [Repetir el último comando] AMT hh [Establecer el tiempo de espera de la Ley de lunes a hh]

El envío de un solo carácter de retorno de carro hace que el Cuando el recuento de Monitor de actividad (es decir, el tiempo) supera un
ELM327 para repetir el último comando que eso determinado umbral, el ELM327 decide que no hay ninguna actividad OBD. A
realizado. Esto se usa típicamente cuando se desea obtener cambios a un continuación, podría dar un mensaje de alerta o ACT cambiar al modo de Baja
valor al ritmo más rápido posible, por ejemplo, puede enviar 01 0C para Potencia, dependiendo de cómo se establecen los bits de PP 0F. La configuración
obtener las rpm del motor, a continuación, enviar sólo un carácter de del umbral se determina por cualquiera PP 0F bit 4, o por el valor AMT AT, en caso
retorno de carro cada vez que desea recibir una actualización. de que proporcionarla. El tiempo real de alarma será (hh + 1) x 0.65536 segundos.
Tenga en cuenta que un valor de 00 es aceptado para AMT, pero se utiliza para
bloquear todas las salidas Monitor de Actividad.

Alabama [Permitir mensajes largos]

Los protocolos de OBDII estándar restringen el número de bytes


de datos en un mensaje a siete, que el ELM327 hace normalmente
Arkansas [Ajustar automáticamente la dirección Recibir]
también (para enviar y recibir). Si se selecciona AL, el ELM327 permitirá
envía de largo (ocho bytes de datos) y de larga recibe (sin límite de Respuestas del vehículo serán reconocidos y se muestran por el
número). El valor predeterminado es AL off (y NL seleccionado). ELM327, si el interno almacenado recibir la dirección coincide con
la dirección que la
el mensaje se está enviando a. Con el modo de recepción automática, en

AMC [Recuento en pantalla Monitor de Actividad] efecto, el valor utilizado para la dirección de recepción será elegido en base a
los bytes de cabecera actuales, y se actualizará automáticamente cada vez
El Monitor de Actividad utiliza un contador para determinar qué tan
que se cambian los bytes de cabecera.
activa entradas OBD del ELM327 son. Cada vez que se detecta que la
actividad, este contador se pone a cero, mientras que si no hay actividad,
El valor que se utiliza para la dirección de recepción se determina
el recuento sube (cada
en base a cosas tales como el contenido del primer byte de cabecera, y
0.655 segundos). Esta cuenta representa entonces el tiempo transcurrido
si el mensaje utiliza direccionamiento físico, funcional direccionamiento,
desde la última actividad fue detectada, y puede ser útil al escribir su propia
o si el usuario ha establecido un valor con los comandos SR o RA.
lógica basada en la actividad del OBD. El contador no aumentará más allá FF
(lógica interna se detiene allí), y se mantiene en 00, mientras que el
La recepción automática está activada de forma predeterminada, y no es utilizado
seguimiento.
por el protocolo J1939.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 12 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

AT0, A LA 1 y A LAS 2 [Control de temporización adaptativa] OBD tampón o no. Esto puede ser útil cuando se ve flujos de datos
largos (con AT AL), ya que representa el número real de bytes recibidos,
Al recibir respuestas de un vehículo, el ELM327 tradicionalmente ha
mod 256. Tenga en cuenta que sólo los primeros doce bytes recibidos
esperado el tiempo establecido en la configuración del AT ST hh una
se almacenan en el búfer.
respuesta. Para asegurar que el IC sería trabajar con una amplia variedad
de vehículos, el valor predeterminado se establece en un valor
conservador (lento). A pesar de que era ajustable, muchas personas no
tienen el equipo o la experiencia para determinar un mejor valor. BI [BYPASS la secuencia de inicialización]

Este comando debe utilizarse con precaución. Permite un protocolo


La función de temporización adaptativa ajusta automáticamente el valor OBD para hacerse activo sin requerir ningún tipo de iniciación o protocolo
de tiempo de espera para usted, a un valor que se basa en los tiempos de de enlace de ocurrir. El proceso de iniciación se utiliza normalmente para
respuesta reales de que su vehículo está respondiendo. Como condiciones validar el protocolo, y sin ella, los resultados puede ser difícil de predecir.
tales como la carga de autobús, etc. cambio, el algoritmo aprende de ellos, y lo No se debe utilizar para el uso rutinario del OBD, y sólo se ha
hace apropiado ajustes. Tenga en cuenta que siempre se utiliza la proporcionado para permitir la construcción de simuladores de
configuración de su AT ST hh como el ajuste máximo, y nunca elegirá uno que entrenamiento ECU y manifestantes.
es más largo.

Hay tres ajustes de tiempo de adaptación que están disponibles para su uso.
BRD hh [Tratar Velocidad de transmisión Divisor hh]
Por defecto, la opción de temporización adaptativa 1 (AT1) está activado, y es la
configuración recomendada. AT0 se utiliza para desactivar la temporización Este comando se utiliza para cambiar el divisor velocidad de transmisión

adaptativa (por lo que el tiempo de espera es siempre tal como se establece por AT RS232 al valor hexadecimal proporcionada por hh, mientras que bajo el control del

ST), mientras que AT2 es una versión más agresiva de AT1 (el efecto ordenador. No se pretende para la experimentación informal - si desea cambiar la

es más velocidad de transmisión de un programa de terminal, se debe utilizar 0C PP.

perceptible para las conexiones muy lentas - no puede ver mucha diferencia con
los sistemas de DAB más rápidos). El protocolo J1939 no soporta temporización Dado que algunos circuitos de interfaz no son capaces de funcionar a

adaptativa - que utiliza los tiempos de espera ajustarán a lo establecido en la altas velocidades de datos, el comando BRD utiliza una secuencia de envía y

norma. recibe para probar la interfaz, con cualquier fallo que resulta en una reserva
para la velocidad de transmisión anterior. Esto permite que varias velocidades
de transmisión a ensayar y una confiable elegido para las comunicaciones.
BD [Realizar una Dump OBD Buffer]
Todo el proceso se describe en detalle en la sección 'Uso Superior RS232
Todos los mensajes enviados y recibidos por el ELM327 se almacenan Velocidad de transmisión', en las páginas 50 y
temporalmente en un conjunto de doce ubicaciones de almacenamiento de memoria
llamado el Buffer OBD. De vez en cuando, puede ser de utilidad para ver el contenido 51.
de esta memoria intermedia, tal vez para ver por qué no una iniciación, para ver los Si tiene éxito, la velocidad de transmisión real (en kbps) será
bytes de cabecera en el último mensaje, o simplemente para aprender más de la 4000 dividido por el divisor (hh). El valor 00 no es aceptada por el
estructura de los mensajes de diagnóstico a bordo. Se puede solicitar en cualquier comando BRD.
momento de los contenidos de este tampón a 'dumping' (es decir, impreso) - cuando
lo hace, el ELM327 envía un byte de longitud (que representa la longitud del mensaje
BRT hh [Tiempo de espera establecer la velocidad en baudios a SS]
en la memoria intermedia) seguido por el contenido de los doce posiciones de
memoria intermedia del OBD. Por ejemplo, aquí hay un 'vertedero': Este comando permite que el tiempo de espera utilizado para el apretón de
manos Velocidad de transmisión (es decir. AT BRD) de ser variada. El retardo de
tiempo es dada por hh x 5,0 mseg, donde hh es un valor hexadecimal. El valor
predeterminado de esta configuración es 0F, proporcionando 75 ms. Tenga en
> En BD cuenta que un valor de 00 no da lugar a 0 ms - proporciona el tiempo máximo de
05 C1 33 F1 3E 23 C4 00 00 10 F8 00 00 256 x 5,0 ms, o 1,28 segundos.

El 05 es el byte de longitud - nos dice que sólo los primeros 5 bytes


(es decir, C1 33 F1 3E y 23) son válidos. Los bytes restantes están
CAF0 y CAF1 [CAN automático Formateo apagado o encendido]
probable que quedaron de una operación anterior.
Estos comandos determinar si el ELM327 le ayuda con el
El byte de longitud siempre representa el número real de bytes formato de los datos puede que se envían y reciben. Con CAN
recibidos, si se ajustan a la formato automático

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 13 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

habilitados (CAF1), el formato (PCI) bytes se generan automáticamente al CEA [Cerrar la CAN extendido de direcciones]
enviar, y se eliminará cuando se recibe. Esto significa que usted puede
El comando CEA se utiliza para desactivar las funciones especiales que
seguir para emitir solicitudes de DAB (01 00, etc.), como de costumbre, sin
se establecen con el comando CEA hh.
tener en cuenta los bytes adicionales que pueden requerir sistemas de
diagnóstico. Además, con el formato de, cualquier (no utilizadas) bytes de
CEA hh [Establecer la dirección CAN extendido a SS] Algunos (no
datos adicionales que se reciben en el marco serán eliminados, y se tendrá
OBD) CAN protocolos extender los campos de direccionamiento utilizando el
en cuenta cualquier mensaje con PCI bytes no válidos. (Al supervisar, sin
embargo, los mensajes con PCI bytes no válidos se muestran todas, con un primero de los ocho bytes de datos como una dirección de destino (receptor).

mensaje '<ERROR DE DATOS' al lado de ellos). Este comando permite que el ELM327 para interactuar con esos protocolos.

El envío de comandos al CEA hh hace que el ELM327 para insertar el


respuestas de múltiples cuadros pueden ser devueltos por el vehículo valor hh como el primer byte de datos de todos los mensajes CAN que
con la norma ISO 15765 y SAE J1939. Para hacer estos más legible, el modo envíe. También añade un paso más el filtrado de los mensajes recibidos,
Auto Formateo va a extraer la longitud total de los datos e imprimirlo en una únicos que pasan que tienen la Dirección probador en la primera posición de
línea, a continuación, mostrar cada línea de datos con el número de byte (además de requerir que los bits de ID que coincida con los patrones
segmento seguido de dos puntos ( ':'), y luego los bytes de datos. establecidos por AT CF y CM, o CRA). El comando AT CEA hh puede ser
enviada en cualquier momento, y los cambios son efectivos inmediatamente,
También puede ver los caracteres ' FC:' en una línea (si usted está teniendo en cuenta los cambios de la dirección 'en la marcha'. Hay una más
experimentando). Esto identifica un mensaje de control de flujo que se ha extensa discusión de direccionamiento ampliado en la sección 'Uso de la
enviado como parte de la señalización de mensaje de varias líneas. Los CAN extendido Direcciones' en la página 61.
mensajes de control de flujo son generados automáticamente por el ELM327 en
respuesta a una respuesta 'Primera imagen', siempre y cuando el ajuste está en
CFC (no importa si el formato automático está activado o no). El modo de operación de CEA está desactivada por defecto, y una vez encendido,

se puede desactivar en cualquier momento mediante el envío en el CEA, sin dirección.

Otro tipo de mensaje - el RTR (o 'Solicitud de transferencia Tenga en cuenta que el ajuste de CEA no tiene efecto cuando el formato J1939 está

remota') - se oculta automáticamente cuando en el modo CAF1, ya que encendido.

no contienen datos. Cuando el formateo automático está desactivado


(CAF0), verá los caracteres 'RTR' impresos cuando se ha recibido una CF hhh [Establecer el filtro ID CAN a hhh]
trama de petición de transferencia remota.
El filtro se trabaja en conjunto con la posible aplicar una máscara para
determinar qué información debe ser aceptado por el receptor. A medida que
Al girar el CAN formato automático apagado (CAF0), hará que el
se recibe cada mensaje, los bits de ID CAN entrantes se comparan con los
ELM327 para imprimir todos los bytes de datos que se recibieron. Sin bytes
bits de filtro puede (cuando el bit de máscara es un '1'). Si todos los bits
se ocultaban, y se insertará ninguna para ti. Del mismo modo, cuando se
correspondientes coinciden, se aceptará el mensaje y procesada por el
envían datos con el formato de fuera, debe proporcionar todos los datos
ELM327, de lo contrario será descartado. Esta versión de tres mordisco del
necesarios bytes exactamente como lo son para ser enviado - el ELM327 no
comando Filtro CAN hace que sea un poco más fácil para configurar filtros
añadirá un byte PCI para usted (pero va a añadir un poco de 'padding' bytes
con sistemas de 11 bits de ID CAN. Sólo se utilizan los más a la derecha 11
finales para asegurarse de que los necesarios ocho bytes de datos son
bits de los cuartetos proporcionadas, y se ignora el bit más significativo. Los
enviados). Esto permite que el ELM327 para ser utilizado con los protocolos
datos se almacenan realmente como cuatro bytes sin embargo
que tienen requisitos especiales de formato.
internamente, con este comando añadiendo ceros a la izquierda de los otros
bytes. Consulte el comando (s) CM para más detalles.

Tenga en cuenta que girando la presentación de encabezados en (con


AT H1) anulará parte del formato CAF1 de los datos recibidos, de manera
que los bytes recibidos aparecerán al igual que en el modo de CAF0 (es
decir. Que se recibieron). Es sólo la impresión de los datos recibidos que se
verán afectados cuando ambos modos CAF1 y H1 están habilitados, sin hh hh hh hh CF [ Ajuste del filtro ID CAN para hhhhhhhh]

embargo; cuando se envían datos, el byte PCI todavía se creará para usted y Este comando permite que todos los cuatro bytes (en realidad 29 bits) de
todavía se añadió bytes de relleno. Auto de formato en (CAF1) es la la que se puede filtrar establecer a la vez. Los 3 bits más significativos siempre
configuración predeterminada. serán ignorados, y se pueden dar cualquier valor. Este comando se puede
utilizar para introducir

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 14 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

filtros de identificación de 11 bits, así, ya que se almacenan en los mismos para la longitud. Tenga en cuenta que los tres bits más significativos que se
lugares internamente (entrando AT CF 00 00 0h hh es exactamente el mismo proporcionan en el primer dígito será ignorado.
que entrar en la más corta de comandos AT CF hhh).

hh CP [CAN conjunto bits de prioridad a SS]

Este comando se utiliza para asignar los cinco bits más significativos
CFC0 y CFC1 [CAN flujo de control apagado o encendido]
del ID CAN 29 bits que se utiliza para enviar mensajes (los otros 24 bits se
El protocolo CAN ISO 15765-4 espera un mensaje de 'control establecen con el comando AT SH). Muchos sistemas utilizan estos bits
de flujo' que se enviará siempre en respuesta a un mensaje de para asignar un valor de prioridad a los mensajes, y para determinar el
'Primera imagen', y el ELM327 envía automáticamente estos sin protocolo. Todos los bits proporcionados en exceso de la requerida cinco
ninguna intervención por parte del usuario. Si experimentando con son ignorados, y no se almacenan por el ELM327 (que sólo utiliza los cinco
un sistema no-DAB, puede ser deseable convertir esta respuesta bits menos significativos de este byte). El valor por defecto para estos bits
automática, y el comando AT CFC0 se ha previsto a tal efecto. de prioridad es hexagonal 18, que se puede restaurar en cualquier
momento con el comando AT D.

A partir de la versión de firmware 2.0, estos comandos también


activar o desactivar el envío de mensajes J1939 TP.CM_CTS en respuesta
a las peticiones TP.CM_RTS. CRA [Restablecer la CAN Rx Dir]
Durante el seguimiento (TA MA, MR, o MT), nunca hay controles de flujo
El comando AT CRA se utiliza para restaurar los filtros pueden recibir a sus
enviados no importa lo que la opción de CFC se establece en. La
valores por defecto. Tenga en cuenta que no tiene ningún argumento (es decir, no
configuración por defecto es CFC1 - Controles de flujo en.
hay datos).

hhh CRA [Establecer la CAN Rx Dir a hhh]


hhh CM [Indicar una máscara de ID CAN a hhh]
Configuración de las máscaras de la CAN y filtros puede ser difícil
No puede haber un gran número de mensajes que se transmiten en un
a veces, así que si sólo desea recibir información de una dirección (es
sistema CAN en un momento dado. Con el fin de limitar lo que los ELM327
decir. Un ID CAN), luego esto
puntos de vista, es necesario que haya un sistema de filtración de los relevantes
comando puede ser muy bienvenido. Por ejemplo, si sólo desea ver
de todos los demás. Esto se logra por el filtro, que trabaja en conjunto con la
la información de 7E8, sólo tiene que enviar AT CRA 7E8, y el
máscara. Una máscara es un grupo de bits que muestran la ELM327 que los
ELM327 hará los ajustes necesarios tanto a la máscara y el filtro
bits en el filtro son relevantes, y cuáles pueden ser ignorados. A 'debe coincidir'
para usted.
situación se indica mediante el establecimiento de un bit de máscara a '1',
Si desea permitir la recepción de un rango de valores, puede utilizar la
mientras que un 'no me importa' se señaliza mediante el establecimiento de un
letra X para significar un 'no me importa' condición. Es decir, en CRA 7EX
poco a '0'. Esta variación de tres dígitos de la orden CM se utiliza para
permitiría que todos los identificadores que comienzan con 7E pasen (7E0, 7E1,
proporcionar los valores de máscara para los sistemas de 11 bits de ID (el bit
etc.). Para una gama más específica de ID, es posible que tenga que asignar
más significativo siempre se ignora).
una máscara y filtro.

Para revertir los cambios realizados por el comando CRA, sólo


Tenga en cuenta que una ubicación de almacenamiento común se utiliza
tiene que enviar AT CRA o AT AR.
internamente para las máscaras de 29 bits como de 11 bits, por lo que una máscara de
11 bits podrían haber recibido con el siguiente comando (CM hh hh hh hh), en caso de
que desee hacer la tipificación adicional. Los valores son justificados a la derecha, por hhhhhhhh CRA [ Coloca la lata Rx Dir a hhhhhhhh]
lo que necesitarían para proporcionar cinco ceros a la izquierda, seguido de los tres Este comando es idéntico al anterior, excepto que se utiliza con
bytes de la máscara. los ID de 29 bits puede. Ya sea en el envío de CRA o AT AR también
deshacer los cambios realizados por este comando.

CM hh hh hh hh [ ajustar la máscara de ID CAN para hhhhhhhh]

Este comando se utiliza para asignar valores de máscara de bits de los CS [Mostrar los recuentos de estado pueden]

sistemas de identificación 29. Véase la discusión bajo el mando CM hhh, ya que El protocolo CAN requiere que se mantienen estadísticas sobre el
es esencialmente idéntico, excepto número de errores de transmisión y recepción

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 15 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

detectado. Si debe haber un número significativo de errores (debido a un El argumento ( 'dddd') siempre debe proporcionarse como 4 dígitos,
problema de hardware o software), el dispositivo va a ir fuera de línea con sin punto decimal (se supone que el lugar decimal está entre el
el fin de no afectar a otros datos en el bus. El comando AT CS le permite segundo y el tercer dígitos).
ver tanto en el transmisor (Tx) y recuentos de errores del receptor (Rx), en
hexadecimal. Si el transmisor debe estar apagado (cuenta Para utilizar esta función, basta con utilizar un medidor de precisión
para leer el voltaje de entrada real, a continuación, utilizar el comando CV
> FF), verá 'OFF' en lugar de un recuento específico. para cambiar el factor de calibración interna (escala). Por ejemplo, si el
ELM327 muestra la tensión como 12.2V mientras mide 11,99 voltios, a

CSM0 y CSM1 [CAN silencioso Monitoreo apagado o encendido] continuación, enviar CV EN 1199 y el ELM327 volverá a calibrar sí para que
la tensión (que en realidad va a leer 12.0V debido al redondeo dígitos).
El ELM327 fue diseñado para ser totalmente silencioso durante el
Consulte la página 29 para más información alguna sobre cómo leer las
seguimiento de un bus CAN. Debido a esto, es capaz de informar
tensiones y llevar a cabo la calibración.
exactamente lo que ve, sin colorear la información de ninguna manera.
Ocasionalmente (cuando pruebas de banco, o cuando se conecta a un
puerto CAN dedicado), se puede preferir que el ELM327 no funciona en
CV 0000 [Restaurar la calibración de fábrica Valor] Si usted
silencio (es decir, genera bits ACK, etc.), y esto es lo que el comando CSM
es para. CSM1 lo enciende, CSM0 lo apaga, y el valor predeterminado es está experimentando con el comando CV dddd, pero no tiene un

determinado por el PP 21. Tenga cuidado al experimentar con esto. Si voltímetro preciso como una referencia, es posible que pronto se meten
tuviera que elegir la velocidad de transmisión mal entonces monitorear el en problemas. Si esto ocurre, siempre se puede enviar CV EN 0000
bus CAN con la supervisión silenciosa apagado, se le perturbe el flujo de para restaurar el ELM327 con el valor de calibración original.
datos. Siempre mantenga la supervisión silenciosa hasta que esté seguro
de que ha elegido la velocidad de transmisión correcta.

re [Establecer todos los valores predeterminados]

Este comando se utiliza para configurar las opciones a sus valores por defecto
(o fábrica), como cuando se aplica potencia en primer lugar. El último protocolo
almacenado se recupera de la memoria, y se convertirá en la configuración actual
CTM1 [Programar el temporizador Multiplicador a 1]
(posiblemente de cierre otros protocolos que están activas). Cualquier configuración
Este comando hace que todos los tiempos de espera establecidos por AT ST a que el usuario había hecho para cabeceras personalizadas, filtros o máscaras se
multiplicarse por un factor de 1. Tenga en cuenta que esta actualmente sólo afecta a los restaurarán a sus valores por defecto, y todos los ajustes del temporizador también se
protocolos de la CAN (6 a C). CTM1 es la configuración predeterminada. restaurarán a sus valores predeterminados.

CTM5 [Programar el temporizador Multiplicador a 5] D0 y D1 [Pantalla de DLC apagado o encendido]

Este comando hace que todos los tiempos de espera establecidos por AT ST a Norma CAN (ISO 15765-4) OBD requiere que todos los mensajes
multiplicarse por un factor de 5. Tenga en cuenta que esta actualmente sólo afecta a los tienen 8 bytes de datos, por lo que muestra el número de bytes de
protocolos de la CAN (6 a C). datos (DLC) normalmente no es muy útil. Al experimentar con otros
Este comando se agregó originalmente (como JTM5) para asistir en la protocolos, sin embargo, puede ser útil ser capaz de ver lo que las
recuperación de algunos mensajes J1939. Desde entonces hemos tenido varias longitudes de datos son. Los comandos D0 y D1 controlan la
solicitudes de autorización que afecte a todos los modos de la CAN, y así han visualización del dígito DLC (las cabeceras también debe estar en el fin
modificado el código JTM5 y ha añadido los nuevos comandos de CTM1 / de ver este dígito). Cuando se muestra, el único dígito DLC aparecerá
CTM5. Si se utiliza CTM5, advertimos que el código de temporización entre los bytes de ID (de cabecera) y los bytes de datos. La
adaptativa no supervisa los cambios en el entorno, por lo que se aconseja configuración por defecto está determinado por PP 29.
apagarlo (con AT AT0).

Por defecto, este multiplicador está apagado.

DM1 [Monitor para SD1]


CV dddd [Calibrar el voltaje a dd.dd voltios] El protocolo SAE J1939 emite periódicamente los códigos de
La lectura de voltaje que el ELM327 muestra para una solicitud de problemas, a través de mensajes de diagnóstico Modo 1 (DM1). Este
RV AT puede ser calibrado con este comando. comando establece el ELM327 a

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 16 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

monitorear continuamente para este tipo de mensaje para que, después de requerido por el protocolo. Datos proporcionados con este comando sólo
varios segmentos transporte como protocolos se utiliza cuando los modos de control de flujo 1 o 2 se han habilitado.
necesario. Tenga en cuenta que una combinación de máscaras y filtros se podría
establecer para proporcionar una salida similar, pero que no iba a permitir que se
detecten mensajes de varias líneas. El comando DM1 añade la lógica adicional que FC SH hhh [Control de flujo Conjunto de la cabecera a ...]
se necesita para los mensajes de varias líneas.
La cabecera (o más propiamente 'CAN ID') bytes utilizados para los
mensajes de control de flujo puede se puede ajustar usando este comando.
Este comando sólo está disponible cuando un protocolo CAN
Sólo más a la derecha 11 bits de los proporcionados serán utilizados -
(A, B, o C) ha sido seleccionada para el formato J1939. Se devuelve
el bit más significativo es
un error si se intenta en otras condiciones.
siempre eliminado. Este comando sólo afecta el modo de control de flujo
1.

DP [Describir el protocolo actual]


FC SH hhhhhhhh [Control de flujo Conjunto de la cabecera a ...]
El ELM327 detecta automáticamente el protocolo OBD del vehículo,
Este comando se utiliza para establecer la cabecera bits para las
pero normalmente no informa de qué se trata. El comando DP es un medio
respuestas de regulación de caudal en sistemas de identificación de CAN 29 bits
conveniente para preguntar qué protocolo de la IC está configurado
(o "ID CAN). Desde los 8 cuartetos definen 32 bits, sólo se utilizarán más a la
actualmente (aunque todavía no ha 'conectado' al vehículo).
derecha 29 bits de los proporcionados - los más significativos tres bits siempre se
eliminan. Este comando sólo afecta el modo de control de flujo 1.
Si se elige un protocolo y la opción automática también se selecciona, AT
DP mostrará la palabra 'AUTO' antes de la descripción del protocolo. Tenga en
cuenta que la descripción se muestran los nombres de protocolos reales, no los
números utilizados por la configuración de los comandos de protocolo. FC SM h [Control de flujo del modo Set a h]

Este comando establece cómo el ELM327 responde a los mensajes


primer fotograma cuando se habilitan las respuestas automáticas de control de
DPN [Describir el Protocolo por el número] flujo. El dígito único previsto puede ser o bien '0' (por defecto) para las
respuestas automáticas, '1' para las respuestas completamente definidos por el
Este comando es similar al comando DP, pero devuelve un
usuario, o '2' para definidos por el usuario bytes de datos en la respuesta.
número que representa el protocolo actual. Si la función de
Tenga en cuenta que los modos FC 1 y 2 sólo se puede activar si se han
búsqueda automática también está activada, el número será
definido los datos necesarios y, posiblemente, bytes de identificación. Si no lo
precedido por la letra 'A'. El número es el mismo que se utiliza con
ha hecho, obtendrá un error. Más detalles completos y ejemplos se pueden
los comandos de protocolo SET y protocolo de ensayo.
encontrar en la sección de mensajes de control de flujo Alterar (página 60).

E0 y E1 [Echo apagado o encendido]


FE [Forget Eventos]
Estos comandos de control si los caracteres recibidos en el puerto
Hay ciertos eventos que pueden cambiar la forma en la ELM327
RS232 se hizo eco (retransmitido) de nuevo al equipo anfitrión. eco de
responde a partir de entonces. Uno de estos es la ocurrencia de un error
caracteres se pueden utilizar para confirmar que los caracteres enviados
fatal CAN (ERR94), que bloquea posteriores búsqueda a través de
al ELM327 se recibieron correctamente. El valor por defecto es E1 (o
protocolos CAN si PP 2A bit 5 es '1'. Normalmente, un acontecimiento
eco sucesivamente).
como esto afectará a todas las búsquedas hasta la próxima y apaga la
alimentación, pero puede ser 'olvidado' el uso de software, con el
comando AT FE.
FC SD [1-5 bytes] [Control de flujo de datos para que ...]

Los bytes de datos que se envían en un mensaje de control puede Otro ejemplo es un evento 'LV de RESET' que evitará que las
fluir pueden definirse con este comando. Uno a cinco bytes de datos búsquedas a través de protocolos CAN si PP 2A bit 4 es '1'. También
pueden especificarse con el resto de los bytes de datos en el mensaje puede ser olvidado con el comando AT FE.
que se ajusta automáticamente al valor predeterminado CAN llenador de
bytes, si

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 17 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

FI [Realizar una iniciación rápida] exactamente qué circuito integrado que está hablando con, y sin tener que
reiniciar el CI.
Una versión del protocolo de palabras clave utiliza lo que se conoce como
un 'rápido secuencia de iniciación' para comenzar
comunicaciones. Por lo general, esta secuencia se realiza cuando el primer IB 10 [Establecer la velocidad ISO baudios a 10400]

mensaje debe ser enviado, y entonces el mensaje se envía inmediatamente Este comando restaura la norma ISO 9141-2 e ISO 14230-4 velocidades
después. Algunos ECU puede necesitar más tiempo entre los dos, sin embargo, y de transmisión al valor predeterminado de 10400.
teniendo un comando separado de iniciación le permite controlar este tiempo.
Basta con enviar EN FI, esperar un poco, a continuación, enviar el mensaje. Es
IB 48 [Establecer la velocidad ISO Baud 4800]
posible que tenga que experimentar para obtener la cantidad adecuada de
demora. Este comando se utiliza para cambiar la velocidad de transmisión
utilizada para los ISO 9141-2 e ISO 14230-4 protocolos (números 3, 4 y 5)
Otro uso de este comando podría ser si desea llevar a cabo una a 4.800 baudios, mientras se relaja algunos de los requisitos para las
iniciación rápida con un protocolo de tipo ISO 9141 (es decir, 3 - Formato de transferencias de byte iniciación. Puede ser útil para experimentar con
CARB). Sólo tiene que seguir estos pasos para hacerlo: algunos vehículos. Normal (10.400 baudios) la operación se puede
restaurar en cualquier momento con el comando IB 10.

AT SP 5 AT
FI AT SP 3 IB 96 [Establecer la velocidad ISO Baud a 9600]
AT BI
Este comando se utiliza para cambiar la velocidad de transmisión
utilizada para los ISO 9141-2 e ISO 14230-4 protocolos (números 3, 4 y 5)
y usted debería ser capaz de entonces comunicarse con la ECU. Tenga en a 9.600 baudios, mientras se relaja algunos de los requisitos para las
cuenta que no se requiere un protocolo de cierre (es decir, en PC) en el transferencias de byte iniciación. Puede ser útil para experimentar con
código anterior, como el ELM327 realiza automáticamente cuando se algunos vehículos. Normal (10.400 baudios) la operación se puede
cambia una protocolos. restaurar en cualquier momento con el comando IB 10.
Protocolo 5 debe ser seleccionado para utilizar el comando AT FI, o
se producirá un error.
IFR0, IFR1, y IFR2 [Control IFR]
H0 y H1 [Headers OFF u ON] El protocolo SAE J1850 permite una respuesta in-Frame (IFR) byte
Estos comandos de control si o no los (cabecera) bytes para ser enviado después de cada mensaje, por lo general para
adicionales de información se muestran en las respuestas del reconocer la correcta recepción de ese mensaje. El ELM327 genera
vehículo. Éstos no se muestran normalmente por el ELM327, pero automáticamente y envía este byte para usted por defecto, pero se
pueden ser de interés (especialmente si recibe respuestas múltiples puede anular este comportamiento con este comando.
y desea determinar qué módulos que eran de).
El comando AT IFR0 será desactivar el envío de todos los informes
Girando las cabeceras de (con AT H1) en realidad muestra algo financieros provisionales, no importa lo que los bytes de cabecera requieren. EN
más que los bytes de cabecera - verá el mensaje completo tal como se IFR2 es lo contrario - que hará que un byte a IFR enviará siempre, no importa lo
transmite, incluyendo los bytes de comprobación-dígitos y PCI, y que digan los bytes de cabecera. El comando AT IFR1 es el modo por defecto,
posiblemente el código de longitud de datos CAN (DLC) si ha sido con el envío de informes financieros provisionales determinados por el bit 'K' del
habilitado con PP 29 o en D1. La versión actual de este IC no muestra primer byte de cabecera (por PWM y VPW).
el código puede CRC, ni los bytes especiales J1850 IFR (que utilizan
algunos protocolos de acusar recibo de un mensaje).
IFR H y IFR S [IFR del encabezado o Fuente]

El valor enviado en el byte J1850 In-Frame Respuesta (IFR) es


normalmente el mismo que el valor que se envía el byte como dirección
yo [ Identifícate ] de origen (o probador) que estaba en la cabecera de la solicitud. Puede
La emisión de este comando hace que el chip para identificarse a sí mismo, haber ocasiones en las que es deseable utilizar algún otro valor, sin
mediante la impresión de la cadena de identificación del producto de arranque (en la embargo, y este conjunto de comandos permite esto.
actualidad 'ELM327 v2.1'). El software se puede usar esto para determinar

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 18 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

Si envía de IFR S, el ELM327 usará el valor definido como La norma J1939 requiere que las solicitudes PGN enviados junto con la
dirección de origen (generalmente F1, pero puede ser cambiado con el orden de bytes invertido a partir de la orden estándar de 'izquierda a derecha',
PP 06), incluso si otro valor fue lanzado en los bytes de cabecera. Esto que muchos de nosotros podría esperar. Por ejemplo, para enviar una solicitud
no es lo que normalmente se requiere, y se debe tener precaución de la temperatura del motor (PGN 00FEEE), los bytes de datos son en realidad
cuando se utiliza de IFR de IFR S. H restaura el envío de los bytes IFR envían en el orden inverso (es decir, EE FE 00), y el ELM327 se esperaría
a las previstas en la cabecera, y es la configuración predeterminada. normalmente que proporcione los datos en ese orden para la transmisión de en
el vehículo.

Al experimentar, esta necesidad constante de las inversiones


IGN [Leer el nivel de entrada IgnMon] de bytes puede ser muy confuso, por lo que hemos definido un
formato ELM que invierte los bytes para usted. Cuando el formato
Este comando lee el nivel de señal en el pin 15. Se supone que el
J1939 ELM (JE) está habilitado, y tiene un protocolo J1939
nivel lógico se relaciona con la tensión de encendido, por lo que si la
seleccionado, y le proporcionará tres bytes de datos al ELM327, se
entrada está en un nivel alto, la respuesta será 'ON', y un bajo nivel
invertirá el fin de que antes de enviarlos a la ECU. Solicitar a la PGN
reportará 'OFF' .
temperatura del motor, usted enviaría 00 FE EE (y no EE FE 00). El
Esta característica es muy útil si desea realizar las funciones de
tipo 'JE' de formato automático está activado por defecto.
control de potencia utilizando su propio software. Si inhabilita la respuesta
automática de baja potencia a una entrada baja de este pin (poniendo el bit
2 del PP 0E a 0), entonces el pin 15 funcionará como la entrada RTS. Un
nivel bajo en la entrada no se enciende la alimentación, pero se interrumpirá
JHF0 y JHF1 [ J1939 cabecera de formato apagado o encendido]
cualquier actividad OBD que está en curso. Todo lo que necesita hacer es
detectar el mensaje 'DETENIDO' que se envía cuando se interrumpe el Al imprimir respuestas, el ELM327 normalmente da formato a la ID
ELM327, y compruebe el nivel del terminal 15 utilizando en IGN. Si se J1939 (es decir Header) bits en una manera tal como para aislar los bits de
encuentra que es OFF, se puede realizar un apagado ordenado a sí mismo. prioridad y el grupo de toda la información PGN, mientras se mantiene el byte
de dirección fuente separada. Si prefiere ver la información de identificación
como cuatro octetos separados (los cuales una gran parte del software J1939
parece hacer), entonces sólo tiene que apagar el formato con JHF0. El

IIA hh [Configurar la Dirección ISO Init a SS] comando CAF0 tiene el mismo efecto (y anula la configuración de JHF), sino
que también afecta a otros formatos. La configuración por defecto es JHF1.
Las normas ISO 9141-2 e ISO 14230-4 afirman que al comenzar
una sesión con una ECU, la secuencia de iniciación debe ser dirigida a
una dirección específica ($ 33). Si desea experimentar dirigiendo los
cinco secuencia de transmisión lenta a otra dirección, que se realiza
JS [Permite el formato de datos SAE J1939]
con este comando. Por ejemplo, si se prefiere que la iniciación se lleva
a cabo con la ECU en la dirección $ 7A, a continuación, sólo tiene que El comando AT JS desactiva el reordenamiento de bytes automática
enviar: que realiza el comando JE para usted. Si desea enviar bytes de datos al
vehículo J1939 sin ningún tipo de manipulación del orden de bytes (es decir,
en el orden especificado por los documentos SAE), a continuación,
> En el IIA 7A seleccione el formato de JS.

y el ELM327 utilizará esa dirección cuando se llama a hacerlo (protocolos 3 o 4). El A modo de ejemplo, al enviar una solicitud de la temperatura del
valor total de ocho bits se utiliza exactamente como proporcionado - no se hacen motor (PGN 00FEEE) con el formato de datos se establece en JS, debe
cambios a la misma (es decir, sin la adición de bits de paridad, etc.) presentar los bytes al ELM327 como EE FE 00 (esto también se conoce
como orden de los bytes littleEndian).
Tenga en cuenta que el establecimiento de este valor no afecta a los valores de las

direcciones utilizadas en los bytes de cabecera. La dirección de inicio ISO se restaura a $ El tipo JS de formateo de datos está desactivada por defecto.
33 cada vez que los valores por defecto, o el ELM327, se ponen a cero.

JTM1 [Establecer el J1939 Timer Multiplicador a 1]

Este utiliza para ajustar el multiplicador de tiempo AT ST a 1, para el


JE [Permite el formato de datos J1939 ELM]
protocolo SAE J1939. A partir de v2.1 firmware, este

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 19 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

comando ahora simplemente llama al comando CTM1. programa de terminal, pero fuera de si se utiliza un interfaz de ordenador a medida
(como los caracteres adicionales de transmisión sólo servirá para retrasar las

JTM5 [Establecer el J1939 Timer Multiplicador a 5] comunicaciones hacia abajo). El ajuste predeterminado se determina por el voltaje en
el pin 7 durante el encendido (o reset). Si el nivel es alto, entonces saltos de línea
Este utiliza para ajustar el multiplicador de tiempo AT ST a 5, para el
están activados de forma predeterminada; de lo contrario será apagado.
protocolo SAE J1939. A partir del firmware v2.1, este comando ahora
simplemente llama al comando CTM5.

LP [Ir al modo de bajo consumo]


KW [Mostrar las palabras claves]
Este comando hace que el ELM327 para apagar todos los servicios
Cuando se inicializan los protocolos ISO 9141-2 e ISO 14230-4,
esenciales, pero '' con el fin de reducir el consumo de energía al mínimo. El
dos bytes especiales (palabras clave) se pasan a la ELM327 (los
ELM327 responderá con un (pero sin retorno de carro) 'OK' y luego, un
valores se utilizan internamente para determinar si una variación
segundo más tarde, va a cambiar el estado de la salida PwrCtrl (pin 16) y
protocolo particular puede ser apoyado por el ELM327). Si desea ver
entrará en el modo de bajo consumo de energía (en espera). El IC puede
lo que fuera el valor de estos bytes, sólo tiene que enviar el
ser devuelto a la operación normal a través de un carácter recibido en la
comando AT KW.
entrada RS232 o un flanco ascendente en la IgnMon (pin 15) de entrada,
además de los métodos habituales de restablecer el IC (apagado de
entonces, un bajo en el pin 1, o una baja de voltaje). Vea la sección de
KW0 y KW1 [Key Word comprueba apagado o encendido] control de energía (página 64) para obtener más información.
El ELM327 busca bytes específicos (llamados palabras clave) para
ser enviados a él durante la ISO 9141-2 y secuencias de iniciación
ISO14230-4. Si no se encuentran los bytes, se dice que la iniciación de
haber fallado (es posible que vea 'NO SE PUEDE CONECTAR' o quizás M0 y M1 [Memoria apagado o encendido]
'INIT BUS:
El ELM327 tiene memoria interna 'no volátil' que es capaz de
... ERROR'). Esto podría ocurrir si está intentando conectarse a una
recordar el último protocolo utilizado, incluso después de la alimentación
ECU no compatible con OBD, o tal vez a una más antigua.
está apagada. Esto puede ser conveniente si el IC se utiliza a menudo
para un protocolo particular, como que será el primero intentó cuando se
Si desea experimentar con sistemas no estándar, puede que
enciende el siguiente en. Para activar esta función de memoria, es
tenga que decirle al ELM327 para llevar a cabo la secuencia de
necesario o bien utilizar un comando AT para seleccionar la opción M1, o
iniciación, pero ignorar el contenido de los bytes que se envían y
tener 'memoria en' elegido como el poder de forma predeterminada en el
reciben. Para ello, envíe:
modo (conectando el pin 5 del ELM327 a un nivel lógico alto).
> EN KW0

Después de girar fuera de los análisis de palabras, el ELM327


Cuando está activada la función de memoria, cada vez que el ELM327
todavía requerirá los dos bytes de palabras clave en la respuesta, pero
encuentra un protocolo OBD válida, se memoriza ese protocolo (almacenado)
no mirará a los valores reales de los bytes. También enviará un acuse
y se convertirá en el nuevo valor predeterminado. Si la función de memoria no
de recibo a la ECU, y esperará a la respuesta final de ella (pero no se
está activado, los protocolos que se encuentran durante una sesión no se
detendrá y reportar un error si no recibe nada). Esto puede permitirle
guardarán, y el ELM327 empezarán siempre al encender el dispositivo usando
hacer una conexión en una situación de otra manera 'imposible'. El
el mismo protocolo (como último).
comportamiento normal puede ser devuelto con AT KW1, que es la
configuración predeterminada.
Si el ELM327 es para ser utilizado en un entorno donde el protocolo
está en constante cambio, es probable que sea mejor para activar la
función de memoria apagado, y emitir un comando AT SP 0 una vez. El
L0 y L1 [Avances de línea apagado o encendido] comando SP 0 le dice al ELM327 para empezar en un protocolo de modo
Esta opción controla el envío de linea de alimentación de búsqueda 'Automatic', que es el más útil para un entorno desconocido.
personajes después de cada retorno de carro. Para AT L1, saltos de ICs vienen de fábrica ajustada en esta modalidad. Si, sin embargo, sólo
línea se generan después de cada retorno de carro, y durante al L0, tiene un vehículo que se conecta regularmente para, almacenar protocolo
van a estar apagado. Los usuarios generalmente desean tener esta de ese vehículo como el valor predeterminado haría más sentido.
opción si se utiliza una

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 20 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

El ajuste de la función de memoria por defecto está determinado por el nivel hhhh MP [Monitor para PGN hhhh]
de tensión en el pin 5 durante el encendido (o reinicio del sistema). Si está
Los comandos AT MA, MR y MT son muy útiles para cuando se
conectado a un alto nivel (V DD), a continuación, la función de memoria será activado
desea monitorizar un byte específico en el encabezamiento de un
de manera predeterminada. Si el pin 5 está conectado a un nivel bajo, el ahorro de
mensaje típico del OBD. Para el Protocolo SAE J1939, sin embargo, a
memoria será desactivada por defecto.
menudo es deseable vigilar para el multi-byte Números grupo de
parámetros (PGN), o que pueden aparecer en el encabezado, o los
bytes de datos. El comando MP es un único comando especial J1939
MAMÁ [Monitorear Todos los mensajes] que se utiliza para buscar respuestas a una solicitud de PGN en
Este comando coloca el ELM327 en un modo de supervisión del particular.
bus, en el cual supervisa de forma continua (y) muestra todos los
mensajes que se ve en el bus OBD. Es un monitor tranquila, no enviar Tenga en cuenta que este comando MP no proporciona medios
en las respuestas de marco para los sistemas J1850, Reconoce los para fijar los dos primeros dígitos del PGN solicitado, y siempre se
sistemas de CAN (a menos que active el modo silencio con CSM0), o supone que son 00. Por ejemplo, la DM2 PGN tiene un valor
Despertar ( 'keep-alive') mensajes para el 9141 e ISO 14230 protocolos asignado de 00FECB (ver SAE J1939-73). Para supervisar los
ISO. Monitoreo continuará hasta que la detenga con la actividad en la mensajes DM2, usted debe ejecutar en MP FecB, eliminando la 00,
entrada RS232, o por el pin RTS. ya que el comando MP hhhh supone siempre que el PGN es
precedida por dos ceros.

Para detener la supervisión, sólo tiene que enviar cualquier carácter Este comando sólo está disponible cuando un protocolo CAN (A,
individual a la ELM327, a continuación, esperar a que se responde con un B, o C) ha sido seleccionada para el formato SAE J1939. Se devuelve
carácter de símbolo ( '>'), o una salida de nivel bajo en el pin ocupado. un error si se intenta en otras condiciones. Tenga en cuenta también
(Ajuste de la entrada RTS a un nivel bajo, se interrumpa el dispositivo que esta versión del ELM327 sólo muestra las respuestas que
también.) Esperando el símbolo es necesario ya que varía el tiempo de coinciden con los criterios, no las peticiones que piden la información
respuesta en función de lo estaba haciendo la IC cuando se interrumpió. Si, PGN.
por ejemplo, que estaba en el medio de imprimir una línea, primero
completar esa línea y luego imprimir 'DETENIDO', antes de volver al estado
de instrucción y el envío de un carácter inmediato. Si fuera simplemente MP hhhh n [Monitor para PGN, obtener n mensajes]
esperando una entrada, se volvería mucho más rápido. Tenga en cuenta
Esto es muy similar al comando anterior, pero añade la posibilidad de
que el carácter que se detiene el seguimiento siempre será descartado, y no
establecer el número de mensajes que deben captarse antes del ELM327
afectará a los comandos posteriores.
detiene automáticamente el monitoreo e imprime un carácter de símbolo.
El valor 'n' puede ser cualquier dígito hexadecimal único.

Si se utiliza este comando con los protocolos de la CAN, y si el realizar


un filtrado y / o máscara fueron previamente establecido (con CF, CM o
hhhhhh MP [Monitor para PGN hhhhhh]
CRA), entonces el comando MA se verá afectada por los ajustes. Por
ejemplo, si la dirección de recibir se había establecido previamente con CRA Este comando es muy similar al comando de la MP hhhh, sino que
4B0, a continuación, el comando AT MA sólo sería capaz de 'ver' los se extiende el número de bytes proporcionados por uno, por lo que existe
mensajes con un ID de 4B0. Esto puede no ser lo que se desea - es posible un control total sobre la definición PGN (no hace la suposición de que el
que desee restablecer las máscaras y filtros (con AT AR o por lo CRA) en bit de datos de la página es 0, como la P. hhhh comando hace). Esto
primer lugar. permite la expansión futura, deben definirse PGN adicionales con el bit
de la página de datos. Tenga en cuenta que sólo el bit de datos de la
Todos los comandos de supervisión (MA, MR y MT) operan página es relevante en el byte adicional los demás bits se ignoran.
mediante el cierre del protocolo actual (un PC AT se ejecuta
internamente), antes de configurar el IC para el seguimiento de los
datos. Cuando el siguiente comando OBD se va a transmitir, de nuevo
se inicializará el protocolo, y usted puede ver los mensajes que indica MP HHHHHH n [Monitor para PGN, obtener n mensajes]
esta.
Esto es muy similar a la orden anterior, pero añade la posibilidad
'Buscando ... también se puede apreciar, dependiendo de qué cambios se
de establecer el número de mensajes que deben captarse de forma
hicieron durante el seguimiento.
automática antes de que el ELM327

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 21 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

detiene la supervisión e imprime un carácter inmediato. El valor 'n' puede ser Al igual que con el comando AT MA, este comando se inicia
cualquier dígito hexadecimal único. mediante la realización de un primer protocolo interno. solicitudes
OBD posteriores pueden mostrar 'Buscando' o 'INIT BUS', etc.
MR hh [Monitor para el receptor hh] mensajes cuando se reactiva el protocolo.

Este comando es muy similar al comando AT MA excepto que sólo


mostrará los mensajes que fueron enviados a la dirección hexadecimal dada
NL [mensajes de longitud normal]
por SS. Estos son mensajes que se han encontrado para tener las hh valor
en el segundo byte de una cabecera de OBD tradicional de tres bytes, en Ajuste del modo de NL en todas las fuerzas envía y recibe a limitarse a
los bits 8 a 15 de un bit 29 CAN ID, o en los bits 8 a 10 de un 11 bits puede los estándares siete bytes de datos de longitud, similar a los otros ELM32x
ID. Cualquier carácter individual RS232 aborta el monitoreo, al igual que con OBD circuitos integrados. Para permitir que los mensajes más largos, utilice el
el comando MA. comando AL.
Comenzando con v1.2, el ELM327 no requiere un cambio en AL para permitir
Tenga en cuenta que si este comando se utiliza con los protocolos de longitudes de mensajes más largos para los protocolos de KWP a ser recibidos (como
la CAN, y si el realizar un filtrado y / o la máscara se ha establecido se determina por los valores de longitud de la cabecera). Usted puede simplemente
previamente (con CF, CM o CRA), entonces el comando MR sobre-escribir dejar el conjunto CI a la configuración predeterminada de la Liga Nacional, y todos los
los valores previos de sólo estos bits - los demás permanecerá sin cambios. bytes recibidos será mostrado.
A modo de ejemplo, si la dirección de recibir se ha establecido con CRA
4B0, y le enviará MR 02, el 02 reemplazará al 4, y las máscaras de la CAN /
filtros sólo permitirá identificadores que son iguales a 2B0. A menudo, esto PB xx yy [Establecer los parámetros de Protocolo B]
no es lo que se desea - es posible que desee restablecer las máscaras y
Este comando le permite cambiar el protocolo B (USUARIO 1)
filtros (con AT AR) en primer lugar.
Opciones y velocidad de transmisión sin tener que cambiar los
parámetros programables asociados. Esto permite ensayar más fácil, y
el control del programa.
Al igual que con el comando AT MA, este comando se inicia
Para utilizar esta función, basta con establecer xx al valor de PP 2C,
mediante la realización de un primer protocolo interno. solicitudes
e yy al valor de PP 2D, y emitir el comando. La próxima vez que el
OBD posteriores pueden mostrar 'Buscando' o 'INIT BUS', etc.
protocolo se ha inicializado usará estos valores. Por ejemplo,
mensajes cuando se reactiva el protocolo.
supongamos que desea probar el seguimiento de un sistema que utiliza
11 bits puede por lo
33,3 kbps. Si no desea ningún formato especial, esto significa un
MT hh [Monitor para el transmisor hh]
valor de 11 millones o C0 hexagonal de PP 2C, y 15 decimal o
Este comando también es muy similar al comando AT MA, excepto que hexadecimal 0F para PP 2D. Enviar estos dos valores a la ELM327
sólo mostrará los mensajes que fueron enviados por el transmisor con la en un comando:
dirección hexadecimal dada por SS. Estos son mensajes que se encuentran
que tienen ese valor en el tercer byte de una cabecera tradicional OBD tres > EN PB C0 0F
bytes, o en los bits 0 a 7 para los ID de la CAN. Al igual que con los modos
luego monitorear:
de supervisión MA y MR, cualquier actividad RS232 (solo carácter) se
cancela la monitorización. > EN MA

Tenga en cuenta que si este comando se utiliza con los protocolos de Si ve errores de la CAN, y darse cuenta de que quería una velocidad de
la CAN, y si el realizar un filtrado y / o la máscara se ha establecido transmisión de 83,3 kbps, simplemente cierre el protocolo, y luego enviar los
previamente (con CF, CM o CRA), entonces el comando MT se nuevos valores:
sobre-escribir los valores previos de sólo estos bits - los demás
permanecerá sin cambios. A modo de ejemplo, si la dirección de recibir se > AT PC
OK
ha establecido con CRA 4B0, y le enviará MT 20, el 20 reemplazará al B0, y
las máscaras de la CAN / filtros sólo permitirá identificadores que son > EN PB C0 06 OK
iguales a 420. Esto no es lo que a menudo se desea - es posible que desee
restablecer las máscaras y filtros (con AT AR) en primer lugar.
> EN MA

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 22 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

Valores pasados ​de esta manera no afectan a los que se almacenan en el comando SV hh PP va a ser utilizado en el valor predeterminado de
los parámetros programables 2C y 2D, y se pierden si el ELM327 se pone a fábrica era antes. (Todos los valores de los parámetros programables se
cero. Si desea realizar la configuración persisten durante los ciclos de establecen en sus valores por defecto de fábrica, por lo que permite un
potencia, entonces puede que desee para almacenarlos en el Programable parámetro programable antes de asignar un valor a que no causa
de parámetros para protocolos CAN USUARIO 1 o USUARIO 2. problemas.) El tiempo real cuando el valor de este parámetro se hace
efectivo está determinada por su tipo . Consulte la sección de parámetros
programables (página 69) para obtener más información sobre los tipos.

ordenador personal [Protocolo Cerrar]

Puede haber ocasiones en las que es deseable detener (desactivar)


Recuerde que el 'PP FF ON' es un comando especial que permite
un protocolo. Tal vez usted no está utilizando el protocolo de
que todos los parámetros programables al mismo tiempo.
descubrimiento automático, y desea activar y desactivar los protocolos de
forma manual. Tal vez desea detener el envío de mensajes de inactividad
(despertar), o tiene otra razón. El comando de PC se utiliza en estos casos
PP hh SV aa [ Prog. Param. hh: ajustar el valor de AA]
para forzar un protocolo para cerrar.
Un valor es asignado a un parámetro programable utilizando
este comando. El sistema no será capaz de utilizar el nuevo valor
OFF PP hh [Cerrar Prog. hh parámetros OFF] hasta que el parámetro programable se ha activado, con el PP EN
hh.
Este comando desactiva hh número de parámetros programables.
ya no se utiliza ningún valor asignado mediante el comando PP hh SV,
PPS [Resumen de parámetros programables] La gama
y la configuración predeterminada de fábrica será de nuevo en vigor. El
tiempo real cuando el nuevo valor de este parámetro se hace efectivo completa de parámetros programables actuales se muestran con este

está determinada por su tipo. Consulte la sección de parámetros comando (incluso los que todavía no implementado). Cada uno se
programables (página 69) para obtener más información sobre los muestra como un número PP seguido de dos puntos y el valor que se
tipos. asigna a la misma. Esto es seguido por un solo dígito - ya sea 'N' o 'F'
para mostrar que está en ON (activado) o OFF (desactivado),
Recuerde que el 'PP FF OFF' es un comando especial que desactiva
todos los parámetros programables, como si hubiera entrado PP OFF para respectivamente. Ver el Programable
cada uno posible. Sección de parámetros para una discusión más completa.
Es posible modificar algunos de los parámetros programables de
manera que puede ser difícil, o incluso R0 y R1 [Respuestas OFF u ON]
imposible, para comunicarse con el ELM327. Si esto ocurre, hay un medio
Estos comandos de control de la ELM327 automática recibir (y de
de hardware de restablecer todos los parámetros programables a la vez.
visualización) de los mensajes devueltos por el vehículo. Si las
Conecte un puente de circuito común a la clavija 28, que se realice allí
respuestas han sido desactivado, el IC no esperará una respuesta del
mientras enciende el circuito ELM327. Mantenerlo en su posición hasta
vehículo después de enviar una solicitud, y volverá inmediatamente a
que vea los RS232 LED de Recepción empiezan a parpadear (lo que
esperar al siguiente comando RS232 (el ELM327 no imprime nada que
indica que todo el PP se han desactivado). En este punto, quitar el puente
decir que el envío se ha realizado correctamente, pero verá un mensaje
para permitir que el IC para llevar a cabo un inicio normal. Tenga en
si no lo estaba).
cuenta que un restablecimiento del PP se produce con bastante rapidez -
si usted está sosteniendo el puente en más de unos pocos segundos y no
R0 puede ser útil para enviar comandos a ciegas cuando se utiliza
ven los RS232 reciben luz intermitente, retire el puente y volver a
el IC para una aplicación de red no OBD, o cuando se simula una ECU
intentarlo, ya que puede haber un problema con la conexión .
en un entorno de aprendizaje. No se recomienda que esta opción se
utiliza para las comunicaciones del OBD normales, sin embargo, ya que
el vehículo puede tener dificultades si se espera un acuse de recibo y
nunca recibe una.

PP EN hh [Cerrar programable parámetro hh ON] Este comando


Un entorno R0 siempre anulará cualquier 'número de respuestas dígitos'
permite hh número programable de los parámetros. Una vez activado, que se proporciona con una petición del OBD. La configuración por defecto es R1
cualquier valor asignado usando o respuestas sobre.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 23 de 94


www.elmelectronics.com
ELM327

En el Comando Descripción (continuación) RA hh

[Establecer el Recibir dirección a SS] RV [Leer el voltaje de entrada]

Dependiendo de la aplicación, los usuarios pueden desear establecer Esto inicia la lectura de la tensión presente en la patilla 2, y la
manualmente la dirección a la que responderá el ELM327. La emisión de conversión de la misma a una tensión decimal. Por defecto, se
este comando se apagará el modo AR, y forzar la IC sólo para aceptar las supone que la entrada está conectada a la tensión a medir a través
respuestas dirigidas a SS. Tenga cuidado con esta configuración, ya que de un 47K Ω y 10K Ω
dependiendo de lo que lo establece en, puede terminar aceptando (es decir. divisor de resistencia (con la 10K Ω conectado desde el pin 2 a Vss), y que el
El reconocimiento con un IFR) un mensaje que fue realmente destinado a suministro ELM327 es un 5V nominal. Esto permitirá la medición de voltajes
otro módulo. Para desactivar el filtrado de la AR, sólo tiene que enviar AT de entrada de hasta aproximadamente 28 V, con una exactitud no calibrada
AR. de típicamente alrededor de 2%.

Este comando no es muy eficaz para su uso con los protocolos de la


CAN, ya que sólo se monitorea para una parte de los bits de ID, y que no es lo S0 y S1 [Impresión de Espacios apagado o encendido]
suficientemente probable para la mayoría de las aplicaciones de la CAN - el
Estos comandos controlan si o no los caracteres de espacio se
comando CRA puede ser una mejor opción. Además, este comando no tiene
insertan en la respuesta de la ECU.
ningún efecto sobre las direcciones utilizadas por los protocolos J1939, J1939
El ELM327 normalmente informa de respuestas del ECU como una serie
como las rutinas de ellos se derivan de los valores de cabecera, como lo exige
de caracteres hexadecimales separados por espacios en blanco (para facilitar
la norma SAE.
la lectura), pero los mensajes pueden ser transferidos mucho más rápido si se
elimina cada tercer byte (el espacio). Si bien esto hace que el mensaje menos
El comando de la AR es exactamente el mismo que el comando SR, y
legible para los seres humanos, puede proporcionar mejoras significativas
se puede utilizar indistintamente. Tenga en cuenta que puede
para el tratamiento informático de los datos. Por defecto, los espacios están en
direccionamiento extendido no utiliza este valor - que utiliza el fijado por el
(S1), y los caracteres de espacio se insertan en cada respuesta.
comando AT AT.

RD [Leer los datos en la memoria de usuario]

El valor de byte almacenada con el comando SD se recupera con SD hh [Hh bytes Guardar datos]
este comando. Sólo hay una posición de memoria, por lo que no se
El ELM327 es capaz de guardar un byte de información para usted en una
requiere ninguna dirección.
posición de memoria no volátil especial, que es capaz de retener su contenido
incluso si la alimentación está apagada. Sólo es necesario que el byte que ser
RTR [Enviar un mensaje de RTR]
almacenados, a continuación, recuperarlo más tarde con los datos de lectura de
Este comando hace que un mensaje especial CAN 'Remote Frame' comandos (en RD). Esta ubicación es ideal
que se enviará. Este tipo de mensaje no tiene los bytes de datos, y tiene su para el almacenamiento de usuario

solicitud de transmisión remota (RTR) conjunto de bits. Los encabezados y las preferencias, los identificadores de unidad, recuentos aparición, u otra información.
filtros permanecerán tal como se establece anteriormente (es decir, el
ELM327 no hace ninguna suposición en cuanto a qué formato puede tener
una respuesta), por lo que los ajustes pueden necesitar ser hecho a la xyz SH [Establecer la cabecera 00 a 0 x yz]
máscara y filtro. Este comando debe ser utilizado con un protocolo CAN
Entrando CAN palabras de 11 bits de identificación (cabeceras)
activa (uno que ha estado enviando y recibiendo mensajes), ya que no
normalmente se requiere que se añadirán ceros a la izquierda adicionales (por
puede iniciar una búsqueda protocolo. Tenga en cuenta que el ajuste CAF1
ejemplo. En SH 00 07 DF), pero este comando sirve para hacerlo. El comando
normalmente elimina la visualización de todos los RTRs, por lo que si está
AT SH XYZ acepta un argumento de tres dígitos, toma sólo el derecho más-11
supervisando los mensajes y quiere ver la RTRS, tendrá que desactivar el
bits de eso, añade ceros a la izquierda, y almacena el resultado en los lugares
formato, o bien girar en las cabeceras.
de almacenamiento de cabecera para usted. A modo de ejemplo, en SH 7DF es
un comando válido, y es muy útil para trabajar con sistemas de 11 bits puede. En
realidad, da lugar a los bytes de cabecera que se almacenan internamente como
00 07 DF.
El ELM327 trata un RTR como cualquier otro mensaje enviado,
y esperará una respuesta del vehículo (a menos que en R0 ha sido
elegido).

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 24 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

SH xx yy zz [Establecer la cabecera a xx zz aa] Si proporciona un valor de 0 para el segundo dígito del primer byte
de cabecera, el ELM327 asumirá que usted desea que el valor de
Este comando permite al usuario controlar manualmente los valores que se
permanecer como 0, y que desea tener un byte (longitud) cuarto
envían como los tres bytes de cabecera en un mensaje. Estos bytes son valores
encabezado insertado en el mensaje. Esto es contrario a la norma ISO
asignados normalmente para usted (y no están obligados a ser ajustado), pero
14230-4 OBD, pero está en uso por muchos sistemas KWP2000 para la
puede haber ocasiones en las que es deseable cambiar ellos (sobre todo si la
transferencia de datos (no OBD), por lo que puede ser útil cuando la
experimentación con direccionamiento físico). Si la experimentación, no es
experimentación.
necesario, pero puede ser mejor para establecer los encabezados después de un
protocolo está activo. De esta manera, los mensajes de activación, etc., que
consiga el conjunto de la activación del protocolo utilizará los valores por defecto.
SH ww xx yy zz [Establecer la cabecera de ww xx yy zz]

Esta versión de cuatro bytes del comando AT SH permite poner


Los bytes de cabecera se definen con dígitos hexadecimales - xx un bit completado 29 ID CAN en una sola instrucción.
será utilizado para la primera o prioridad / tipo byte, yy será utilizado para Alternativamente, AT SP (para los cinco bits más significativos) y AT
la segunda o receptor / diana byte, y zz será utilizado para la tercera o SH (para los otros tres bytes) puede ser utilizado.
transmisor / fuente byte. Estos permanecen en vigor hasta establecer de
nuevo, o hasta que vuelven a sus valores por defecto con los comandos D,
WS, o Z.
SI [Realizar una iniciación lenta]

Si los nuevos valores de bytes de cabecera se establecen antes se ha Protocolos 3 y 4 el uso lo que a veces se llama un 5 baudios, o secuencia

determinado el protocolo del vehículo, y si la búsqueda no se fija para de iniciación lenta a fin de iniciar las comunicaciones. Por lo general, la

automático (es decir aparte de protocolo 0), estos nuevos valores se utilizan secuencia se lleva a cabo cuando el primer mensaje debe ser enviado, y

para que los bytes de cabecera de la primera solicitud a la vehículo. Si esa entonces el mensaje se envía inmediatamente después. Algunos ECU puede

primera solicitud debe dejar de obtener una respuesta, y si se habilita la necesitar más tiempo entre los dos, sin embargo, y teniendo un comando

búsqueda automática, el ELM327 entonces continuar la búsqueda de un separado de iniciación le permite controlar este tiempo. Basta con enviar EN SI,

protocolo utilizando los valores por defecto para los bytes de cabecera. Una esperar un poco, a continuación, enviar el mensaje. Es posible que tenga que

vez que se encuentra un protocolo válido, los bytes de cabecera volverán a experimentar un poco para conseguir la cantidad adecuada de demora.

los valores asignados con el comando AT SH. Protocolo 3 o 4 deben ser seleccionados para utilizar el comando AT SI, o
pueden implicar un error.

Este comando se utiliza para asignar todos los bytes de cabecera, si son
para un J1850, ISO 9141, ISO 14230, o un sistema de CAN. Los sistemas se
utilizarán estos tres bytes para llenar los bits 0 a 23 de la palabra de identificación SP h [Protocolo Conjunto de h]
(para un ID de 29 bits), o se utilice sólo los más a la derecha 11 bits para una de
Este comando se utiliza para establecer el ELM327 para la operación utilizando
11 bits ID CAN (y cualesquiera bits adicionales asignados serán ignorados) . Los 5
el protocolo especificado por 'h', y también a la guarda como una nueva configuración
bits adicionales necesarios para un sistema de 29 bits se establecen con el
predeterminada. Tenga en cuenta que el protocolo se guardará sin importar lo que el
comando AT CP.
ajuste en M0 / M1 es.
El ELM327 apoya 12 protocolos diferentes (dos puede ser definida
Si la asignación de valores de cabecera para los protocolos de KWP (4
por el usuario). Son:
y 5), se debe tener cuidado cuando se ajusta el valor de primer byte de
cabecera (xx). El ELM327 siempre insertará el número de bytes de datos
0 - Automatic 1 - SAE J1850 PWM (41,6 kbaudios) 2 - SAE
para usted, pero cómo se hace depende de los valores que se asignan a este
J1850 VPW (10,4 kbaudios) 3 - ISO 9141-2 (init 5 baudios, 10,4
byte. Si el segundo dígito de este primer byte de cabecera es distinto de 0
(cero) cualquier cosa, el ELM327 asume que usted desea tener el valor de kbaudios) 4 - ISO 14230-4 KWP (init 5 baudios, 10,4 kbaudios) 5
longitud insertada en ese primer byte al enviar. En otras palabras, - ISO 14230-4 KWP (init rápido, 10,4 kbaudios) 6 - ISO 15765-4
proporcionando un valor de longitud en el primer byte de cabecera le dice al
CAN (11 ID bit, 500 kbaudios) 7 - ISO 15765-4 CAN (29 bit ID,
ELM327 que desea utilizar una cabecera de 3 bytes tradicional, donde la
500 kbaudios)
longitud se almacena en el primer byte de la cabecera.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 25 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

8 - ISO 15765-4 CAN (11 ID bit, 250 kbaudios) 9 - ISO no realizar una (muy lento) escribir en la EEPROM. Algunos usuarios

15765-4 CAN (29 bit ID, 250 kbaudios) A - SAE J1939 CAN sintieron que era necesario ser capaz de escribir en realidad en la
EEPROM del ELM327, sin embargo, por lo que siempre este comando.
(29 bit ID, 250 * kbaudios) B - USUARIO1 CAN (11 * bit ID,
No debe normalmente ser usada cuando se conecta a un vehículo.
125 * kbaudios) C - USER2 CAN (bit ID 11 *, 50 * kbaudios)

* ajustes por defecto (ajustable por el usuario) Ah SP [Protocolo establece en AUTO, h]

Esta variación del comando SP le permite elegir un protocolo de inicio


El primer protocolo se muestra (0) es una manera conveniente de
(predeterminada), al tiempo que conserva la capacidad para buscar
contar la ELM327 que el protocolo del vehículo no se conoce, y que debe
automáticamente un protocolo válido en un error de conexión. Por ejemplo, si
realizar una búsqueda. Hace que el ELM327 para tratar todos los protocolos
su vehículo es la norma ISO 9141-2, pero que desea utilizar de vez en cuando
en caso necesario, en busca de uno que puede ser iniciado correctamente.
el circuito ELM327 en otros vehículos, es posible utilizar el comando AT SP
Cuando se encuentra un protocolo válido, y la función de memoria está
A3, de manera que el primer protocolo intentado entonces será suyo (3), pero
activada, el protocolo se
también se buscará automáticamente otros protocolos. No se olvide de
a continuación, se recordará, y la voluntad
desactivar la función de memoria si hacer esto, o cada nuevo protocolo
convertirse en el nuevo valor predeterminado. Cuando se guarda como éste,
detectada se convertirá en su nuevo valor predeterminado.
la búsqueda modo automático todavía estará activado, y la próxima vez que
el ELM327 no puede conectar con el protocolo guardado, volverá a buscar
todos los protocolos para otro válida. Tenga en cuenta que algunos vehículos
SP Ah guardará la información de protocolo incluso si la opción de
responden a más de un protocolo - si la búsqueda, se pueden ver más de un
memoria está apagado (pero A0 SP y SP 0A hacer entr debe escribir 0 en la
tipo de respuesta.
EEPROM, utilice el comando AT SP 00). Tenga en cuenta que la 'A' puede
venir antes o después de la
ELM327 usuarios suelen utilizar el comando AT SP 0 a restablecer el
h, por lo que en SP A3 también se puede introducir como AT SP 3A.
protocolo de búsqueda antes de iniciar (o reiniciar) una conexión. Esto
funciona bien, pero ya que se utiliza tan a menudo, y dado que las
escrituras en consecuencia EEPROM en un retraso innecesario (de hh SR [Ajuste la dirección Recibir a SS]
alrededor de 30 ms), el comando AT SP0 establece el protocolo a 0, pero Dependiendo de la aplicación, los usuarios pueden desear
no realiza una escritura en la EEPROM. Del mismo modo, el SP A0 y los establecer manualmente la dirección a la que responderá el ELM327. La
comandos SP 0A no realizan escrituras en memoria EEPROM, tampoco. emisión de este comando se apagará el modo AR, y forzar la IC sólo para
El ahorro de este valor en la memoria EEPROM no aportaría ninguna aceptar las respuestas dirigidas a SS. Tenga cuidado con esta
ventaja (y sería de muy corta vida, ya que el ELM327 pronto será configuración, ya que dependiendo de lo que lo establece en, puede
encontrar el protocolo del vehículo y sobre-escribir el valor '0' en la aceptar un mensaje que fue realmente destinado a otro módulo,
EEPROM). Si realmente desea almacenar el valor '0' en la EEPROM posiblemente enviando un IFR cuando no debería. Para desactivar el
interna, debe utilizar el comando AT SP 00. filtrado SR, sólo tiene que enviar AT AR.

Este comando tiene un uso limitado con la CAN, ya que sólo controla un byte
Si se selecciona otro protocolo (distinto de 0) con este de los bits de ID, y que no es probable que lo suficientemente selectiva para la
comando (por ejemplo. AT SP 3), que protocolo se convertirá en el mayoría de aplicaciones CAN (el comando CRA puede ser una mejor opción).
defecto, y será el único protocolo usado por el ELM327. Si no se Además, el comando no tiene efecto en las direcciones utilizadas por los protocolos
inicie una conexión en esta situación dará lugar a una respuesta J1939, J1939 como las rutinas establecen sus propias direcciones recibir basado en
como 'INIT BUS: los valores de los bits de identificación (cabecera).
...se intentará ERROR', y no hay otros protocolos. Se trata de una
opción útil si sabe que su vehículo (s) sólo utilizan el protocolo, pero Este comando SR es exactamente el mismo que el comando de la AR,
es también uno que puede causar muchos problemas si no lo y se puede utilizar indistintamente con él. Tenga en cuenta que puede
entiende. direccionamiento extendido no utiliza este valor - que utiliza el fijado por el
comando AT AT.
SP 00 [Borrar el Protocolo almacenado]

Para acelerar la iniciación de protocolo y la detección, el comando SS [Utilizar la secuencia estándar para las búsquedas] SAE J1978
SP 0 establece el protocolo en automático, pero estándar especifica un protocolo de búsqueda

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 26 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

ordenan que las herramientas de escaneo deben utilizar. Se sigue el orden de los con el comando AT SW HH, donde HH es cualquier valor hexadecimal
números que hemos asignado a los protocolos de ELM327. Con el fin de de 00 a FF. El retardo de tiempo máximo posible de poco más de 5
proporcionar una búsqueda más rápida, el ELM327 normalmente no siguen este segundos se produce cuando se utiliza un valor de FF (decimal 255).
orden, pero va a si tu El ajuste por defecto (92) proporciona un retardo nominal de 3
ordenarle que con AT SS. segundos entre los mensajes.

ST hh [Establecer tiempo de espera a SS] Tenga en cuenta que el valor 00 (cero) es especial, ya que dejará los
mensajes periódicos (despertar). Esto proporciona un control para los
Después de enviar una solicitud, el ELM327 espera un tiempo
experimentadores para detener los mensajes mientras se mantiene el resto del
preestablecido para una respuesta antes de que pueda declarar que no
protocolo de funcionar normalmente, y no está destinado a ser utilizado con
había 'DATOS' recibido del vehículo. El mismo ajuste de temporizador
regularidad. La emisión de SW 00 no va a cambiar una configuración previa
también se puede usar después de una respuesta ha sido recibida, a la
para el tiempo entre los mensajes de activación, si el protocolo
espera de ver si viene más (pero esto depende de la configuración de AT
es re-
AT). El comando AT ST permite el contador a ser ajustado, en incrementos
inicializado. Una vez mensajes periódicos se han apagado con AT
de 4 mseg (o 20 mseg si en un protocolo CAN, con CTM5 seleccionado).
SW, que sólo puede restablecerse mediante el cierre y reinicializar el
protocolo.

Cuando se habilita adaptativa de sincronización, el tiempo en el ST establece el


TA hh [Establecer el probador Dirección a SS]
tiempo máximo que ha de ser permitido, incluso si el algoritmo adaptativo determina
que el ajuste debe ser más largo. En la mayoría de las circunstancias, lo mejor es Este comando se utiliza para cambiar el probador actual (es decir.
simplemente dejar el tiempo AT ST en la configuración por defecto, y dejar que el Herramienta de exploración) de direcciones que se utiliza en las cabeceras,
algoritmo de temporización adaptativa a determinar lo que va a utilizar para el tiempo los mensajes periódicos, filtros, etc. El ELM327 normalmente utiliza el valor
de espera. que se almacena en PP 06 para esto, pero el comando TA permite que
permite anular temporalmente ese valor.
El temporizador ST está establecido en 32 de forma predeterminada (dando un
tiempo de aproximadamente 200 ms), pero esta configuración predeterminada se puede Envío a TA afectará a todos los protocolos, incluyendo J1939.
ajustar cambiando PP 03. Tenga en cuenta que un valor de 00 no se traduce en un Esto proporciona un medio conveniente para cambiar la dirección
tiempo de 0 ms - se restaurará el temporizador con el valor predeterminado. Además, J1939 desde el valor predeterminado de F9, sin afectar a otros ajustes.
durante los registros de protocolo, un tiempo mínimo establecido internamente se utiliza
- es posible seleccionar tiempos más largos con AT ST, pero no los más cortos. Aunque este comando puede aparecer a trabajar 'sobre la marcha', no
se recomienda que trate de cambiar esta dirección después de un protocolo
está activo, ya que los resultados pueden ser impredecibles.

SW hh [Grupo de despertador a SS]

TP h [Intenta Protocolo h]
Una vez que se ha establecido una conexión de datos, algunos
protocolos requieren que haya flujo de datos cada pocos segundos, Este comando es idéntico al comando SP, excepto
sólo para que la ECU sabe mantener la vía de comunicación abierta. ese el protocolo que seleccione no es
Si no aparecen los mensajes, la ECU asumirá que haya terminado, y inmediatamente guardado en la memoria EEPROM interna, por lo que no cambia la
se cerrará el canal. tendrá que ser inicializado de nuevo para configuración predeterminada. Tenga en cuenta que si la función de memoria está
restablecer la conexión de comunicaciones. activada (AT M1), y este nuevo protocolo que se está tratando se encuentra para ser
válida, el protocolo a continuación, se almacena en la memoria como el nuevo valor
El ELM327 generará automáticamente mensajes periódicos, según predeterminado.
sea necesario, con el fin de mantener una
conexión. Ninguna respuesta a estos mensajes son ignorados por el
ELM327, y no son visibles para el usuario. (Actualmente, sólo los Ah TP [Intenta Protocolo h con Auto]
protocolos 3, 4 y 5 de soporte estos mensajes - no hay nada disponible
Este comando es muy similar al comando AT TP anterior,
para CAN CAN Si necesita mensajes periódicos, debe utilizar el
excepto que si el protocolo que se trató fallara
ELM329.).
para inicializar, la voluntad ELM327 entonces
El intervalo de tiempo entre estos mensajes periódicos 'de activación'
secuenciar automáticamente a través de los otros protocolos,
se puede ajustar en incrementos de 20 mseg

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 27 de 94


www.elmelectronics.com
ELM327

Descripción de los comandos AT (continuación)

intentar conectar con uno de ellos. y el ELM327 volverá a la configuración de velocidad en baudios predeterminada.

V0 y V1 [Datos variables longitudes de apagado o encendido]

@1 [Mostrar la descripción del dispositivo]


Muchos protocolos de la CAN (es decir, ISO 15765-4) esperan para enviar
ocho bytes de datos en todo momento. Los comandos V0 y V1 se pueden utilizar Este comando muestra la cadena de descripción de dispositivo. El texto
para anular este comportamiento (para cualquier protocolo CAN) si así lo desea. predeterminado es 'OBDII a RS232 intérprete'.

La elección de V1 hará que el protocolo CAN actual de enviar @2 [Mostrar el identificador de dispositivo]
mensajes de longitud variable de los datos, al igual que el bit 6 del PP y PP
Una cadena de identificador de dispositivo que se ha registrado con el
2C 2E hacer por los protocolos B y C. No importa lo que el protocolo debería
comando @ 3 se muestra con el comando @ 2. Todos los 12 caracteres y un
estar haciendo - V1 que anulará. Esto permite experimentar con mensajes de
retorno de carro terminación serán enviadas en respuesta, si es que se han
longitud variable de los datos sobre la demanda.
definido. Si no hay ningún identificador se ha establecido, el comando @ 2
devuelve una respuesta de error ( '?'). El identificador puede ser útil para
Si selecciona V0 (el valor predeterminado), el obligado envío de
almacenar códigos de productos, fechas de producción, números de serie, u
mensajes de longitud variable puede se apaga. El formato de los
otros códigos.
mensajes enviados vuelve a la configuración del protocolo.

Vea la sección 'Programación de números de serie' para más


información.
WM [1 a 6 bytes] [Establecer despertador Mensaje a ...]

Este comando permite al usuario anular la configuración predeterminada @ 3 cccccccccccc [Almacenar el identificador de dispositivo]
de los mensajes de activación (a veces conocidos como los mensajes de los
Este comando se utiliza para establecer el código de identificación del
ociosos periódica '). Sólo es necesario que el mensaje que desea han enviado
dispositivo. Exactamente 12 caracteres deben ser enviados, y una vez que
(por lo general tres bytes de cabecera y una a tres bytes de datos), y el
escriben en la memoria, que no se pueden cambiar (es decir, sólo se puede
ELM327 añadirá la suma de comprobación y enviarlos como sea necesario, a
usar el comando @ 3 una vez). Los caracteres enviados deben ser imprimibles
la tasa determinada por la configuración de SW AT.
(caracteres ASCII valora 0x21 a 0x5F inclusive).

Los ajustes por defecto enviarán los bytes 68 01 00 6A F1 para la norma


Si está desarrollando software para escribir los identificadores de
ISO 9141, y C1 33 F1 3E para KWP.
dispositivo, usted puede estar interesado en el ELM328 IC, ya que permite
múltiples escrituras utilizando el comando @ 3 (pero no puede enviar mensajes
WS [ Arranque en caliente ]
DAB).
Este comando hace que el ELM327 para realizar un reinicio completo.
Es muy similar al comando AT Z, pero no incluye la alimentación prueba de
LED. Los usuarios pueden encontrar esto una manera conveniente de
'empezar de nuevo' rápidamente sin tener el retardo adicional del comando
AT Z.
Si el uso de velocidades de transmisión RS232 variables (es decir, en RFA
que manda), se prefiere que se restablece la IC mediante este comando en lugar
de a la Z, como AT WS no afectará a la velocidad de transmisión RS232 elegido.

Z [ resetear todo ]

Este comando hace que el chip para realizar un restablecimiento completo


como si el poder se encendía y vuelva a encenderla. Todos los ajustes vuelven
a sus valores por defecto, y el chip se pondrán en estado de reposo, a la espera
de caracteres en el bus RS232. Tenga en cuenta que cualquier velocidad de
transmisión que se estableció con el comando AT BRD se perderá,

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 28 de 94


www.elmelectronics.com
ELM327

La lectura de la tensión de la batería

Antes de aprender el OBD comandos, vamos a mostrar un ejemplo el valor de CV, como el ELM327 sabe que debe estar entre el
de cómo utilizar un comando AT. Vamos a suponer que usted ha segundo y el tercer dígitos.
construido (o comprar) un circuito que es similar a la de la figura 9 en la En este punto, los valores de calibración internos se han
sección Aplicaciones Ejemplo (página 80). Este circuito proporciona una cambiado (es decir. Escrito a EEPROM), y el ELM327 ahora sabe que
conexión para leer la tensión de la batería del vehículo, que muchos la tensión en la entrada es en realidad 12.47V. Para verificar que los
encontrarán muy útil. cambios han tenido lugar, basta con leer el voltaje de nuevo:

Si nos fijamos en la lista de comandos AT, verá que no es un


comando que se muestra como RV [Leer el voltaje de entrada]. Este es el > AT RV
comando que tendrá que utilizar. En primer lugar, asegúrese de que se 12,5 V
muestra el carácter indicador (es decir, el carácter '>'), entonces
El ELM327 siempre completa la medición con una cifra decimal,
simplemente entre 'AT' seguida de RV, y pulse retorno (o enter):
por lo que el 12.47V aparece realmente como 12,5 V (pero el segundo
lugar decimal se mantiene internamente para la exactitud y se utiliza
> EN RV en los cálculos).
El ELM327 puede calibrar con cualquier tensión de referencia que
Tenga en cuenta que utilizamos mayúsculas para esta solicitud, tiene disponible, pero tenga en cuenta que el comando CV siempre
pero no era necesario, ya que el ELM327 aceptará mayúsculas (AT espera recibir cuatro caracteres que representan la tensión en la
RV), así como en minúsculas (a RV) o cualquier combinación de entrada. Si se hubiera usado una batería de 9V para su referencia, y en
éstos (A Rv). No importa si inserta los caracteres de espacio (' ') realidad es 9.32V, a continuación, debe agregar un cero a la tensión real
dentro del mensaje o bien, ya que son ignorados por el ELM327. cuando se calibra el IC:

Una respuesta típica a este comando mostrará una lectura de


voltaje, seguido de otro carácter indicador: > AT CV 0932 OK

12,6 V
Si usted debe tener problemas con este comando (por ejemplo,
>
si establece los valores de calibración a algo arbitraria y no tiene un
La precisión de esta lectura depende de varios factores. Tal como voltímetro en la mano para proporcionar valores exactos), puede
viene de fábrica, el sistema de circuitos de lectura ELM327 tensión será restaurar los valores de fábrica (fábrica) valores con la CV 0000
típicamente una precisión de alrededor del 2%. Para muchos, esto es todo lo comandos. Basta con enviar:
que se necesita. Algunas personas pueden desear para calibrar el circuito
para lecturas más precisas, sin embargo, por lo que han proporcionado un
> AT CV 0000 OK
comando especial 'Calibre Tensión' para esto.

Para cambiar las constantes de calibración interna, necesitará saber Los otros comandos AT se usan de la misma manera.
el voltaje real de la batería de mayor precisión que los espectáculos Simplemente escriba las letras A y T, a continuación, siga con el
ELM327. Muchos multímetros digitales de calidad pueden hacer esto, pero comando que desea para enviar y cualquier
usted debe verificar la exactitud antes de hacer un cambio. argumento que sea necesario. A continuación, pulse retorno (o introducir,
en función de su teclado). Recuerde - siempre se puede insertar
Supongamos que se ha conectado el multímetro precisa, y caracteres de espacio tan a menudo como desee si mejora la legibilidad
encontramos que lee 12.47V. El ELM327 es un poco alto en 12,6 V, para usted, ya que son ignorados por el ELM327.
y que le gustaría que se lea lo mismo que su medidor. Simplemente
calibrar el ELM327 a la tensión medida usando el comando CV:

> EN CV 1247 OK

Tenga en cuenta que no debe proporcionar un punto decimal en

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 29 de 94


www.elmelectronics.com
ELM327

Comandos OBD

Si los bytes que se envían a la ELM327 no comienzan con las ELM327, y no se envía al vehículo.
letras 'A' y 'T', que se supone que son los comandos de diagnóstico a Después de enviar el comando, el ELM327 escucha en el bus OBD
bordo del vehículo. Cada par de bytes ASCII será probado para para las respuestas, en busca de los que se dirigen a él. Si un mensaje
asegurarse de que son dígitos hexadecimales válidos, y a continuación, coincide con la dirección, los bytes recibidos se enviarán en el puerto RS232
se combinan en bytes de datos para transmitir al vehículo. para el usuario, mientras que los mensajes recibidos que no tienen que
emparejan serán ignorados direcciones (pero a menudo son todavía
comandos de DAB son realmente enviados al vehículo incrustado en un disponibles para su visualización con el comando AT BD).
paquete de datos. La mayoría de las normas requieren que tres bytes de
cabecera y un byte de suma de comprobación de error se incluyen con cada El ELM327 continuará a esperar a que los mensajes dirigidos a ella
mensaje OBD y el ELM327 añade estos bytes adicionales a sus bytes de hasta que no hay ninguno que se encuentra en el momento en que se
comando para usted. Los valores iniciales (por defecto) para estos bytes estableció mediante el comando AT ST. Mientras mensajes siguen
adicionales son por lo general apropiado para la mayoría de las solicitudes, recibiendo, el ELM327 continuará a volver el contador, y buscar más. Tenga
pero si desea cambiarlas, hay un mecanismo para hacerlo (véase el 'Ajuste de en cuenta que el CI siempre responderá a una solicitud con alguna
los encabezados' sección). respuesta, incluso si se trata de decir 'No hay datos' (lo que significa que no
hubo mensajes encontrados, o que algunos fueron encontrados, pero que no
La mayoría de los comandos de diagnóstico a bordo son sólo uno o dos cumplen los criterios de recepción).
bytes de longitud, pero algunos pueden ser más largos. El ELM327 limitará el
número de bytes que pueden ser enviadas para el número máximo permitido
por las normas (por lo general siete bytes o 14 dígitos hexadecimales).
Intentos de enviar más bytes resultará en un error - toda la instrucción se
ignora y un solo signo de interrogación impreso.

Los dígitos hexadecimales se utilizan para todo el intercambio de datos con hexadecimal equivalente
el ELM327 porque es el formato de datos utilizado con mayor frecuencia en los Número decimal
estándares DAB. La mayoría de los listados de solicitud de modo de utilizar
0 0
notación hexadecimal, y es el formato utilizado con mayor frecuencia cuando se
muestran los resultados. Con un poco de práctica, no debería ser muy difícil de 1 1

tratar en números hexadecimales, pero algunas personas pueden querer usar 2 2


una tabla como la Figura 1, o mantener una calculadora cerca. Tratar con los 3 3
dígitos hexadecimales no puede evitarse - finalmente todos los usuarios 4 4
necesitan para manipular los resultados de alguna manera (combinando bytes y
5 5
dividiendo por 4 para obtener rpm, dividiendo por 2 para obtener grados de
6 6
avance, la conversión de temperaturas, etc.).
7 7
8 8
Como un ejemplo de envío de un comando al vehículo, asumen 9 9
que A6 (o decimal 166) es el comando que se requiere para ser UNA 10
enviados. En este caso, el usuario tendría que escribir la letra A, a segundo 11
continuación, el número 6, a continuación, se presione la tecla de do 12
retorno. Estos tres personajes serían enviados a la ELM327 a través del re 13
puerto RS232. El ELM327 almacenaría los personajes a medida que se
mi 14
reciben, y cuando se recibió el tercer personaje (el retorno de carro),
F 15
comenzaría a evaluar los otros dos. Sería ver que son los dos dígitos
hexadecimales válidos, y se convertirá en un valor de un byte (el valor
decimal es 166). Los bytes de cabecera y un byte de suma de Figura 1. Hex a decimal Conversión
comprobación se añadiría entonces, y un total de cinco bytes
típicamente serían enviados al vehículo. Tenga en cuenta que el
carácter de retorno de carro es sólo una señal a la

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 30 de 94


www.elmelectronics.com
ELM327

Hablando con el vehículo

Las normas requieren que cada comando OBD o solicitud que se ELM327 para la comunicación con un vehículo. En el indicador,
envía al vehículo deben cumplir con un formato establecido. El primer emitir el modo PID 01 00 comando:
byte enviado (conocido como el 'modo') describe el tipo de datos que
se solicita, mientras que el segundo byte (y, posiblemente, un tercio o > 01 00
más) especifica la información real que se requiere. Los bytes que
El ELM327 debería decir que está 'Buscando ...' para un protocolo,
siguen después del byte modo se conocen como la 'identificación de
entonces se debe imprimir una serie de números, similares a estos:
parámetros' o bytes Número de PID. Los modos y PIDs se describen
en detalle en documentos tales como el SAE J1979, o ISO 15031-5, y
también pueden ser definidas por los fabricantes de vehículos. 41 00 BE 1F B8 10

El 41 en el anterior significa una respuesta de un modo de 01


El estándar SAE J1979 define actualmente diez posibles modos de solicitud (01 + 40 = 41), mientras que el segundo número (00) se repite
prueba de diagnóstico, que son: el número PID solicitada. A modo de 02, la solicitud se contesta con un
42, un modo de 03 con un 43, etc. Los siguientes cuatro bytes (BE, 1F,
01 - Mostrar 02 datos actual - datos del marco de espectáculo de
B8, y
congelación 03 - muestran códigos de diagnóstico 04 - códigos claros de
10) representan los datos solicitados, en este caso un patrón de bits que
problemas y los valores almacenados 05 - resultados de la prueba, sensores de
muestra los PIDs que son compatibles con este modo (1 = soportados, 0 =
oxígeno 06 - resultados de pruebas, no supervisado de forma continua 07 -
no). Aunque esta información no es muy útil para el usuario ocasional,
Show 'pendientes' códigos de problemas 08 - el modo de control especial 09 -
esto prueba que la conexión está funcionando.
solicitud de información del vehículo 0A - solicitar códigos de problemas
permanentes los vehículos no necesitan ser compatibles con todos los modos,
Otro ejemplo solicita la temperatura actual del refrigerante del
y dentro de los modos, que no están obligados a soportar todos los PID motor (ECT). temperatura del refrigerante es PID 05 de modo 01, y
posibles (algunos de los primeros vehículos de OBDII sólo se admite una se puede solicitar como sigue:
pequeño número de ellos). Dentro de cada modo, PID 00 se reserva para
mostrar lo que los PID se apoya en dicho modo. Modo 01, 00 PID debe ser > 01 05
apoyado por todos los vehículos, y se puede acceder de la siguiente manera ...
La respuesta será de la forma:

41 05 7B

El 41 05 muestra que esto es una respuesta a una petición de modo


1 para PID 05, mientras que la figura 7B es el de datos deseado. La
conversión de la 7B hexadecimal a decimal, se obtiene 7 x 16 + 11 = 123.
Esto representa la temperatura actual en grados Celsius, pero con el cero
Asegúrese de que su interfaz ELM327 está correctamente conectado al
compensado para permitir temperaturas bajo cero. Para convertir a la
vehículo, y alimentado. La mayoría de los vehículos no responderán sin la llave
temperatura real del refrigerante, es necesario restar 40 del valor
de encendido en la posición ON, para activar el encendido en ON, pero no
obtenido. En este caso, entonces, la temperatura del refrigerante es de
arranque el motor. Si usted ha estado experimentando, el estado de su interfaz
123 - 40 ó 83 ° C.
puede ser desconocida, por lo que restablecerla mediante el envío de:

Un último ejemplo se muestra una solicitud para el número de revoluciones del

> AT Z motor. Este es el modo de PID 0C 01, por lo que teclee en el indicador:

Verá que parpadeen los LED de interfaz, y luego el IC debe > 01 0C


responder con 'ELM327 v2.1', seguido de un carácter inmediato. Ahora,
Si el motor está en marcha, la respuesta podría ser:
es posible elegir un protocolo que el ELM327 debe conectar con, pero por
lo general es más fácil sólo tiene que seleccionar el protocolo '0', que
41 0C 1A F8
cuenta la IC para buscar una:
El valor devuelto (1A F8) es en realidad un número hexadecimal de
dos bytes que se debe convertir a un valor decimal para ser útil.
> AT SP 0 Convirtiéndola, obtenemos un valor de 6,904, lo que parece ser un valor muy
alto de revoluciones del motor.
Eso es todo lo que necesita hacer para preparar el

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 31 de 94


www.elmelectronics.com
ELM327

Hablando con el vehículo (continuación)

Esto es así porque se envía rpm en incrementos de 1/4 rpm! Para la congestión, mientras que la ECU intenta varias veces para volver a enviar
convertir a la velocidad real del motor, hay que dividir el 6904 por 4. los mensajes que no fueron reconocidas. Por esta razón, es necesario
Un valor de 1.726 rpm es mucho más razonable. conocer el número de respuestas a esperar antes de utilizar esta función.

Tenga en cuenta que estos ejemplos pidieron al vehículo para Como un ejemplo, considere una solicitud para el número de
obtener información sin tener en cuenta el tipo de protocolo OBD que identificación del vehículo (VIN). Este número es de 17 dígitos de
utiliza el vehículo. Esto es porque el ELM327 se encarga de todo el longitud, y típicamente toma 5 líneas de datos a ser representados. Se
formato de datos y la traducción para usted. A menos que se va a hacer obtiene con el modo 09, PID 02, y debe solicitarse con:
funciones más avanzadas, en realidad no hay necesidad de saber cual es
el protocolo.
> 09 02
Los ejemplos anteriores mostraron sólo una única línea de respuesta
o con:
para cada solicitud, pero las respuestas a menudo se componen de varios
mensajes separados, ya sea desde múltiples ECUs de responder, o de una > 09 02 5
ECU proporcionar mensajes que necesitan ser combinados para formar una
respuesta (ver las respuestas de multilínea 'en la página 42). Con el fin de si usted sabe que hay cinco líneas de datos que vienen. Si por error
poder adaptarse a este número variable de respuestas, el ELM327 se debe enviar 09 02 1, es posible causar problemas.
normalmente espera para ver si alguno están llegando más. Si no hay
respuesta llega en un tiempo determinado, se supone que la ECU está Esta capacidad de especificar el número de respuestas se sumó
terminado. Este mismo temporizador también se utiliza cuando la espera de con el programador en mente. Una rutina de interfaz se puede
la primera respuesta, y si eso no llega nunca, hace que 'No hay datos' para determinar la cantidad de respuestas que podía esperar por una
ser impreso. solicitud específica, y luego almacenar esa información para su uso con
las solicitudes posteriores. Ese número se puede añadir a las peticiones
y el tiempo de respuesta puede ser optimizado. Para un individuo
Hay una manera de acelerar la recuperación de la información, si tratando de obtener unos códigos de problemas, los ahorros no son
se sabe cuántas respuestas se enviará. Diciéndole al ELM327 cuántas realmente vale la pena, y es más fácil de hacer sólo una petición, sin
líneas de datos que reciben, se sabe que cuando esté terminado, por lo
que no tiene que pasar por el último tiempo muerto, a la espera de lo que se refiere a la cantidad de

datos que no está llegando. Basta con añadir un solo dígito Se espera que las respuestas.
hexadecimal después de la solicitud bytes OBD - el valor del dígito que Ofrecemos una advertencia adicional cuando se trata de optimizar la
proporciona el número máximo de respuestas para obtener, y el velocidad a la que se obtiene la información de los vehículos. Antes del
ELM327 hace el resto. Por ejemplo, si sabe que sólo hay una respuesta lanzamiento APR2002 de la norma J1979, J1850 envío de solicitudes con
que procede de la solicitud temperatura del motor que se discutió mayor frecuencia que cada 100 mseg estaba prohibido. Con la
previamente, se puede enviar: actualización APR2002, herramientas de análisis se les permite enviar la
siguiente solicitud sin demora si se determina que se han recibido todas las
respuestas a la solicitud anterior. Los vehículos fabricados antes de esta
hora pueden no ser capaces de tolerar las solicitudes a un ritmo demasiado
> 01 05 1 rápido, así que tenga cuidado con ellos.

y el ELM327 devolverá inmediatamente después de obtener sólo una


respuesta. Esto puede ahorrar una cantidad considerable de tiempo, como el
Espero que esto ha demostrado cómo las solicitudes típica se
tiempo por defecto para el temporizador AT ST es de 200 ms. (El ELM327
realiza mediante el ELM327. Si usted está buscando más información
todavía establece el temporizador después de enviar la solicitud, pero eso es
sobre los modos y los PID, que está disponible en la SAE
sólo en caso de que la respuesta solo no llega.)
(www.sae.org), de la ISO (www.iso.org), o de otras fuentes en la web.

Algunos protocolos (como J1850 PWM) requieren un


reconocimiento Del ELM327 para cada
mensaje enviado. Si proporciona un número para las respuestas que es
demasiado pequeño, el ELM327 volverá al indicador demasiado pronto,
y que puede causar autobús

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 32 de 94


www.elmelectronics.com
ELM327

Iniciación de autobuses

Tanto las normas ISO 9141-2 e ISO 14230-4 (KWP2000) requieren clave del vehículo a la posición 'ON' antes de intentar hablar con el
que bus OBD del vehículo se 'inicializa' antes de cualquier comunicación vehículo).
pueden tener lugar. La norma ISO 9141 permite sólo un proceso de Una vez que se ha iniciado el autobús, las comunicaciones deben hacerse en
iniciación lenta (de 2 a 3 segundos), mientras que ISO 14230 permite forma periódica (por lo general al menos una vez cada cinco segundos), o el autobús
tanto un método lento, y una alternativa más rápida. se revertirán a un bajo consumo de energía modo de reposo. Si usted no está
enviando solicitudes de datos con la suficiente frecuencia, el ELM327 generará
El ELM327 realizará esta iniciación de bus para usted, pero en general peticiones para que se asegure de que el autobús se queda 'despierto'. Nunca verá
no hasta que una petición debe ser enviada (pero se puede pedir uno con el las respuestas a estos, pero es posible que aparezca el flash LED de transmisión
FI y comandos SI). Si se produce la iniciación de bus durante una búsqueda periódicamente a medida que éstos se están enviando.
automática, no verá ninguna informes de estado, pero si usted tiene la opción
de apagado automático (y se disponen a protocolos 3, 4, o 5), a
continuación, verá un mensaje similar a este: Por defecto, el ELM327 asegura que estas
'Despertar' o mensajes 'inactivo' se envían cada 3 segundos, pero esto es
ajustable con el comando AT SW. El contenido del mensaje de activación
BUS INIT: ...
también son programables por el usuario con el comando AT WM, si debe
Los tres puntos aparecen sólo como el proceso de iniciación lenta se desear cambiarlas. Los usuarios generalmente no tienen que cambiar
lleva a cabo - una iniciación rápida no muestra los puntos. Esto será cualquiera de los anteriores, ya que la configuración por defecto funcionan
seguido por cualquiera de la expresión 'OK' para decir que fue un éxito, o bien con la mayoría de los sistemas.
de lo contrario un mensaje de error para indicar que había un problema. (El
error más común que se presenta está en olvidarse de convertir el

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 33 de 94


www.elmelectronics.com
ELM327

Interpretación de los códigos de problemas

Probablemente el uso más común que el ELM327 se pondrá a está en la 6 bytes en la respuesta tienen que ser leído en pares para mostrar los
obtención de los actuales códigos de diagnóstico (o DTC). Como mínimo, esto códigos de problemas (lo anterior sería interpretado como 0133, 0000, y
requiere que una solicitud de modo 03 se hará, pero primero debe determinar 0000). Tenga en cuenta que la respuesta ha sido rellenado con de 00 como
el número de códigos de averías se almacena en la actualidad. Esto se hace es requerido por la norma SAE para este modo - la década de 0000 no
con un modo PID 01 01 petición de la siguiente manera: representan los códigos de problemas reales.

Como fue el caso cuando se solicita el número de códigos almacenados, los


> 01 01 bits más significativos de cada código de problema también contienen información
adicional. Es más fácil de usar la siguiente tabla para interpretar los bits adicionales
A lo que una respuesta típica podría ser:
en el primer dígito de la siguiente manera:

41 01 81 07 65 04

Si el primer dígito hexadecimal recibido es esto,


El 41 01 significa una respuesta a la solicitud, y el siguiente byte de
Reemplazarlo con estos dos personajes
datos (81) es el número de códigos de problemas actuales. Claramente no
habría 81 códigos (hex) o 129 (decimal) de problemas presente si el
0 P0 Códigos Powertrain - SAE definidos
vehículo está en absoluto operacional. De hecho, este byte cumple una
doble función, con el bit más significativo se utiliza para indicar que la luz 1 P1 “ “- definidos por el fabricante“
indicadora de mal funcionamiento (MIL, o 'Check Engine Light') se ha 2 P2 “- SAE define“
convertido en uno de los códigos de este módulo (si hay más de una ),
3 P3 “- definido conjuntamente
mientras que los otros 7 bits de este byte proporcionan el número real de
los códigos de avería almacenados. Con el fin de calcular el número de 4 C0 Códigos de chasis - SAE definidos

códigos almacenados cuando el MIL está encendida, sólo hay que restar 5 C1 “- definidos por el fabricante“
128 (o 80 hex) a partir del número.
6 C2 “- definidos por el fabricante

7 C3 “ “- Reservado para futuras

La respuesta anterior, entonces indica que hay un código 8 B0 Códigos del cuerpo - SAE definidos
almacenado, y fue el que estableció la lámpara del motor del cheque o
9 B1 “ “- definidos por el fabricante“
MIL en. Los bytes restantes en la respuesta proporcionan información
sobre los tipos de pruebas soportadas por ese módulo en particular (ver AB B2 “- definidos por el fabricante

el documento J1979 para más información). B3 “ “- reservado para el futuro“

CDEF U0 Códigos de red - SAE definidos


En este caso, sólo había una línea a la respuesta, pero si había
códigos almacenados en otros módulos, cada uno de ellos podría U1 “ “- definidos por el fabricante“

haber proporcionado una línea de la respuesta. Para determinar qué U2 “- definidos por el fabricante“
módulo se informa que el código de problema, habría que convertir los
U3 “- Reservado para futuras
encabezados de (AT H1) y luego buscar en el tercer byte de la
cabecera de tres bytes para la dirección del módulo que envió la
Tomando el ejemplo de código problemas (0133), el primer dígito (0),
información.
entonces sería reemplazado con P0, y el 0133 informó que se convertiría en
P0133 (que es el código de un 'circuito sensor de oxígeno respuesta lenta').
Una vez determinado el número de códigos almacenados, el siguiente
Tenga en cuenta que la norma ISO 15765-4 (CAN) de protocolo es muy similar,
paso es solicitar los códigos de problemas reales con una solicitud de modo 03
pero añade un byte de datos adicional (en la segunda posición), muestran la
(no hay PID es necesario):
cantidad de elementos de datos (DTC) han de seguir.

> 03
Para dar algunos ejemplos más, si el código recibido era D016,
Una respuesta a esto podría ser: que sustituiría a la D con U1, y el código de problema resultante sería
U1016. Del mismo modo, 1.131 recibieron en realidad sería para el
43 01 33 00 00 00 00 P1131 código.

El '43' en la respuesta anterior simplemente indica que se trata de una


respuesta a una solicitud de modo 03. El otro

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 34 de 94


www.elmelectronics.com
ELM327

Restablecimiento de los códigos de problemas

El ELM327 es muy capaz de restablecer Para evitar el borrado inadvertidamente información almacenada, el SAE
códigos de diagnóstico, ya que esto sólo requiere la emisión de una orden de especifica que herramientas de análisis deberán verificar que un modo 04 está
modo 04. Las consecuencias siempre deben ser considerados antes de destinado ( '¿Está seguro?') Antes de enviarlo realidad
enviarlo, sin embargo, ya que más de la MIL (o 'Check Engine Light') se al vehículo, ya que todos código de problema

restablecerá. De hecho, la emisión de una voluntad el modo 04: la información se pierde inmediatamente cuando se envía el modo.
Recuerde que el ELM327 no supervisa el contenido de los mensajes, por
- restablecer el número de códigos de problemas lo que no sabrá que tiene que pedir la confirmación de la solicitud de modo
- esto tendría que ser el deber de una interfaz de software, si uno está
- borrará todos los códigos de diagnóstico
escrito.
- borrar los datos de cuadro congelado almacenado
Como se ha dicho, para borrar los códigos de diagnóstico en realidad,
- borrar el DTC que inició el cuadro congelado solo hay que emitir una orden de modo 04. Una respuesta de 44 desde el
- borrar todos los datos de prueba del sensor de oxígeno vehículo indica que la petición de modo se ha llevado a cabo, la información
- borrar el modo de 06 y 07 borrada, y la MIL desactivado. Algunos vehículos pueden requerir una
- No borrar los códigos de problemas permanentes (modo 0A) (éstos se condición especial que se produzca (por ejemplo. El encendido, pero el
restablecen por la ECU solamente) motor no debe estar en funcionamiento) antes de que se responda a una
orden de modo 04.
La limpieza de todos estos datos no es única para el ELM327 - que se produce
cada vez que una herramienta de análisis se utiliza para restablecer los códigos. El mayor
Eso es todo lo que hay que despejar los códigos de problemas. Una vez más,
problema con la pérdida de estos datos es que su vehículo puede funcionar en forma
no envíe accidentalmente el código 04!
deficiente por un corto tiempo, mientras se lleva a cabo una recalibración.

Guía rápida para leer códigos de averías

Si no utiliza su ELM327 desde hace algún tiempo, toda esta hoja de Llave de contacto en ON, pero el
datos puede parecer un poco para revisar cuando su 'Check Engine' de luz vehículo no se ejecuta
con el tiempo se enciende, y lo que desea saber por qué. Ofrecemos esta
sección como una guía rápida de los conceptos básicos que se necesitan.

> AT SP 0 OK
Para empezar, conecte el circuito ELM327 a su PC o PDA y
comunicarse con él mediante un programa de terminal como
HyperTerminal, ZTerm, ptelnet, o un programa similar. Normalmente > 0101
debe establecerse en 9600 o 38400 baudios, con 8 bits de datos y para ver cuántos códigos

sin paridad o handshaking. (segundo dígito del 3er byte)

La gráfica a la derecha proporciona un procedimiento rápido sobre qué hacer a


> 03
continuación:
para ver los códigos (ignore
el primer byte y leer los otros en
parejas)

Arreglar el vehículo!

> 04
para restablecer los códigos

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 35 de 94


www.elmelectronics.com
ELM327

Selección de protocolos

El ELM327 soporta varios protocolos de OBD diferentes (véase la Figura


2, a la derecha). Como usuario, puede que nunca tenga que elegir cuál se Protocolo Descripción
debe utilizar (ya que los ajustes de fábrica causan una búsqueda automática
0 Automático
para llevar a cabo para usted), pero mientras que la experimentación, es
posible que desee especificar un protocolo a utilizar. 1 SAE J1850 PWM (41,6 kbaudios)

2 SAE J1850 VPW (10,4 kbaudios) ISO 9141-2 (5


Por ejemplo, si sabe que su vehículo utiliza el protocolo SAE J1850
VPW, es posible que desee el ELM327 a usar únicamente ese protocolo, y 3 baudios init) ISO 14230-4 KWP (5 baudios init) ISO
no otros. Si eso es lo que desea, sólo tiene que determinar el número de
4 14230-4 KWP (init rápido) ISO 15765-4 CAN (11 ID bit, 500
protocolo (de la Figura 2), a continuación, utilizar el 'protocolo SET'
comando AT de la siguiente manera: 5 kbaudios) ISO 15765 -4 CAN (29 bit ID, 500 kbaudios) ISO

6 15765-4 CAN (11 ID bit, 250 kbaudios) ISO 15765-4 CAN


> EN SP 2 OK
7 (29 bit ID, 250 kbaudios) ABC

8
A partir de este momento, el protocolo predeterminado (usado
después de cada encendido o comando AT D) será el protocolo 2 (o el que 9

sea uno que haya elegido). Verificarlo preguntando al ELM327 para


SAE J1939 CAN (29 bit ID, 250 * kbaudios) Usuario1 CAN
describir el protocolo:
(11 * bit ID, 125 * kbaudios) Usuario2 CAN (bit ID 11 *, 50
> EN DP
SAE J1850 VPW * kbaudios)

* Ajustable por el usuario


Ahora lo que sucede si su amigo tiene un vehículo que utiliza la norma ISO
9141-2? ¿Cómo se puede ahora utilizar la interfaz ELM327 para ese vehículo, si está Figura 2. ELM327 Números de Protocolo
configurado para J1850?
Una posibilidad es cambiar su selección de protocolo para permitir
la búsqueda automática de otro protocolo, el fracaso de la actual. Esto
Memoria de sólo ocurrirá después de que se encontró un protocolo válido, y sólo
se hace poniendo una 'A' antes de que el número de protocolo, de la
si la función de memoria está activada (M0 / M1). Para el ejemplo anterior, todo
siguiente manera:
lo que tiene que ser enviado es:
> AT SP A2 OK
> AT TP A2 OK

> EN DP
Muchas veces, es muy difícil de adivinar siquiera un protocolo para tratar
AUTO, SAE J1850 VPW
en primer lugar. En estos casos, lo mejor es simplemente dejar que el ELM327
Ahora, el ELM327 tratará el protocolo 2, pero entonces decidir qué usar. Esto se hace mediante diciéndole que la utilice protocolo 0 (ya
comenzará automáticamente a buscar otro protocolo si el intento de sea con el SP o los comandos TP).
conectar con el protocolo 2 fallar (como sucedería cuando intenta
conectarse al vehículo de un amigo). Para que el ELM327 buscar automáticamente un protocolo de usar,
sólo tiene que enviar:
Los comandos de protocolo SET causan una escritura inmediata en
> AT SP 0 OK
la EEPROM interna, antes incluso de intentar conectarse al vehículo. Esta
escritura es mucho tiempo, afecta al ajuste para la siguiente arranque, y en
realidad no puede ser apropiado, si el protocolo seleccionado no es y cuando el siguiente orden del OBD se va a enviar, el ELM327 buscará
correcto para el vehículo. Para permitir una prueba antes de que ocurra automáticamente uno que responda. Verá un '... buscando' mensaje,
una escritura, el ELM327 ofrece otro comando - el comando Protocolo de seguida de una respuesta, después de lo cual se puede pedir al ELM327
Trata (TP). qué protocolo se encontró (mediante el envío de AT DP).

Trate de Protocolo es muy similar al conjunto de protocolos. Se utiliza Las primeras versiones de la ELM327 utilizan el orden de búsqueda
exactamente de la misma forma que el comando AT SP, siendo la única recomendada SAE (protocolo 1, 2, 3, etc.), pero las versiones recientes de la
diferencia que una escritura interna IC modifican el orden de búsqueda

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 36 de 94


www.elmelectronics.com
ELM327

Selección de protocolos (continuación)

basado en cualquier entradas activas que están presentes. Si es Sólo el protocolo de destino (es decir. en SP n), o de lo que lo utilice la suya
necesario seguir el orden SAE J1978, usted debe enviar el ELM327 un AT con búsquedas automáticas permitidas en caso de fallo (es decir, en un SP). A
SS ordena primero, o el paso a través de cada protocolo con el comando continuación, enviar su solicitud, con encabezados asignados según sea
TP. necesario. El ELM327 entonces intentará conectarse a través de sus cabeceras
La búsqueda automática funciona bien con los sistemas OBDII, pero y sus datos, y sólo si eso no funciona (y ha elegido el protocolo con AT SP An)
puede no ser lo que usted necesita si usted está experimentando. Durante una va a buscar utilizando los valores por defecto del OBD estándar.
búsqueda, el ELM327 hace caso omiso de cualquier encabezado que se han
definido anteriormente (ya que siempre hay una posibilidad de que los
encabezados pueden no resultar en una respuesta), y utiliza los valores de En general, el 99% de todos los usuarios a encontrar que la activación
cabecera DAB por defecto para cada protocolo. También utilizará las de la memoria (la espiga de ajuste 5 a 5V) y usando la opción 'Auto' en la
solicitudes estándar (es decir, 01 00) durante las búsquedas. Si esto no es lo búsqueda (puede que tenga que enviar en SP 0) funciona muy bien. Tras la
que quiere, los resultados pueden ser un poco frustrante. búsqueda inicial, el protocolo utilizado por su vehículo se convierte en el
nuevo valor predeterminado, pero todavía es capaz de buscar otra, sin que
tenga que decir en SP 0 de nuevo.
Para utilizar sus propios valores de cabecera (y datos) al intentar
conectarse a una ECU, no le diga al ELM327 para utilizar el protocolo 0.
En cambio, dilo a cualquiera uso

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 37 de 94


www.elmelectronics.com
ELM327

Formatos de los mensajes de DAB

Para este punto sólo hemos discutido el contenido (parte de datos) de un como bytes de cabecera. La Figura 3 muestra una estructura de
mensaje de OBD, y hecho solamente pasando mención a otras partes, tales mensaje típica OBD que es utilizado por el
como las cabeceras y las sumas de comprobación, que todos los mensajes SAE J1850, ISO 9141-2, ISO 14230-4 y normas. Se utiliza 3 bytes de
utilizan en cierta medida. cabecera como se muestra, para proporcionar detalles relativos a la
sistemas de diagnóstico a bordo están diseñados para ser muy prioridad, el receptor, y el
flexible, proporcionando un medio para varios dispositivos se comuniquen transmisor. Tenga en cuenta que muchos textos se refieren al receptor como
entre sí. Para que los mensajes que se envían entre dispositivos, es la 'Dirección de destino' (TA), y el transmisor como el 'Source Address' (SA).
necesario añadir información que describe el tipo de información que se
envía, el dispositivo que está siendo enviado a, y tal vez el dispositivo que Otro motivo de preocupación cuando se envía ningún mensaje es que
está haciendo el envío. Además, la importancia del mensaje se convierte se pueden producir errores en la transmisión, y los datos recibidos puede ser
en una preocupación, así - la información de posición del cigüeñal es sin interpretado falsamente. Para detectar los errores, todos los diversos
duda de mucha más importancia a un motor en marcha de una solicitud protocolos proporcionan algún tipo de control sobre los datos recibidos. Esto
para el número de códigos de avería almacenados, o el número de serie puede ser tan simple como un cálculo de suma (es decir, un 'total acumulado'
del vehículo. Así que para transmitir importancia, los mensajes también se de valores de bytes) que se envía al final de un mensaje. Si el receptor
les asigna una prioridad. también calcula una suma que se reciben los bytes, entonces los dos valores
se pueden comparar y si no están de acuerdo, el receptor sabrá que se ha
producido un error. Desde sumas simples podrían no detectar múltiples
La información que describe la prioridad, la errores, una suma más fiable (y más complicado) llama una comprobación de
destinatario, y el transmisor suelen ser necesarios por parte del receptor, redundancia cíclica (o 'CRC') se utiliza a menudo. Todos los protocolos
incluso antes de conocer el tipo de solicitud que contiene el mensaje. especifican cómo los errores se deben detectar, y las diversas maneras de
Para asegurarse de que esta información se obtiene en primer lugar, los manejar si se producen.
sistemas de DAB se transmiten al comienzo (o la cabeza) del mensaje.
Dado que estos bytes están a la cabeza, se refieren por lo general
Los bytes de datos OBD son por lo tanto normalmente

SA

cabecera receptor transmisor TA

prioridad 3 bytes de hasta 7 bytes de datos suma de comprobación

Figura 3. Un OBD Mensaje

bytes de cabecera '' bytes de datos (8 en total)

bits de ID (11 o 29) PCI 7 bytes de datos suma de comprobación

Figura 4. Un CAN OBD Mensaje

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 38 de 94


www.elmelectronics.com
ELM327

OBD formatos de mensajes (continuación)

encapsulado dentro de un mensaje, con bytes 'cabecera' al principio, Para los protocolos CAN, verá los bits de ID, y otros artículos que normalmente
y un 'checksum' al final. El J1850, ISO 9141-2 y ISO 14230-4 están ocultos tales como el byte de PCI para la norma ISO 15765, o los
protocolos todos usan esencialmente la misma estructura, con tres códigos de longitud de datos (si están habilitados con el PP 29, o en D1).
bytes de cabecera, un máximo de siete bytes de datos y un byte de Tenga en cuenta que el ELM327 no muestra la información de suma de
suma de comprobación. comprobación para sistemas CAN, o los bytes de IFR para los sistemas J1850.

El protocolo ISO 15765-4 (CAN) utiliza una estructura muy similar No es necesario tener siempre a establecer estas despedidas de
(véase la Figura 4), la principal diferencia realmente sólo con respecto a cabecera, o para realizar un cálculo de suma de comprobación, como el
la estructura de la cabecera. CAN de cabecera bytes no se conocen ELM327 siempre lo hará por ti. Los bytes de cabecera son ajustables sin
como bytes de cabecera - se les llama '' bits de ID embargo, en caso de que deseen experimentar con mensajes avanzados
en lugar. La CAN inicial como los de direccionamiento físico. La siguiente sección proporciona una
estándar define los bits de ID como 11 en número, mientras que el discusión sobre cómo hacer esto ...
estándar CAN más reciente permite ahora, ya sea para 11 o 29 IDs bits.

El ELM327 normalmente no muestran ninguno de estos bytes


adicionales a menos que active esa característica con los encabezados en
comando (AT H1). Emisión que le permite ver los bytes de cabecera y el
byte de suma de comprobación (para el J1850, ISO 9141 e ISO 14230
protocolos).

Ajuste de los encabezados

Las emisiones relacionadas con los códigos de diagnóstico que la consulte a la norma SAE J2178 y determinar que es funcional refrigerante del
mayoría de la gente está familiarizada con se describe en la norma SAE motor 48. Dirección SAE J2178 estándar también le dice que para su
J1979 (ISO15031-5). Ellos representan sólo una parte de los datos que un vehículo J1850 VPW, un byte prioridad del A8 es apropiado. Por último,
vehículo puede tener disponibles - se puede obtener mucho más si usted es sabiendo que una herramienta de exploración normalmente se aborda F1,
capaz de dirigir las peticiones de otros lugares. que tiene suficiente información para especificar los tres bytes de cabecera
(A8 48 y F1). A decir ELM327 para utilizar estas nuevas bytes de cabecera,
Acceder a más información de diagnóstico OBDII requiere que se todo lo que necesita es el comando Conjunto de la cabecera:
hagan peticiones a lo que se conoce como AA 'dirección funcional.'
Cualquier procesador que soporta la función responderá a la solicitud
(y teóricamente, muchos procesadores diferentes puede responder a
> AT SH A8 48 F1 OK
una única solicitud funcional). Además, todos los procesadores (o
ECU) también responderá a lo que se conoce como su dirección física.
Eso Los tres bytes de cabecera asignados de esta manera permanecerán en
es la dirección física que efecto hasta que sea cambiado por el siguiente comando AT SH, un reset, o un
identifica de forma única cada módulo en un vehículo, y que permite AT D.
dirigir consultas más específicas a un solo módulo en particular. Después de haber establecido los bytes de cabecera, que ahora sólo necesita
enviar el identificador secundario para la temperatura del fluido (10) en el indicador. Si la
Para recuperar la información más allá de los requisitos OBDII presentación de los encabezados se apaga, la conversación podría tener este aspecto:
continuación, será necesario dirigir sus peticiones ya sea a una
dirección funcional diferente, oa la dirección física de una ECU. Esto se
> 10 10
hace cambiando los bytes de datos en el encabezado del mensaje. 2E

Como un ejemplo de direccionamiento funcional, supongamos El primer byte en la respuesta se hace eco de la solicitud, como de
que desea solicitar que el procesador responsable de refrigerante del costumbre, mientras que los datos que pedimos es el byte 2E. Usted puede
motor proporciona la temperatura del fluido actual. Usted no sabe su encontrar que algunas de las solicitudes, siendo de baja prioridad, no se puede
dirección, por lo responder de inmediato, posiblemente

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 39 de 94


www.elmelectronics.com
ELM327

Ajuste de los encabezados (continuación)

causando un resultado 'NO DATOS'. En estos casos, es posible que desee para ajustar el 22 y otros se describen con más detalle en el documento SAE J2190
valor de tiempo de espera, tal vez tratando primero el máximo (es decir, el uso de AT ST normas, 'E / E de diagnóstico modos de prueba mejorada'.
FF). Muchos vehículos simplemente no va a apoyar a estos modos de direccionamiento
adicionales. El estándar ISO14230-4 define su cabecera bytes de un poco
La otra, y más común método de obtención de información es diferente. experimentadores avanzadas serán conscientes de que para la
mediante direccionamiento físico, en el que dirigir su solicitud a un norma ISO 14230-4, el primer byte de cabecera debe incluir siempre la
dispositivo específico, no a un grupo funcional. Para ello, una vez más longitud del campo de datos, que varía de un mensaje a otro. A partir de
necesario para construir un conjunto de bytes de cabecera que dirigen su eso, se podría suponer que el que tendría que redefinir el encabezado
consulta a la dirección física del procesador, o ECU. Si no conoce la para cada mensaje que se va a enviar - no es así! El ELM327 siempre
dirección, recordar que el remitente de la información por lo general se determina el número de bytes que se está enviando, e introduce esa
muestra en el tercer byte de la cabecera. Mediante el control de su longitud para ti, en el lugar adecuado para la cabecera que está
sistema por un tiempo con los encabezados conectó (en H1), puede utilizando. Si está utilizando el estándar ISO 14230-4 cabecera, la longitud
aprender rápidamente las principales direcciones de los remitentes. El será puesto en el primer byte de cabecera, y sólo es necesario
documento SAE J2178 asigna rangos de direcciones de estos proporcionar los dos bits más significativos () de este byte en la definición
dispositivos si no está seguro de lo que podría ser más apropiado. de la cabecera. Lo que modifique en el resto del byte será ignorado por el
ELM327 menos que lo establece en 0. Si es 0, se supone que usted está
experimentando con KWP cuatro cabeceras de bytes, y el ELM327 crea
Cuando se conoce la dirección que desea 'hablar a,' simplemente lo entonces el cuarto byte de cabecera para usted. Una vez más, no es
utilizan para el segundo byte de la cabecera (asumir una dirección de 10 necesario para proporcionar cualquier longitud que se ponga en este byte
para este ejemplo). Combine eso con su conocimiento del SAE J2178 para - está hecho para ti.
elegir un byte de prioridad / Tipo (asumir un valor de E4 para este ejemplo,
como si el vehículo es J1850 PWM). Por último, es necesario que se
identifique con el objetivo, por lo que las respuestas pueden ser devueltos.
Como es habitual para las herramientas de diagnóstico, vamos a utilizar Abordar dentro de la CAN protocolos (ISO 15765-4) es bastante similar
una dirección de F1. Al igual que antes, estos tres bytes se asignan a la en muchos aspectos. En primer lugar, tenga en cuenta el estándar de 29 bits.
cabecera con el comando de cabecera de set: El ELM327 divide los 29 bits en un byte puede Prioridad y los tres bytes de
cabecera que ahora estamos familiarizados. Esta es la forma en que se
combinan para su uso por el ELM327:

> EN SH E4 10 F1 OK

> AT CP vv > AT SH zz xx yy
A partir de ahora, todos los mensajes que envía el ELM327 utilizará
estos tres bytes para la cabecera. Todo lo que hay que hacer ahora es
solicitar los datos del vehículo. Para direccionamiento físico, esto se hace
a menudo se utiliza el modo 22: vv xx yy zz

5 bits solamente

> 22 11 6B 62 11 6B 00
00
vv xx yy zz
La respuesta a este comando es del mismo formato a los
observados para las solicitudes de OBD 'estándar'. La solicitud se ha ID de 29 bits
repetido (con 40 añade al valor modo con el fin de mostrar que esto
es una respuesta), y esto es seguido por los datos reales (00 00 en La lata norma indica que para el diagnóstico, el byte de prioridad (
este caso). Los PID se utiliza con el modo de 22 son generalmente 'vv' en el diagrama) siempre será de 18 (que es el valor por defecto
propiedad de cada fabricante y generalmente no se publicó utilizado por el ELM327). Ya que rara vez se cambió, se puede asignar
ampliamente, lo que puede tener dificultad para determinar los usar por separado de los otros bytes de cabecera, usando el comando CP.
con su vehículo. Elm Electrónica no mantiene listas de esta
información, y no puede proporcionar más detalles para usted. Modo El siguiente byte ( 'xx') describe el tipo de mensaje que se trata, y se
encuentra a hexadecimal DB para funcionales

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 40 de 94


www.elmelectronics.com
ELM327

Ajuste de los encabezados (continuación)

direccionamiento y de DA si se utiliza direccionamiento físico. Los dos bytes funcional de direccionamiento (ID / cabecera = 7DF) y direccionamiento
siguientes son como se definen anteriormente para los otros estándares - 'yy' físico (7EN) para hacer peticiones. En general, no conoce las
es el receptor (o Target direcciones físicas en un primer momento, pero usted sabe (de la
Dirección), y 'zz' es el transmisor (o Fuente norma) que la dirección funcional DAB es 7DF.
Dirección). Por las solicitudes de diagnóstico funcionales, el receptor
siempre es 33, y el transmisor es F1, que es muy similar a ISO Con el fin de aprender las direcciones físicas, a su vez sobre las
14230-4. cabeceras, y ver lo que la dirección de las respuestas son, a continuación,
Los que están familiarizados con la norma SAE J1939 encontrará utilizar esa información para hacer peticiones físicas si se desea. Por ejemplo,
probablemente esta estructura de cabecera a ser muy similares (J1939 si las cabeceras están encendidas, y le envían 01 00, es posible que vea:
es un estándar CAN para el uso de vehículos '' trabajo pesado, como
camiones y autobuses). Se utiliza una terminología ligeramente diferente,
pero hay un paralelo directo entre los bytes utilizados por J1939 para los > 01 00
encabezados y la agrupación de los bytes en el ELM327. Páginas 53 y 54 7E8 06 41 00 BE B8 3F 13 00
ofrecen más detalles de la estructura del mensaje J1939.
El 7E8 muestra que la ECU # 1 fue el de responder. Con el fin de
hablar directamente a la ECU, todo lo que necesita hacer es fijar la cabecera
Otro método para definir todos los bits de ID 29 puede a la vez es la en el valor adecuado (es 7E0 para hablar con el dispositivo 7E8 - véase la
versión de cuatro bytes del comando SH. Sólo es necesario que los 8 norma ISO 15765-4 para obtener más información). A partir de ahí, se puede
mordiscos en un solo comando: 'hablar' directamente a la ECU utilizando su dirección física, como se muestra
aquí:
> EN SH vv xx yy zz

> AT SH 7E0 OK
vv xx yy zz

ID de 29 bits > 01 00
7E8 06 41 00 BE B8 3F 13 00
Al igual que con el comando AT CP, sólo los 5 bits se utilizan desde el
primer byte (los 3 bits más significativos son ignorados). > 01 05
7E8 03 41 05 46 00 00 00 00
El formato de cabecera final a discutir es el utilizado por los sistemas de 11
bits puede. También utilizan una estructura de prioridades y dirección, pero se Esto sólo ha sido una visión general sobre cómo cambiar las
acortan en aproximadamente tres mordiscos en vez de tres bytes. El ELM327 cabeceras (y bits de ID). Es de esperar que ha sido suficiente para al
utiliza las mismas ubicaciones de almacenamiento para estos valores, por lo que menos ayudar a empezar. No recomendamos experimentar demasiado
puede utilizar los métodos que acabamos de mencionar para asignar valores de bit sin una copia de las normas, sin embargo, ya que algunos aspectos son
11 (pero sólo los bits menos significativos se utilizan para cualquier mensaje - los extremadamente difíciles de entender sin ellos.
otros son ignorados).

11 bits pueden '' cabeceras se asignan normalmente utilizando una


versión especial de 'corto' del comando AT SH que utiliza sólo tres dígitos
hexadecimales. Desde tres dígitos son en realidad 12 bits, se ignora el bit más
significativo, y puede tener cualquier valor. Como ejemplo de esta instrucción,
para asignar un ID de 7DF, sólo tiene que enviar:

> EN SH 7DF OK

El OK muestra que el ELM327 ha aceptado su valor.

La norma CAN ISO15765-4 11 bits define tanto

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 41 de 94


www.elmelectronics.com
ELM327

Las respuestas de varias líneas

Hay ocasiones en que un vehículo debe responder con más los datos, en lugar del valor del byte que el vehículo hizo J1850.
información de un 'mensaje' es capaz de mostrar. En estos casos,
responde con varias líneas que el receptor debe ensamblar en un La primera línea de esta respuesta dice que hay 014 bytes de
mensaje completo. información en total. Es decir 14 en hexadecimal o 20 en términos
decimales, que está de acuerdo con los 6 + 7 + 7 bytes mostrados en las
Un ejemplo de esto es una solicitud para el número de identificación del tres líneas. Los números de VIN son generalmente de 17 dígitos de longitud,
vehículo 17 dígitos, o VIN. Este servicio está disponible a partir de los nuevos sin embargo, ¿Cómo podemos montar el número de 20 dígitos?
vehículos que utilizan un modo de 09, 02 PID petición (pero no fue inicialmente un
requisito, por lo que muchos vehículos más antiguos no lo soportan). Aquí está un Esto se hace descartando los tres primeros bytes del mensaje. Los dos
ejemplo de una respuesta que podría obtenerse de un vehículo J1850: primeros son el familiar 49 02, ya que esta es una respuesta a una solicitud de
09 02, por lo que no son parte del VIN. El tercer byte (el '01'), indica el número
de elementos de datos que se van a seguir (el vehículo sólo puede tener un
> 0902 VIN, y esto está de acuerdo con eso). Haciendo caso omiso de la tercera byte
49 02 01 00 00 00 31 49 02 02 44 hojas de 17 bytes de datos que son el número de serie (a propósito elegido
34 47 50 49 02 03 30 30 52 35 49 para ser idéntica a la de los del ejemplo anterior). Todo lo que se necesita es
02 04 35 42 31 32 49 02 05 33 34 una conversión a ASCII, con el fin de leerlos, exactamente igual que antes.
35 36

De estos dos ejemplos, se puede ver que el formato de los datos


Los dos primeros bytes (49 y 02) en cada línea de la respuesta se utilizan
recibidos puede depender del protocolo utilizado para transmitirlo. Por
para demostrar que la información es en respuesta a una solicitud de 09 02.
esta razón, una copia de la norma SAE J1979 sería esencial si usted
Los siguientes programas de bytes que respuesta es, mientras que los cuatro
está planeando hacer un montón de trabajo con esto, por ejemplo, si
bytes restantes son los bytes de datos que se están enviando. Montaje de los
estuviera escribiendo software para visualizar los datos recibidos.
datos en el orden especificado por el tercer byte, y haciendo caso omiso de los
primeros 00 (son bytes de relleno - ver J1979) da:
A continuación se muestra un ejemplo de un tipo diferente de
respuesta de multilínea que puede ocurrir cuando dos o más ECUs

31 44 34 47 50 30 30 52 35 35 42 31 32 33 34 35 36 responden a una petición. Aquí es una respuesta típica a una solicitud de


01 00:

Los valores de datos representan realmente los códigos ASCII > 01 00 41 00 SER 3E B8 11
41 00 80 10 80 00
de los dígitos del VIN. El uso de una tabla ASCII para convertirlos en
personajes da la siguiente VIN del vehículo:

Esto es difícil de descifrar sin saber un poco más de información. En primer

1 D 4 GP 0 0 R 5 5 B 1 2 3 4 5 6 lugar, convertir las cabeceras de ver realmente 'quién' está haciendo la


conversación:
Los sistemas CAN mostrará esta información de una manera un
tanto diferente. Aquí es una respuesta típica de un vehículo puede: > AT H1
OK

> 01 00
> 0902
014 48 6B 10 41 00 SER 3E B8 11 FA 48 6B 18 41
00 80 10 80 00 C0
0: 49 02 01 31 44 34 1: 47 50 30 30 52
35 35 2: 42 31 32 33 34 35 36 Ahora, si se analiza la cabecera, se puede ver que el tercer byte
muestra ECU 10 (el controlador del motor) y 18 ECU (la transmisión) son
a la vez respondiendo con una respuesta a la solicitud 01 00. Con los
La CAN formateo se ha dejado en (el valor predeterminado), por lo que la
vehículos modernos, este tipo de respuesta se produce a menudo, y
lectura de los datos más fácil. Con el formateo en, los números de secuencia se
usted debe estar preparado para ello.
muestran con dos puntos ( ':') después de cada uno. Los sistemas CAN agregar
este dígito hexadecimal único (que va de 0 a F se repite), para ayudar a volver a
Un último ejemplo muestra cómo los mensajes similares
montar

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 42 de 94


www.elmelectronics.com
ELM327

Las respuestas múltiples (continuación)

podría ser en ocasiones 'mezclado' en un sistema CAN. Nos preguntamos De estos, los mensajes se pueden montar en el orden correcto.
el vehículo para el ID de calibración (09 04) y se presentan con la siguiente Para hacer esto, mira el octeto que sigue el ID CAN - es lo que se
respuesta: conoce como el byte de PCI, y se usa para decir qué tipo de datos
sigue. En este caso, el byte PCI comienza con un 1 (para un mensaje
> 09 04 de 'Primera imagen'), o un 2 (para los 'cuadros consecutivos'). La
013 segunda mitad del byte PCI muestra el orden en que la información
0: 49 04 01 35 36 30 1: 32 38 39 34 39 debe ser ensamblada (es decir. El número de segmento). En este
41 43 013 caso, los números de segmentos que ya están en orden, pero si no lo
hubieran sido, habría sido necesario reordenar los mensajes para
0: 49 04 01 35 36 30 2: 00 00 00 00 00 colocarlos en orden.
00 31 1: 32 38 39 35 34 41 43 2: 00 00
00 00 00 00 00
Cada estándar OBD tiene algunas peculiaridades de menor
importancia, pero es de esperar que esto le ha ayudado con algunos de los
lo cual es bastante confusa. El primer grupo (el 013, 0 :, 1: grupo) parece
más comunes. Si todavía tiene problemas, le instamos a comprar la norma
tener un cierto sentido (pero el número de bytes de datos no están de
correspondiente, y estudiarlo.
acuerdo con la respuesta), y el grupo siguiente es muy confuso, ya que
tiene dos grupos de dos segmentos. Parece que dos ECUs están
respondiendo y la información se está mezclado. Que el ECU que las
respuestas pertenecen? La única manera de saber es para encender las
cabeceras, y repetir su solicitud:

> A H1 OK

> 09 04
7E8 10 13 49 04 01 35 36 30 7E8 21 32 38 39
34 39 41 43 7E9 10 13 49 04 01 35 36 30 7E8
22 00 00 00 00 00 00 31 7E9 21 32 38 39 35
34 41 43 7E9 22 00 00 00 00 00 00 00

Esta vez, el orden parece ser el mismo, pero tenga en cuenta que puede
que no sea - que es la razón por la norma requiere que los códigos de
secuencia pueden transmitir con las respuestas de varias líneas.

En cuanto a los primeros dígitos de estas respuestas, se puede ver


que algunos comienzan con 7E8, y un poco de comenzar con 7E9, que son
los IDs se representan ECU # 1 y # 2 ECU, respectivamente. La agrupación
de las respuestas por ECU da:

7E8 10 13 49 04 01 35 36 30 7E8 21 32 38 39
34 39 41 43 7E8 22 00 00 00 00 00 00 31 y

7E9 10 13 49 04 01 35 36 30 7E9 21 32 38 39
35 34 41 43 7E9 22 00 00 00 00 00 00 00

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 43 de 94


www.elmelectronics.com
ELM327

Tipos de mensajes CAN

La ISO 15765-4 (CAN) estándar define varios tipos de mensajes mensaje primer fotograma. La longitud (014) fue en realidad extrae de
que se van a utilizar con los sistemas de diagnóstico. Actualmente, hay ese mensaje por el ELM327 y se imprime en la primera línea, como se
cuatro que se puede utilizar: muestra. Siguiendo la línea Primera imagen son dos cuadros
consecutivos (que comienzan con 1 y 2: :). Para conocer más detalles
SF - el Single Frame
del mismo formato, es posible que desee enviar una solicitud como la
FF - el primer cuadro (de un mensaje de multitrama) CF - el de arriba, y luego repetir la misma petición con las cabeceras
marco consecutiva ( ' ') habilitados (AT H1). Esto mostrará los bytes PCI que en realidad se
FC - el marco de control de flujo utilizan para enviar estos componentes del mensaje total.

El mensaje contiene solo marco de almacenamiento de hasta siete


bytes de datos, además de lo que se conoce como un byte (Información El marco de control de flujo es una que normalmente no tiene que
de control de protocolo) PCI. El byte PCI es siempre el primero de los tratar. Cuando un mensaje se envía primer fotograma como parte de una
bytes de datos, y cuenta cómo muchos bytes de datos han de seguir. Si respuesta, el ELM327 debe informar al remitente algunas cosas técnicas
la opción de formato puede auto está encendido (CAF1) entonces el (tales como la duración del retardo entre los fotogramas consecutivos, etc.)
ELM327 creará este byte para usted al enviar y eliminar por usted y lo hace respondiendo inmediatamente con un mensaje de control de flujo.
cuando se recibe. (Si se habilitan las cabeceras, se verá que en las Estos están predefinidos por la norma ISO 15765-4, por lo que se pueden
respuestas). insertar automáticamente. Si se desea generar mensajes personalizados
de control de flujo, a continuación, consulte la sección 'Control de flujo
Si se gira el formateo de apagado automático (con CAF0), se espera que Alterar Mensajes', en la página 60.
va a proporcionar todos los bytes de datos para ser enviados. Para los sistemas
de diagnóstico, esto significa que el byte de PCI y los bytes de datos. El ELM327
no modificará sus datos en modo alguno, excepto para añadir bytes de relleno Si un control de flujo trama se detecta mientras
adicional para usted, para asegurarse de que siempre envía el mayor número de monitoreo, la línea se mostrará con FC: 'antes de los datos, para
bytes de datos los datos que se requieran (ocho para ISO15765). No es necesario ayudarle con la decodificación de la información.
para establecer la opción Permitir largo (EN AL) con el fin de enviar ocho bytes, No es una final tipo de mensaje que es
como el IC redefina para usted. ocasionalmente reportado, pero no es compatible con el estándar de
diagnóstico. El (Bosch) norma CAN permite la transmisión de una solicitud
de datos sin enviar ningún dato en el mensaje que solicita. Para asegurar
Un mensaje primer fotograma se usa para decir que un mensaje que el mensaje es visto como tal, el remitente también establece un
multitrama está a punto de ser enviado, y le dice al receptor de cuántos bytes indicador especial en el mensaje (el bit RTR), que se ve en cada receptor.
de datos que puede esperar. El descriptor de longitud está limitado a 12 bits, El ELM327 siempre se ve por la bandera, o de cero bytes de datos, y
por lo que un máximo de 4095 byes se puede recibir a la vez utilizando este puede informar que se ha detectado un RTR mientras se monitorea. Esto
método. se muestra por los personajes RTR, donde generalmente aparecen de
Frame mensajes consecutivos se envían después del mensaje primer datos, pero sólo si el formateo puede auto está apagado, o cabeceras
fotograma para proporcionar el resto de los datos. Cada mensaje Frame están habilitadas. A menudo, cuando la monitorización de un sistema
consecutiva incluye un único hex dígitos 'número de secuencia' que se CAN con una velocidad de transmisión incorrecta seleccionada, RTRs
utiliza para determinar el orden al volver a montar los datos. Se espera que puede ser visto.
si un mensaje se corrompió y resentimiento, podría ser fuera de servicio por
unos cuantos paquetes, pero no por más de 16, por lo que el único dígito es
normalmente más que suficiente. Como se ha visto anteriormente, el Tenga en cuenta que el sistema CAN es bastante robusto con varios métodos
número de serie de un vehículo es a menudo una respuesta de multitrama: de detección de errores en su lugar, de manera que durante la transmisión normal de
datos que rara vez se ve ningún error. Al supervisar los autobuses sin embargo, es
muy posible que aparezcan errores (sobre todo si el ELM327 se establece en una
velocidad de transmisión incorrecta). Como ayuda para el diagnóstico, cuando se
> 0902
014 producen errores, el ELM327 imprimirá todos los bytes (no importa lo que la CAF,
etc., está ajustado a), seguido por el mensaje '<RX ERROR'.
0: 49 02 01 31 44 34 1: 47 50 30 30 52
35 35 2: 42 31 32 33 34 35 36

En este ejemplo, la línea que comienza con 0: es el

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 44 de 94


www.elmelectronics.com
ELM327

Las solicitudes múltiples PID

El SAE J1979 (ISO 15031-5) estándar permite solicitar el mensaje es una respuesta a una solicitud de 01.
múltiples PID con un mensaje, pero sólo si se conecta al vehículo Después de la 41 es la información real, con los números PID
con la CAN (ISO 15765-4). Hasta seis parámetros pueden ser seguidos por sus bytes de datos. Usted necesitará saber cuántos bytes
solicitadas a la vez, y la respuesta es un mensaje que contiene de datos a esperar el fin de darle sentido en la mayoría de los casos.
todas las respuestas.
El orden en que se solicite la PID no debería importar. Por
Por ejemplo, digamos que usted necesita saber la carga del motor ejemplo, la solicitud anterior podría haber sido enviado como:
(04), la temperatura del refrigerante del motor (05), la presión del colector
(0B), y las rpm del motor (0C) sobre una base regular. Se podría enviar
cuatro solicitudes separadas para ellos (01, 04, 01 y luego 05, luego 01 0B, > 01 0B 0C 04 05 00A
etc.) o se puede poner a todos en un mensaje como este:
0: 41 0B 21 04 3F 0C 1: 17 B8 05 44
00 00 00
> 01 04 05 0B 0C
en cuyo caso, las respuestas pueden ser como se muestra arriba
la cual, una respuesta típica podría ser: (pero el orden en que aparecen los PID en la respuesta no tiene que
coincidir con el orden en el que fueron solicitados).
00A
0: 41 04 3F 05 44 0B 1: 21 0C 17 B8 Usando esta técnica, se puede hacer un uso más eficiente del bus de
00 00 00 datos. El costo es el trabajo extra que debe hacer en la creación de las
solicitudes, y en el análisis de cada respuesta. Si va a escribir software para
La respuesta es una de varias líneas, como se discutió en la sección
hacer esto, el tiempo inicialmente tomado bien puede ser la pena, pero si está
anterior. En cuanto a la respuesta en detalle, la primera línea nos dice que
escribiendo peticiones en una pantalla del terminal, es muy poco probable que
es 00A (decimal 10) bytes de largo, por lo que sólo presta atención a los
esto será de beneficio para usted.
primeros diez bytes de las siguientes líneas (e ignorar las tres últimas de
00 en la última línea). El primer byte es 41, lo que nos dice que el

Los mensajes pendientes de respuesta

El ELM327 siempre ha sido un dispositivo convertidor de protocolo, pedido.


la recepción de datos utilizando un protocolo, y enviarlo con otro. A Si el bit 2 del PP 2A se establece (que es por defecto), el
menos que los datos se han destinado a controlar el ELM327, que se ELM327 apoyará esta parte del J1979, cambiar el tiempo de espera
pasó siempre sin tener en cuenta el contenido de los datos. A partir de de 5 segundos para usted si ve un mensaje de espera de respuesta.
la versión 2.1, que está cambiando. Esto sólo ocurrirá para los protocolos ISO14230 (kW) según la
norma CAN y. El protocolo CAN
El ELM327 ahora comprueba cada respuesta para ver si es un mensaje normalmente no se limita a solamente
especial 'Pendiente de Respuesta', que puede ser utilizada por la ECU para decir ISO15765, pero puede ser si se establece PP 2A b0 a '1'.
“Espera, estoy ocupado.” De acuerdo con la norma SAE J1979, la herramienta de Tenga en cuenta quela corriente implementación de esta
análisis, deberá esperar hasta 5 segundos para que la información requerida para característica no hace un seguimiento de múltiples ECUs, algunos de los cuales
llegar (y si otro 'Pendiente de Respuesta' llega, el temporizador de 5 segundos pueden responder de inmediato, y algunos que puede responder con mensajes
debe ser reiniciado para que el tiempo comienza de nuevo). de respuesta pendiente. Por esta razón, puede concebiblemente haber
circunstancias en las que puede necesitar para filtrar sólo una dirección ECU
cuando se recibe una respuesta Pendiente de Respuesta.
La respuesta Respuesta Pendiente siempre será de la forma:

7F xx 78

donde el xx representa el modo (o SID) que se está solicitando. No


hay retroalimentación en cuanto a la PID

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 45 de 94


www.elmelectronics.com
ELM327

Puede recibir Filtrado - Comando CRA

Cuando se reciben datos de la CAN, el ELM327 realmente lo y el ELM327 se encarga de los detalles para usted.
recupere cada mensaje desde el bus CAN y, a continuación, decide si se Cuando se trabaja con datos J1939, el ELM327 normalmente da
muestra o no que, sobre la base de criterios que usted o el firmware ha formato a los datos para que, con el fin de separar la prioridad de la
establecido. El 'puede recibir Dirección' o el comando CRA puede ser información PGN. Esto no suele ser un problema cuando se utiliza el
utilizado para definir estos criterios para que, en un solo paso. comando de CRA, excepto cuando se trate de filtrar para una prioridad
específica. Por ejemplo, es posible que suelen ver:
A modo de ejemplo, supongamos que los únicos mensajes que
desea ver son los que tienen la CAN ID 7E9. Para ver sólo a ellos,
decir la ELM327 que la dirección de recepción debe ser 7E9: > EN MA
3 0FE6C 00 FF FF FF FF FF FF B5 6 0FEEE 00 15 50
FF FF FF FF FF FF 6 0FEF5 00 FE FF FF FF 19 00 23
> EN CRA 7E9 40 ...

y el ELM327 establecerá los valores necesarios para que los únicos El dígito sola prioridad en el frente (la 3 o 6 anterior), así como
mensajes que son aceptados son los que tienen ID 7E9. el 0 inicial con la información PGN son en realidad parte de los dos
primeros dígitos (5 bits) de la ID, y deben interpretarse como tal, con
Si no desea que una dirección exacta, pero se prefiere ver un rango de el fin de utilizar el comando CRA. Puede ser más fácil si se apaga la
valores, por ejemplo, todas las direcciones de DAB (aquellos que comienzan cabecera J1939 formatear con el fin de ver esto:
con 7E), a continuación, sólo tiene que utilizar una 'X' para el dígito que
usted no desea que el ELM327 ser específico acerca. Es decir, para ver
todos los mensajes con identificaciones que comienzan con 7E (7E0, 7E1, > AT JHF0 OK

7E2, ... 7EE, y 7EF), enviar:

> EN MA

> EN CRA 7EX 0C FE 6C 00 FF FF FF FF FF FF 40 B5 18 FE EE 00 15 50


FF FF FF FF FF FF 18 FE F5 00 FE FF FF FF 19 00 23 ...
y el ELM327 establecerá los valores necesarios para usted.
Este comando funciona exactamente de la misma manera para los
identificadores de 29 bits. Por ejemplo, si desea ver todos los mensajes que se Esto demuestra más claramente los cuatro bytes que se deben definir

envían desde la ECU del motor (dirección 10) para la herramienta de exploración para que se establezca el comando CRA. Para buscar todos los mensajes

(dirección F1), entonces se puede enviar: que comienzan con 6 0FEF5, usted realmente necesita para enviar el
comando:

> EN CRA 10 XX XX F1 > AT CRA 18 FE F5 XX

y todos los ajustes se tomarán el cuidado de usted. En resumen, el comando CRA permite indicar a la ELM327 lo que los

Si desea ser más específico y ver sólo las respuestas del OBD códigos de identificación que debe buscar, y la letra 'X' puede ser utilizado en

enviados por el motor de la herramienta de análisis, se podría decir: ella para representar cualquier dígito que usted no desea que el ELM327
para ser específico acerca. Esto suele ser selectiva suficiente para la
mayoría de las aplicaciones, pero de vez en cuando, hay una necesidad de
> AT CRA 18 DA F1 10 ser específicos a nivel de bits, en lugar de al mordisco. Para esas
aplicaciones, tendrá que programar una máscara y filtro separado, como
y de nuevo, el ELM327 hace los cambios necesarios para usted. mostramos en la siguiente sección.

Tal vez no le importa qué dispositivo está enviando la información,


pero desea ver todos los mensajes que comienzan con 18 y DA están
siendo enviadas a la herramienta de análisis. Para ello, utilice el carácter
'X' para decirle al ELM327 que no importa qué valor tiene un dígito:

> EN CRA 18 DA F1 XX

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 46 de 94


www.elmelectronics.com
ELM327

El uso de la máscara y el filtro

Filtrado de mensajes CAN (es decir, decidir qué conservar y Poner esto en conjunto, el filtro tendrá un valor de:
cuáles rechazar), suele ser manejado más fácilmente con el
111 1110 1000 = 7E8
comando CRA. El comando CRA sólo permite la definición a nivel
mordisco, sin embargo, si necesita más selectividad (a nivel de bits), y la máscara tendrá un valor de:
debe programar la máscara y filtro.
111 1111 1000 = 7F8

Internamente, el ELM327 configura un 'filtro de aceptación' con Con el fin de hacer que estos activos, que tendrá que emitir tanto un
1 y 0 en función del tipo de mensaje que desea recibir (OBD, J1939, filtro y Can Una máscara puede comando:
etc.). Este patrón se compara entonces con los bits de ID de todos
> AT CF 7E8 OK
los mensajes entrantes. Si los dos patrones coinciden, entonces
todo el mensaje es aceptado, y si no lo hacen, se rechaza el
mensaje. > EN CM 7F8 OK

Tener que coincida con los 11 o 29 bits de la ID puede ser muy


A partir de ese momento, sólo los identificadores de 7E8 a 7EF serán
restrictivo en algunos casos (y requeriría un gran número de filtros para
aceptadas por el chip.
algunas aplicaciones). Para permitir que un poco más de flexibilidad en lo
Los identificadores de 29 bits funcionan exactamente de la misma manera.
que a aceptar, y lo que de rechazar, también se define una máscara,
Por ejemplo, supongamos que desea recibir sólo los mensajes de la forma:
además del filtro. Esta mascarilla actúa igual que el tipo lleva en su cara -
algunas características están expuestos y algunos están ocultos. Si la
máscara tiene un '1' en una posición de bit, ese bit en el filtro debe 18 DA F1 XX
coincidir con el bit en la identificación, o se rechazará el mensaje. Si el bit
donde XX es la dirección de la ECU que envía el mensaje, pero no me importa
de máscara es un '0', entonces el ELM327 no le importa si ese bit filtro
cuál es el valor (este es el formato de respuesta OBD estándar). Poniendo de 0
coincide con el bit de ID de mensaje o no.
en la máscara de bits de no me importa, a continuación, la máscara debe ser
establecido de la siguiente manera:

Como ejemplo, considere la respuesta estándar a una solicitud del OBD


de 11 bits. ISO15765-4 establece que todas las respuestas usarán > EN CM 1F FF FF 00 OK
identificadores en el rango de 7E8 a 7EF. Es decir:

(Como todos los bits excepto los del último byte son relevantes), mientras que el filtro

1. Debe haber siempre un '7' (binario 111) como el primer mordisco (por lo puede estar configurado para:

que el filtro debe tener el valor 111 o 7). Todos los 3 bits son relevantes (por
> AT CF 18 DA F1 00 OK
lo que la máscara debe ser binarios 111 o 7). Tenga en cuenta que este
primer mordisco es sólo 3 bits de ancho para el ID CAN 11 bits.
Tenga en cuenta que si un filtro se ha establecido, se utilizará para todos los
mensajes CAN, por lo que el establecimiento de filtros y máscaras pueden causar
2. Debe haber siempre una 'E' (binario 1110) en la segunda
solicitudes OBD estándar para ser ignorado, y que pueden empezar a ver
posición, por lo que el filtro necesita ser de valor 1.110 o E. Dado
respuestas 'No hay datos'. Si esto sucede, y no está seguro de por qué, es posible
que todos los 4 bits son relevantes, la máscara debe ser de valor
que desee restablecer todo a los valores por defecto (con AT CRA, en D, o
1.111 o F.
posiblemente en WS) y empezar de nuevo.
3. Si se analizan las pautas de los números binarios de 8 a F,
se verá que la única cosa en común es que el bit más Muy probablemente, usted nunca tendrá que utilizar el CM y CF
significativo se establece siempre. Es decir, la máscara tendrá comandos. Si lo hace, a continuación, crear sus propias máscaras y filtros
un valor de 1000, ya que sólo un bit que es relevante, y no puede ser difícil. Puede que le resulte útil para dibujar los patrones de bits en
importa lo que los demás bits son. El filtro tiene que ser primer lugar, y pensar que la materia queridos, y cuáles no lo hacen.
asignado un valor que tiene un 1 en la primera posición, pero También puede ayudar a conectar a un vehículo, aplicar la configuración de
no nos importa lo que está en las otras tres posiciones. A prueba, y enviar EN MA para ver cómo afectan los ajustes de los datos
continuación, utilizamos 0 de en las posiciones (pero realmente mostrados.
no importa).

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 47 de 94


www.elmelectronics.com
ELM327

Seguimiento de la autobús

Algunos vehículos usan el bus OBD para la transferencia de información y se mostrarán todos los mensajes que contienen 10 en el tercer byte
durante el funcionamiento normal del vehículo, pasando por una gran cantidad de la cabecera.
de información sobre ella. Mucho se puede aprender si usted tiene la suerte de El uso de este comando con 11 bits puede sistemas puede ser un poco
conectar con uno de estos vehículos, y son capaces de descifrar el contenido confuso al principio. Recordar la forma en que todos los bytes de cabecera se
de los mensajes. almacenan dentro del ELM327. Un niño de 11 bits puede ID se almacena como
los 11 bits menos significativos del byte 3 ubicación 'almacenamiento cabecera'.
Para ver cómo su vehículo utiliza el bus OBD, puede entrar en el Se almacena con 3 bits en lugar de dirección del receptor, y los 8 bits restantes
modo del ELM327 'Monitor de toda', enviando el comando AT MA de su de ubicación de la dirección del transmisor. Para este ejemplo, hemos pedido
programa de terminal. Esto hará que el IC para mostrar cualquier que todos los mensajes creados por el transmisor '10' pueden imprimir, por lo
información que se ve en el bus OBD, independientemente de las que los 11 bits puede se mostrará identificadores que terminan en 10 (es decir,
direcciones de transmisor o receptor (se mostrará todos). Tenga en todo lo que se parece a 'x 10').
cuenta que el ELM327 permanece en silencio durante la monitorización,
por lo periódica mensajes 'de activación' no se envían (si tiene un ISO
9141 o ISO 14230 autobús que había sido previamente inicializada, puede El otro comando de control que es muy útil es el comando AT MR,
'ir a dormir'), IFRS no están enviado, y el módulo CAN no aceptar que busca direcciones específicas en el byte medio de la cabecera. El
mensajes. uso de este comando, puede buscar todos los mensajes que se envían a
una dirección en particular. Por ejemplo, para utilizarlo para buscar los
El modo de monitorización se puede detener por poner un nivel mensajes que se envían a la ECU con la dirección 10, sólo tiene que
lógico bajo en el pin RTS, o mediante el envío de un solo carácter RS232 enviar:
al ELM327. Cualquier carácter práctico puede ser utilizado para
interrumpir el IC - no hay restricciones sobre si es imprimible, etc. Tenga
> AT MR 10
en cuenta que cualquier carácter que usted envíe será descartado, y no
tendrá ningún efecto sobre los comandos siguientes. y se mostrarán todos los mensajes que contienen 10 en el segundo byte
de la cabecera.
El tiempo que tarda en responder a una interrupción de este tipo El uso de este comando con la de 11 bits pueden los sistemas de
dependerá de lo que el ELM327 está haciendo cuando se recibe el carácter. nuevo necesitará más explicaciones. Puede ser útil a la primera imagen
El IC siempre terminar una tarea que está en curso (la impresión de una el número hex '10' en el ejemplo anterior como el número binario '0001
línea, por ejemplo) antes de imprimir 'DETENIDO' y volver a esperar a su 0000'. Recall desde arriba que 11 bits puede IDs se almacenan
entrada, así que lo mejor es esperar a que el carácter prompt ( '>') para ser realmente como los 11 bits menos significativos en los lugares 3 byte 'de
enviados o la línea ocupado para ir baja, antes de comenzar a enviar un almacenamiento cabecera', y sólo 3 bits se almacena en el byte medio
nuevo comando. posición (dirección de receptor). Al comparar el ID CAN recibidos a la
dirección que usted proporciona con el comando MR entonces, sólo los
Un resultado inesperado puede ocurrir si tiene habilitada la función de 3 bits más a la derecha de su dirección de MR son considerados y los
búsqueda automática del protocolo, y le dirá el ELM327 para comenzar el otros 5 bits se ignoran. En este ejemplo, el AT MR 10 se convierte
monitoreo. Si el autobús está tranquila, el ELM327 comenzará a buscar un efectivamente en el Sr. 0 para sistemas de 11 bits puede, y así se
protocolo activo, que puede no ser lo que se esperaba. Tenga en cuenta mostrará todos los mensajes que comienzan con '0' como el primer
también que los protocolos ISO 9141 e ISO 14230 son idénticas al dígito.
supervisar, por lo que el ELM327 puede dejar de buscar a ISO 9141,
incluso si el protocolo real es la norma ISO 14230. Con la búsqueda
automática está activada, esta debe corregir en sí, sin embargo, cuando Es mejor no usar el AT MT o comandos de MR en el
una OBD solicitud se hizo más adelante. seguimiento de los sistemas de CAN. El ELM327 proporciona otro
comando (AT CRA) que permite un mejor control sobre los datos
recibidos - ver la siguiente sección para más detalles.
Si el comando 'Monitor de Todos' ofrece demasiada información
(ciertamente lo es para la mayoría de sistemas CAN), entonces se
puede restringir el rango de datos que se va a mostrar. Tal vez usted
sólo desea ver los mensajes que se transmiten por la ECU con la
dirección 10. Para ello, sólo tiene que escribir:

> AT MT 10

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 48 de 94


www.elmelectronics.com
ELM327

La restauración de la Orden

Puede haber momentos en los que parece que el ELM327 está fuera de los cuatro LEDs de estado en secuencia. Una opción mucho más rápido está
control, y se necesita saber cómo restaurar el orden. Antes de continuar para disponible con el ELM327, sin embargo, si no se requiere la prueba de LED -
discutir la modificación demasiados parámetros, esto parece ser un buen el comando 'Warm Start':
punto para discutir la forma de 'llegar de nuevo al comienzo'. Tal vez usted ha
dicho la ELM327 para supervisar todos los datos, y hay pantallas y pantallas > AT WS

de datos que vuelan cerca. Tal vez el IC está respondiendo con 'No hay datos'
El comando AT WS realiza un restablecimiento de software, restauración de
cuando funcionaba con anterioridad. Esto es cuando algunos consejos
exactamente los mismos artículos como el AT Z hace, pero omite la prueba de
pueden ayudar.
LED, por lo que es considerablemente más rápido. Además, no afecta a las
velocidades de transmisión que se han ajustado con el comando AT BRD (que
El ELM327 siempre se puede interrumpir de una tarea mediante una
hace AT Z), por lo que es esencial si se está modificando las tasas de baudios
sola tecla del teclado. Como parte de su funcionamiento normal, se
RS232 con software.
realizan comprobaciones de caracteres recibidos y si lo encuentra, el IC
dejarán de lo que está haciendo en la próxima oportunidad. A menudo esto
Cualquiera de los métodos anteriores debe ser eficaz para
significa que va a continuar enviando la información en la línea actual, y
restablecer el orden mientras que la experimentación. Siempre existe la
luego se detiene, imprimir un carácter puntual y esperar a que su entrada.
posibilidad de que pueda haber cambiado un parámetro programable, sin
La parada no siempre puede parecer inmediata si el buffer de envío RS232
embargo, y aún tiene problemas con su sistema. En este caso, es
está casi lleno, sin embargo - no se verá realmente el carácter pronta hasta
posible que desee sólo tiene que apagar todos los parámetros
que la memoria se ha vaciado, y el programa de terminal ha terminado de
programables (lo que les obliga a sus valores por defecto). Para hacerlo,
imprimir lo que ha recibido.
deberán enviar el comando:

Hay momentos en que los problemas parecen más graves y que no > AT PP FF OFF
recuerda exactamente lo que hizo para hacerlos tan malo. Tal vez usted ha
'ajustado' algunos de los temporizadores, entonces experimentado con el filtro que debe desactivar todos los cambios que haya realizado. Dado que algunos de
puede, o tal vez trató de ver lo que sucede si se cambian los bytes de los datos de programación solamente se leen durante un restablecimiento del
cabecera. Todo esto puede ponerse a cero mediante el envío del 'conjunto de sistema, puede que tenga que seguir este comando con un comando de
valores predeterminados' comando AT: restablecimiento:

> AT Z
> AT D
OK después de lo cual, se puede empezar de nuevo con lo que es
esencialmente un dispositivo con los ajustes de fábrica ''. Puede haber
momentos en los que no se reconoce incluso este comando, sin embargo. Si
Esto a menudo será suficiente para restablecer el orden, pero en
ese es el caso, tendrá que utilizar el método de hardware de convertir el PP
ocasiones puede llevar a resultados inesperados. Uno de estos se
fuera. Vea la sección de parámetros programables '' (páginas 68 y 69) para
producirá sorpresa si está conectado a un vehículo usando un protocolo,
obtener más detalles.
pero el protocolo (por defecto) ahorrado es uno diferente. En este caso, el
ELM327 cerrará la sesión actual y cambie el protocolo para el que viene
por defecto, tal y como se indica.

Si el AT D no trae los resultados esperados, puede ser necesario


hacer algo más drástico - al igual que reajustar toda la IC. Hay algunas
maneras en que esto se puede realizar con el ELM327. Una forma es
simplemente eliminar el poder y luego volver a aplicar. Otra forma en que
actúa exactamente de la misma manera como la alimentación y luego en es
enviar el comando de restablecimiento completo:

> AT Z

Se tarda aproximadamente un segundo para el IC para realizar


este reajuste, inicializar todo y luego prueba

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 49 de 94


www.elmelectronics.com
ELM327

El uso de tasas más altas RS232 Baud

Una interfaz en serie siempre ha sido provisto con nuestros productos la conexión a un microprocesador. Esto es ciertamente una opción, y uno que
ELM OBD, en gran parte debido a su versatilidad. Más viejos ordenadores, permite una conexión de velocidad completa a coste prácticamente nulo.
microprocesadores y PDAs pueden todos interfaz fácilmente con él, como Si está desarrollando como una
USB lata, Bluetooth, Ethernet y módulos WiFi. Se trata simplemente de una interfaz, consulte la página 76 para más detalles.
de las interfaces más versátiles disponibles. La configuración por defecto para el ELM327 típicamente proporciona una
velocidad de datos de 38400 baudios. Hay dos formas en que
Originalmente, los usuarios utilizan casi exclusivamente la interfaz esta tasa puede ser cambiado - ya sea
RS232 tradicional para conectar nuestros circuitos integrados a sus de forma permanente con un parámetro programable, o temporalmente
ordenadores. Los circuitos de interfaz se hicieron con facilidad, o comprados, con un comando AT.
y podrían utilizarse con una gran variedad de dispositivos. La gran Parámetro programable '0C' es el ELM327
oscilaciones de la tensión y el cable capacitancia trabajó contra el uso de la configuración del dispositivo que almacena el divisor velocidad de transmisión. El
interfaz de muy altas velocidades de datos, sin embargo, por lo que fijó el tipo valor se almacena en la memoria 'no volátil' (EEPROM) que no se ve afectado por
de datos predeterminado del ELM327 a un conservador los ciclos de potencia o restablece (pero cambiando este valor puede afectar el
funcionamiento de algunos paquetes de software, así que ten cuidado de cómo lo
38,4 kbps. usa).
Si la aplicación necesita una interfaz RS232 tradicional, entonces Si almacena un nuevo valor en el PP 0C, y luego activarlo, la frecuencia
por todos los medios utilizar uno. Ofrecemos algunas sugerencias en la almacenada se convertirá en el nuevo tipo de datos después de la siguiente
sección Aplicaciones de ejemplo que puede probar. La versión discreta que restauración. A modo de ejemplo, tal vez le gustaría tener el ELM327 utilizar una
mostramos funciona muy bien a velocidades de hasta 57600 bps, y velocidad de transmisión de 57,6 kbps, en lugar de la configuración de fábrica de
dependiendo de varios factores, sino que también puede funcionar bien a 38,4 kbps. Para ello, es necesario determinar el valor requerido para el PP 0C,
velocidades de hasta 115200 bps. almacenar este valor en el PP 0C, y luego permitir que el PP.

Si desea hacer funcionar su interfaz a una velocidad de 115200 bps El valor almacenado en PP 0C es en realidad un divisor interno que se utiliza
o superior, hay varias soluciones IC individuales que están disponibles. para determinar la velocidad de transmisión (la velocidad de transmisión en kbps es
Estos incluyen dispositivos como el ADM232A de Analog Devices 4000 dividido por el valor de PP 0C). Para obtener un ajuste de 57,6 a continuación, se
(www.analog.com), o la popular serie de circuitos integrados MAX232 de requiere un divisor de velocidad de transmisión en baudios de 69 (4000/69 es
Maxim Integrated Products (www.maximintegrated.com). Estos son todos aproximadamente
excelentes dispositivos que se pueden utilizar para velocidades de hasta 57,6). Desde 69 en decimal es 45 en hexadecimal, es necesario contar la
115,2 kbps. Nosotros advertimos que muchos de estos dispositivos sólo ELM327 para establecer el valor de PP a 0C
se califican para la operación de hasta 120 kbps, sin embargo, por lo que 45, con el comando de valor nominal:
puede no ser adecuado para muy altas velocidades de datos - Asegúrese
de revisar la hoja de datos del fabricante antes de comprometerse a un > AT PP 0C SV 45
diseño.
a continuación, permitir que el nuevo valor PP 0C para su uso:

> AT PP EN 0C
Una interfaz RS232 se limita típicamente a operar a velocidades de
alrededor de 230,4 kbps como máximo. Si desea ir más alto que eso, a partir de ese momento, la velocidad de datos por defecto será 57.6K, 38.4K y
entonces debe considerar alternativas - uno de los cuales es el uso de no. Tenga en cuenta que el valor que se escribe no se hace efectivo hasta el
USB. siguiente reinicio completo (un apagado / encendido, AT Z, o pulso MCLR).
Casi todos los ordenadores que se hacen hoy en día han reemplazado
el puerto RS232, una vez familiarizado con un USB de uno. El software es Si usted está diseñando su propio circuito, usted sabrá lo que su
fácilmente disponible para que éstos se ven como serie tradicional ( 'COM') circuito es capaz de, y puede asignar una velocidad de transmisión con el PP
puertos, y los módulos están disponibles para la conexión a circuitos como 0C. Los desarrolladores de software por lo general no saben qué hardware
el ELM327. Varios fabricantes ofrecen estos módulos (a menudo llamados se va a conectar, sin embargo, por lo que no se sabe cuáles son las
circuitos de 'puente') - Pruebe el CP2102 de Silicon Labs (www.silabs.com) limitaciones. Para estos usuarios, hemos proporcionado el comando BRD.
o la FT232R de Dispositivos tecnología futura (www.ftdichip.com). Si planea
utilizar velocidades de transmisión más altas, estas interfaces son Este comando permite un nuevo divisor de velocidad en baudios a
esenciales. ensayar, y luego aceptada o rechazada en función de los resultados de la
prueba. El gráfico que se muestra aquí intenta explicar cómo se debe utilizar
A menudo nos preguntan si es posible utilizar una directa este comando.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 50 de 94


www.elmelectronics.com
ELM327

Usando Superior RS232 Velocidad de transmisión (continuación)

La secuencia comienza con el PC haciendo una solicitud de un


nuevo divisor de velocidad de transmisión, con el comando BRD. Por
ejemplo, para tratar la tasa de 57.6 K que se discutió anteriormente, el
ordenador personal ELM327
PC de control enviaría:

AT BRD 45
Solicitud de un nuevo divisor
Si el firmware ELM327 es una versión muy antigua, no va a de velocidad en baudios:

apoyar este comando y volverá con el familiar '?' respuesta. Si lo hace EN BRD hh ELM327 responde
compatible con el comando, responderá con 'OK', por lo que el software con 'OK' (si es
compatible)
sabe si proceder o no. Ningún personaje pronta sigue la respuesta 'OK';
es seguida únicamente por un carácter de retorno de carro (y,
opcionalmente, un carácter de avance de línea). Programa pasa a la nueva
velocidad de transmisión, y

Después de haber enviado el 'OK', el ELM327 luego cambia a la nueva espera la entrada

velocidad de transmisión (propuesto), y luego simplemente espera el tiempo fijado


por el comando de BRT (que es de 75 ms por defecto). Este período es permitir que
el PC tiempo suficiente para cambiar su velocidad de transmisión. Cuando se acabe
el tiempo, el ELM327 continuación, envía la cadena de ID (actualmente 'ELM327
v2.1') ​para el PC en la nueva velocidad de transmisión (seguido por un carácter de ELM327 envía la
retorno de carro y, opcionalmente, un carácter de avance de línea) y espera una cadena AT I
espera 75 ms *
respuesta.

Si la Rx es buena,
Sabiendo que debe recibir la cadena ELM327 ID, el software para
programa envía un
PC compara lo que realmente se recibió a lo que se esperaba. Si ELM327 espera hasta
retorno de carro
coinciden, el PC responde con un carácter de retorno de carro, pero si 75 ms * para un retorno de
velocidad de transmisión y
hay un problema, el PC envía nada. El ELM327 está esperando por su carro
parte de un carácter de retorno de carro válida para llegar. Si lo hace (a
menos de 75 milisegundos), la velocidad de transmisión propuesto se
mantiene, y el ELM327 dice 'OK' en esta nueva tarifa. Si no ve un retorno
de carro en la ventana '' los 75 ms, la velocidad de transmisión volverá a CR
la velocidad original. Tenga en cuenta que el PC podría emitida ELM327 cambia a la nueva
recibido
correctamente el retorno de carro en esta nueva tarifa, pero los circuitos ? sí
de interfaz podría corromper el carácter y el ELM327 podrían no ver una
respuesta válida, por lo que su software debe comprobar si hay una no
respuesta 'OK' antes de asumir que la nueva tasa ha sido aceptada.
Velocidad de transmisión a que elELM327 dice
siguiente 'OK' (y se
comando
vuelve a la anterior mantiene en la nueva
velocidad de transmisión configuración de baudios)

Usando este método, un programa puede tratar rápidamente varias velocidades


de transmisión, y determinar la más adecuada para el hardware conectado. La nueva
velocidad de transmisión permanecerá en efecto hasta que se reinicie por un AT Z, una
Imprimir un aviso, y esperar
potencia de encendido / apagado, o una entrada MCLR. No se ve afectada por la AT D
(establecer valores predeterminados), o AT WS (en caliente) manda.

* El 75 ms de tiempo se puede ajustar con


el comando AT BRT hh

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 51 de 94


www.elmelectronics.com
ELM327

Ajuste de los tiempos de espera - AT ST y AT Comandos AT

Los usuarios a menudo preguntan acerca de cómo obtener velocidades de barrido activado por defecto, pero puede desactivarse con el comando AT0 en
más rápido del OBD. No hay nada que podamos hacer al respecto lo rápido (o lento) es caso de que no esté de acuerdo con lo que está haciendo (también hay un
un vehículo para responder, pero podemos optimizar la forma en que el ELM327 maneja entorno AT2 que es un poco más agresivo, caso de que deseen
las respuestas. experimentar). Para el 99% de todos los vehículos, se recomienda que sólo
Una solicitud vehículo típico y la respuesta se muestra en el diagrama tiene que dejar los ajustes a sus valores por defecto, y dejar que el
siguiente: ELM327 hacer los ajustes para usted.

solicitud se envía
Tenga en cuenta los siguientes tiempos tomados de un vehículo VPW
J1850, en respuesta a una solicitud de 01 00:
ELM327

respuesta
ELM327

4 ms
Vehículo
58 mseg

Vehículo
ELM espera hasta ELM espera 200 mseg para
200 mseg más respuestas del motor de transmisión
(ECU 10) (18 ECU)
El ELM327 envía una solicitud luego espera hasta 200 ms para una
respuesta. Si ninguno estaba por venir, un temporizador interno se El controlador de motor responde muy rápidamente, pero la transmisión
detendría la espera, y el ELM327 imprimiría 'No hay datos'. lleva mucho más tiempo. El algoritmo de temporización adaptativa mide los
tiempos de respuesta de transmisión más largos y los usará para establecer el
Después de que se haya recibido cada respuesta, el ELM327 debe esperar para tiempo de espera, probablemente a un valor en el intervalo de 90 mseg. Con un
ver si están llegando las respuestas más (y se utiliza el mismo temporizador interno para tiempo de espera de 90 ms, la velocidad de exploración máxima sería de
detener la espera si llegan no hay más respuestas). Con nuestros productos DAB aproximadamente 6 lecturas por segundo.
iniciales (el ELM320, y ELM322 ELM323), se encontró que los vehículos más viejos a
menudo necesitan un entorno de tiempo de espera de alrededor de 100 milisegundos, y Seguramente tiene que haber una manera de eliminar ese último
en ocasiones necesitan más, así que nos acomodamos en una configuración estándar tiempo muerto, si sabe cuántas respuestas a esperar? Hay un camino
por defecto de 200 mseg. - en lugar de enviar 01 00 para la solicitud anterior, el ELM327 también
aceptará 01 00 2. Esto le dice al IC para enviar 01 00, y luego volver
Si un tiempo de respuesta de la consulta típica de vehículos eran unos 50 inmediatamente después de recibir 2 respuestas. No puede acelerar
ms, y el tiempo de espera se establece en 200 ms, la velocidad de exploración un ECU lento, pero va a eliminar el retardo final, como el ELM327 sabe
más rápida posible sólo sería alrededor de 4 consultas por segundo. Cambiar el el número de respuestas a esperar. Este cambio podría darle 10 a 12
tiempo de ST a unos 100 mseg sería casi el doble de este tipo, que proporciona respuestas por segundo, en lugar de los 6 obtenidos previamente.
cerca de 7 consultas por segundo. Está claro que si se va a saber cuánto tiempo
se necesita para su vehículo para responder, es posible que pueda mejorar la
velocidad de barrido, ajustando el tiempo de ST. Nosotros advertimos que utiliza esta función con precaución. Si se
establece el último dígito de un número que es menor que el número real
de las respuestas, entonces no se enviarán acuses de recibo que puedan
No es fácil saber qué tan rápido un vehículo responde a las solicitudes. ser necesarios, y algunos protocolos pueden comenzar a volver a enviar
Por un lado, las solicitudes todos tienen prioridades asignadas, por lo que las las respuestas, en busca de una respuesta. Esto dará lugar a la
respuestas pueden ser rápido en algunas veces, y más lento en otras. La congestión de red innecesario, que debe ser evitada. Antes de utilizar
medición física de las veces no es fácil, ya sea - que requiere equipos de esta función, siempre determinar el número de respuestas que vendrán
prueba caros sólo para hacer una medición. Para ayudar con esto, hemos del vehículo y, a continuación, la respuesta dígitos a ese valor.
añadido una función para el ELM327 llamada 'de temporización adaptativa'.

El tiempo de adaptación en realidad hace que las mediciones de tiempo de


respuesta para usted, y ajusta la hora a la ST a un valor que debería funcionar
para la mayoría de las situaciones. Es

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 52 de 94


www.elmelectronics.com
ELM327

Mensajes SAE J1939

La norma SAE J1939 CAN está siendo utilizado por muchos tipos definir sus propias PGN propietarias.
de maquinaria pesada - camiones, autobuses y maquinaria agrícola, La parte de ID de un bastidor de J1939 CAN es siempre 29 bits de
para nombrar unos pocos. Utiliza la CAN familiarizado (ISO 11898) longitud. Proporciona información sobre el tipo de mensaje que
física interfaz, y está siendo enviado, la prioridad de la
define su propio formato para la transferencia de datos (que es muy similar mensaje, la dirección del dispositivo que está enviando, y el destinatario.
a la norma ISO 15765 que se utiliza para los automóviles). Información dentro de los bits de ID se divide aproximadamente en trozos del
tamaño de bytes de la siguiente manera:
A continuación se discutirá un poco de cómo se transfieren los datos
utilizando el estándar J1939. Mucha más información se proporciona en la 3 bits 2 bits de 8 bits 8 bits 8 bits
Sociedad de Ingenieros Automotrices (SAE) documentos de normas, por lo Formato Dirección de Dirección de
Prioridad
que si usted va a estar haciendo un montón de trabajo con J1939, puede de la PDU destino la fuente

ser conveniente adquirir copias de los mismos. Como mínimo, los


diagnósticos J1939-73, la transferencia de datos J1939-21, y los Formato PDU1

documentos de solicitud de vehículos J1939-71 deben ser comprados.


La estructura de datos formada por el identificador de 29 bits y los bytes de
Otra gran referencia para este trabajo es el HS-J1939 conjunto de dos
datos asociada se denomina Unidad de datos de protocolo o PDU. Cuando los bits
libros, también disponible de la SAE.
de ID tienen una dirección de destino especificado, como se muestra anteriormente,
se dice que es un mensaje PDU1 definición.

La versión actual de la norma J1939 sólo permite una velocidad de


Los dos bits que se muestran entre la prioridad y el formato de PDU
datos (250 kbps), pero el trabajo está en marcha para modificar el
son conocidos como el extendido de datos Page (EDP), y los bits de datos
estándar de modo que también se permitirá una tasa alternativa de 500
Page (DP). Para J1939, EDP debe ajustarse siempre a '0', mientras que el
kbps. A los efectos de esta discusión, la velocidad de datos no es
bit DP se utiliza para extender el rango de valores que el formato PDU puede
importante - es el formato de la información que vamos a discutir.
tener. Mientras que el bit DP es típicamente '0' ahora, eso no puede ser
cierto en el futuro.
Todos los mensajes CAN se envían en 'marcos', que son estructuras de
datos que tienen bits de ID y bytes de datos, así como las sumas de
No toda la información J1939 se envía a una dirección específica. De
comprobación y otros artículos. Muchos de los marcos J1939 se envían con
hecho, una de las características únicas de esta norma es que hay una gran
ocho bytes de datos, aunque no hay ningún requisito para hacerlo (a diferencia
cantidad de información que se está transmitiendo continuamente por la red,
de la norma ISO 15765, que siempre debe enviar ocho bytes de datos en cada
con receptores de usarlo como mejor les parezca. De esta manera, varios
trama). Si un mensaje J1939 es de ocho bytes o menos, será enviado en un
dispositivos que requieren la misma información no tienen que hacer
marco, mientras que los mensajes más largos se envían utilizando varias
múltiples solicitudes para obtenerla, se proporciona información a intervalos
imágenes, al igual que la norma ISO 15765. Al enviar varias imágenes, un solo
de tiempo regulares, y la carga del bus se reduce.
byte de datos se utiliza para asignar un 'número de secuencia' , lo que ayuda a
la hora de determinar si una trama no está presente, así como en el montaje
del mensaje recibido. Los números de secuencia siempre comienzan con 01,
Si la información está siendo transmitido por la red a ninguna dirección en
por lo que hay un máximo de 255 marcos en un mensaje, o 1785 bytes.
particular, entonces no se requiere el campo de dirección de destino. Los ocho bits
se pueden poner a un mejor uso, posiblemente mediante la ampliación del campo
Formato de PDU. Esto es lo que se hace para un marco PDU2 formato, como se
muestra aquí:
Una característica importante de la norma J1939 es sus muy
ordenada, estructuras de datos bien definidos. datos relacionados se
define y se especifica en los llamados "grupos de parámetros. Cada
3 bits 2 bits de 8 bits 8 bits 8 bits
grupo de parámetros se asigna un 'número de grupo de parámetros', o
Formato Extensión Dirección de
PGN, que define de forma única que paquete de Prioridad
de la PDU grupo la fuente
información. A menudo, la
grupos de parámetros se componen de ocho bytes de datos (que es Formato PDU2
conveniente para mensajes CAN), pero no se limitan a esto. Muchos
de los PGN, y los datos dentro de ellos (los SPN) se define en el Entonces, ¿cómo se puede saber si están buscando en un marco de
documento J1939-71, y los fabricantes también tienen la capacidad formato PDU1 que contiene una dirección, o un marco de formato PDU2
de que no lo hace? El secreto está en

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 53 de 94


www.elmelectronics.com
ELM327

Mensajes SAE (continuación)


Soporte J1939 J1939 (continuación)

Los valores asignados al campo Formato de PDU. Si el valor de la PDU de se repetirá aquí.
formato comienza con 'F' (cuando se expresa como un número hexadecimal), Dado que la prioridad (y DP y EDP) valores rara vez cambian,
es PDU2. Cualquier otro valor para el primer dígito significa que es una trama pueden ser asignados con el comando CP. Por defecto, el ELM327 utiliza
de formato PDU1, que contiene una dirección. una prioridad de 6 (binaria 110), y establece la EDP y DP Bits tanto a 0.
El valor predeterminado para la configuración CP es entonces 110 + 0 +
Para resumir, las tramas de formato PDU1 son enviados a una 0 (que se introduce como 11.000 o 18 en maleficio). Los valores para los
dirección específica, y los marcos PDU2 se envían a todas las otros bytes de la ID J1939 se introducen con el comando AT SH, tal
direcciones. Para complicar más las cosas, sin embargo, los marcos como se muestra en la Figura 5.
PDU1 pueden enviarse a todas las direcciones. Esto se hace enviando el
mensaje a una 'dirección global' especial que tiene el valor FF. Es decir, Esto ha tratado de cubrir los aspectos básicos de la estructura del
si aparece un mensaje PDU1 (donde el primer dígito del byte PDU mensaje J1939, pero si desea obtener más información, usted debe buscar
formato no es un F), y la dirección de destino es FF, entonces ese en las normas mencionadas
mensaje se envía a todos los dispositivos. previamente. Otra que da buenos ejemplos de datos reales es
J1939-84 que describe las pruebas de conformidad y muestra las
El documento de prácticas recomendadas J1939 ofrece una lista de respuestas esperadas.
direcciones que deben ser utilizados por los dispositivos. Es Incluso a 250 kbps, los datos J1939 se transfiere a un ritmo que
particularmente importante que se adhieran a esta lista con el ELM327, es más de diez veces más rápido que el anterior estándar de
como el IC utiliza un método de dirección fija y no es capaz de negociar vehículos pesados ​(SAE J1708), y varios de los estándares de
una diferente, por J1939-81. Herramientas de servicio DAB deben utilizar servicio ligero. Como diseñadores construir más en cada sistema,
F9 o FA como su dirección (el ELM327 utiliza F9). Si desea cambiar esto, la cantidad de
puede utilizar el comando AT AT (dirección probador), o simplemente información requerida sigue creciendo, sin embargo, lo que la
definirlo con la cabecera. versión de 500 kbps J1939 será una adición bienvenida.

Usted puede utilizar el SH AT o el CP AT y AT SH comandos


para asignar valores para los bits de ID J1939, lo mismo que con los
otros protocolos CAN. ¿Cómo se utilizan estos se discutió
anteriormente, pero

Utilice ya sea: > EN SH vv xx yy zz

o: > AT CP vv y > AT SH zz xx yy

Los valores se utilizan como sigue:

vv xx yy zz
5 bits
solamente

Formato Dirección de Dirección de


Prioridad
de la PDU destino la fuente

Figura 5. Configuración de la J1939 CAN ID

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 54 de 94


www.elmelectronics.com
ELM327

usando J1939

Esta sección proporciona algunos ejemplos que muestran cómo controlar solicitud podría tener que esperar a que una respuesta inicial completa (y esto
un bus de datos SAE J1939, y cómo hacer que las peticiones de los dispositivos podría tomar más de la hora normal ST, ya que las respuestas de radiodifusión
que están conectados a él. deben tener una separación de al menos 50 ms de diferencia). Si sabe que la
Para empezar, tendrá que configurar el ELM327 para la operación J1939, en respuesta debe venir, y que están viendo las respuestas 'No hay datos', a
la velocidad de transmisión correcta. Un protocolo está predefinido para J1939 a continuación, enviar AT JTM5 e intentarlo de nuevo, como que puede ser el
250 kbps, que es lo que la mayoría de las aplicaciones requieren. Para utilizar el problema. Restaurar el multiplicador temporizador a la normalidad con AT JTM1.
protocolo A, enviar:

> AT SP A Una vez que se selecciona el protocolo J1939, y el valor de tiempo


de espera se ha ajustado, el ELM327 está listo para un comando. El
Protocolos B y C también se pueden usar con J1939, si desea
primero que vamos a enviar se llama un DM1 o 'mensaje de diagnóstico
experimentar con otras velocidades de transmisión. Para usarlos para J1939, el
1', que proporciona los códigos de diagnóstico activos actualmente. DM1
valor de opción (en PP 2C o 2E) se debe establecer en 42, y el divisor velocidad
es uno de los más de 50 mensajes de diagnóstico predefinidos, y es
de transmisión (en PP 2D o 2F) se debe establecer en el valor apropiado. Tal
especial, ya que es el único que se emite continuamente a través del
vez la forma más sencilla de proporcionar una tasa alternativa es utilizar el
bus a intervalos regulares. El ELM327 tiene un comando AT que se
comando AT PB, que le permite establecer tanto el byte de opciones (que es
utiliza para obtener los códigos de problemas DM1:
siempre 42), y el divisor velocidad de transmisión (que es 500k ÷ la velocidad de
transmisión deseada) en el Mismo tiempo. Por ejemplo, para establecer el
protocolo B para la operación J1939 en 500 kbps, simplemente enviar:

> AT DM1

Si está conectado a un vehículo, ahora debería ver mensajes impresos


> EN PB 42 01 en intervalos de un segundo. Si sólo está conectado a un único dispositivo
(por ejemplo, con un simulador en el banco, o en un dispositivo con un solo
a continuación, enviar:
puerto de datos CAN), puede ver los datos con <RX ERROR impreso al

> AT SP B lado de él. Esto se debe a la recepción de los datos no está siendo
reconocida por ningún dispositivo en el bus (ciertamente no es el ELM327,
empezar. Tenga en cuenta que este ajuste no se mantendrá si el CI se ya que es por defecto un monitor completamente en silencio). Ver nota de
pone a cero, por lo que si quieres un entorno más permanente, debe aplicación de nuestra 'AN05 Banco de Pruebas de OBD Interfaces' para
almacenar los valores de PP 2C y 2D. más información sobre esto, y algunos consejos sobre qué hacer. Si usted
J1939 a menudo proporciona información de difusión lenta, y por esta razón, el tiene un chip de v1.4b o más reciente, usted no tiene que tomar medidas
ELM327 establece automáticamente un tiempo de espera de respuesta (en el especiales, sin embargo. Sólo tiene que apagar la supervisión silenciosa
momento ST) como es requerido por el mensaje (típicamente de 1,25 segundos, pero con:
varía). Si esto es demasiado largo para usted, o si está utilizando una versión
anterior de nuestro producto (es decir. V1.3a o más), entonces es posible que desee
establecer este tiempo de forma manual (se recomienda comenzar con AT ST FF
para los circuitos integrados de mayor edad ). No se hará ningún daño si se > AT CSM 0
establece el tiempo de espera con un chip más nuevo, pero el tiempo no será óptima
y no debe haber más errores RX. Una vez que haya resuelto este,
a medida que se detenga el ELM327 de variar la configuración basándose en el tipo
repetir la solicitud. Si todo va bien, debería ver varias respuestas,
de mensaje que se recibe.
similar a esto:

00 FF 00 00 00 00 00 FF FF FF 00 00
El ELM327 también ofrece otra variante de la configuración del 00 00 FF FF
temporizador - la capacidad de extender el tiempo en el ST cambiando un
multiplicador x5 temporizador (consulte la descripción del comando JTM5). Es probable que necesite para detener el flujo de datos pulsando
Esto puede ser útil o incluso necesario al solicitar datos que tendrán una cualquier tecla del teclado. Esto se debe a que el comando DM1 es en
respuesta multilínea, si los datos similar ya está fluyendo. En estas realidad un especial forma de una
circunstancias, no sólo puede haber un mensaje como este en un monitoreo del sistema, y ​todo el monitoreo tiene que ser detenido por el
momento en el autobús, por lo que la respuesta a su usuario. La respuesta significa que actualmente no hay códigos de
problemas activos, por cierto.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 55 de 94


www.elmelectronics.com
ELM327

Uso de J1939 (continuación)

Para ver la misma respuesta exacta, también puede Monitor para un dígito para representar los dos bits adicionales PGN, los cuales pueden
PGN 00FECA (que es el código para DM1): parecer inusual, si estás acostumbrado a un software diferente. Encontramos
esta una forma conveniente de mostrar la información real J1939 en la
> En MP 00FECA cabecera.
Si usted prefiere ver los bits de ID separados en bytes en cambio, sólo
Tenga en cuenta que el ELM327 requiere que envíe dígitos hexadecimales
tiene que apagar la cabecera J1939 con el formato:
para todos los datos, como se muestra arriba (y usadas por todos los otros
protocolos). Muchos de los números PGN se enumeran en la norma J1939 tanto
como un decimal y un número hexadecimal, así que elige la versión hexagonal. > AT JHF0

Es probable que se encuentre en su prueba de que los PGN que encuentro La repetición de la solicitud anterior podría entonces dar lugar a una respuesta
a menudo comienzan con un byte 00 como anteriormente. Para simplificar las de este tipo:
cosas para usted, el ELM327 tiene una versión especial del comando MP que
aceptará un período de cuatro dígitos PGN, y se supone que el byte que falta > AT MP FECA 1
debe ser 18 FE CA 00 00 00 00 00 FF FF FF 00
00. Una forma equivalente a pedir 00FECA es entonces:
Las diferencias se ven claramente. Si se visualiza la información de

> En MP FECA esta manera, recuerda que la primera 'bytes' mostrada en realidad
representa cinco bits, y de ellos, los tres más a la izquierda son los bits de
que es un poco más cómodo. prioridad.
Una característica de la ELM327 es la capacidad de decir la IC El comando MP es muy útil para conseguir

cuántos mensajes que desea recuperar en el seguimiento de PGN. Por información en un sistema J1939, pero no toda la información se emite.
ejemplo, para ver sólo dos respuestas a la orden MP FECA, enviar: Parte de la información se debe obtener al hacer una consulta por ello.
Al igual que las otras solicitudes OBD donde se especifica la información
que necesita (con un modo y un PID), para hacer una consulta en un
> En MP FECA 2 sistema J1939, se proporciona el número PGN y el sistema responde
con los datos requeridos.
Se evita así tener que enviar un personaje para detener el flujo de
datos, y es también muy conveniente cuando se trata de mensajes de varias
Por ejemplo, para solicitar el valor actual de la temperatura del
líneas. Mientras que las solicitudes estándar DAB le permiten definir el
refrigerante del motor (que forma parte del PGN 00FEEE), que le
número de fotogramas (es decir, líneas) de información se van a imprimir con
envíe una solicitud de PGN 00FEEE, y extraer los datos. Para ello,
un solo dígito similares, el dígito individual con el comando MP define en
envíe:
realidad la cantidad de mensajes completos de obtener. Por ejemplo, si el
mensaje DM1 es de 33 líneas de largo, a continuación, enviar en MP FECA 1 > 00FEEE
hará que el ELM327 para mostrar todas las 33 líneas, a continuación, dejar
de supervisar e imprimir un carácter inmediato. a la que es posible que reciba:

6 0FEEE 00 8C FF FF FF FF FF FF FF
Por defecto, todos los mensajes J1939 tienen la información
Si las cabeceras estaban encendidas. Tenga en cuenta que si solicita una
'cabecera' oculto a la vista. Para ver esta información (en realidad, los bits
PGN que ya está siendo transmitido, es muy posible que recibir muchas
de ID), necesitará para encender la pantalla de cabecera en:
respuestas, como el ELM327 se configura para recibir cualquier cosa que
está relacionada con la PGN

> A H1 pedido.
Si está familiarizado con el estándar J1939, usted será consciente de
Una sola respuesta a la FECA podría tener el siguiente aspecto: que en realidad especifica un orden inverso para el envío de los bytes de
datos de una solicitud de PGN. Es decir, los bytes de datos de la solicitud
> AT MP FECA 1 anterior en realidad son enviados como EE FE 00, y no como FE 00 EE. Ya
6 0FECA 00 00 00 00 00 FF FF FF 00 que puede ser muy confuso a tener que invertir algunos números y no en
otros, el ELM327 se encarga de automatizar esto para usted, invirtiendo los
Observe que el ELM327 separa los bits de prioridad de la
bytes proporcionados. De esta manera, se
información PGN. El ELM327 también utiliza solamente

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 56 de 94


www.elmelectronics.com
ELM327

Uso de J1939 (continuación)

puede solicitar directamente PGN utilizando números en que se escriben en la ya en uso. La versión actual del ELM327 no soporta la negociación de
página (si se escriben como dígitos hexadecimales), y el ELM327 hará que direcciones J1939-81, por lo que no puede obtener una dirección para
funcione para usted. Si no desea que el ELM327 para alterar el orden de usted.
bytes, la función se puede desactivar (mediante el envío de un comando AT Una vez que el ELM327 se ha configurado para enviar todos los mensajes
JS). para hacer frente a 00, repetir la solicitud:
El ELM327 siempre asume que cuando usted comienza a hacer
peticiones de este tipo, uno no sabe qué dispositivos están conectados al bus > 00FEEE

J1939. Es decir, por defecto el ELM327 envía todas las solicitudes a la 6 0E8FF 00 01 FF FF FF FF EE FE 00
'dirección global' (es decir, todos los dispositivos), y luego se buscan
Esta respuesta es del tipo 'reconocimiento' (E8), que está siendo
respuestas. A menudo, esto funciona bien, pero los dispositivos J1939 no
transmitido a todos (FF) por el dispositivo con la dirección 00. Los tres
están obligados a responder a estas preguntas generales y no siempre si
últimos bytes de datos muestran la PGN solicitó, con el fin de bytes
están ocupados. Por esta razón, es generalmente mejor para dirigir sus
inversa, para asegurarse de que se trata de una respuesta a nuestra
consultas a una dirección específica, una vez que se conoce.
solicitud. En cuanto a los otros bytes de datos, el primero no es 00 (que
se esperaría para un reconocimiento positivo), es 01 lo que significa
confirmación negativa. Dado que todas las peticiones a una dirección
Con el fin de determinar la dirección para enviar a, puede que
específica deben ser respondidos, el dispositivo en la dirección 00.
tenga que controlar la información en el autobús por un tiempo.
responde diciendo que no es capaz de responder. Es decir, recuperar la
Asegúrese de que se muestran los encabezados (bits ID), y tomar nota
información usando el comando MP.
de lo que se muestra en la posición de dirección de origen, que se
encuentra inmediatamente antes de los bytes de datos. En el ejemplo
anterior, esto sería 00 (que J1939 define como la dirección para el
Si la ECU había sido capaz de responder a la solicitud, el formato
motor # 1). A modo de ejemplo, supongamos que es el motor # 1 que
de la respuesta habría sido un poco diferente. Por ejemplo, si se hubiera
desea dirigir sus consultas a. Para ello, tendrá que cambiar la dirección
hecho una solicitud de tiempo de funcionamiento del motor (PGN
de destino de FF (la dirección global) a 00 (motor # 1).
00FEE5), la respuesta podría haber sido así:

Por defecto, el ELM327 utiliza 6 0EAFF F9 para los bits de ID de todas las > 00FEE5
peticiones (o 18 EA FF F9 si lo prefiere). Es decir, se utiliza una prioridad de 6, 6 0FEE5 00 80 84 1E 00 FF FF FF FF
para hacer una solicitud (EA) a la dirección global (FF) por el dispositivo a F9 (la
herramienta de exploración). Una solicitud de EA se refiere a menudo como una Observe que el PGN aparece en el encabezado de este tipo de
solicitud utilizando PGN 59904 como el EA00 dirección en hexadecimal es 59904 respuestas, y los bytes de datos son los definidos para el SPN en el
en decimal. PGN.
Todas las respuestas a una solicitud se imprimen por el
Dado que sólo desea alterar la porción EAFF F9 de los bits de ID y ELM327, si son un solo mensaje CAN, o una multisegmento
no la prioridad, es posible hacer esto con el comando de tres bytes transmisión como se define por la
'cabecera de set': protocolo de transporte (J1939-21). Si las respuestas son múltiples
segmentos, el ELM327 se encarga de todos la
> EN SH EA 00 F9 negociación para usted. A modo de ejemplo, una respuesta a una petición de varios
segmentos DM2 podría tener este aspecto:
Los bits de prioridad rara vez necesitan ser cambiados, pero si es
necesario cambiarlas, se pueden llevar a cabo con la prioridad puede (AT CP) > 00FECB
de comandos. 012

Después de realizar el cambio anterior, todas las solicitudes de datos 7 0EBF9 00 01 04 50 00 04 FF 0B 54 7 0EBF9 00 02 00
serán dirigidos a la dirección 00 (el motor), por lo que no se olvide de cambiar 00 01 5F 05 02 31 7 00 03 0EBF9 6D 05 03 03 FF FF FF
los encabezados si desea realizar de nuevo las solicitudes globales. Tenga
en cuenta que el comando AT SH le permite cambiar la fuente (o probador)
dirección a voluntad, así que cuidado con esto como direcciones realmente Si las cabeceras están encendidas, y aparecerían como:
deben ser negociados con el método descrito en J1939-81 y es posible elegir
concebiblemente una dirección que es > 00FECB
012

01: 04 FF 50 00 04 54 0B

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 57 de 94


www.elmelectronics.com
ELM327

Uso de J1939 (continuación)

02: 00 00 01 05 02 31 5F 03: 6D 05 03 bytes, debe activar puede auto Formateo fuera (AT CAF0), y luego
03 FF FF FF repetir la solicitud. Tenga en cuenta que esto sólo se mostrará el
mensaje completo TP.CM si tiene una versión 1.4b o superior ELM327.
Si las cabeceras están apagados. Tenga en cuenta que los mensajes de múltiples

fotogramas siempre envían ocho bytes de datos, y rellenar las posiciones de bytes no Esta ha sido una breve descripción de cómo utilizar el ELM327 en un
utilizados con los FF. entorno típico J1939. Si usted puede controlar para obtener información, hacer
Con las cabeceras de descanso, una respuesta de varias líneas se ve peticiones globales, así como los específicos, y recibir respuestas simples o
muy similar a las respuestas de varias líneas para ISO15765-4. La primera múltiples fotogramas, entonces usted tiene las herramientas necesarias para
línea muestra el número total de bytes en el mensaje, y las otras líneas diagnosticar la mayoría de los problemas de los vehículos.
muestran el número de segmento, entonces un colon, y los bytes de datos
recibidos. Tenga en cuenta que el número de bytes es un valor hexadecimal
(es decir, la '012' mostrada significa que hay 18 bytes de datos).

La única línea que muestra 012 en el anterior (el número total de


bytes de datos) es en realidad un tipo especial de respuesta, llama un
'Gestión de la conexión' o mensaje 'TP.CM'. Tiene un formato específico,
pero los únicos bytes que son típicamente relevantes son los que
proporcionan el tamaño total del mensaje en bytes, de modo que es todo
lo que el ELM327 muestra normalmente. Con el fin de ver el otro

El estándar FMS

Varios camiones pesados ​y autobuses fabricantes europeos se El estándar FMS está completamente abierta, y todavía en evolución (a partir
han unido para formar una organización para la estandarización de la de este escrito, la actualización más reciente fue la versión 2.00). Para obtener más
forma en que la información se recupera de estos grandes vehículos. información, visite los sitios web de FMS:
El resultado de su trabajo es el FMS (o sistemas de gestión de flota)
estándar, y el Bus-FMS estándar.

FMS Estándar
El estándar FMS se basa en un subconjunto del protocolo
www.fms-standard.com
J1939 250 kbps, que utiliza sólo los mensajes de difusión para
la información. En orden a no
comprometer la integridad de bus CAN del vehículo, la norma también Bus estándar FMS
especifica un dispositivo de puerta para proporcionar la separación entre los bus-fms-standard.com
usuarios (potencialmente no cualificados) y la información de control crítico en
el vehículo.
La información contenida en los mensajes de FMS se define por
PGN, utilizando los mismos números PGN como para J1939. La
diferencia es que sólo definen un pequeño subconjunto de los
especificados por J1939.
Para controlar la información proporcionada por una puerta de
enlace FMS, basta con utilizar el comando AT MP con el número
apropiado PGN. Hay que advertir que algunos datos (VIN, la versión del
software, etc.) sólo se transmite cada 10 segundos, por lo que se
requiere un poco de paciencia al esperar los datos.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 58 de 94


www.elmelectronics.com
ELM327

El estándar NMEA 2000

Se nos pide de vez en cuando sobre la compatibilidad con el ejemplo, para supervisar el motor Parámetros PGN (127488 o 1F200
estándar NMEA 2000 marina. Elm Electrónica no proporciona soporte hexadecimal), no se puede utilizar:
específico para este protocolo, pero nuestro circuito integrado ELM327
es muy capaz de trabajar con él. > AT MP 1F200

como el ELM327 realidad interpreta que como una solicitud de PGN 1F20,
Mientras que los conectores físicos pueden parecer un poco diferente
y obtener 0 respuestas. Para supervisar la PGN 1F200, debe enviar:
a los utilizados para J1939, la interfaz CAN y el formato de datos es casi
idéntica a la de la norma J1939. NMEA 2000 utiliza una velocidad de datos
de 250 kbps, por lo que la forma más fácil de empezar es seleccionar el > AT MP 01F200
protocolo A. predefinida del ELM327 Esto se hace con el protocolo
establece en un comando: Si se mantiene lo anterior en mente, el ELM327 demostrará ser una
herramienta útil para usar mientras que la experimentación con NMEA
2000. El hotel tiene un par de limitaciones que deben tenerse en cuenta,
> AT SP A sin embargo. Como se mencionó con J1939, no es capaz de negociación
de la dirección. Además, el ELM327 no admite el protocolo de paquetes
Cuando haya terminado y desea utilizar el ELM327 OBDII para
rápido, que puede ser un problema para algunos usuarios.
los protocolos estándar, no se olvide de enviar el comando AT SP 0 a
restablecerla.
Muchos de los PGN utilizados para NMEA 2000 tienen valores que son
Para obtener más información sobre el estándar NMEA 2000, visite el
mayores de 65535, por lo que el bit de DP se ajusta normalmente. Para
sitio web de NMEA (http://www.nmea.org).
controlar la mayoría de los PGN entonces, no se puede utilizar la versión corta
del comando MP. por

Periódicas (despertar) Mensajes

Después de una ISO ha establecido 9141 o ISO 14230 respecto, enviará 68 6A F1 01 00, y envía C1 33 F1 3E para ISO 14230 (KWP).
es necesario que haya transferencias de datos periódicas con el fin Si prefiere que se le envíe un mensaje diferente, basta con utilizar el
de mantener esa conexión, y evitar que se 'ir a dormir.' Si se envían comando de despertador Mensaje para definirlo.
las solicitudes y respuestas normales, que suele ser suficiente, pero
el ELM327 de vez en cuando tiene que crear sus propios mensajes, Por ejemplo, si desea enviar los datos de los bytes 44 55 con la
para evitar la conexión de tiempo de espera. cabecera de los bytes establece en el 11 22 33, sólo tiene que enviar el
comando:
Llamamos a estos mensajes periódicos que se crean los mensajes
'Despertar', ya que mantener la conexión viva, y evitar que los circuitos de > AT WM 11 22 33 44 55
volver a un modo inactivo o el sueño. (Algunos textos se refieren a estos
mensajes simplemente como 'mensajes de inactividad.') El ELM327 crea y y desde ese punto en adelante, cada mensaje de activación que el ELM327
envía estos para usted si no parece haber ninguna otra actividad de forma envía será 11 22 33 44 55 (con un byte de suma de comprobación siguiente).
automática - no hay nada que usted necesita hacer para asegurarse de Usted no proporciona el byte de suma de comprobación - se añade
que se produzcan. Para ver que éstos están siendo enviados, sólo tiene automáticamente.
que ver la transmisión DAB LED - verá los 'baches' periódicas como el Puede cambiar estos términos tan a menudo como desee, con la única
ELM327 envía cada uno. restricción de que cada vez que lo hace, usted debe proporcionar el mensaje
completo - los bytes de cabecera y los bytes de datos. La versión actual del
ELM327 permite que los mensajes de uno a seis el total de bytes, sin incluir
El ELM327 normalmente envía mensajes de activación después de 3 la suma de comprobación.
segundos de inactividad (este tiempo es ajustable con el comando AT SW).
Esto está dentro de los cinco segundo límite establecido por la norma. El ELM327 no admite mensajes periódicos para los protocolos
de la CAN. Si necesita esa función, por favor, considere el uso de
El contenido por defecto de estos mensajes variará nuestra ELM329 CAN Intérprete producto.
dependiendo del protocolo - para ISO 9141, el ELM327

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 59 de 94


www.elmelectronics.com
ELM327

La alteración de Mensajes de Control de Flujo

ISO 15765-4 (CAN) prevé sólo ocho bytes de datos por trama de mensaje que ha definido (7E8 00 11 22 en este ejemplo). Tenga en cuenta que
datos. Por supuesto, hay muchos casos en los que los datos que mostramos 11 bits para el ID en este ejemplo, pero también se puede definir
necesita ser enviada tiene más de 8 bytes, y CAN ha hecho provisión identificadores de 29 bits.
para esto permitiendo que los datos se separan en segmentos, El tercer modo soportado actualmente permite establecer los bytes de
entonces recombinados en el receptor. datos que han de ser enviados, pero no los bits de ID. El ELM327 establece los
bits de ID en el modo 2 de los cuales fueron recibidas en el mensaje primer
Para enviar uno de estos mensajes de múltiples líneas, el transmisor fotograma - que no cambia en absoluto. Para utilizar este modo, en primer
en un sistema CAN enviará un mensaje de 'Primera imagen', y luego lugar definir sus bytes de datos, a continuación, activar el modo:
esperar una respuesta del receptor. Esta respuesta, llamada un mensaje de
'control de flujo' contiene información relativa a la sincronización de
mensajes aceptables, etc., y no se requiere para ser enviado antes de que > En el FC SD 00 11 22 OK
el transmisor enviará ningún dato más. Para ISO 15765-4, el tipo de
respuesta está bien definida, y nunca cambia. El ELM327 automáticamente
enviará esta respuesta para usted, siempre y cuando la opción de control > AT FC SM 2 OK
de flujo puede está activado (CFC1), que es por defecto.

En cualquier momento mientras usted está experimentando, si debe desear


para restaurar las respuestas automáticas de control de flujo, sólo tiene que ajustar
Con el fin de proporcionar un control completo sobre el envío
el modo a 0:
de mensajes de control de flujo y su contenido, el ELM327 define
varios comandos AT FC. > AT FC SM 0 OK
La manera en la que el ELM327 responde a un mensaje primer
fotograma se determina por 'modo' el control de flujo, según lo establecido
por el comando AT FC SM. Actualmente hay tres modos, como se muestra Esto restaurará inmediatamente las respuestas a sus valores por
en el gráfico. El modo de control de flujo por defecto es el número '0', lo que defecto (ISO 15765-4).
significa que el ELM327 hará todo lo posible para usted. Para la mayoría de la gente, habrá poca necesidad de manipular
estos mensajes 'Flow Control', como los valores por defecto están
Modo de control de flujo 1 se proporciona para aquellos usuarios que diseñados para trabajar con los estándares CAN OBD. Si desea
desean un control completo sobre sus mensajes de control de flujo. Para experimentar, éstos ofrecen especial los comandos AT que el control para
usarlo, debe definir el ID CAN (cabecera) y los bytes de datos que se usted.
requieren para ser enviado en la respuesta a un mensaje primer fotograma. La siguiente tabla resume los modos de control de flujo
Tenga en cuenta que si se intenta establecer el modo antes de definir estos actualmente soportados:
valores, obtendrá un error:

Proporciona usuario
ELM327 modo FC
Proporciona
> En el FC SM 1?
ID Bits & Bytes
0 sin valores
de datos
Debe establecer los encabezados y datos de primera:

ID Bits & Bytes


> En el FC SH 7E8 OK 1 sin valores
de datos

2 bits de ID Bytes de datos


> En el FC SD 00 11 22 OK

Modos de control de flujo


y entonces se puede establecer el modo:
Tenga en cuenta que el ELM327 sólo enviar mensajes de control de flujo si
> En el FC SM 1 OK el formato de datos del protocolo es ISO15765-4.

A partir de ahora, cada mensaje Primera imagen recibida será


respondida con la costumbre

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 60 de 94


www.elmelectronics.com
ELM327

Uso de direcciones CAN extendido

Algunos vehículos con interfaces puede utilizar un formato de datos que y enviar con un ID (cabecera) de 7B0:
es ligeramente diferente de lo que hemos descrito hasta ahora. Los paquetes
de datos son muy similares, excepto que el primer byte se utiliza para la > AT SH 7B0 OK
dirección del receptor (es decir, de destino). Los siete bytes restantes se
utilizan como se describe anteriormente.
Tenga en cuenta que había un mensaje de control de flujo que se
envió en este grupo, pero no es exactamente lo mismo que el de los
Nos referimos a este tipo de direccionamiento como 'CAN
sistemas DAB. Por esta razón, tendrá que definir su propio control de flujo
direccionamiento extendido', y proporcionar apoyo a la misma con el
con las tres afirmaciones siguientes (no mostraremos permiso es más,
comando AT CEA. Tal vez un ejemplo sería mejor describen cómo usarlo.
para ahorrar espacio):

Aquí es una porción de una transferencia de datos que fue tomado de un


vehículo. Por el momento, ignorar los primeros bytes de datos en cada línea y > AT FC SH 7B0
sólo mirar a los bytes de datos restantes (que se describen en gris):
> En el FC SD 04 30 00 FF

7B0 04 02 10 81 00 00 00 00 7C0 F1 02 50 > AT FC SM1


81 00 00 00 00 7B0 04 02 21 A2 00 00 00 00
La declaración final de instalación que se necesita es contar la
7C0 F1 10 16 61 A2 01 02 05 7B0 04 30 FF
ELM327 para enviar a CAN extendido Dirección 04:
00 00 00 00 00 7C0 F1 20 DF 01 00 04 09 01
21 02 7C0 F1 05 01 00 04 DF 7C0 F1 22 09 > EN CEA 04
01 00 04 01 00
Ahora todo está configurado. A continuación, decir la IC para utilizar este
protocolo, y para evitar cualquier iniciación (ya que no es estándar DAB, y
probablemente fallará):
Si está familiarizado con el formato de datos ISO 15765, usted será
capaz de reconocer que los bytes de datos que se muestran dentro de la > AT SP B
caja parecen ajustarse a la norma. Las filas que comienzan con 02 de ellas
> AT BI
individuales Marcos, la que comienza con 10 es un primer marco, mientras
que el de 30 es un control de flujo, y los otros son cuadros consecutivos. Eso es todo. Para reproducir con exactitud el flujo de datos que se muestran,
sólo es necesario enviar los bytes de datos pertinentes y el ELM327 va a agregar
el resto:
Los bytes restantes, que se muestran fuera de la caja, son el ID CAN 11
bits estándar, y un byte de dirección adicional. Los que utilizan F1 para la > 10 81 50
81
dirección adicional se dirigen a la herramienta de análisis (todas las herramientas
de análisis en general, utilizar la F1 como la dirección por defecto), y las otras
líneas están siendo enviados al vehículo (en la dirección 04). > 21 016 A2 0: 61 A2 01 02 05 0:
DF 01 00 04 09 01 1: 02 05 01 00
04 DF 2: 09 01 00 04 01 00
El ELM327 es capaz de manejar este tipo de mensajes, pero requiere
cierta configuración inicial. Por ejemplo, supongamos que los mensajes
utilizan 11 ID de bits, con el formato ISO 15765, y la velocidad de
transmisión es de 50 kbps. El comando PB para configurar el protocolo B
de esto es:
Observe que, por alguna razón, este vehículo ha enviado dos
> EN PB 81 0A OK segmentos de 0, pero eso sólo significa que no se sigue
exactamente el protocolo ISO 15765. Lo anterior muestra que las
respuestas se vería con el formato de, y encabezados fuera. Si lo
A continuación, tendremos que recibir todos los mensajes con un ID de 7C0: hace, el intercambio de datos se vería más como lo que inicialmente
mostramos.

> EN CRA 7C0 OK

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 61 de 94


www.elmelectronics.com
ELM327

Puede ingresar a frecuencia coincidente

La mayoría de los vehículos modernos tienen una lata de red Puede parecer un poco complicado, pero lo que realmente dice es que para la
conectados a los pines 6 y 14 del conector OBD. En un tiempo, sin configuración predeterminada, se permite un envío si la frecuencia de la señal
embargo, el uso de estos pasadores se dejó el fabricante del vehículo, y de entrada coincide con la configuración de la CAN (250 o 500 kbps), o si no
un número de diferentes sistemas estaban conectados a ellos. parece haber ninguna señal. Además, si el usuario está tratando una
frecuencia DAB no estándar, pero se recibe una frecuencia estándar, no se le
Con el fin de evitar la interrupción de cualquier sistema conectado permitirá un envío.
mientras el ELM327 es la búsqueda de un protocolo (que envía peticiones
durante una búsqueda), el ELM327 ahora realiza varias pruebas en estos Todos los bits de PP 28 se ponen a 1 por defecto (que requieren adaptación de
cables. Antes de la versión de firmware 2.1, las pruebas simplemente frecuencia, a menos que no se detecta señal), pero se pueden cambiar en cualquier
buscaron la actividad en los cables pero no fueron la frecuencia selectiva. momento - ver la sección de parámetros programables para más detalles.
Esto significaba que, por ejemplo, vehículos que tenían una señal de
velocímetro conectado a cualquiera de pin podrían ser vistos como una red Esta lógica sólo se utiliza durante la búsqueda de un protocolo válido. Una
CAN válida, y el ELM327 pueden haber enviado una solicitud en esos vez que un protocolo particular se considera que es activo, no hay controles de
cables. El nuevo firmware realmente mide la frecuencia de entrada y frecuencia adicionales se hacen (como lo es el consumo de tiempo). Tenga en
requiere que coincide con la del protocolo CAN seleccionado antes de cuenta que si debe usar el comando AT BI para omitir el proceso de iniciación,
cualquier mensaje de prueba puede ser enviado. esta
prueba de coincidencia de frecuencia también anulada.

El siguiente diagrama muestra cómo funciona la lógica. Eso

señal es de 500 kbps

CAN Rx ajuste es de
(pasador 24)
500 kbps PP 28,

b7 es 0

señal es de 250 kbps

Un envío puede
Procesamiento
permitir
de la señal ajuste es de

250 kbps PP 28,

b6 es 0

señal no es 250 o 500 kbps

ajuste no es
250 o 500 kbps

es tranquilo

PP 28, b0 es 1 entrada

Enviar Lógica bien la búsqueda de un Protocolo

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 62 de 94


www.elmelectronics.com
ELM327

Programación de números de serie

Un número de nuestros clientes han pedido a la manera de identificar de '_' (Valor 5F hex). Típicamente, un @ 3 uso de comandos AT se vería
forma exclusiva un producto que utiliza nuestra ELM327 circuito integrado. Si así:
bien esto es a menudo una solicitud de un medio para almacenar un 'número de
serie', la gente también ha pedido una manera de almacenar fechas y códigos de > AT @ 3 MYBOARD_9906 OK
versión, también. El @ @ 2 y 3 comandos fueron creados para ayudar con esto.

Este número no puede ser alterada una vez que se introduce, por lo
que debe estar seguro de que está entrando en los valores
Si envía el comando AT @ 2 a un nuevo circuito integrado
correctamente. Si el desarrollo de código que hace esto, es posible que la
ELM327, recibirá un error. Es decir, usted verá una respuesta que
compra de un IC ELM328 ahorrará el gasto de ensayo y error. El ELM328
tiene este aspecto:
no soporta los protocolos OBD sin embargo, por lo que no es una opción

> A LAS 2 ? viable para otros usos.

Una vez que se establece el código @ 3, que siempre estará disponible


En el cuadro de diálogo anterior, el ELM327 está tratando de a través del comando @ 2:
decir que el chip es muy antiguo y no es compatible con el comando
@ 2, o que no se ha programado en estas posiciones de memoria > AT @ 2
MYBOARD_9906
todavía.
Para programar caracteres en la memoria @ 2, debe proporcionar
Eso es todo lo que hay que usar el identificador de dispositivo ELM327.
exactamente 12 caracteres utilizando el AT @ 3 comandos. Estos
caracteres deben estar en el grupo de impresión ASCII, en el rango de '!'
(Valor hexadecimal 21) a

Guardar un byte de datos

El ELM327 proporciona una posición de memoria que se pueden Dado que este solo byte de datos se almacenan en la matriz EEPROM
utilizar para guardar cualquier byte de información. Esta ubicación utiliza interna, que está sujeta a los límites habituales de la tecnología EEPROM - lee
especial EEPROM 'no volátil' ilimitado, pero por lo general sólo alrededor de 1 millón escribe, con un tiempo
memoria para el almacenamiento, por lo que sus datos no se pierde, incluso si debe de retención de 40 años (o más). Esto no debería plantear ningún límite a los
desconectar la alimentación. usuarios ELM327 que somos conscientes.
Por lo general, esta posición de memoria es utilizado por el software de control
para almacenar el estado de los indicadores que se establecen en las condiciones del
vehículo, mediante configuraciones de hardware, o mediante opciones de software.
Almacenándolos en este tipo de memoria, los ajustes serán recordados entre los usos
de la herramienta de análisis.

El almacenamiento de datos se hace fácilmente con el comando Guardar datos -


por ejemplo, para guardar el valor 7F, sólo tiene que enviar:

> EN SD 7F OK

y los datos es tan fácilmente recuperados utilizando el comando Leer


datos:

> EN RD
7F

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 63 de 94


www.elmelectronics.com
ELM327

El Monitor de actividad

El ELM327 contiene algo de firmware que se utiliza para controlar los pines Número de reproducciones. El recuento es un valor interno que representa el
de entrada de DAB (es decir, las patillas 11, 12, 13, y tiempo desde que se detectó la actividad del OBD. El tiempo real está dada por
24). Estas rutinas continuamente 'sondear' las entradas, en busca de cualquier nivel (valor de AMC + 1) x 0.65536 segundos. Para usarlo, enviar el comando AMC y
de activos en ellos. Por supuesto, no queremos mirar un alfiler, mientras que tenga en cuenta el valor devuelto:
estamos enviando, por lo que también hay algo de lógica para bloquear esas
entradas durante un envío, para filtrar los niveles, y también para indicar el tiempo.
> AT AMC 31
En conjunto, estas rutinas son conocidos como el Monitor de actividad.

El software Monitor de Actividad asegura que cada pin de entrada del En este caso, el valor devuelto es 31 hexadecimal (es decir, 49 en
OBD se comprueba al menos una vez cada 4 ms (y, a veces tan a menudo decimal), lo que significa que el ELM327 no ha detectado ninguna
como cada pocos microsegundos). Esto puede no ser perfecto (ya que un solo actividad OBD en el pasado 49 x 0,655 =
mensaje muy corto en un bus de otra manera tranquila podría perderse), pero 32.8 segundos. El conde Monitor de actividad se limita a un único
sí asegurarse de que el ELM327 detecta actividad normal en los autobuses valor de byte (máx es FF), y la lógica interna le impide 'vuelco'. Es
activos. La presencia o ausencia de actividad se pueden utilizar para hacer que decir, se contará a FF y detenerse allí.
el ELM327 para ir a la operación de bajo consumo, o estela de ella. Consulte la
siguiente sección para más detalles al respecto. Después de un encendido o reinicio, el Monitor de actividad está
inicialmente desactivado (para darle tiempo para realizar tareas de
configuración). Se habilita tan pronto como se intenta enviar el primer mensaje
Si no desea que el Monitor de actividad para iniciar la operación de baja del OBD. Además, el monitor se desactiva siempre mientras que el ELM327
potencia, es posible establecer PP 0F de manera que se proporcionan informes está en un modo de supervisión para que pueda utilizar el ELM327 como
sólo 'ACT ALERTA'. Por supuesto, también puede desactivar eso también, y monitor fiable de la actividad del bus (que no quiere que se vaya a dormir,
tomar sus propias decisiones en base a lo que el Monitor de actividad está cuando debería ser la vigilancia, o perderse nada mientras que despertar del
viendo. sueño).
Para ayudar con esto, el ELM327 ofrece una instrucción que es
capaz de reportar el Monitor de actividad actual

Control de poder

A menudo, el ELM327 está conectado a un vehículo por sólo un corto poco tiempo para realizar algunas tareas de mantenimiento).
período de tiempo, por lo que el consumo de energía no es de gran preocupación. Cuando está en modo de bajo consumo, el ELM327 establece todas las
Ocasionalmente, el ELM327 puede estar conectado durante tiempos más largos, salidas a su recesiva estado activado / desactivado, define el pin 3 (control de
sin embargo, posiblemente sin el motor en marcha. Para esas aplicaciones, a voltaje J1850) a un nivel bajo, y se invierte el estado de la salida de control pasador
menudo es deseable ser capaz de poner el circuito en un estado de baja potencia 16. El ELM327 entonces reducir su propio nivel de potencia, y comenzar la
'en espera', y tienen que volver al funcionamiento normal cuando sea necesario. se vigilancia de las entradas que causarían un cambio de nuevo a plena potencia.
introdujeron las características de control de potencia del ELM327 para esto.
El siguiente método permite la conmutación automática al modo de baja
potencia cuando no ha habido entrada RS232 para un período de tiempo - es
Hay cuatro formas en que el ELM327 se pueden colocar en el modo de decir, el ordenador de control se ha detenido por alguna razón. Para habilitar
espera de baja potencia (estos se muestra gráficamente en la Figura 6). este método, tanto b7 b5 y del PP 0E se debe establecer en '1'. El retardo de
Ninguno de ellos funcionará sin tener el maestro activar (es decir, el bit 7 del tiempo (ya sea 5 o 20 minutos) se establece por b4, y la impresión de una
PP 0E) puesto a '1', que es de forma predeterminada. advertencia está habilitado con b3. La advertencia es útil en algunos casos - es
el mensaje de alerta de actividad ( 'ACT ALERTA') y se envía 1 minuto antes de
El primer método es con un comando AT. Usted puede simplemente enviar: que el temporizador está a punto de finalizar. Cuando el temporizador hace
tiempo, verá una alerta de advertencia de baja potencia ( 'LP ALERTA'), y
después de 2 segundos más tarde, todas las salidas va a cambiar como se
> EN LP describe anteriormente para el comando AT LP.

y el IC irá al modo de baja potencia después de un retardo de un


segundo (que permite que el circuito de control una
De manera similar, el Monitor de actividad puede ser utilizado

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 64 de 94


www.elmelectronics.com
ELM327

Control de Potencia (continuación)

para hacer que el ELM327 para cambiar al modo de Baja Potencia, si no hay La última forma para entrar en el modo de baja potencia es por un bajo
actividad OBD desde hace algún tiempo. Si sigue el camino de la lógica, se verá nivel aparece en la entrada de monitor de encendido (pin 15), con ambos b2 y
que b7 b5 y del PP 0F debe ser a la vez '1', así como b7 del PP 0E con el fin de b7 de PP 0E establece en '1'.
permitir que este interruptor se produzca. El tiempo predeterminado antes de que La lógica del monitor de encendido inserta un pequeño retardo interno (
permite la conmutación es fijado por b4, a menos que se haya establecido un 'anti-rebote') para asegurarse de que el bajo nivel visto es un 'fuera de tono'
valor con el comando AT AMT. Ajuste del tiempo de espera del monitor de legítimo y no sólo un poco de ruido. Después de que es seguro, el ELM327 A
actividad para 00 bloques de todas las salidas de monitor de actividad. continuación, enviar un mensaje de alerta de baja potencia ( 'LP ALERTA'), y 2
segundos más tarde, pasará al modo de Baja Potencia, lo mismo que era

EN el
retardo
comando LP Ir a baja
de 1 seg
potencia
b7
la entrada

es tranquilo b4 b0 *

detector de
RS232 Rx
RS232 5 min o 20 min
(pin 18)
minutero
flash de OBD
no b7
monitoreo b5 1 min b3 Tx LED

restante

Todas son

tranquilas
imprimir ACT

entradas monitor de ALERTA retardo

DAB actividad de 2 seg

no minutero b7
monitoreo (Leer con AT
AMC) retardo
b5 *
de 1 seg

AMT ≠ 00
b7 *
ajuste de tiempo de espera ALERTA
AMT valor, si se ha ajustado minutero ≥ sí impresión LP
más 150 sec si b3 *
¿ajuste?
b4 * = 1 30 seg si b4 * =
0
envió un
mensaje

imprimir ACT
notas
bits de PP 0F se muestran con un asterisco (*). Todos los demás
ALERTA
bits son para 0E PP.

tensión es representa una puerta Y

baja
representa una puerta OR
IgnMon monitor de
65 de
(pin 15) voltaje
supresión de rebotes mseg

b7
b2
Figura 6. Activación del modo de bajo consumo

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 65 de 94


www.elmelectronics.com
ELM327

Control de Potencia (continuación)

descrito para los otros métodos. función alternativa para el pasador 15 es la entrada de RTS que
Cuando se conecta a la patilla 15, se debe tener cuidado para no permitir que interrumpirá cualquier procesamiento OBD que está en curso. Si el ELM327
el exceso de corriente (es decir,> 0,5 mA) pase a través de los diodos de protección notifica una alarma con el mensaje de 'Parada', a continuación, puede
internos. Normalmente todo lo que se requiere es una resistencia en serie, pero la comprobar el nivel en el pin 15 con el comando AT IGN, y tomar sus
adición de un condensador de ayuda a filtrar el ruido de encendido (tenga en cuenta propias decisiones en cuanto a lo que debe hacerse. Para el caso, que ni
que la entrada de Schmitt en el pin 15 permite el uso de siquiera es necesario para reducir el poder basado en la entrada que
valor grande posiblemente podría hacer algo totalmente diferente.
condensadores). Un segundo resistor asegura una trayectoria de descarga para el
condensador, mientras que aumenta la tensión de umbral. Un circuito como este Después de haber puesto el ELM327 en modo de bajo consumo, se
funciona bien: necesita un método para activarlo. Esto se hace por 'interrumpir' el CI en
formas que son muy similares a la utilizada para ponerlo en modo de bajo
47K Ω
+ 12V conmutada consumo.
por la ignición
La Figura 7 muestra las tres formas de 'despertar' el ELM327 desde el
0.1uF 47K Ω
modo de baja potencia (aparte de alternar la potencia, o pulsando pin 1).
15 16 Cualquiera de estos puede despertar a la IC
- que no tienen que ser la causa de su va a baja potencia.
14

La primera manera es con un pulso de nivel bajo en la entrada RS232 Rx


Tenga en cuenta que el comando AT IGN siempre se puede utilizar
(pin 18). El circuito de RS232 no es tan sensible como normal cuando en el
para leer el nivel en el pasador 15, independientemente de la configuración
modo de baja potencia, por lo que para estar seguro de que su entrada se ve, la
del PP 0E bits de habilitación. Esto se puede utilizar con ventaja si desea
ELM327 requiere que el ancho de pulso sea de al menos 128 usec de ancho.
cerrar manualmente la IC, utilizando su propio calendario y criterios.
Esto es
Recordemos que el

RS232 Rx detector de anchura de impulso

(pin 18) RS232 128 microsegundos min

la entrada
está activa

una entrada está

ahora activo

retardo realizar un
entradas monitor de
de 1 seg arranque en
DAB actividad
caliente (véase el texto)

sin entrada era activo Ir a plena potencia


• la
denormalidad
microprocesador a

• pin 16 = b6
el voltaje es
b1
alto hoy

IgnMon monitor de 1 o 5 sec


(pin 15) voltaje minutero

el voltaje era baja

Figura 7. Volviendo a la Operación Normal

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 66 de 94


www.elmelectronics.com
ELM327

Control de Potencia (continuación)

fácilmente mediante el envío de un carácter de espacio o @, si la velocidad de Una alternativa es proporcionar una resistencia de actuación para
transmisión es de 57,6 kbps o menos. Si el uso de velocidades de transmisión permitir el despertar de la ELM327 con un interruptor pulsador momentáneo:
más altas, es posible que desee considerar temporalmente el cambio a una
velocidad menor y el envío de un personaje, o posiblemente ver si su software
+ 5V
puede generar una señal de 'break' para usted. La señal de corte no es siempre
la misma longitud, pero es típicamente de varios ms de largo (es decir, mucho 47K Ω
más largo que 128 microsegundos), y, a menudo puede ser enviada por USB a 2.2K Ω
través de USB para dispositivos de conversión de RS232. Usted tendrá que
experimentar si se utilizan otros métodos (Bluetooth o Wi-Fi, por ejemplo).

15 16

El segundo método para que el circuito de ELM327 volver a plena 14

potencia es por tener actividad aparecen en las clavijas de entrada de DAB. A la


primera señal de un nivel activo, el circuito iniciará su despertar, y en cuestión Si el circuito está en modo de bajo consumo, un pulsador momentáneo

de segundos, será a plena capacidad. Tenga en cuenta que la lógica está del botón despertarlo. Esta es sólo una de las muchas maneras en que usted

configurado de manera que tiene que ver todo tranquilo en las entradas del OBD puede utilizar esta entrada.

antes de permitir un despertador automático. Esto normalmente no presenta un Una nota final tiene que ver con los cambios en el proceso de puesta en

problema, y ​se implementa de manera que se puede poner manualmente el marcha, a partir de la versión de firmware 2.0. Inicialmente (con v1.4 y v1.4b), el

circuito de baja potencia (en el LP), incluso si no hay actividad en una de las ELM327 simplemente utiliza un comando de arranque en caliente (AT WS) para

entradas del OBD. De lo contrario, el circuito se despertaba inmediatamente salir del modo de bajo consumo. La retroalimentación positiva que hemos

después de la AT LP. recibido de nuestros cambios ELM329 nos ha llevado a también cambiar la
procedimiento de activación para el ELM327.

Cuando se conecta a los protocolos de 3, 4 o 5 (ISO 91412 o ISO Ahora, en cambiar de nuevo hasta la plena potencia, el ELM327 realiza

14230-4), puede haber ninguna actividad OBD cuando el vehículo se un arranque en caliente, pero conserva la siguiente configuración:

enciende por primera. En este caso, no se podía confiar en el monitor de la


actividad para despertar el circuito y que tendría que buscar otros medios. E0 / 1 H0 / 1 L0 / 1 M0 / 1

R0 / 1 D0 / 1 S0 / 1 AT0 / media
El último método que se proporciona para activar el circuito es a través
de la entrada de monitor de encendido y la lógica. A continuación, alto nivel CAF0 / 1 CFC0 / 1 CSM0 / 1 CEA CTM1 / 5
bajo en la entrada IgnMon hará que el ELM327 para volver hasta la plena JTM1 / 5 AL / NL IIA
potencia. Tenga en cuenta que el PP 0E bit 2 no tiene que ser ajustado para el
Además, la velocidad de transmisión ISO / KWP es retenida y el
IgnMon reactivar el circuito - el ELM327 siempre supervisa esta patilla, y se
protocolo actual no se cambia (pero está cerrado, por lo que requerirá
despertará el circuito después del retraso que se establece el bit 1 0E PP.
inicialización).
Esto ha discutido cómo hacer que el ELM327 ir a la operación de baja
potencia, y despertar de ella. Mientras que en el modo de bajo consumo, la
A menudo nos preguntan si una tensión conmutada 'encendido' está
cuestión de 'qué tan bajo es el consumo de energía' se plantea. Se discute
disponible en el conector de diagnóstico del vehículo para este propósito. No es,
que en los Modificaciones para baja potencia funcionamiento de la espera
por lo que debe conectar un cable separado a sí mismo. A menudo hay lugares
'sección, que está en la página 84.
convenientes que se pueden utilizar para este - posiblemente la potencia de
radio, o la conexión a una toma de conveniencia.

Tenga en cuenta que se presenta la entrada de pasador 15 como si se trata de


un circuito de control de encendido, pero, de hecho, se hará un seguimiento de
cualquier cambio en el nivel de tensión (siempre y cuando el cambio es estable
durante el período de eliminación de rebote). Usted podría considerar la conexión a
otros insumos (como los 5V de un cable USB, por ejemplo) - sólo asegúrese de
proteger los circuitos de entrada ELM327 de los transitorios. Esto por lo general sólo
requiere una resistencia en serie de 1K a 10K en valor.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 67 de 94


www.elmelectronics.com
ELM327

Los parámetros programables

El ELM327 contiene varias posiciones de memoria que conservan sus habilitada (PP 01, como se mencionó anteriormente), la tabla de resumen se
datos incluso después de apagar la unidad. Cada vez que el CI se pone a vería así:
cero, estas ubicaciones se leen y se utiliza para cambiar la configuración
predeterminada para cosas tales como si para mostrar los encabezados, o > AT PPS
con qué frecuencia para enviar mensajes de activación ''. Porque definen el 00: FF F 01:00 N 02: FF F F 03:32 04:01 F 05: FF F 06:
funcionamiento del ELM327, nos referimos a estas posiciones de memoria F1 F 07:09 F 08: FF F F 09:00 0A: 0A 0B F: FF F 0C: 68
como los parámetros programables. F 0D: 0D 0E F: 9A F 0F: D5 F 10: 0D F 11:00 F 12: FF F
F 13:55 14:50 F 15: 0A F 16: FF F 17: 6D F 18:31 F 19:31
Todos los parámetros programables se alteran fácilmente en cualquier F 1A: FF F 1B: FF F 1C: 03 F 1D: 0F F 1E: 4A F 1F: FF F
momento mediante unos pocos comandos simples. Estos comandos son 20: FF F 21: FF F 22: FF F 23: FF F F 24:00 25: 00 F
comandos AT estándar, con una excepción: cada uno requiere un proceso 26:00 F 27: FF F 28: FF F 29: FF F 2A: 3C F 2B: 02 F 2C:
de dos pasos para completar. Este paso adicional proporciona cierta E0 F 2D: 04 F 2E: 80 F 2F: 0A F
seguridad frente a las entradas aleatorias que de otro modo podrían causar
cambios.

Como un ejemplo de cómo cambiar un parámetro programable, considere PP


01 (que se muestra en la página 69), que establece el estado por defecto del
Se puede ver que el PP 01 muestra ahora un valor de 00, y que está activado
comando AT H. Si usted está constantemente Alimentación de la ELM327 y luego
(ON), mientras que los otros son todos fuera.
utilizando AT H1 para convertir los encabezados en, es posible que desee cambiar la
Otro ejemplo muestra cómo puede cambiar el byte de relleno CAN.
configuración predeterminada, por lo que los encabezados son siempre de forma
Algunos sistemas utilizan 'AA' como el valor para enviar bytes de datos no
predeterminada. Para ello, basta con establecer el valor de PP 01 en 00:
utilizados de la CAN, mientras que el ELM327 utiliza '00' por defecto. Para
cambiar el ELM327 con el fin de tenerlo enviar AA lugar, basta con
cambiar PP 26:
> En las páginas 01 SV 00 OK

> AT PP 26 SV AA OK
Esto cambia el valor asociado con el PP 01, pero todavía no le
permiten. Para hacer efectivo el cambio, también debe escribir:
> AT PP 26 EN OK

> En las páginas 01 EN


Una vez más, PP 26 es de tipo 'D', por lo que el cambio anterior en
OK
realidad no tiene efecto hasta que los valores predeterminados se restauran,
En este punto, ha cambiado la configuración por defecto para AT H1 / ya sea por un comando AT D, o restableciendo el ELM327.
H0, pero no ha cambiado la corriente en el ajuste H1 / H0. En la columna
'Tipo' en la tabla de la página 69, se puede ver que el PP 01 es un parámetro Los parámetros programables son una gran manera de personalizar su
de tipo 'D', por lo que el cambio sólo surte efecto la próxima vez que se ELM327 para su propio uso, pero debe hacerlo con precaución si se utiliza el
restauran los valores predeterminados. Esto podría ser de un reinicio, un software comercial. La mayoría del software espera un ELM327 para
apagado / encendido, o posiblemente un comando AT D. Si envía el responder de cierta manera a los comandos, y puede ser confuso si el carácter
comando AT D, entonces usted debe encontrar que los encabezados se de retorno de carro se ha redefinido, o si la respuesta CAN muestra un código
muestran ahora por defecto. de dígitos de longitud de datos, por ejemplo. Si se realizan cambios, podría ser
la mejor manera de hacer pequeños cambios y luego ver el efecto de cada
Ya que hay muchos parámetros programables que se pueden uno, de modo que sea más fácil para volver sobre sus pasos y 'deshacer' lo
alterar, ocasionalmente puede ser difícil saber qué cambios ha que ha hecho, en caso de que tenga que hacerlo. Si usted consigue en
hecho a ellos. Para ayudar con esto, el ELM327 proporciona un demasiado profundamente, no se olvide el comando 'todo apagado':
comando de parámetros programables Resumen (PPS). Este
comando simplemente imprime una lista de toda la gama de PP (ya
sea soportada o no actualmente), su valor actual, y si están en /
> AT PP FF OFF
habilitada (N), o apagado / desactivado (F). Para una versión 2.1
ELM327, con sólo los encabezados No importa qué software que utilice, es posible que se meten en
problemas más graves, en caso de que cambie la baudios

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 68 de 94


www.elmelectronics.com
ELM327

Los parámetros programables (continuación)

tasa o el carácter de retorno de carro, por ejemplo, y olvida lo que - lugares pines 8 o 19 del ELM327, pin 5 de un conector RS232, un extremo
les ha fijado a. El valor de retorno de carro que se establece por el de la mayoría de los condensadores, o en el conector OBD), a continuación,
PP 0D es el único personaje que mantenga el otro extremo del puente a la clavija 28, mientras enciende el
es reconocido por el ELM327 como poner fin a un comando, instrumento. Cuando vea el RS232 Rx LED comenzará a parpadear
por lo que si cambia su valor, no puede ser capaz de deshacer el rápidamente, quitar el puente - el LED intermitente significa que funcionaba y
cambio. En este caso, su único recurso puede ser a la fuerza todos el PP están todos fuera.
los PP con un truco especial de hardware.
Esta característica sólo se debe utilizar cuando se meten en
Cuando los ELM327 primeras potencias de hasta, busca un puente problemas graves, y es su única opción (ya que poner un puente en
entre el pin 28 (salida de la OBD Tx LED) y el circuito común (V SS). Si un un circuito vivo podrían causar daño si lo pones en el lugar
puente está en su lugar, se apagará la totalidad del PP para usted, la equivocado). Tenga cuidado si hay que usarla.
restauración de la IC a la configuración de fábrica. Para utilizar esta función,
simplemente conecte un puente de circuito común (que aparece en
numerosas

Resumen de parámetros programables

Las siguientes páginas proporcionan una lista de los parámetros D - tiene efecto después predeterminados se restauran
programables disponibles actualmente. El carácter se muestra en la (AT D, AT Z, AT WS, MCLR o apagado / encendido) R - tiene efecto
columna 'Tipo' indica que los cambios tendrán efecto. Los valores posibles
después de un Reset
son:
(AT Z, AT WS, MCLR o apagado / encendido) P - necesita un

I - El efecto es inmediato, apagado / encendido de reinicio Tipo

(AT Z, MCLR, o apagado / encendido)

PÁGINAS Descripción Los valores por defecto Tipo

00 Realizar un comando AT MA después del encendido o reinicio 00 = ON FF FF R


= OFF (APAGADO)

01 La impresión de los bytes de cabecera (al ajuste por defecto H) 00 = ON FF FF re


= OFF (APAGADO)

02 Permitir mensajes de largo (en configuración predeterminada AL) 00 = ON FF FF re


= OFF (APAGADO)

03 NO tiempo de espera DATOS (AT ajuste predeterminado ST) ajuste = 00 a FF 32 re


(205 ms)
valor de x 4.096 mseg

04 el modo de temporización adaptativa por defecto (en el ajuste AT) a 02 01 re

06 Fuente OBD (Tester) Dirección. No se utiliza para protocolos J1939. 00 a FF 00 F1 R

07 Última Protocolo para tratar durante las búsquedas automáticas 01 a 0C 09 yo

09 eco de caracteres (AT ajuste predeterminado E) 00 = ON FF 00 R


(EN)
= OFF

0A Carácter de salto de línea 00 a FF 0A R

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 69 de 94


www.elmelectronics.com
ELM327

Parámetro programable Resumen (continuación)

PÁGINAS Descripción Los valores por defecto Tipo

0C RS232 velocidad en baudios divisor cuando el pasador 6 es alta (1 lógico) velocidad 00 a FF 68 PAG
(38.4)
de transmisión (en kbps) = 4.000 ÷ (valor PP 0C)

Por ejemplo, a 500 kbps requiere un ajuste de 08 (desde 4000/8 = 500) Estos son algunos

ejemplos de baudios tarifas, y el divisor para ser utilizados:

Velocidad de valor PP 0C
transmisión (kbps) hex (dic)

19.2 D0 (208)

38.4 68 (104)

57.6 45 (69)

115,2 23 (35)

230,4 11 (17)

500 08 (8)

notas:
1. El valor PP 0C debe incluirse como sólo dígitos hexadecimales. Los valores decimales
(enumerados anteriormente entre paréntesis) se muestran únicamente para su conveniencia.

2. El ELM327 sólo puede procesar byte continua recibe en tasas de aproximadamente


600 kbps como máximo. Si necesita conectarse a un ritmo mayor, añadir un retardo
entre los bytes para mantener una tasa promedio de 600 kbps o menos.

3. Un valor de 00 proporciona una velocidad de transmisión de 9600 bps.

0D Carácter de retorno de carro 00 a FF 0D R

0E Las opciones de control de potencia 00 a FF 9A R


(10011010)
Cada bit controla una opción, de la siguiente manera: activar

Maestro: b7 0: off 1: en
si es 0, los pines 15 y 16 realizan como se describe para v1.0 a v1.3a (debe ser 1 para permitir

que cualquiera de las funciones de baja potencia) B6: 16 Pin nivel de potencia plena

0: baja 1: alta
nivel de salida normal, se invierte cuando en bajo b5 modo de potencia: Control de

Auto LP 0: desactivado 1: activado


permite modo de bajo consumo si la actividad se detiene RS232 b4: tiempo de

espera automático LP 0: 5 mins 1: 20 minutos


ninguna actividad RS232 entorno de tiempo de espera

b3: advertencia automática LP 0: desactivado 1: activado


si está activado, dice 'ACT ALERTA' 1 minuto antes RS232 b2 tiempo de espera: el control de

encendido 0: desactivado 1: activado


permite modo de bajo consumo si la entrada IgnMon pasa a nivel bajo

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 70 de 94


www.elmelectronics.com
ELM327

Parámetro programable Resumen (continuación)

PÁGINAS Descripción Los valores por defecto Tipo

0E Las opciones de control de potencia (continuación) B1:

retardo de encendido 0: 1 sec 1: 5 sec


retraso después IgnMon (pin 15) vuelve a un alto nivel, antes de la operación normal

se reanuda b0: reservado para el futuro - que deje el valor a 0

0F Las opciones del Monitor de Actividad 00 a FF D5 re


(11010101)
Cada bit controla una opción, de la siguiente manera: b7:

monitor de control maestro 0: desactivado 1: activado


debe ser 1 para permitir B3 a B6 B6:

permite estela de baja potencia 0: sin 1: sí


despierta en el cambio de una actividad a otra sin b5: Control

Automático LP 0: desactivado 1: activado


permite modo de bajo consumo si la actividad se detiene OBD b4: tiempo de

espera automático LP 0: 30 secs 1: 150 secs


ninguna actividad OBD entorno de tiempo de

espera b3: advertencia automática LP 0: desactivado 1: activado


si está activado, dice 'ACT ALERTA' b2 en tiempo de espera:

reservado para el futuro - que deje el valor en 1 B1: añadir signo de

exclamación 0: sin 1: sí
si es 1, envía '!' antes de ACT alerta y LP ALERT b0: LED LP

0: desactivado 1: activado
si es 1, el OBD Tx LED parpadea cuando está en modo de baja potencia (un
16 flash mseg repite cada 4 segundos)

10 tensión J1850 ajuste (en ms) Tiempo = (PP 10 valor) de 00 a FF 0D R


(53 mseg)
sedimentación x 4,096

11 J1850 rotura señal de limitador 00 = ON FF 00 re


(EN)
(BUS ERROR informa si se exceden los límites de duración señal de pausa) = OFF

12 Volts J1850 (pin 3) polaridad de salida 00 = invertido FF FF R


(normal)
= normal, bajo la producción de 5V, de alto rendimiento para invertir 8V = de = normal

alto rendimiento para 5V, Baja salida para 8V

13 Tiempo de retardo añadido entre los protocolos 1 y 2 durante una configuración de 00 a FF 55 yo


(498 ms)
búsqueda (en ms) = 150 + (PP 13 valor) x 4,096

14 ISO / KWP anchura bit de parada final (ofrece P4 tiempo interbyte) Ajustes (en 00 a FF 50 re
(5,2 mseg)
microsegundos) = 98 + (PP 14 valor) x 64

15 ISO / KWP tiempo máximo entre bytes (P1), y también se utiliza para el tiempo 00 a FF 0A re
(21 mseg)
inter-mensaje mínimo (P2). establecer (en ms) = (15 valor PP) x 2,112

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 71 de 94


www.elmelectronics.com
ELM327

Parámetro programable Resumen (continuación)

PÁGINAS Descripción Los valores por defecto Tipo

dieciséis Por defecto ISO / KWP velocidad de transmisión (AT IB configuración por defecto) Nota: 4800 FF R
(10.4K)
baudios no puede ser un defecto - la puso con AT IB 48 10

17 ISO / KWP tasa wakeup mensaje (AT ajuste predeterminado SW) establecer 00 a FF 92 re
(3,0 sec)
(en ms) = (PP 17 valor) x 20,48

18 ISO retardo / KWP antes de una init rápido, si un init lento ha tomado configuración de lugar 00 a FF 31 yo
(2,0 sec)
(en ms) = 1,000 + (PP 18 valor) x 20,48

19 ISO retardo / KWP antes de una init lento, si un init rápido ha tomado configuración de lugar 00 a FF 31 yo
(2,0 sec)
(en ms) = 1,000 + (PP 19 valor) x 20,48

1A Protocolo 5 iniciación rápida de tiempo activo (Tinil) 00 a FF 0A re


(25 mseg)
establecer (en ms) = (valor 1A PP) x 2,5

1B Protocolo 5 iniciación rápido tiempo pasivo (TiniH) 00 a FF 0A re


(25 mseg)
establecer (en ms) = (valor PP 1B) x 2,5

1C salidas ISO / KWP utilizados para la iniciación (b7 a b2 no se utilizan) b1: línea L (pin 00 a FF 03 re
(00000011)
22) 0: desactivado 1: activado
= 96 FF =
b0: línea K (pin 21) 0: desactivado 1: activado

Si está desactivado, una salida se mantendrá baja durante las iniciaciones de protocolo

1D ISO tiempo / KWP P3 (retardo antes de enviar solicitudes) tiempo 00 a FF 0F re


(59 mseg)
Ave (en ms) = (PP valor 1D - 0,5) x 4,096

1E de línea mínimo ISO / KWP K tiempo de silencio antes de que un init puede comenzar (W5) establecer 00 a FF 4A re
(303 ms)
(en ms) = (valor 1E PP) x 4,096

21 Por defecto se puede fijar pautas de control silencioso (para AT CSM) FF = ON = FF R


(EN)
OFF 00

24 CAN formato automático (AT configuración predeterminada CAF) 00 = ON FF 00 re


(EN)
= OFF

25 CAN control de flujo automático (AT configuración predeterminada CFC) 00 = ON FF 00 re


(EN)
= OFF

26 CAN llenador de bytes (utilizado para rellenar los mensajes) 00 a FF 00 00 re

28 Realizar un filtrado configuración (controles pueden Sends mientras que la búsqueda) Los bits 00 a FF FF re
(11111111)
de este byte de opciones de control, de la siguiente manera: 500 kbps partido: b7

0: ignorado 1: necesaria

partido 250 kbps: b6 0: ignorado 1: necesaria

b5 a b1: reservado para el futuro - que deje el valor 1 b0: enviar si es

tranquilo autobús 0: No se permite 1: mascotas

29 La impresión de la longitud de datos CAN (DLC) al imprimir bytes de cabecera (AT D0 / D1 ajuste 00 = ON FF FF re
predeterminado) = OFF (APAGADO)

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 72 de 94


www.elmelectronics.com
ELM327

Parámetro programable Resumen (continuación)

PÁGINAS Descripción Los valores por defecto Tipo

2A CAN comprobación de errores (se aplica a los protocolos de 6 a C) Cada bit de 00 a FF 3C re


(00111100)
este byte controla una opción, de la siguiente manera: b7: Longitud de datos

ISO15765 0: 1: aceptar ninguna debe ser de 8 bytes

b6: ISO15765 PCI = 00 0: permitido 1: no permitidos

b5: búsqueda después ERR94 0: Normal 1: CAN está bloqueado

b4: Buscar LV después de RESET 0: Normal 1: CAN está bloqueado

b3: Test de cableado 0: by-pass 1: realizar


Procesamiento 7F xx de 78: b2:

habilitado (CAN y KWP) 0: sin 1: sí


b1: Modos válidos (valores xx) 0: todos 1: sólo el 00 a 0F

b0: Los protocolos pueden válidos 0: todos 1: Sólo ISO15765

2B Protocolo A (SAE J1939) CAN velocidad de transmisión divisor velocidad de transmisión (en kbps) 01 a 40 02 R
(250 Kbps)
= 500 ÷ (valor PP 2B) Por ejemplo, el establecimiento de este PP a 19 (es decir. Decimal 25)

proporciona una velocidad de transmisión de 500/25 = 20 kbps.

2C Protocolo B (USUARIO 1) Opciones CAN. Cada bit de este byte controla una a FF E0
(11100000)
opción, de la siguiente manera: b7: Transmisión Longitud ID

0: 29 bits ID 1: 11 bit ID
b6: Longitud de datos 0: fijo 8 byte 1: DLC variable de
b5: Recibe Longitud ID 0: según lo establecido por b7 1: ambos 11 y 29 bits

b4: multiplicador de velocidad en baudios 0: x1 1: x 8/7 (véase nota 3)

b3: reservado para el futuro - dejar fijado en 0. b2, b1, b0 y determinar las

opciones de formato de datos:

b0 b1 b2 Formato de datos

000 ninguna

001 ISO 15765-4


010 SAE J1939
Otras combinaciones están reservados para futuras actualizaciones - resultados serán
imprevisibles si debe seleccionar uno de ellos.

2D Protocolo B divisor (USUARIO 1) velocidad de transmisión. Ver PP 2B para una descripción. 01 a 40 04


(125 Kbps)

2E Protocolo C (USUARIO 2) Las opciones pueden. Ver PP 2C para una descripción. 00 a FF 80 RRR
(10000000)

2F Protocolo C (USUARIO 2) divisor de velocidad de transmisión. Ver PP 2B para una descripción. 01 a 40 00 0A R


(50 Kbps)

Notas: 1. El ELM327 no acepta dígitos decimales para los parámetros programables - todos los valores son hexadecimales.

2. Para los parámetros programables que describen opciones en términos de bits, b7 es el bit más significativo y b0 es el bit menos significativo.

3. Cuando se establecen b4 de PP 2C o PP 2E, la tasa de baudios CAN se incrementará en un factor de 8/7, pero la velocidad de transmisión que muestra el
comando AT DP seguirá mostrando el tipo de base (según lo establecido por 2D PP o PP 2F). Por ejemplo, si se establece PP 2C b4 a 1, y luego PP 2D a
06, la frecuencia base será de 83,3 kbps. El comando AT DP informará de 83 kbps, pero la velocidad de transmisión real será 83.3x8 / 7 = 95,2 kbps.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 73 de 94


www.elmelectronics.com
ELM327

Máximo de datos CAN tarifas

Se nos pide en ocasiones lo que la tasa de datos máxima es que el


ELM327 puede manejar. Esto es a menudo después de que alguien ha tratado
de controlar todos los datos utilizando la configuración predeterminada y ha
recibido un error de 'buffer lleno'. Es difícil decir exactamente cuál es la tasa
máxima es, sin embargo, ya que varios factores están implicados.
El siguiente diagrama muestra estos procesos agrupados en bloques.
El 'motor' dentro de la CAN ELM327 es en realidad configurado Los tiempos mostrados son típicos de un mensaje de ISO15765-4, y como se
con uno reciba registro que acepta mensajes desde el bus de datos, y puede ver, varían tanto con la longitud del mensaje CAN y la velocidad de
otro registro que acepta mensajes desde la primera. Mientras el transmisión CAN. Todos los valores mostrados son medidas de tiempo en
firmware vacía el segundo registro antes del primer registro lo necesita, microsegundos (microsegundos).
no debería haber ningún problema de desbordamiento con este velocidad de transmisión que se seleccione.
componente. El ELM327 se mueve realmente los datos de forma rápida Cuando llega un mensaje, el ELM327 se mueve rápidamente para
a centros de almacenamiento, por lo que este no es un problema. mover los bytes recibidos desde los registros especiales de la CAN, de
manera que no afecten a la siguiente mensaje que llega. se formatea a
continuación, los datos (como bytes ASCII) y se coloca en la memoria
Sería bueno si todo el firmware tenía que hacer era vaciar el segundo intermedia de transmisión RS232, para enviar al procesador de control.
registro, y esperar a que se llene de nuevo, pero eso no es así. También Mientras los mensajes no llegan a un ritmo que es más rápido que el
considerable, dependiendo de las opciones de formato que ha elegido, y la
debe comprobar si hay errores, posiblemente Cola una respuesta CAN, ELM327 puede procesar en, todos los mensajes serán
formatee la recibida

Mensaje del ECU 11 bit /


500 = 220 29 bit / 250 = recibir el siguiente mensaje. Estas tareas pueden tomar un tiempo
min espacio 11 bit
520 / 500 = 16 29 bit / 250
= 32 Al 40% Loading Bus: 11 bit /
500 = 354 29 bit / 250 =

mensaje 828 mensaje


Los datos CAN

en la memoria intermedia de transmisión RS232, y luego prepararse para

Rx registro está vacío y puede aceptar


el mensaje siguiente notas:
Los datos en movimiento - microsegundos
todo el tiempo están en

- tiempos mostrados son promediados típico

movimientos y comprobaciones de errores


- mensajes tienen 8 bytes de datos, y:
encabezados
mientras se está enviando el mensaje RS232, en (AT
convertirlo en H1),
ASCII, cargarlo
500k = 29
todos los datos están en el espacios off (AT S0), avances de
250k = 41
buffer de envío línea off (AT L0)

Procesando datos

formateo y preparación
11 bit ID = 193 29 esta es una tarea de fondo - el ELM327 puede hacer otras cosas
bit ID = 210

Envío de resultados enviar tiempo depende de la longitud del mensaje y la velocidad de transmisión, pero en

promedio es:

38.4K 500k 115.2 K


11 bit ID 5180 1740 400
ID de 29 bits 6475 2175 500

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 74 de 94


www.elmelectronics.com
ELM327

Máximo puede Velocidades de Datos (continuación)

procesada. Se puede ver en la figura que incluso para un mensaje de 500 por lo general aún no hay errores de búfer lleno, incluso con autobuses muy
kbps con un ID de 11 bits, el ELM327 termina con tiempo de sobra. Desde ocupadas.
ISO15765-4 especifica que los mensajes deben ser de 8 bytes de datos de Cuando la gente nos pregunta entonces, '¿Qué velocidad de datos
longitud (bytes de relleno se añaden según sea necesario) estos tiempos posible el apoyo ELM327?' la respuesta no es fácil de proporcionar, ya que
representan la situación típica, con una carga de bus 40%. En realidad, a depende de muchos factores. Depende del contenido de los mensajes
partir de estos números el ELM327 debe ser capaz de manejar 100% de CAN, la velocidad de datos, y si ha seleccionado filtros para eliminar los
carga de autobús (que no es una situación práctica). mensajes irrelevantes. El precio también depende de la velocidad de
transmisión RS232 que usted ha elegido, como puede ser el factor limitante
si hay un gran número de mensajes que se recuperan. Si sólo estás
Una vez que el ELM327 ha colocado todos los bytes con el formato obteniendo los 10 o 20 mensajes, sin embargo, el búfer interno se ocupa
adecuado en el búfer de transmisión RS232, es hasta el ordenador de control a de ellos para usted, y la velocidad de transmisión que elija no importa.
buscarlos en el momento oportuno. Si los bytes son eliminados con demasiada
lentitud, la memoria intermedia continuará llenando a medida que llegan nuevos
mensajes de diagnóstico a bordo, y el tampón con el tiempo llegará a ser Si simplemente está obteniendo los PID respuestas de la red,
completa. No importa cuán grande es el tampón es, si la tasa de eliminación de realmente no hay limitación en el ELM327, y no importa
bytes de la memoria intermedia es más lenta que la tasa de ponerlos en el lo que la 'máxima velocidad de datos CAN' es. Si usted está tratando
búfer, con el tiempo se llenan. Cuando está llena, aparecerá un mensaje de de 'empujar el sobre', el seguimiento de todo lo que viaja en un bus
'buffer lleno', y tendrá que empezar de nuevo. de datos CAN muy ocupado, entonces no habrá limitaciones. Lo que
están dependen en gran medida de las decisiones que tome.
Esperemos que esta discusión se han ayudado a darle la
El tampón de ELM327 de transmisión es de 512 bytes de tamaño. Teniendo en información básica necesaria para hacerlo.
cuenta que algunos bytes se enviarán mientras que los nuevos mensajes se ponen en
cola, esto significa que normalmente se puede almacenar:

38.4K 115.2 K 500k


11 bit / 28 500k 38 -
29 bit / 250k 26 56 -

mensajes en la memoria intermedia, si la carga de autobús está a 40%, como se


muestra. Este almacenamiento es más que suficiente para casi todas las
solicitudes del OBD - la única vez que usted puede meterse en problemas es si
está supervisando todos los mensajes en el bus (EN MA) sin filtros establecidos.
En ese caso, usted tendría que estar seguro de que va a eliminar bytes lo más
rápido que se están generando.

La velocidad a la que se producen los mensajes DAB depende del 'bus de


carga'. Este es un factor de utilización que es muy similar al ciclo de trabajo de una
señal de onda cuadrada. Idealmente, la carga del bus debe ser inferior a
aproximadamente 30%, pero a medida que los vehículos se hacen más complejos,
esto es muy difícil de hacer. Según los informes, algunos vehículos están viendo un
montón de autobuses 70%.

El gráfico anterior no muestra ningún número en la columna de 500 k,


como el tampón nunca debe llenar cuando la carga de autobús es 40%. A
medida que aumenta la carga, es muy probable que llegar al límite, pero
incluso con los buses de datos muy ocupadas, vemos típicamente
alrededor de 150 mensajes antes de un buffer lleno se informa. Si nos
desviamos de espacios y saltos de línea (S0 AT, AT L0), que

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 75 de 94


www.elmelectronics.com
ELM327

Interfaces microprocesador

Una pregunta muy común que recibimos es "¿Puedo conectar el ELM327 El ELM327 también proporciona una característica apretón de manos que
directamente a mi propio circuito, o debe usar la interfaz muestra? Ciertamente, pueden simplificar el flujo de datos para usted. La interfaz consta de dos
es posible conectar directamente a nuestros circuitos integrados, y que no es pasadores - una entrada de un una salida. La entrada se llama 'petición para
necesario utilizar una interfaz RS232 o USB. Hay algunos elementos a tener en enviar' (RTS), y se utiliza para interrumpir el ELM327, simplemente equivale a
cuenta, sin embargo. presionar una tecla en el teclado cuando se utiliza un programa de terminal. El
pin de salida ( 'ocupado') es utilizada por el ELM327 para indicar al sistema que
El ELM327 es en realidad un microprocesador que contiene una se está procesando datos.
interfaz de tipo UART estándar, conectado a los pines RS232 Tx y Rx. El
tipo de lógica es CMOS, y esto es compatible con prácticamente todos los Para utilizar la función de toma de contacto, defina uno de los pines del
circuitos de 5V TTL y CMOS, por lo que debe ser capaz de conectarse puerto al que normalmente proporcionan un alto rendimiento, y conectarlo a la
directamente a estos pines, siempre que los dos dispositivos comparten la entrada de estrategia en tiempo real (pin 15). Utilice otro pin del puerto como una
misma fuente de alimentación (5V), y que no son físicamente más de entrada para controlar la salida Busy ELM327 (pin 16). Cuando se desea enviar
alrededor de 10 a 20 pulgadas de distancia (circuitos CMOS están sujetos un comando, simplemente marque la salida Busy primero. Si se está en un nivel
a prenderse arriba de corrientes inducidas, que pueden ser un problema si lógico alto, entonces o bien esperar a que se vaya bajo, o si es necesario
usted tiene cables largos). interrumpir la IC, a continuación, llevar la línea RTS baja y esperar a que la línea
ocupada para ir bajo. (Es posible que desee considerar el uso de un borde
provocado interrupción en la salida de ocupado, si está disponible). Cuando hay
Los (ralentí) niveles normales de la ELM327 transmitir y recibir pasadores mucha gente no ir bajo, restaurar su línea RTS en un alto nivel, y luego enviar el
están en la V DD ( 5V) nivel. La mayoría de los microprocesadores y circuitos comando al ELM327. No hay necesidad de preocuparse por el ELM327 ser
integrados de interfaz RS232 esperan que ese sea el nivel de inactividad, pero ocupado de nuevo después de elevar la línea RTS en este punto - una vez
que deben verificarse para cada microprocesador antes de conectarse al ocupado pasa a nivel bajo, el ELM327 esperará (indefinidamente) para su mando.
ELM327. Las conexiones son sencillas - transmisión se conecta a recibir, y Si no se utiliza la entrada de estrategia en tiempo real en el ELM327, debe estar
recibir conecta a transmitir, como se muestra a continuación. No se olvide de conectado a un nivel lógico alto, como se muestra. Tenga en cuenta que
configurar ambos dispositivos a la misma velocidad de transmisión.

+ 5V

+ 5V el microprocesador
Tx Rx

L1-L4

R27-30 + 5V + 5V
470 Ω
Carolina del Norte

16 17 18 19 20 21 22 23 24 25 26 27 28 15 El ELM327 y su
Rx Tx RTS ocupados
microprocesador deben utilizar
327 la misma fuente de 5V
+ 5V

1 2 3 4 5 6 7 8 9 10 11 12 13 14

y R15
a R21
X1
4.00MHz

C3 C4
27pF 27pF

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 76 de 94


www.elmelectronics.com
ELM327

Microprocesador Interfaces (continuación)

la configuración por defecto para el PP 0E convierte estas señales temblar la mano


fuera, por lo que tendrá que cambiar eso con el fin de utilizarlos. + 3.3V

A menudo nos preguntan sobre la conexión del ELM327 a la lógica


de 3,3 V, que es muy popular. Muchos esperan que sólo puede insertar
el microprocesador
una resistencia o dos y hacer que funcione. Por desgracia, este no es el Tx Rx

caso, sobre todo porque el ELM327 ha Schmitt waveshaping en la


entrada RS232 Rx (pin 18), y por lo tanto puede necesitar hasta 4 V para
+ 3.3V
una entrada alta (aunque a menudo trabaja con menos). Para asegurarse
de que hay suficiente tensión, se recomienda utilizar un circuito traductor
nivel como el TXB0102 de Texas Instruments (www.ti.com), la ST2129 de
ST Microelectronics (www.st.com), o los Analog Devices (www.analog ADuM1201
+ 5V 5678
.com) ADuM1201 como se muestra aquí. Hemos estado utilizando el
1 2 3 4

ADuM1201 con la Frambuesa Pi últimamente, ya que ofrece aislamiento


galvánico (2500 Vrms), además de la traducción de nivel, por lo que + 5V
+ 5V
protege el Pi de problemas de cableado ocasionales. Tenga en cuenta
que para el aislamiento completo debe utilizar comunes separados para el Carolina del Norte

16 17 18 19 20 21 15

5V y las fuentes de alimentación de 3.3V. La única desventaja con el Rx Tx RTS ocupados

'1201 sobre los demás es que llama alrededor de 1 mA, lo que puede ser 327
un problema si usted está tratando de utilizar el modo de bajo consumo
7 8 9 10 11 12 13 14
con su ELM327.

Versiones de mejora

Una pregunta popular que recibimos es “¿Puedo actualizar el apretón de manos con un microprocesador u otro dispositivo, entonces puede que tenga
firmware con un archivo de descarga?”. La respuesta a esto es no, el que tomar medidas adicionales. Por lo general, esto sólo requiere apagar el control de
ELM327 no puede ser actualizado de esta manera - el circuito integrado potencia de baja mediante el establecimiento de b7 del PP 0E a 0.
debe ser reemplazado.
La siguiente pregunta que generalmente sigue es “¿Puedo simplemente Si va a sustituir una v1.4b o un circuito integrado v2.0 con uno
reemplazar un chip viejo ELM327 por uno nuevo para actualizar el firmware?” nuevo, entonces no hay preocupaciones.
Tenga en cuenta que hay varios productos disponibles clon que
La respuesta a esta última pregunta es básicamente sí. Decimos utilizan circuitos integrados que imitan la ELM327 a nivel de software.
básicamente porque hubo un cambio entre las versiones 1.3a y 1.4b Ellos no necesariamente imitan el hardware. Por esta razón, no se
cuando añadimos la función de control de potencia. Este cambio debe reemplazar un chip clon con un chip ELM genuino, a menos que
modifica la forma pasadores se utilizaron 15 y 16 (que adquirió papeles esté absolutamente seguro de que los 28 terminales de los circuitos
duales), y que puede afectar a su circuito. integrados son idénticos.

Si su placa de circuito es mayor y se utiliza una versión anterior de


nuestro chip (es decir, pre v1.4b), entonces usted tiene que mirar lo que
contactos 15 y 16 se utilizaron para. Casi todos los primeros tableros seguido
nuestro ejemplo y dejaron abierto el pin 16 y el pin 15 atados a + 5V. Si el
circuito hizo esto, no hay ningún problema - usted puede simplemente
reemplazar el chip viejo por uno nuevo.

Si su placa de circuito utiliza pines 15 y 16 para

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 77 de 94


www.elmelectronics.com
ELM327

ejemplos de aplicaciones

El estándar SAE J1962 dicta que todos los vehículos compatibles con 24V, 12V y no sólo. Además, si usted está considerando el uso del Monitor
OBD deben utilizar un conector estándar, la forma y el pinout del cual se de Actividad para despertar al ELM327 de un modo de sueño de
muestra en la Figura 8 a continuación. Las dimensiones y conexiones de alimentación, asegúrese de que el chip transceptor que usted escoja
las patillas de este conector 'Tipo A' se describen detalladamente en la mantiene el receptor funcional cuando se encuentra en modo de espera (si
norma SAE J1962. no pasa las señales en el ELM327 no se pueden ver).

El circuito que se muestra directamente debajo de la interfaz CAN se


utiliza para las señales de ISO 9141 e ISO 14230. Ofrecemos dos líneas de
1 8 salida, como es requerido por las normas, pero dependiendo de su vehículo,
puede que no necesite utilizar la salida de la norma ISO-L. (Muchos vehículos
9 dieciséis
no requieren esta señal para la iniciación, pero algunos lo hacen, por lo que
se muestran aquí.) Si su vehículo no requiere la línea L, simplemente no
conecte nada a la clavija 22, y no se instalan Q6, R16 o R17 .
Figura 8. El conector del vehículo J1962

Se requerirá que el circuito que se construye con el ELM327 para El ELM327 controla tanto de las salidas ISO a través de NPN
conectarse a través de un conector J1962 macho a juego. Afortunadamente transistores Q6 y Q7 como se muestra. Estos transistores tienen 510 Ω pull-up
estos están disponibles de varias fuentes, se encuentran fácilmente con una conectados a sus colectores, ya que la norma exige. De vez en cuando,
búsqueda en Internet. nos preguntamos sobre sustitutos de estas resistencias - el estándar
Tenga en cuenta que antes de la adopción de OBDII, varios vehículos especifica 510 Ω pero en un apuro que podría ser capaz de utilizar 560 Ω. Una
(en particular los fabricados por General Motors) utilizan un conector muy mejor solución sería hacer 510 Ω desde 240 Ω y 270 Ω 1 / 4W resistencias en
similar (en su mayoría) para sus comunicaciones de fábrica. Estos vehículos serie. No recomendamos el uso de un valor más bajo para la resistencia,
típicamente utilizan lo que se conoce como el protocolo de ALDL, que el ya que hace hincapié en todos los dispositivos en el bus. Tenga en cuenta
ELM327 no soporta. Compruebe que su vehículo es en realidad OBDII que 1 / 2W resistencias se especifican en la Figura 10 como un corto a
compatible antes de construir su circuito ELM327. 13,8V causa alrededor de 0.4W disipación.

El circuito en la página 80 (Figura 9) muestra cómo se puede utilizar


normalmente el ELM327. alimentación del circuito se obtiene del vehículo a Tenga cuidado si usted está diseñando un circuito que podrían
través de OBD pasadores 16 y 5 y, después de un diodo de protección y un monitorizar otras herramientas de análisis. Tanto el ELM327 y la otra
condensador para el filtrado, se presenta a un regulador de cinco voltios. (Tenga herramienta de análisis presentarían 510 Ω resistencias, por lo que el vehículo
en cuenta que algunos vehículos se ha informado que no tienen un pin 5 - en verían 255 Ω conectado externamente. Esto haría errores causa de datos muy
éstos que va a utilizar el pin 4 en lugar del pin 5) Los poderes del regulador de probable, e incluso podría dañar algunos circuitos. Para evitar esto, es posible
varios puntos en el circuito, así como un LED (L5) para la confirmación visual de que desee construir su circuito de tal manera que se puede cambiar de la 510
que el poder está presente. Hemos utilizado un regulador 7805 para este ELM327 Ω las resistencias a cabo, y reemplazarlos con un valor mayor. Por
circuito, ya que es muy común, y por lo general fáciles de obtener. ejemplo, es posible poner 10K Ω

resistencias en serie con el 510 Ω queridos, y añadir puentes o


La esquina superior izquierda de la figura 9 muestra los circuitos de interruptores extraíbles a través de la 10K Ω
interfaz CAN. No aconsejaría hacer su propia interfaz utilizando resistencias. La mayoría de la gente no necesita hacer esto - sólo
componentes discretos - CAN autobuses suelen tener una gran cantidad de mencionamos porque de las preguntas que nosotros recibimos.
información crítica sobre ellos, y se puede hacer fácilmente más daño que
bien, por lo que se recomienda encarecidamente que utilice un chip Los datos ISO es a la vez enviado y recibido en la línea de ISO-K.
transceptor comercial como se muestra. Mostramos un Microchip MCP2551 Pin 12 del ELM327 lee estos datos a través del divisor de tensión
en este circuito, pero la mayoría de los principales fabricantes de circuitos R20-R21. Debido a la entrada de disparo Schmitt en el pin 12, estas
integrados producimos transceptor CAN - mirar el NXP PCA82C251, el resistencias darán niveles de umbral típicos de 7.0V (ascendente) y 3,6 V
Texas Instruments SN65LBC031 y la Tecnología LT1796 lineal, por nombrar (cayendo), que proporciona una gran cantidad de inmunidad al ruido al
sólo unos pocos. Asegúrese de prestar atención a los límites de tensión mismo tiempo proteger el CI. Si es necesario conectarse equipos de
como función de la aplicación, es posible que tenga que tolerar prueba al pin 12 (es decir, en paralelo con R21), los umbrales se
incrementará, por lo que ser conscientes de

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 78 de 94


www.elmelectronics.com
ELM327

Aplicaciones de ejemplo (continuación)

lo que está haciendo durante la prueba. de entrada dentro de V de la ELM327 SS a V DD rango de tensión y, a continuación,
La interfaz OBD final que se muestra está en la esquina inferior izquierda, realizar un AT CV para calibrar el ELM327 a su nueva relación. La tensión
y se utiliza para las dos normas J1850. La norma J1850 VPW necesita un máxima que el ELM327 puede mostrar es 99.9V (que es una carrera de
suministro positivo de hasta 8V mientras que el J1850 PWM necesita 5V, por lo software, no hardware).
que hemos mostrado un suministro de dos niveles que puede proporcionar Cuatro LEDs se muestran en las patillas 25 a 28. Estos se han
tanto. Este suministro de voltaje dual utiliza un regulador ajustable 317L como se proporcionado como un medio visual de confirmar la actividad de circuito. Ellos
muestra, controlado por la salida pin 3. Con los valores de la resistencia dada, no son esenciales, pero es agradable ver la retroalimentación visual.
las tensiones seleccionadas serán de aproximadamente 8.0V y 5.5V, que
funciona bien para la mayoría de vehículos. Tenga en cuenta que el 317L es En el lado derecho del circuito, pasadores RS232 del ELM327 (17 y
capaz de mantener la regulación con un mínimo de 1,5 mA de corriente, por lo 18) se muestran conectados a un módulo USB FTDI. Este módulo hace
que hemos utilizado un 470 Ω resistencia entre la salida y ajustar pasadores. que sea muy fácil de conectar el circuito ELM327 a su ordenador - todo lo
Cuanto más grande es 317 regulador típicamente requiere que necesita es el software del controlador de VCP, que está disponible de
forma gratuita desde el sitio web de FTDI (www.ftdichip.com). El pinout
módulo coincide con un conector D-sub de 9 pines, por lo que simplemente
3,5 mA por lo que necesitaría las resistencias escala reducida puede soldar en donde el circuito RS232 se usa para ir. Diodo D5 y la
proporcionalmente. Una vez se han generado los voltajes adecuados, que resistencia R32 se han añadido a la interfaz para impedir el suministro USB
son impulsados ​por la combinación Q1-Q2 para el Bus +, y Q3 para la de que exista retroalimentación en el ELM327.
Bus-.
La entrada J1850 VPW utiliza un divisor de resistencia, similar a la que se
usó para la entrada ISO. umbral Típica tensiones con las resistencias mostradas Por último, el cristal muestra conectado entre los pines 9 y 10 es un cristal
será de aproximadamente 4.2V (ascendente) y 2,2 V (caída). La entrada J1850 4.000MHz tipo de microprocesador estándar. Los condensadores de carga 27pF
PWM es un poco diferente, ya que debe convertir una entrada diferencial en un cristal que se muestran son típicos solamente, y puede que tenga que
solo extremo uno para su uso por el ELM327. Esto se realiza mediante la seleccionar otros valores dependiendo de lo que se especifica para el cristal que
conexión de Q4 a través de la entrada, de manera que funciona como un se utiliza. La frecuencia del cristal es crítica para el funcionamiento del circuito y
amplificador de diferencia. La combinación en serie Q4-D3 fija un umbral de no debe ser alterado.
tensión de aproximadamente 1V (para mejorar la inmunidad al ruido), mientras
que R11 limita el flujo de corriente, y R12 se asegura de que Q4 está apagado A menudo recibimos solicitudes de listas de piezas para acompañar a
cuando debería ser. El circuito funciona bien, como se muestra, pero el tiempo nuestros circuitos Ejemplos de aplicaciones. Puesto que este circuito es más
de pull-up pasiva constante R14 puede verse afectada fácilmente por las compleja que la mayoría, hemos identificado y numerado todos los componentes y
capacidades parásitas - ser conscientes de ello si se conecta el equipo de proporcionado una lista de piezas de resumen (Figura 10). Tenga en cuenta que
prueba al pin 13. estos son sólo sugerencias para las partes. Si prefiere otro color LED, o tiene un
transistor de propósito general diferente a la mano, etc., entonces por todos los
medios hacer el cambio. Un consejo rápido para los que tienen problemas para
Resistor R10 es el componente J1850 final. Hemos añadido esto a encontrar un 0,3” de ancho zócalo para el ELM327: muchas de las 14 tomas
ayudar a descargar el bus de datos con mayor rapidez cuando se descubrió estándar de pasador se puede colocar de extremo a extremo para formar una 0,3”
que algunos vehículos mostraron capacitancia más alto que otros. La socket 28 pin de ancho. Para obtener más ayuda con la construcción y prueba del
resistencia puede no ser necesaria para muchos vehículos - la elección es circuito, consulte nuestra 'AN02 - ELM327 de construccion de circuitos' nota de
suya. Si usted debe ver informes de errores de bus con un vehículo J1850, aplicación.
puede ser esta capacitancia causando problemas (que tendrá que 'el
alcance de la señal para estar seguro).
¿Qué pasa si sólo desea apoyar a uno de los protocolos del
Pasando, el divisor de tensión R25-R26 se muestra conectado a la clavija ELM327? Bueno, puede hacerlo si lo desea. Basta con quitar las
2 se utiliza para el circuito de control de voltaje del vehículo. Las dos interfaces OBD que no necesite y conecte el resto. Dado que nunca se
resistencias simplemente dividen el voltaje de la batería a un nivel más seguro debe dejar una entrada CMOS flotante (en circuito abierto), tendrá que
para el ELM327, y el condensador (C2) ayuda a filtrar el ruido. Como se envía, añadir un puente o dos en las entradas no utilizadas. Ver la sección ''
el ELM327 espera una relación de divisor de resistencia como se muestra, y clavijas no utilizadas para el asesoramiento sobre lo que para conectar
establece las constantes de calibración nominales suponiendo que. Si la los pines a.
aplicación necesita una gama diferente de valores, sólo tiene que elegir los
valores de la resistencia para mantener la Algunas personas aún prefieren interactuar con sus circuitos
circuitos estándar RS232. Para éstos, ofrecemos el

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 79 de 94


www.elmelectronics.com
ELM327

CAN-L
14
6
V murciélago + 12V U3 + 5V
CAN-H R22 R23
Carolina del Norte

100 Ω 100 Ω R24 dieciséis


4.7K Ω 7805
positivo de la
C7 C8 D1 L5
MCP2551 batería
C1 C5
560pF 560pF + 5V
50V 50V
5678
0.1μF 0.1μF
1 2 3 4 50V R31
U2 5
470 Ω
C6 señal de
0.1μF tierra
V murciélago V murciélago

R19 R17
510 Ω 510 Ω

15
ISO-L R16 2.2K Ω U5
Q6
7
+ 5V
ISO-K R18 2.2K Ω
Q7
+ 5V R32 (CTS) Interfaz
4.7K Ω D4
ELM327 (RTS) 8 USB (mini
pin 12 3 (TxD)7
(DSR) B)
R20 47K Ω R21
(DTR) 6
L1-L4 (DCD) 4
33K Ω
5 (RI)
(SG)2 1(RxD)
R27-30 + 5V + 5V
DB9-USB-D5-F 9
470 Ω
V murciélago
Carolina del Norte FTDI
16 17 18 19 20 21 22 23 24 25 26 27 28 15
U1
R25
47K Ω 327
+ 5V
1 2 3 4 5 6 7 8 9 10 11 12 13 14
R26 10K Ω
C2
0.1μF a
a R15
+ 12V X1 R21
U4 4.00MHz
Interfaz Afuera
317L
En
R2
2.2K Ω C3 C4
OBD R5
adj 27pF 27pF
470 Ω
(J1962) R3 470 Ω

R6 10K Ω
R4
2.2K Ω R1
Q2 4.7K Ω
R8
R7
22K Ω
D2
4.7K Ω Q1 Figura 9. Un OBD a
Intérprete USB
R9 10K Ω

2
J1850 + Bus R10 R11 + 5V
22K Ω 10K Ω

J1850 autobús - 10
R14
R12 4.7K Ω
R15 D3 47K Ω
4.7K Ω ELM327 14 Q4
pin
Q3
Q5
R13
10K Ω

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 80 de 94


www.elmelectronics.com
ELM327

Aplicaciones de ejemplo (continuación)

Semiconductores D1 = 1N4001 D2, Resistencias (1 / 8W o mayores, excepto cuando se indique) R22,

D3, D4 = 1N4148 L1, L2, L3, L4 = R23 = 100 Ω

Amarillo LED L5 = LED verde R3, R5, R27, R28, R29, R30, R31 = 470 Ω
R17, R19 = 510 Ω 1 / 2W R2, R4,
R16, R18 = 2,2 K Ω
Q1, Q3, Q5, Q6, Q7 = 2N3904 (NPN) Q2, Q4 = R1, R7, R14, R15, R24, R32 = 4,7 K Ω
2N3906 (PNP) U1 = ELM327 R6, R9, R11, R13, R26 = 10 K Ω
R10, R8 = 22 K Ω
U2 = MCP2551 o MCP2561 U3 = 7,805 regulador R21 = 33K Ω
(5V 1A) U4 = 317L regulador ajustable (100 mA) U5 R12, R20, R25 = 47 K Ω
módulo USB = FTDI DBP-USB-D5-F
Condensadores (16V o mayor, excepto como se ha señalado)

C3, C4 = 27pF C7, C8 = 560pF 50V C1 = 0.1uF 50V C2, C5,

Miscelánea C6 = 0.1uF

X1 conector DB9 macho cristal = 4.000MHz para el cable

OBD? IC Socket = 28 pin 0,3" de ancho (o 2 x 14 pines)

Figura 10. Lista de piezas para la Figura 9

+ 5V

sub-circuitos de las figuras 11 y 12. RS232


La figura 11 muestra una interfaz RS232 discreto, que puede estar Interface
4.7K Ω (DB9F)
conectado directamente a la ELM327. Este circuito utiliza un resistor,
diodo, y el condensador entre las dos líneas de señal RS232 a 'robar' 10K Ω
3 (TxD)
alimentación del ordenador host. De esta manera, se obtiene el voltaje 2N3904
negativo RS232 requerido sin la adición de una fuente de alimentación 10K Ω
complicado al circuito ELM327. Las conexiones RS232 se muestran son
para un conector de 9 pines estándar. Si está utilizando uno de 25 pines,
que tendrá que compensar las diferencias. Este circuito funciona bien a 5 (SG)
+ 5V
velocidades de transmisión de 57600 bps o menos, pero empieza a 0.1μF

mostrar algunos errores a un ritmo de 115.200 bps y superiores. 10K Ω 4.7K Ω


2N3906
2 (RxD)
El circuito de la figura 12 ofrece otra solución RS232 que funciona + 5V
bien a velocidades de transmisión más altas. Utiliza un producto Maxim (el 1 (DCD)
MAX3222E) que es capaz de operar a velocidades de hasta 250 kbps una 19 18 17 16 15
4 (DTR)
tasa (no deje de visitar www.maximintegrated.com para más información).
327 6 (DSR)
El transceptor RS232 MAX3222E contiene circuitos de bomba
de carga interna que genera las tensiones necesarias para las 7 (RTS)

comunicaciones RS232, en Figura 11. A baja velocidad RS232 8 (CTS)


Además de los circuitos de interfaz analógico sea necesario. Todo lo que tiene que Interface ( ≤ 57,6 kbps)
hacer es proporcionar unos condensadores, y lo hace

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 81 de 94


www.elmelectronics.com
ELM327

Aplicaciones de ejemplo (continuación)


RS232
el resto. Interface
Nosotros advertimos que el MAX3222E parece colocar algunas (DB9F)
exigencias adicionales de la fuente de alimentación de 5V. Se debe trabajar
10 9 (TxD)
bastante bien con el regulador 7805 que se muestra en la Figura 9, pero si
11 2 (RxD) 3
usted ha elegido un dispositivo de corriente más baja como el LP2950
8

0.47μF
78L05 o, puede experimentar el contraste RESET de vez en cuando 'LV. Si 12 7 5 (SG)

lo hace, se recomienda la adición de dos condensadores al circuito de la 13 6

0.47μF
Figura 9. Sugerimos que un condensador de 10 mF 50V puede conectar en 14 5
1 (DCD)
paralelo con C1, y también que una unidad de 33 mF 10V ser instalado a 15 4

través de C5 (el 5V 'rail') . Esto debería eliminar los problemas, pero si no lo 0.47μF 4 (DTR)
dieciséis 3

hace, es posible que también desee considerar un regulador más potente + 5V


17 2 6 (DSR)
(como el 7805 que mostramos en la Figura 9) si no tiene ya uno instalado. 0.1μF
18 1
7 (RTS)
0.1μF
8 (CTS)

La interfaz USB de la figura 13 proporciona otra manera de conectar


el ELM327 a los sistemas de USB. Utiliza un chip CP2102 de Silicon
+ 5V
Laboratories (www.silabs.com) para convertir entre los datos y USB de
serie del ELM327. Figura 12. Un RS232 interfaz de alta
18 17 16 15

Una de las ventajas de ir a una interfaz USB es la alta velocidad ( ≤ 250 kbps)
velocidad de transmisión de serie que puede experimentar. Para 327
utilizar estas tasas más altas, tendrá que programar tanto la interfaz
USB y la interfaz ELM327 para ellos.

La velocidad de transmisión de interfaz CP2102 está realmente


configurado por el software del controlador. Al configurar la velocidad de
transmisión en el programa de terminal, el software hace lo necesario para
configurar la CP2102 para operar a esa velocidad y que no es necesario Interfaz
5.0V
hacer nada más. El ELM327 inicialmente sólo utiliza una tasa de 38.400 USB
TVS
+ 5V (conector
bps, sin embargo, y se le debe decir a usar algo diferente.
tipo 'B')

Con el fin de pasar de la velocidad de transmisión estándar de 38,4 k, 7 8 1 (5)


primero debe configurar el software a 38,4 kbps, y ponga en marcha el circuito
CP2102 5 2 (D-)
de ELM327. Asegúrese de que está trabajando, como se describe en la 1μF 6 SiLabs 4 (D +)
'Comunicación con el ELM327' sección, antes de hacer cualquier otra cosa.
3 4 (SG) 3
Cuando esté seguro de que todo está bien, a continuación, puede cambiar la 26 25
0.1μF
velocidad de transmisión. Antes de hacerlo, advertimos que usted debe
comprobar para asegurarse de que el software realmente apoya la velocidad
deseada (como varios no puede manejar más de alrededor de 250 kbps).
+ 5V

19 18 17 16 15
El chip CP2102 es capaz de soportar una velocidad de 115,2 kbps de
forma nativa, y casi todo el software debe ser capaz de soportarlo, así que vamos
327
a utilizar esa tasa para proporcionar un ejemplo.

En primer lugar, mientras está conectado a la ELM327 a 38,4 kbps, tenemos


Figura interfaz USB 13. Una Alternativa
que cambiar la tasa de morosidad a 115,2 kbps. No hay necesidad de preocuparse
de que esto afectará a sus comunicaciones, ya que no entrará en vigor hasta que el
ELM327 se ha restablecido. Para cambiar la velocidad de datos, basta con cambiar
la

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 82 de 94


www.elmelectronics.com
ELM327

Aplicaciones de ejemplo (continuación)

valor que se almacena en el parámetro programable 0C, a continuación, le permiten:


3.3V
Interfaz

> EN PP 0C SV 23 OK + 3.3V

Tx

> EN PP 0C EN OK
3.3V Rx común

Eso es todo lo que se necesita para cambiar de forma semipermanente


del ELM327. Decimos semi, porque permanece en efecto hasta bajadas de ADuM1201
+ 5V 5678
potencia, y se reinicia, pero se puede cambiar de nuevo si lo desea. Si ahora
1 2 3 4

se restablece el ELM327 (enviar AT Z o el poder hacia abajo y luego hacia


arriba), el ELM327 comenzará a operar con la nueva tasa (de 115200 bps, en + 5V
+ 5V
lugar de a 38400 bps). Cambiar la configuración de software para ser también
115200 bps, y usted debe estar comunicando. Si vas a través de los cálculos, Carolina del Norte

16 17 18 19 20 21 15

se dará cuenta de que la velocidad de transmisión de ELM327 es en realidad Rx Tx RTS ocupados

fuera por alrededor de 0,8%, pero UART modernos normalmente puede 327
manejar los errores de velocidad de pocos% sin ningún problema.
7 8 9 10 11 12 13 14

Figura 14. Conexión a un Sistema de 3.3V


Cuando se trabaja con la CP2102, hacemos la precaución de que es
muy pequeña y difícil de soldadura a mano, a fin de estar preparados para
eso. Además, si se proporciona la protección de las líneas de datos con
problema si se trata de reducir la corriente de sueño al mínimo, y no
supresores de transitorios de tensión (de TVS), tener cuidado al elegir los
costará más que dispositivos como el TXB0102.
dispositivos, ya que algunos exhiben una gran capacitancia y afectará a la
Muchos módulos inalámbricos (WiFi o Bluetooth) utilizan interfaces
transmisión de los datos USB.
en serie al igual que lo hemos demostrado aquí por las conexiones
RS232. Conexión a ellos no debe ser muy difícil si se siguen las
Nuestro circuito final (Figura 14) muestra una manera de interconectar
instrucciones del fabricante (y tal vez considere el uso de dispositivos
el ELM327 a los circuitos que operan a un nivel de tensión diferente.
como el ADuM1201 o la TXB0102). Si usted está considerando el uso de
Mostramos 3.3V como un ejemplo, pero en realidad puede ser cualquier
una interfaz Bluetooth, es posible que lea nuestra 'AN-04 y ELM327
cosa de 2.7V a 5.5V.
Bluetooth' nota de aplicación en primer lugar.
El circuito utiliza el chip ADuM1201 iCoupler de Analog Devices
(www.analog.com). Además de actuar como traductor nivel, este
Esto ha proporcionado algunos ejemplos de cómo podría utilizarse
dispositivo también proporciona aislamiento (galvánica, a 2500 Vrms)
normalmente el circuito integrado ELM327. Es de esperar que ha sido
entre los dos lados. Esto a menudo se desea con el fin de mantener el
suficiente para que pueda empezar en su camino a muchos más. En la
circuito vehículo completamente separado del circuito de equipo.
siguiente sección se muestra cómo podría ser capaz de optimizar estos
circuitos para reducir el consumo de energía ...
Típicamente, se podría usar un cambiador de nivel estándar IC para
interconectar a 3.3V - por ejemplo, el TXB0102 por Texas Instruments
(www.ti.com), o el ST2129 de ST Microelectronics (www.st.com), pero la
ADuM1201 ofrece varias otras ventajas. La diferencia principal es que
ofrece aislamiento, como se ha mencionado, pero también se puede
utilizar con 2,7 V a 5,5 V a cada lado, que proporciona un alto rendimiento
si el lado de entrada es sin alimentación, y que por lo general utiliza menos
corriente y es mucho más rápido que muchas soluciones opto-aislador (los
datos mínimos '1201 es de 1 MHz). Por supuesto, hay un par de
desventajas. Se hace uso actual (casi 1 mA), por lo que puede ser una

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 83 de 94


www.elmelectronics.com
ELM327

Modificaciones para bajo consumo de energía en espera

Si desea instalar el circuito de forma permanente semi ELM327 en un cambio U3 (a 7805) a un LP2950ACZ-5.0G, y comprobar la eficacia de lo
vehículo, el consumo actual se convierte rápidamente en un problema. Un circuito que es. Mientras que el LP2950 es una buena opción para su corriente de
típico consume alrededor de ELM327 tanta corriente como una luz superior de reposo inferior, que sufre de problemas de estabilidad si no se proporciona
techo, por lo que no se puede dejar en por mucho tiempo sin funcionamiento del carga capacitiva como se muestra. Tenga en cuenta que el condensador de
motor del vehículo. 4.7uF es tantalio, mientras que el 2.2μF es de aluminio. En este punto
también puede ser útil revisar 'AN03 - ELM327 baja tensión Restablece'
Cuando no es necesaria, el ELM327 puede ser colocado en un modo de nuestra Nota de aplicación, ya que es posible que desee utilizar un
baja potencia 'en espera' en la que se consume muy poca corriente. La reducción condensador aún mayor en el lado de 5V. Después de cambiar U3 para un
de la corriente del circuito integrado en sí es por lo general no es suficiente, sin LP2950, ​la corriente es normalmente:
embargo, como también se debe tener en cuenta la corriente consumida por los
otros componentes también.

La siguiente discusión se toma el circuito de la figura actual después mod # 2 = 3,5 mA

9, y lo modifica ligeramente con el fin de poner de relieve nuestras


Si continuamos para reducir las corrientes de carga más allá de este
sugerencias para reducir el consumo de corriente. El circuito resultante (Figura
punto, obtendremos rápidamente a un punto en el que cualquier corrientes
15) se muestra después. Tenga en cuenta que partes del circuito que son los
inyectadas de fuentes externas (es decir. A través de los diodos de protección en
mismos que en la Figura 9 se muestran en gris, mientras que los cambios que
las entradas tales como las patillas 2 o 12) se convertirá significativa en
estamos haciendo se muestran en negro.
comparación con las corrientes de carga . Si estas corrientes deben exceder la
corriente de carga, el voltaje Vdd se levantará y se podría dañar. Para evitar que
Considere el circuito de la figura 9 en la sección Aplicaciones
la tensión se eleve demasiado, es recomendable que añadir ya sea un diodo
Ejemplo. Con 12V a 15V aplica a la entrada 'de la batería positivo', la
Zener o un supresor de tensión transitoria (TVS), directamente a través de la
corriente total utilizado por este circuito es normalmente:
alimentación de 5V, como se muestra en la esquina superior derecha de la figura
15. Las sugerencias para los dispositivos a considerar son el diodo zener

corriente de base = 29,8 mA 1N5232B o la SA5.0AG TVS.

Sin hacer ningún cambio de cableado, puede reducir esta corriente


mediante la colocación del ELM327 en el modo de espera de bajo Otro circuito integrado que no está cambiando de corriente durante el modo
consumo. Esto sólo es necesario enviar el comando de baja potencia (en el de baja potencia es el 317L (U4). De hecho, un cálculo rápido muestra que es
LP), después de lo cual la corriente típicamente reducirá a: probable utilizando aproximadamente 2,6 mA cuando está en reposo, lo cual es
muy significativo. Si sustituimos este circuito integrado con otro que utiliza menos
corriente, estaremos cerca de conseguir la corriente total del circuito a menos de 1
después actual AT LP = 17,6 mA mA.

Esta reducción se debe enteramente a la variación de la corriente de


La figura 15, la modificación # 3 muestra un regulador de LP2951ACM en el
funcionamiento del ELM327 (sólo se necesita una pequeña corriente de
circuito, como un reemplazo para el 317L. Se utiliza mucho menos corriente que el
permanecer en modo de espera). Pero, ¿dónde está la otra corriente que
317 durante el funcionamiento normal, y ofrece una entrada de control de apagado
proviene? Una carga obvio es el LED que muestra que la alimentación
así a reducir aún más corriente cuando no es necesario. Tenga en cuenta que el
está conectada. El otro es el transceptor CAN IC, U2. Desconectando las
circuito LP2951 necesita el ELM327 para proporcionar un alto nivel en el pin 3 para
conexiones comunes de R24 y R31, y luego regresar tanto al pin 16 del
una salida de 5 V, y una baja para 8V, por lo que es necesaria una inversión. Para
ELM327, podemos cambiar la corriente que estos dos utilización. Con
ello, establezca PP 12 a 00 Tarjeta con un:
este cambio (que se muestra como modificación # 1 en la Figura 15), el
actual después de AT LP gotas además:

> AT PP 12 SV 00

actual después de mod # 1 = 8,2 mA > AT PP EN 12

Hay una considerable cantidad de corriente sigue fluyendo en el circuito en entonces restablecer el chip, y las tensiones siempre será correcta para
este momento, pero sobre todo deben ser los reguladores de voltaje que lo J1850 partir de ese momento.
utilizan. En el siguiente paso, lo haremos Tenga en cuenta que el regulador LP2951 también requiere una

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 84 de 94


www.elmelectronics.com
ELM327

Modificaciones para bajo consumo de energía en espera (continuación)

condensador de tántalo 4.7uF para la estabilidad (y que ayuda con la capacidad


transitoria también).
dejando el pin 3 de U4 conectado sólidamente al circuito común, ahora nos

encontramos con que la corriente es de aproximadamente:

actual después de mod # 3 = 1,1 mA

y, si nos atamos el pin 3 del LP2951 al pin 16 del ELM327, la


corriente LP se convierte en:

actual después de mod # 4 = 0,9 mA

Podemos sugerir un cambio más en este punto. El MCP2551 se


muestra dibuja aproximadamente 0,3 mA cuando está en modo de
espera, y esto puede ser mejorado. Mediante la sustitución de este chip
con la nueva MCP2561, la corriente de espera se reducirá aún más. Por
lo general, verá un cambio de al menos 0,2 mA, dando:

actual después de mod # 5 = 0,7 mA

La corriente se ha reducido considerablemente a través de las


modificaciones del circuito, pero ¿por qué hay todavía corriente que
fluye? Esto se debe a una serie de cosas, algunos que se pueden
cambiar, otros que no se puede. El MCP2561 y el ELM327 nunca son
corta por completo, sino que son en un modo de baja potencia, mientras
que el regulador LP2950 está funcionando normalmente (como el
MCP2551 y el ELM327 lo necesitan). No se puede hacer nada al
respecto.

Hay algunas corrientes que se puede reducir, por elección en su


diseño. La pareja resistencia R25 / R26 utiliza la corriente, pero lo que
realmente necesita para controlar la tensión de la batería? Del mismo modo,
el par R20 / R21 pasa actual, pero necesita su aplicación de soporte ISO9141
o ISO14230? El LED parpadea OBD Tx cuando se encuentra en modo de
bajo consumo, pero que se necesitan? (Es posible que apagarlo con el PP 0F
b0, pero sólo se utiliza alrededor de 25 μA en promedio). Todas estas
pequeñas corrientes finalmente se suman a lo que hemos medido aquí.

Estos pocos cambios que hemos mostrado han reducido la


corriente total de alrededor de 30 mA a menos de 1 mA (o potencia
de 358 mW a 8 mW) - un ahorro considerable, lo cual es suficiente
para la mayoría de aplicaciones. Dejamos otras mejoras a ti.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 85 de 94


www.elmelectronics.com
ELM327

Modificaciones para bajo consumo de energía en espera (continuación)


CAN-L
14

6 2
CAN-H Carolina del Norte V murciélago + 12V U3 + 5V
R22 R23 5.0V
100 Ω 100 Ω R24 5 TVS
dieciséis LP2950
4.7K Ω
positivo de la
C7 C8 D1 + + L5
MCP2561 batería C1
560pF 560pF + 5V C5
5678
2.2μF 0.1μF 4.7μF
50V 50V 0.1μF
50V 50V 10V
1 2 3 4
5 R31
U2
470 Ω
C6 señal de
V murciélago V murciélago 0.1μF tierra

R19 R17
510 Ω 510 Ω
1
15 R16 U5
ISO-L 2.2K Ω
Q6
7 R18 + 5V
ISO-K 2.2K Ω
Q7
R32 (CTS) Interfaz
+ 5V 4.7K Ω D4 (RTS) 8 USB (mini
ELM327
3 (TxD)7
(DSR) B)
pin 12
R20 47K Ω R21 (DTR) 6
(DCD) 4
L1-L4
33K Ω 5 (RI)
(SG)2 1(RxD)

R27-30 + 5V + 5V DB9-USB-D5-F 9
470 Ω
FTDI
V murciélago
18 19 20 21 22 23 24 25 26 27 28 17 dieciséis 15
U1
R25 327
47K Ω
+ 5V
1 2 3 4 5 6 7 8 9 10 11 12 13 14

R26 C2
+ 12V
10K Ω 0.1μF a
a R15 4
R21
47K Ω X1
U4
4.00MHz
Interfaz LP2951 C3
3 C4
OBD 5678
27pF 27pF
1 2 3 4
(J1962)

4.7μF +
16V R6 10K Ω R1
22K Ω
4.7K Ω 4.7K Ω
R8
Q2
22K Ω
R7
4.7K Ω Q1
D2
R9 10K Ω

2
J1850 + Bus R10 R11 + 5V Figura 15. Modificaciones para
22K Ω 10K Ω
reducir la potencia
J1850 autobús - 10 R14
R12 4.7K Ω
D3 47K Ω
R15
4.7K Ω ELM327 14 Q4
pin
Q3 Q5
R13
10K Ω

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 86 de 94


www.elmelectronics.com
ELM327

Mensajes de error y alertas

A continuación se muestra lo que el ELM327 enviará para advertirle


de una condición o un problema. Algunos de estos mensajes no aparecen
si se utiliza la búsqueda automática de un protocolo, o si los bits de
parámetros programables desactivarlos.

? a un problema de cableado que está dando una entrada continua activo. Si se trata
de un ensayo inicial con su nuevo circuito ELM327, a continuación, comprobar
Esta es la respuesta estándar para un comando entendido mal recibida
todos los niveles de tensión en la entrada infractor OBD, como es muy probable que
en la entrada RS232. Por lo general, se debe a un error de escritura, pero
este error debido a un problema de cableado (ver nuestra 'AN02 - ELM327 de
también puede ocurrir si intenta hacer algo que no es apropiado (por ejemplo.
construccion de circuitos' para algunas tensiones típicas ).
Tratando de hacer un comando AT FI si no está configurado para el protocolo
5).

ERROR BUS
ACT ALERTA o! ACT ALERTA
Un problema genérico ha ocurrido. Esto es lo más a menudo a partir de una
Este mensaje se produce como una advertencia de que no ha habido
señal no válida su detección en el bus (por ejemplo, un pulso que es más largo que una
RS232 o actividad OBD durante algún tiempo (ver la sección de control de
señal de interrupción válido), pero por lo general es de un error de cableado. Tenga en
energía para más detalles). Si se permite, el CI se inicia un cambio al modo de
cuenta que algunos vehículos pueden generar pulsos largos como parte de su proceso
funcionamiento de baja energía (inactivo). Si esto fue iniciado por ninguna
de inicio, por lo que es posible que vea este mensaje como parte de un arranque
actividad RS232, el envío de algo dentro del minuto siguiente se detendrá el
normal del vehículo, mientras que 'el seguimiento de todos.'
cambio a baja potencia. Tenga en cuenta que el '!' antes de ACT ALERTA se
imprime si PP 0F bit 1 es 1.

CAN Error de

buffer lleno El sistema CAN tuvo dificultades para inicializar, enviar o recibir. A
menudo se trata simplemente de no estar conectados a un sistema de CAN
El ELM327 proporciona una memoria intermedia de transmisión RS232
cuando intenta enviar un mensaje, pero puede ser porque usted ha
interna 512 byte para que los mensajes de DAB se pueden recibir de forma rápida,
configurado el sistema a un protocolo incorrecto, oa una velocidad de
almacenan, y se envían al ordenador a una velocidad más constante. De vez en
transmisión que no coincide con la velocidad de datos real. Al igual que con
cuando (en particular con sistemas CAN) el búfer se llena a un ritmo más rápido de
los errores del bus, el error puede también podría ser el resultado de un
lo que se está vaciando por el PC. Con el tiempo puede llegar a ser completa, y no
problema de cableado, por lo que si esta es la primera vez que utiliza su
hay más datos puede ser almacenado (se pierde).
circuito ELM327, revisar toda su circuitería de interfaz CAN antes de
proceder.
Si está recibiendo BUFFER mensajes completos, y si está utilizando
una velocidad de datos en baudios menor, considerar seriamente la
posibilidad de cambiar su velocidad de datos a algo más alto. Si sigue
recibiendo BUFFER mensajes completos después de eso, usted podría ERROR DE DATOS

considerar convertir los encabezados y tal vez los espacios fuera (con AT H0,
Hubo una respuesta del vehículo, pero la información era
y AT S0), o el uso de los comandos de filtrado puede (AT CRA, o CM y CF)
incorrecta o no se pudo recuperar.
para reducir la cantidad de datos que se envían.

<ERROR DE DATOS

Hubo un error en la línea que esto apunta a, ya sea a partir de una


BUS OCUPADO
suma de comprobación incorrecta, o un problema con el formato del
Esto ocurre cuando el ELM327 trata de enviar un mensaje, o para
mensaje (el ELM327 todavía te muestra lo que recibió). Podría haber
inicializar el bus, y detecta el exceso de actividad de hacerlo (que necesita
habido una explosión de ruido que interfiere, posiblemente, un problema
una pausa en la actividad con el fin de insertar el mensaje). Aunque esto
en el circuito, o tal vez usted tiene la CAN automático de formato (CAF)
podría deberse a que el autobús era de hecho muy ocupado, es casi
y usted está mirando a un sistema que no es de la
siempre debido

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 87 de 94


www.elmelectronics.com
ELM327

Mensajes de error y alertas (continuación)

ISO 15765-4 formato. Trate de volver a enviar el comando de nuevo - si se LV de RESET


rompió un ruido, que puede ser recibido correctamente la segunda vez.
El ELM327 supervisa continuamente la alimentación de 5V para asegurarse de que
está dentro de límites aceptables. Si la tensión debe ir por debajo del límite bajo, un
circuito de 'restablecimiento brownout' se activa, y el IC se detiene toda la actividad. En
ERRxx casos raros, un gran cambio repentino en V DD También puede desencadenar un
restablecimiento de baja tensión.
Hay una serie de errores internos que pueden ser identificados como ERR
con un código de dos dígitos que sigue. Esto ocurre si un parámetro monitorizado
Cuando la tensión vuelve a la normalidad, el ELM327 realiza un reinicio
internamente se encuentra fuera de los límites, o si un módulo no está
completo, y luego imprime LV RESET. Tenga en cuenta que este tipo de
respondiendo correctamente. Si usted es testigo de uno de ellos, póngase en
restablecimiento es exactamente lo mismo que un Z AT o de reposición MCLR (pero
contacto con Elm Electrónica para el consejo.
no se imprime ELM327 v2.1).
Una de RESET LV también bloquear búsquedas automáticas a través de
Un error que no es necesariamente el resultado de un problema
los protocolos de la CAN, si el bit 4 de PP 2A es un '1' (que es por defecto).
interno es ERR94. Este código representa un 'error fatal CAN', y puede
Esto se hace porque la mayoría de RESET LV parecen ocurrir como resultado
ser visto si hay problemas de red CAN (algunos vehículos no pueden
de problemas de cables CAN (el transceptor es capaz de pasar corrientes muy
CAN utilizan los pines 6 y 14 del conector para otras funciones, y esto
grandes). El bloqueo de los protocolos CAN sólo se realiza hasta el próximo
puede causar problemas). Si ve un ERR94, significa que el módulo CAN
reinicio (AT Z, WS, etc.) o hasta un AT FE se envía.
no fue capaz de restablecer en sí, y necesitaba un completo
restablecimiento IC para hacerlo. Necesitará restaurar cualquier
configuración que se había hecho con anterioridad, ya que han sido
devueltos a sus valores por defecto. SIN DATOS

El IC esperó a que el período de tiempo que se estableció por AT ST,


Comenzando con v1.3a de este IC, un ERR94 también bloquear búsquedas
y se detectó ninguna respuesta del vehículo. Puede ser que el vehículo no
más automáticas a través de los protocolos de la CAN, si el bit 5 de PP 2A es un
tenía datos para ofrecer para que la EPI en particular, que el modo
'1' (que es por defecto). Esto se hace porque la mayoría de ERR94s habrá como
solicitado no fue apoyada, que el vehículo estaba asistiendo a cuestiones
resultado de graves problemas de cables CAN. El bloqueo de los protocolos CAN
de mayor prioridad, o en el caso de los sistemas CAN, el filtro puede haber
permanece en efecto hasta la siguiente potencia de vez en cuando, o hasta que
definido de manera que la respuesta fue ignorado, aunque uno fue
un FE EN se envía.
enviado. Si está seguro de que debería haber sido una respuesta, intente
aumentar el tiempo de ST (para asegurarse de que haya suficiente tiempo
para que la ECU para responder), o restaurar el realizar un filtrado a su
ERROR FB configuración predeterminada.

Cuando se activa una salida OBD, un cheque siempre se hace


para asegurar que la señal también aparece en la entrada
respectiva. Si hay un problema, y ​no se detecta ninguna entrada
activa, el IC desactiva la salida y declara que había un problema con <RX ERROR
la realimentación (FB) de la señal.
Se ha detectado un error en los datos recibidos de la CAN. Esto ocurre con
Si se trata de un ensayo inicial con su
mayor frecuencia si el seguimiento de un bus CAN mediante un ajuste de la
ELM327, esto es casi seguro que un problema de cableado. Compruebe el
velocidad de transmisión incorrecta, pero puede ocurrir si el monitoreo y hay
cableado antes de proceder.
mensajes encontrados que no están siendo reconocidos, o que contienen errores
de bit. Todo el mensaje se mostrará como se ha recibido (si ha establecido filtros,
LP ALERTA o! LP ALERTA el mensaje recibido no estar de acuerdo con la configuración del filtro). Pruebe
con un protocolo diferente, o una velocidad de transmisión diferente.
Esto aparece como una advertencia de que el ELM327 está a punto de cambiar
al modo de ahorro de energía (inactivo) de la operación en el tiempo 2 segundos. Se
proporciona este retardo para permitir que un controlador de tiempo suficiente externo
para prepararse para el cambio de estado. No hay entradas o tensiones en los pines
pueden detener esta acción una vez iniciada. Tenga en cuenta que el '!' LP antes de DETENIDO
ALERTA se imprime si PP 0F bit 1 es 1.
Si cualquier operación DAB es interrumpido por un personaje RS232
recibida, o por un nivel bajo en el pin RTS, el

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 88 de 94


www.elmelectronics.com
ELM327

Mensajes de error y alertas (continuación)

ELM327 imprimirá la palabra DETENIDO. Si usted debe ver esta


respuesta, entonces algo que ha hecho ha interrumpido el ELM327. La
mayoría de la gente lo ve porque no han esperado a que el pasador 15
pase a nivel alto, o para el personaje símbolo ( '>') que se mostrará
antes de comenzar a enviar el siguiente comando.

Tenga en cuenta que los pulsos de corta duración en el pin 15 pueden


hacer que el mensaje dejado de ser representada, pero pueden no ser de
duración suficiente para causar un cambio a modo de Baja Potencia.

NO PUEDE CONECTARSE

Si ves este mensaje, significa que el ELM327 ha probado todos


los protocolos disponibles, y no pudo detectar una compatible. Esto
podría ser debido a que su vehículo utiliza un protocolo no compatible,
o podría ser tan simple como olvidarse de girar la llave de contacto.

Si está seguro de que su vehículo utiliza un protocolo de OBDII, a


continuación, comprobar todas las conexiones, y el encendido, vuelva a
intentar el mandato.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 89 de 94


www.elmelectronics.com
ELM327

Historial de versiones

A menudo nos preguntan sobre las diferencias entre los diversos


ELM327 circuitos integrados. A continuación se resumen algunos de estos
para usted:

v1.0 v1.2
caracteristicas: Nuevas características:

- chip de Multi-protocolo soporta SAEJ1850 PWM, - las tasas de baudios RS232 son ajustables a 500 kbps
SAEJ1850 VPW, ISO9141-2, ISO14230-4, y los - Los parámetros programables pueden ser de restauración con un
protocolos de OBDII ISO15765-4. puente

- Introducido temporización adaptativa


-Se comunica con un PC a 9,6 o 38,4 kbps Comandos
- Agregado SAE J1939 apoyo (protocolo A)
AT: - Agregado definido por el usuario puede los protocolos B y C
@ 1, <CR>, AL, BD, BI, CAF0, CAF1, CF, CFC0, CFC1,
- protocolos de KWP permiten cuatro bytes encabezados nuevos
CM, CP, CS, CV, D, DP, DPN, E0, E1, H0, H1, I, IB10,
IB96 , L0, L1, M0, M1, MA, MR, MT, NL, PC, R0, R1, RV, comandos AT:

SH, SP, ST, SW, TP, WM, WS, parámetros programables AR, AT0, AT1, AT2, BRD, BRT, DM1, IFR, H, S IFR, IFR0,

z: IFR1, IFR2, IIA, KW0, KW1, MP, SR, WM Nuevos


parámetros programables:
ninguna

00, 04, 06, 07, 0C, 2B, 2C, 2D, 2E, 2F

v1.0a
Nuevas características: v1.2a
- J1850 VPW menor ajuste de temporización para algunas Nuevas características:

1999 y 2000 camiones de GM. Nuevos comandos AT: - Los cambios menores para mejorar la detección de errores Nueva

Comandos AT:
ninguna ninguna

Los parámetros programables: Nuevos parámetros programables:


ninguna ninguna

v1.1 v1.3
Nuevas características: Nuevas características:

- Los parámetros programables - capacidad de indicar el número de respuestas


- Control del usuario sobre mensajes de control puede deseadas añadido

fluir nuevos comandos AT: - Nuevos comandos de CAN CRA para ayudar con la configuración
de la máscara y el filtro

FC SD, SH FC, FC SM, PP FF OFF, ON FF PP, PP - Capaz de enviar mensajes CAN RTR

OFF, ON PP, PP SV, los parámetros programables PPS: - DETENIDO nuevo mensaje para el usuario interrumpe durante las
búsquedas

01, 02, 03, 09, 0A, 0D, 10, 11, 13, 16, 17, 18, - Introducido mensaje de restablecimiento de LV para restablecimientos
de bajo voltaje
24, 25, 26, 29
- Nuevo @ @ 2 y 3 comandos para el almacenamiento de un identificador
único

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 90 de 94


www.elmelectronics.com
ELM327

Historial de versiones (continuación)

Nuevos comandos AT: v1.4b


@ 2, @ 3, CRA, D0, D1, JE, JS, KW, MP, RA, RTR, S0, Nuevas características:

S1, SP00, V0, V1 Nuevos parámetros programables: - Capaz de proporcionar una monitorización CAN activa o
pasiva

2A - CRA nuevo comando para restaurar la máscara y el filtro a sus


valores por defecto

- Varias mejoras SAE J1939 Nueva


v1.3a
comandos AT:
Nuevas características: CRA, CSM0, CSM1, JHF0, JHF1, JTM1, JTM5, MP
- comprobaciones de cableado añadido para detectar cuando el J1962
(con mensajes #) Nuevos parámetros programables:
PUEDE pines se utilizan para otras funciones Nueva Comandos AT:

21
FE

Nuevos parámetros programables:


ninguna v2.0
Nuevas características:

- El aumento de la memoria intermedia de RS232 Tx a 512 bytes


v1.4 - Nuevo Monitor de Actividad relojes todas las entradas del OBD
Nuevas características: - Estela de baja potencia ahora conserva los ajustes
- Añadido modo de baja energía (en reposo)
- La CRA comandos aceptan ahora de X para la entrada
- el modo de direccionamiento extendido añadido para los protocolos de la
CAN
- proporcionar un amplio control ISO / KWP nueva del PP
- Añadido 4800 baudios ISO 9141 e ISO 14230 ayuda

- voltaje de reposición de baja de voltaje reducido a 2.8V Nueva


- ISO 9141 e ISO 14230 puede ser iniciado manualmente
Comandos AT:
AMC, AMT, CRA (con X), SH (4 bytes) Nuevos
- Proporcionado un solo byte EEPROM para el almacenamiento de
datos de usuario parámetros programables:
- Todas las interrupciones dicen ahora detenido (no sólo en la 0C, 0F, 14, 15, 19, 1A, 1B, 1C, 1D

búsqueda) Nuevos comandos AT:

v2.1
CEA, 0000 CV, FI, IB48, IGN, LP, PB, RD, SD, SI, SS,
Nuevas características:
TA
- Muchas optimizaciones para una mayor velocidad
Nuevos parámetros programables:
- Detecta contestaciones de respuesta en espera (7F xx 78) y ajusta los
0E, 12, 15, 19, 2C, 2E
tiempos de espera para la misma

- PUEDEN búsquedas ahora medir la frecuencia y envía el bloque

v1.4a si hay una discrepancia de Nueva Comandos AT:

Elm Electrónica nunca hizo una v1.4a


CTM1, CTM5 Nuevos parámetros

programables:
1E, 28

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 91 de 94


www.elmelectronics.com
ELM327

Diagramas de esquema

Los diagramas de la derecha muestran los dos tipos de encapsulado que


el ELM327 está disponible en.
La primera muestra de nuestro producto ELM327P en lo que comúnmente se
llama un 'paquete de 300 mil de inmersión flaca'. Se utiliza para aplicaciones de ELM327P
agujero pasante. 2.54
El paquete ELM327SM muestra a la derecha también se refiere a veces
7.24
como 300 mil, y a menudo se llama un paquete de SOIC. Hemos optado por
simplemente se refieren a ella como un paquete de SM (montaje en superficie).

Los dibujos que se muestran aquí proporcionan las dimensiones máx

básicas para sólo estos ICs. Por favor refiérase a la siguiente documentación 10,92

Microchip Technology Inc. para obtener información más detallada:

Paquete Dibujos y Dimensiones Especificación, ELM327SM


(Nombre del documento en012702.pdf - 7,5 MB). Ir a www.microchip.com,
seleccione 'Soporte Diseño' y luego 'Documentación' y luego 1.27
'Especificaciones de empaquetado', o ir directamente a
www.microchip.com/packaging 7.50

PIC18F2480 / 2580/4480/4580 Hoja de datos,


10.30
(Nombre del documento 39637d.pdf - 8.0MB).
Ir a www.microchip.com, seleccione 'Design Support' y luego
'Documentación' luego 'Hojas de Datos, y la búsqueda de 18F2480. Nota: Todas las medidas son en mm.

Información sobre pedidos

ELM327 circuitos integrados son 28 los dispositivos de pasador, disponibles en cualquiera de una amplia plástico 300 mil formato DIP ( 'flaco') o en una superficie SOIC 300

milésimas de pulgada (7,50 mm cuerpo) montar tipo de paquete. No ofrecemos una opción para paquetes QFN. Para encargar, agregue el sufijo correspondiente al número de

pieza: 300 mil de 28 pines DIP plástico .............................. ELM327P

300 mil 28 pin SOIC .................................... ELM327SM

ELM327 es una marca comercial registrada de Elm Electronics Inc. Todos los derechos reservados.

Derechos de autor 2005-2014 por Elm Electronics Inc.

Se hace todo lo posible para verificar la exactitud de la información proporcionada en este documento, pero no garantiza ni se puede dar ninguna responsabilidad asumida
por Elm Electrónica con respecto a la exactitud y / o uso de cualquier producto o información que se describen en este documento. Elm Electronics no será responsable de
las infracciones de patentes que surgen del uso de estos productos o información, y no autorizar o justificar el uso de cualquier producto Elm Electrónica de dispositivos y / o
sistemas de soporte vital. Elm Electronics se reserva el derecho a realizar cambios en el dispositivo (s) que se describe en este documento con el fin de mejorar la fiabilidad,
función o diseño.

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 92 de 94


www.elmelectronics.com
ELM327

Índice

UNA F
Absolutos máximos, 6 Activity Características 1, Figura 9, 80 y la máscara de filtro,
Monitor, 64 CAN, 47 mensajes de control de flujo, modificar, 60
La alteración de mensajes de control de flujo, 60 FMS estándar, 58 a frecuencia coincidente, CAN, 62
Aplicaciones, ejemplo, 78-83 Comandos AT, 10 de
comandos AT

Descripciones, 12-28
Resumen, 10-12 H
Alertas y mensajes de error, 87-89 Cabeceras, poniéndolos, 39-41 Superior RS232
Velocidad de transmisión, 50-51 Historia, Versión,
segundo 90-91
Voltaje de la batería, la lectura, 29 Velocidad de transmisión, por

medio de RS232 más altas, 50-51 Diagrama de bloques, 1 autobús yo


FMS Estándar, 58 Iniciación autobús, 33 Iniciación, Bus, 33 entradas, sin uso, 6 Interface,
microprocesador, 76-77 Interpretación de los
códigos de averías, 34

do

Velocidades de datos CAN, máximo, 74 CAN J


direcciones extendido, utilizando, 61 CAN J1939,
frecuencia coincidente, CAN 62 tipos de mensaje, FMS Estándar, 58, 53-54
46 pueden recibir Filtrado, 46 ​códigos, Trouble, mensajes NMEA 2000, 59
Número de respuestas, 56 Uso,
55-58
Interpretación, 34
Restablecimiento, 35
Comandos, AT
K
Descripciones, 12-28
KeepAlive (despertar) Mensajes, 59
Resumen, 10-12
Comandos, DAB, 30
La comunicación con el ELM327, 8-9 CRA, el L
Comando, 46 Operación de baja potencia,
Descripción, 64-67
Modificaciones, 84-86
re
Los datos Byte, Ahorro, 63 Descripción y
METRO
Características, 1
Máscara y filtro, CAN, 47 máximo puede Data
Rates, 74 Grados máximos absolutos,, 6
mi
Mensajes y filtrado, CAN, 46 mensajes, error,
Características eléctricas, 7 mensajes
87-89 Mensaje Formatos, DAB, 38-39 tipos de
de error, 87-89 Ejemplos de
mensajes, CAN, 44 Microprocesador Interfaces,
aplicaciones
76-77 Modificaciones de baja potencia, 84-86
Básico, 78-80 Conexión a 3,3 V,
de Observación del autobús, 48 ​Respuestas de
83 la figura 9, el 80 de baja
varias líneas, 42-43 solicitudes múltiples PID,
potencia, 84 USB, 80, 82
45

Las direcciones extendidas, CAN, 61

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 93 de 94


www.elmelectronics.com
ELM327

Índice (continuación)

norte S
NMEA 2000, Standard, 59 Guardar un byte de datos, 63 Protocolos Selección, 36-37 Números
Número de respuestas, de serie, Programación, 63 Ajuste de los encabezados, 39-41
J1939, 56 OBDII, Configuración de tiempos de espera (AT & ST comandos), 52
32, 52 Especificar el número de respuestas, 32, 52, 56 Resumen,

O
OBD Comandos, 30 OBD formatos de
mensaje, 38-39 Orden, Restaurar, 49 Comandos AT, 10-12 parámetros
Información para hacer pedidos, 92 programables, 69-73
esquemas de principio, 92 general, 8
T
Hablando al vehículo, 31-32 Tiempos de espera (AT
& ST comandos), 52 códigos de averías,

PAG
Interpretación, 34
A la espera de los mensajes de respuesta, 45 mensajes
Restablecimiento, 35
periódicos, 59 descripciones de los pines, 4-6

El pasador 28, al restablecer los parámetros Prog, 69 de T


Control de Potencia, Las clavijas no utilizadas, 6 versiones de refinación, 77 Uso de
Descripción, 64-67 J1939, 55-58 Uso de direcciones CAN extendido, 61 Uso
Modificaciones, 84-86 parámetros Superior RS232 Velocidad de transmisión, 50-51
programables,
en general, 68-69 de reinicio con
el pasador 28, 69 Resumen,
69-73 tipos, 69 V
Historial de las versiones, 90-91 versiones,
Programación de números de serie, 63 actualización, 77 de tensión, Lectura de la batería,
Protocolos, lista de apoyo, 36 Protocolos, 29
seleccionar, 36-37

W
Q Los mensajes de activación, 59 prueba de
Guía rápida para los códigos de problemas de lectura, 35 cableado, 73, 87, 88, 91

R
La lectura de la tensión de la batería, 29 la lectura de códigos de
problema, Guía rápida para, 35 solicitudes, múltiple PID, 45
Restablecimiento,

Parámetros Prog, 69 códigos de problemas,


35 Respuesta a mensajes pendientes, 45
respuestas, de varias líneas, 42-43 restaurar el
orden, 49

RS232 Velocidad de transmisión, Uso Superior, 50-51

ELM327DSJ Elm Electrónica - Circuitos para el aficionado 94 de 94


www.elmelectronics.com

Вам также может понравиться