ELM327 OBD a RS232 intérprete Descripción
Caracteristicas
• Control de energía con el modo de espera
Casi todos los automóviles producidos en la actualidad están obligados, por ley, para proporcionar una interfaz para la conexión de
• serie universal universal interf interfaz az (RS232) (RS232)
equipos de prueba de diagnóstico. La transferencia de datos en estas
• Busca automáticamente los protocolos
interfaces seguir varias normas, pero ninguno de ellos es directamente utilizable por los ordenadores o dispositivos inteligentes. El ELM327 está
• Totalmente Totalmente configurable con comandos AT
diseñado para actuar como un puente entre estos diagnósticos a bordo
• Diseño de baja potencia CMOS
(OBD) puertos y una interfaz serie RS232 estándar.
Además de ser capaz de detectar automáticamente e interpretar nueve protocolos OBD, el ELM327 también proporciona soporte para comunicaciones de alta velocidad, un modo de sueño, el poder y el camión y J1939 estándar de bus. También es completamente personalizable, si desea modificar para que se ajuste más a sus necesidades.
Diagrama de conexión
PDIP y SOIC (vista superior)
MCLR
OBD Tx LED OBD
Vmeasure
Las siguientes páginas tratan sobre todo de las características del ELM327 en detalle, cómo usarlo y configurarlo, así como proporcionar
Rx LED RS232 Tx LED RS232 Rx LED
J1850 Voltios
información básica sobre los protocolos que son compatibles. También hay
CAN CAN Rx Tx
J1850 Bus +
diagramas esquemáticos y consejos para ayudar a hacer interfaz con
ISO L ISO KV DD
Memoria
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
•
lectores de códigos de diagnóstico de problemas
•
herramientas de análisis de automoción
En VPW
RS232 RS232 Rx
ISO En
Tx PwrCtrl / Ocupado IgnMon /
• Material didáctico
J1850 Bus-
Diagrama de bloques
RTS
4.00 MHz Memoria
6 Velocidad de transmisión
LFmode
5
7
XT1
XT2 MCLR
10
9
1
Vmeasure 2
RS232Rx
18
RS232Tx
17
Interfaz RS232
Convertidor A/D
Mando y la intérprete de protocolo
PwrCtrl / Ocupado
16
IgnMon / RTS
15
ISO 15765-4 SAE J1939
Control de
ISO 9141-2 ISO 14230-4
SAE J1850 PWM y VPW
poder 23 24 25
26 27
28
22 21 12
13 4 3 14
11
las interfaces OBD
LED de estado
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
1 de 94
ELM327 Contenido Los basicos
Descripción................................................. .................................. 1 Caracteristicas.................................. Caracteristicas................................................. ............... ............................ ...................................... .......... 1
Aplicaciones ................................................. ................................. 1 Diagrama de bloques.................. bloques.................................. .............................. .............. .............................. .............................. 1
Diagrama de conexión................................. 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 de conjunto................................................. ..................................... 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 Seleccionar las cabeceras de ............................................... .................... 39 Las respuestas de varias líneas ............... ............................... ................................. ................. ............... ................... .... 42
Tipos de mensajes CAN ............................................... .................. 44 Las solicitudes 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
www.elmelectronics.com
2 de 94
ELM327 Contenido Los basicos
Descripción................................................. .................................. 1 Caracteristicas.................................. Caracteristicas................................................. ............... ............................ ...................................... .......... 1
Aplicaciones ................................................. ................................. 1 Diagrama de bloques.................. bloques.................................. .............................. .............. .............................. .............................. 1
Diagrama de conexión................................. 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 de conjunto................................................. ..................................... 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 Seleccionar las cabeceras de ............................................... .................... 39 Las respuestas de varias líneas ............... ............................... ................................. ................. ............... ................... .... 42
Tipos de mensajes CAN ............................................... .................. 44 Las solicitudes 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
www.elmelectronics.com
2 de 94
ELM327 Contenido Programación de números de serie ............................................... ............................................... ..... 63 Guardar un byte de datos ........................................... .............................................. ... ...................... 63
Características avanzadas
(continuado)
El Monitor de Actividad ............................................... ..................... 64 Control de poder...................... poder..................................... .......................... ........... .............. ............................ .............. 64
Los parámetros programables ................................................ ........ 68 Resumen de parámetros programables ................................ ......................................... ......... 69
Máximo puede Velocidades de datos .............................................. .......... 74
Las discusiones de diseño
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.......................... versiones................................................ ...................... ........................... 90
Esbozar diagramas diagramas .............. ............................ ............................. .................... ..... ............. ....................... .......... 92 Información sobre pedidos................................................ pedidos................................................ .................. 92 Derechos de autor y descargo de responsabilidad ............................................... ............ 92
Índice................................................. ......................................... 93
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
3 de 94
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) n ivel.
modificar mediante la emisión de un AT L1 o comando AT L0.
Vmeasure (pin 2) 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 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.
V SS ( pin 8) Circuito común debe estar conectada a este pin.
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 para la salida J1850 Bus +. El pasador normalmente da salida a un nivel
requerido por el cristal (típicamente 27pF cada uno).
lógico alto cuando se requiere un 8V nominal (por J1850 VPW), y un bajo nivel de 5 V (para J1850 PWM), pero esto se puede cambiar con PP 12.
Tenga en cuenta que este dispositivo no se ha configurado para funcionar 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. Además, tenga en cuenta que este oscilador se apaga cuando está en el
requerido para su 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 este pin está en un nivel alto durante el encendido o el restablecimiento, la función de memoria será activado por defecto. Si se está en un nivel bajo, entonces el valor por defecto será tener desactivado. La memoria siempre se puede activar o desactivar con el AT M1 y M0 comandos AT.
Velocidad de transmisión (pin 6)
ISO En (pin 12) Esta es la entrada activa baja para la señal de datos ISO 9141 e ISO 14230. Se deriva de la Línea K, y debe estar a un nivel lógico alto cuando está en reposo (bus recesivo). No se requiere la amplificación especial, ya que esta entrada tiene Schmitt de formación de onda de activación.
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 usará después de un encendido o reinicio del sistema. Si es en un nivel alto, a continuación, por los mensajes por defecto enviados por el ELM327 se dará por
Esta alta salida activa se utiliza para conducir el Bus- Línea J1850 a un nivel activo (dominante) para aplicaciones de PWM J1850. Si no se utiliza, esta salida se puede dejar en circuito abierto.
terminado tanto con un carro
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
4 de 94
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 'ocupado', mostrando cuando el ELM327 se procesa de forma activa un comando (la salida será a un nivel alto), o c uando está inactivo, listo para recibir comandos (la salida será baja).
encendido. Esto dará lugar a un interruptor para el modo de bajo consumo de la operación, si la señal de IgnMon ir a un nivel bajo, como sucedería si el encendido del vehículo ha sido desconectada. Un temporizador interno 'de eliminación de rebote' se 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 configuración de PP 0E bit 2, o si el pasador 15 fue la causa inicial para el modo de baja
RS232Tx (pin 17) 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 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 está ocupado, o hasta que se recibe un carácter indicador (si se utiliza el pin 16 para control de potencia). o como se mencionó
RS232Rx (pin 18) Este es el RS232 reciben entrada de datos. El nivel de la señal es compatible con la mayoría de los circuitos integrados de interfaz (cuando en la marcha lenta, el nivel debe ser alto), pero se puede utilizar con otras interfaces, así, ya que la entrada 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 está ocupado, o hasta que se recibe un carácter indicador (si se utiliza el pin 16 para 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, 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 está ocupado, o hasta que se recibe un carácter indicador (si se utiliza el pin 16 para control de potencia). Esta entrada tiene Schmitt de formación de onda de activación. Por defecto, el pin 15 actúa como los RTS interrupción de entrada.
V SS ( pin 19) Circuito común debe estar conectada a este pin.
V DD ( pin 20) Este pin es el pin de alimentación positiva, y siempre debe ser el punto más positivo en el circuito. circuitería interna conectada a este pin se utiliza para proporcionar energía en puesta a cero del procesador ELM327, por lo que no se requiere una señal de reposición externa. Consulte la sección Características eléctricas para
PwrCtrl / Busy (pin 16)
promover
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 circuitos de relé, etc. con tampón adecuado. los
ELM327DSJ
CAN Tx (pin 23) y CAN Rx (pin 24) Estos son los dos interfaz CAN señales que debe estar conectado a un transceptor CAN IC (ver la
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
5 de 94
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) n ivel.
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 pin
1
2
5
6
7
11
12
13
15
18
24
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 Nota:
Temperatura de almacenamiento ....................... -65 ° C a + 150 ° C Temperatura ambiente con
Potencia aplicada ....................................- 40 ° C a + 85 ° C Tensión en V DD c on respecto a V S S ..... - 0 ,3 V a + 7,5 V de tensión en cualquier otro
Estos valores se dan sólo como una guía de diseño. La capacidad de operar a estos niveles no es ni inferido ni recomendable, y destaca más allá de las mencionadas aquí probablemente dañar el dispositivo.
pasador con respecto a V SS ........................... - 0 ,3 V a (V DD + 0 ,3 V)
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
6 de 94
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.
Máxima mínimo habitual
Característica
4.2
Tensión de alimentación, V DD
5.0
5.5
0.05
V DD tasa de incremento
normal
corriente media, me DD
condiciones
Unidades
V V / ms
12
nota 2
mamá
de carga
0.15
bajo consumo de energía
niveles lógicos de entrada
bajo
alto los umbrales de entrada
mamá
V SS
0.8
V
3.0
V DD
V
4.0
V
2.9
creciente
de disparador de Schmitt
1.0
Botones 5, 6, 7, y 24 solamente
Las patillas 1, 11, 12, 13, 15 y 18 solamente
ELM327 solamente - no incluye a las corrientes
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
que cae
2.65
voltaje de reposición brown-out
tiempo de conversión A / D
2.79
2.93
9
128
Pin duración de pulso de 18 estela
50
tiempo de rebote IgnMon
V mseg
despertar de modo de bajo consumo microsegundos 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
800
mseg
2
mseg
Restablecer el tiempo
AT Z EN WS
EN RV a principios de respuesta del dispositivo
Medida desde el extremo de la orden para el inicio de la ID de mensaje (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 r establecimiento. Esto se logra fácilmente utilizando los tipos más c omunes de los suministros, pero puede ser v iolada 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
www.elmelectronics.com
7 de 94
ELM327 Visión de conjunto
A continuación se describe cómo utilizar el ELM327 para obtener información de su vehículo. Comenzamos analizando sólo la forma de 'hablar' con el IC mediante un
características de este circuito integrado también.
Utilizando el ELM327 no es tan difícil como parece a primera vista. 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 conexión serie RS232. Aunque los ordenadores modernos no suelen proporcionar una conexión en serie como esta, hay varias formas en las que un 'puerto serie virtual' puede ser creado. Los dispositivos más comunes son los adaptadores USB a RS232, pero hay varios otros, tales como tarjetas de PC, dispositivos Ethernet o Bluetooth a los adaptadores de serie.
No importa cómo se conecta físicamente al ELM327, necesitará 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 (HyperTerminal, ZTerm, etc.), para permitir escribir los caracteres directamente desde el teclado.
son correctos (lugar, sin embargo, en este punto no hubo ninguna comunicación con el vehículo, por lo que el estado de conexión que aún se desconoce).
El carácter '>' que se muestra en la segunda línea es el carácter de la línea de ELM327. Indica que el dispositivo está en estado de reposo, listo para recibir caracteres en el puerto RS232. Si no ve la cadena de 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 opcionales), a continuación, pulse la tecla de retorno:
> AT Z 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 configuraciones. En primer lugar, asegúrese de que el software está
velocidad de transmisión - es probable que haya configurado de forma incorrecta.
configurado para utilizar el puerto adecuado 'COM', y que ha elegido la velocidad de datos adecuada - esto será o 9600 baudios (si el pin 6 = 0 V en
Caracteres enviados desde el ordenador o bien pueden estar destinados a uso interno del ELM327, o para formatear y transmitir al vehículo. El ELM327 puede determinar rápidamente donde los caracteres recibidos son para ser dirigido mediante la supervisión de los contenidos de el mensaje. Comandos que están
el encendido), o 38400 baudios (si PP 0C no se ha cambiado). Si selecciona el puerto incorrecto 'COM', usted no será capaz de enviar o recibir datos. Si selecciona el tipo de datos incorrecto, la información que se envía y recibe será todo ilegible, y es ilegible por usted o el ELM327. No se olvide de establecer también la conexión de 8 bits de datos, no hay bits de paridad y 1 bit de parada y configurarlo para el modo adecuado 'fin de línea'. Todas las respuestas de la ELM327 están terminados con un solo carácter de retorno de carro y, opcionalmente, un carácter de avance de línea (dependiendo de la configuración).
Conectados correctamente y accionado, el ELM327 se energizará las cuatro salidas de LED en secuencia (como una prueba de lámpara) y a c ontinuación, enviar el mensaje:
v2.1 ELM327 > Además de identificar la versión de este circuito integrado, que recibe esta cadena es una buena manera de confirmar que las conexiones de la computadora y la configuración de software de terminales
ELM327DSJ
para uso interno del ELM327 comenzará con los caracteres 'AT', mientras que los comandos del OBD para el vehículo solamente se les permite contener los códigos ASCII para los dígitos hexadecimales (0 a 9 y de A a F). 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 actúe en consecuencia. La única excepción es cuando una cadena incompleta se envía y no aparece ningún retorno de carro. En este caso, un temporizador interno se cancelará automáticamente el mensaje incompleto después de unos 20 segundos, y el ELM327 imprimirá un solo signo de interrogación ( '?') Para mostrar que la entrada no se entendía (y no se actuó).
Los mensajes que no están comprendidos por las ELM327 (errores de sintaxis) siempre se señalizan por un solo
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
8 de 94
ELM327 La comunicación con el ELM327 (continuación) signo de interrogación. Estos incluyen mensajes incompletos, incorrectos comandos AT, o cadenas de dígitos hexadecimales no válidos, pero no son una indicación de si o no el mensaje ha sido entendido por el vehículo. Hay que tener en cuenta que el ELM327 es un intérprete de protocolo que 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 hexadecimales, combinados en bytes, luego se envían a través del puerto OBD, y lo hace no sé si un mensaje enviado al vehículo estaba en un error.
Al procesar comandos del OBD, el ELM327 supervisará continuamente, ya sea para una entrada RTS activo, o un carácter RS232 recibido. Cualquiera de los dos interrumpir el IC, rápidamente de devolver el control al usuario, mientras que, posiblemente abortar cualquier 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.
comandos pueden ser introducidos como se prefiere, ya que nadie método es más rápido o mejor. El ELM327 también ignora los caracteres de espacio y todos los caracteres de control (ficha, etc.), por lo que se puede insertar en cualquier lugar de la entrada si mejora la legibilidad.
Otra característica de la ELM327 es la capacidad de repetir cualquier comando (AT o DAB) cuando se recibe un solo carácter de retorno de carro. Si ha enviado un comando (por ejemplo, 01 0C para obtener las 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 enviar un carácter de retorno de carro y el ELM327 repetirá la comando para usted. El búfer de memoria sólo se acuerda de un comando sin embargo, y no existe ninguna disposición en la corriente ELM327 para proporcionar almacenamiento para más.
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. Todas
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
www.elmelectronics.com
9 de 94
ELM327 Comandos AT Varios parámetros dentro del ELM327 se pueden ajustar con el fin de modificar su comportamiento. Estos normalmente no tienen que ser cambiado antes de intentar hablar con el vehículo, pero en ocasiones el usuario puede desear personalizar los parámetros - por ejemplo, girando el carácter eco apagado, el ajuste de un valor de tiempo de espera, o el cambio de los bytes de cabecera. Con el fin de hacer esto, se deben utilizar los comandos internos 'en'.
que se completó con éxito. Algunos de los siguientes comandos permiten pasar números como argumentos con el fin de establecer los valores internos. Estos siempre serán números hexadecimales que generalmente deben ser proporcionados en pares. La tabla de conversión hexadecimal en la sección OBD Comandos (página 30) pued e ser útil 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á inmediatamente los comandos AT como una forma estándar en la que los módems se configuran internamente. El ELM327 utiliza esencialmente el mismo método, siempre viendo los datos enviados por el PC, en busca de mensajes que comienzan con el carácter 'A' seguido de la letra 'T'. Si lo encuentra, los siguientes caracteres se interpretan como una configuración interna o comando 'at', y se ejecutarán tras la recepción de un carácter de retorno de carro terminación. Si el comando es sólo un cambio de configuración, el ELM327 responderá por los caracteres 'OK', quiere decir que
apagado tipos de comandos, el segundo carácter es el número 1 o el número 0, los términos universales para el encendido y apagado.
El resto de esta página, y las dos páginas siguientes proporcionan un resumen de todos los comandos que la versión actual del ELM327 reconoce. Una descripción más completa de cada comando comienza en la página 12. Tenga en cuenta que los ajustes que se muestran con un asterisco (*) son los valores por defecto.
Resumen de comandos AT Comandos generales
Comandos de parámetros programables
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
yo
imprimir el identificador de versión
L0, L1
Saltos de línea desactivada o activada
LP
ir al modo de bajo consumo
M0, M1
Memoria desactivada o activada
RD
Leer los datos almacenados
SD hh
hh byte de datos Guardar
WS
Arranque en caliente (reinicio del software rápida)
Z
resetear todo
@1
mostrar la descripción del dispositivo
@2
visualizar el identificador de dispositivo
imprimir un resumen PP
Los comandos de lectura de voltaje
CV dddd Calibrar el voltaje a dd.dd voltios CV 0000
restaurar el valor CV al ajuste de fábrica
RV
Leer la tensión de entrada
Otro IGN
leer el nivel de entrada IgnMon
@ 3 cccccccccccc almacenar el identificador @ 2
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
10 de 94
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
BD
realizar un volcado Buffer
BI
Omitir la secuencia de inicialización
DP
Describir el protocolo actual
DPN
Describir el Protocolo por el Número
H0, H1
Encabezados apagado *, o en
MAMÁ
Monitor de toda la
MR hh
Monitor para el receptor = hh
MT hh
Monitor para el transmisor = hh
NL
mensajes de longitud normal *
FI
realizar una iniciación rápida
IB 10
establecer la velocidad ISO Baud a 10.400 *
IB 48
establecer la velocidad ISO Baud a 4800
IB 96
establecer la velocidad ISO Baud a 9600
IIA hh
establecer ISO (lento) Init Dirección a SS
KW
mostrar las palabras clave
KW0, KW1 Palabra clave de verificación desactivada o activada *
ordenador personal Protocolo Cerrar
SI
realizar una iniciación (5 baudios) Slow
SW hh
Establecer intervalo de despertador a HH x 20 mseg
SW 00
Detener el envío de mensajes de Despertar
WM [1 - 6 bytes] establecer el mensaje de despertador
R0, R1
Respuestas desactivada o activada *
RA hh
establecer el Recibir dirección a SS
S0, S1
la impresión de Espacios desactivada o activada *
xyz SH
Conjunto de la cabecera a XYZ
xxyyzz SH Conjunto de la cabecera a xxyyzz wwxxyyzz SH Conjunto de la cabecera a wwxxyyzz
CAN (Comandos específicos protocolos de 6 a C)
CEA
apague CAN direccionamiento extendido
CEA hh
uso puede extendido hh Dirección
CAF0, CAF1 Formato automático desactivada o activada *
CF hhh
configurar el filtro de ID a hhh
SP h
Establecer Protocolo h y guardarlo
Ah SP
Establecer Protocolo en Auto, h y guardarlo
SP 00
Borrar los protocolos almacenados
hhh CM
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
TA hh
set probador Dirección a SS
hhh CRA
el aparato puede recibir direcciones para hhh
TP h
Trate Protocolo h
Ah TP
Trate Protocolo h con búsqueda automática
CF hhhhhhhh configurar el filtro de ID a hhhhhhhh
ELM327DSJ
CFC0, CFC1 Controles de flujo desactivada o activada * configurar la máscara de ID a hhh
hhhhhhhh CRA configurar la Dirección Rx a hhhhhhhh CS
mostrar los recuentos de estado pueden
CSM0, CSM1 Supervisión silenciosa desactivada o activada *
CTM1
programar el temporizador de multiplicador de 1 *
CTM5
programar el temporizador Multiplicador a 5
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
11 de 94
ELM327 Resumen de comandos AT (continuación)
Comandos específicos J1939 (CAN protocolos de A a C)
PUEDE comandos específicos (continuación)
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 *
JTM5
programar el temporizador Multiplicador a 5
PB xx yy
Opciones Protocolo B y velocidad de transmisión
RTR
enviar un mensaje de RTR
V0, V1
uso de DLC variable apagado *, o en
hhhh MP Monitor para PGN 0hhhh
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:
[Repetir el último comando]
El envío de un solo carácter de retorno de carro hace que el ELM327 para repetir el último comando que
AMT hh
[Establecer el tiempo de espera de la Ley de lunes a hh]
Cuando el recuento de Monitor de actividad (es decir, el tiempo) supera un eso
realizado. Esto se usa típicamente cuando se desea obtener cambios a un valor al ritmo más rápido posible, por ejemplo, puede enviar 01 0C para obtener las rpm del motor, a continuación, enviar sólo un carácter de retorno de carro cada vez que desea recibir una actualización.
determinado umbral, el ELM327 decide que no hay ninguna actividad OBD. A continuación, podría dar un mensaje de alerta o ACT cambiar al modo de Baja Potencia, dependiendo de cómo se establecen los bits de PP 0F. La configuración del umbral se determina por cualquiera PP 0F bit 4, o por el valor AMT AT, en caso 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 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 número). El valor predeterminado es AL off (y NL seleccionado).
[Ajustar automáticamente la dirección Recibir] Respuestas del vehículo serán reconocidos y se muestran por el ELM327, si el interno almacenado recibir la dirección coincide con la dirección que el
Arkansas
el mensaje se está enviando a. Con el modo de recepción automática, en
AMC
[Recuento en pantalla Monitor de Actividad]
El Monitor de Actividad utiliza un contador para determinar qué tan 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 recuento sube (cada 0.655 segundos). Esta cuenta representa entonces el tiempo transcurrido desde la última actividad fue detectada, y puede ser útil al escribir su propia 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 seguimiento.
ELM327DSJ
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 que se cambian los bytes de cabecera.
El valor que se utiliza para la dirección de recepción se determina en base a cosas tales como el contenido del primer byte de cabecera, y si el mensaje utiliza direccionamiento físico, funcional direccionamiento, o si el usuario ha establecido un valor con los comandos SR o RA. La recepción automática está activada de forma predeterminada, y no es utilizado por el protocolo J1939.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
12 de 94
ELM327 Descripción de los comandos AT (continuación) AT0, A LA 1 y A LAS 2
[Control de temporización adaptativa]
Al recibir respuestas de un vehículo, el ELM327 tradicionalmente ha esperado el tiempo establecido en la configuración del AT ST hh una 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. La función de temporización adaptativa ajusta automáticamente el valor de tiempo de espera para usted, a un valor que se basa en los tiempos de respuesta reales de que su vehículo está respondiendo. Como condiciones tales como la carga de autobús, etc. cambio, el algoritmo aprende de ellos, y lo hace apropiado ajustes. Tenga en cuenta que siempre se utiliza la configuración de su AT ST hh como el ajuste máximo, y nunca elegirá uno que
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, mod 256. Tenga en cuenta que sólo los primeros doce bytes recibidos se almacenan en el búfer.
[BYPASS la secuencia de inicialización]
BI
Este comando debe utilizarse con precaución. Permite un protocolo OBD para hacerse activo sin requerir ningún tipo de iniciación o protocolo de enlace de ocurrir. El proceso de iniciación se utiliza normalmente para validar el protocolo, y sin ella, los resultados puede ser difícil de predecir. No se debe utilizar para el uso rutinario del OBD, y sólo se ha proporcionado para permitir la construcción de simuladores de entrenamiento ECU y manifestantes.
es más largo. Hay tres ajustes de t iempo de adaptación que están disponibles para su uso. Por defecto, la opción de temporización adaptativa 1 (AT1) está activado, y es la
BRD hh
[Tratar Velocidad de transmisión Divisor hh]
Este comando se utiliza para cambiar el divisor velocidad de transmisión
configuración recomendada. AT0 se utiliza para desactivar la temporizació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
Dado que algunos circuitos de interfaz no son capaces de funcionar a
los sistemas de DAB más rápidos). El protocolo J1939 no soporta temporización adaptativa - que utiliza los tiempos de espera ajustarán a lo establecido en la
altas velocidades de datos, el comando BRD utili za 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
[Realizar una Dump OBD Buffer]
BD
Todos los mensajes enviados y recibidos por el ELM327 se almacenan
de transmisión a ensayar y una confiable elegido para las comunicaciones. Todo el proceso se describe en detalle en la sección 'Uso Superior R S232 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á 4000 dividido por el divisor (hh). El valor 00 no es aceptada por el comando BRD.
bytes de cabecera en el último mensaje, o simplemente para aprender más de la estructura de los mensajes de diagnóstico a bordo. Se puede solicitar en cualquier 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 en la memoria intermedia) seguido por el contenido de los doce posiciones de
BRT hh
[Tiempo de espera establecer la velocidad en baudios a SS]
Este comando permite que el tiempo de espera utilizado para el apretón de
memoria intermedia del OBD. Por ejemplo, aquí hay un 'vertedero':
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 05 C1 33 F1 3E 23 C4 00 00 10 F8 00 00
cuenta que un valor de 00 no da lugar a 0 ms - proporciona el tiempo máximo de 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 probable que quedaron de una operación anterior.
El byte de longitud siempre representa el número real de bytes recibidos, si se ajustan a la ELM327DSJ
CAF0 y CAF1
[CAN automático Formateo apagado o encendido]
Estos comandos determinar si el ELM327 le ayuda con el formato de los datos puede que se envían y reciben. Con CAN formato automático
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
13 de 94
ELM327 Descripción de los comandos AT (continuación)
habilitados (CAF1), el formato (PCI) bytes se generan automáticamente al enviar, y se eliminará cuando se recibe. Esto significa que usted puede seguir para emitir solicitudes de DAB (01 00, etc.), como de costumbre, sin tener en cuenta los bytes adicionales que pueden requerir sistemas de diagnóstico. Además, con el formato de, cualquier (no utilizadas) bytes de datos adicionales que se reciben en el marco serán eliminados, y se tendrá 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 mensaje '
respuestas de múltiples cuadros pueden ser devueltos por el vehículo con la norma ISO 15765 y SAE J1939. Para hacer estos más legible, el modo Auto Formateo va a extraer la longitud total de los datos e imprimirlo en una línea, a continuación, mostrar cada línea de datos con el número de segmento seguido de dos puntos ( ':'), y luego los bytes de datos.
CEA
[Cerrar la CAN extendido de direcciones] El comando CEA se utiliza para desactivar las funciones especiales que
se establecen con el comando CEA hh.
CEA hh
[Establecer la dirección CAN extendido a SS] Algunos (no
OBD) CAN protocolos extender los campos de direccionamiento utilizando el primero de los ocho bytes de datos como una dirección de destino (receptor). 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 valor hh como el primer byte de datos de todos los mensajes CAN que envíe. También añade un paso más el filtrado de los mensajes recibidos, únicos que pasan que tienen la Dirección probador en la primera posición de byte (además de requerir que los bits de ID que coincida con los patrones 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,
experimentando). Esto identifica un mensaje de control de flujo que se ha
teniendo en cuenta los cambios de la dirección 'en la marcha'. Hay una más 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.
También puede ver los caracteres ' FC:' en una línea (si usted está
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 El modo de operación de CEA está desactivada por defecto, y una vez encendido,
CFC (no importa si el formato automático está activado o no).
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 remota') - se oculta automáticamente cuando en el modo CAF1, ya que no contienen datos. Cuando el formateo automático está desactivado (CAF0), verá los caracteres 'RTR' impresos cuando se ha recibido una trama de petición de transferencia remota. Al girar el CAN formato automático apagado (CAF0), hará que el ELM327 para imprimir todos los bytes de datos que se recibieron. Sin bytes se ocultaban, y se insertará ninguna para ti. Del mismo modo, cuando se envían datos con el formato de fuera, debe proporcionar todos los datos necesarios bytes exactamente como lo son para ser enviado - el ELM327 no añadirá un byte PCI para usted (pero va a añadir un poco de 'padding' bytes finales para asegurarse de que los necesarios ocho bytes de datos son enviados). Esto permite que el ELM327 para ser utilizado con los protocolos que tienen requisitos especiales de formato.
Tenga en cuenta que el ajuste de CEA no tiene efecto cuando el formato J1939 está encendido.
CF hhh
[Establecer el filtro ID CAN a hhh]
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 se recibe cada mensaje, los bits de ID CAN entrantes se comparan con los bits de filtro puede (cuando el bit de máscara es un '1'). Si todos los bits correspondientes coinciden, se aceptará el mensaje y procesada por el ELM327, de lo contrario será descartado. Esta versión de tres mordisco del comando Filtro CAN hace que sea un poco más fácil para configurar filtros con sistemas de 11 bits de ID CAN. Sólo se utilizan los más a la derecha 11 bits de los cuartetos proporcionadas, y se ignora el bit más significativo. Los datos se almacenan realmente como cuatro bytes sin embargo 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 embargo; cuando se envían datos, el byte PCI todavía se creará para usted y
hh hh hh hh CF [ Ajuste del filtro ID CAN para hhhhhhhh] 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
www.elmelectronics.com
14 de 94
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
CFC0 y CFC1
[CAN flujo de control apagado o encendido]
El protocolo CAN ISO 15765-4 espera un mensaje de 'control de flujo' que se enviará siempre en respuesta a un mensaje de 'Primera imagen', y el ELM327 envía automáticamente estos sin ninguna intervención por parte del usuario. Si experimentando con un sistema no-DAB, puede ser deseable convertir esta respuesta automática, y el comando AT CFC0 se ha previsto a tal efecto.
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. Durante el seguimiento (TA MA, MR, o MT), nunca hay controles de flujo enviados no importa lo que la opción de CFC se establece en. La configuración por defecto es CFC1 - Controles de flujo en.
hhh CM
[Indicar una máscara de ID CAN a hhh]
No puede haber un gran número de mensajes que se transmiten en un sistema CAN en un momento dado. Con el fin de limitar lo que los ELM327 puntos de vista, es necesario que haya un sistema de filtración de los relevantes de todos los demás. Esto se logra por el filtro, que trabaja en conjunto con la máscara. Una máscara es un grupo de bits que muestran la ELM327 que los bits en el filtro son relevantes, y cuáles pueden ser ignorados. A 'debe coincidir' situación se indica mediante el establecimiento de un bit de máscara a '1', mientras que un 'no me importa' se señaliza mediante el establecimiento de un poco a '0'. Esta variación de tres dígitos de la orden CM se utiliza para proporcionar los valores de máscara para los sistemas de 11 bits de ID (el bit más significativo siempre se ignora).
[CAN conjunto bits de prioridad a SS]
Este comando se utiliza para asignar los cinco bits más significativos del ID CAN 29 bits que se utiliza para enviar mensajes (los otros 24 bits se establecen con el comando AT SH). Muchos sistemas utilizan estos bits para asignar un valor de prioridad a los mensajes, y para determinar el protocolo. Todos los bits proporcionados en exceso de la requerida cinco son ignorados, y no se almacenan por el ELM327 (que sólo utiliza los cinco bits menos significativos de este byte). El valor por defecto para estos bits de prioridad es hexagonal 18, que se puede restaurar en cualquier momento con el comando AT D.
CRA
[Restablecer la CAN Rx Dir] El comando AT CRA se utiliza para restaurar los filtros pueden recibir a sus
valores por defecto. Tenga en cuenta que no tiene ningún argumento (es decir, no hay datos).
hhh CRA
[Establecer la CAN Rx Dir a hhh]
Configuración de las máscaras de la CAN y filtros puede ser difícil a veces, así que si sólo desea recibir información de una dirección (es luego esto decir. Un ID CAN), comando puede ser muy bienvenido. Por ejemplo, si sólo desea ver la información de 7E8, sólo tiene que enviar AT CRA 7E8, y el ELM327 hará los ajustes necesarios tanto a la máscara y el filtro para usted. Si desea permitir la recepción de un rango de valores, puede utilizar la letra X para significar un 'no me importa' condición. Es decir, en CRA 7EX permitiría que todos los identificadores que comienzan con 7E pasen (7E0, 7E1, etc.). Para una gama más específica de ID, es posible que tenga que asignar una máscara y filtro.
Tenga en cuenta que una ubicación de almacenamiento común se utiliza internamente para las máscaras de 29 bits como de 11 bits, por lo que una máscara de
Para revertir los cambios realizados por el comando CRA, sólo tiene que enviar AT CRA o AT AR.
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 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.
bytes de la máscara.
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 sistemas de identificación 29. Véase la discusión bajo el mando CM hhh, ya que es esencialmente idéntico, excepto
ELM327DSJ
CS
[Mostrar los recuentos de estado pueden]
El protocolo CAN requiere que se mantienen estadísticas sobre el número de errores de transmisión y recepción
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
15 de 94
ELM327 Descripción de los comandos AT (continuación)
detectado. Si debe haber un número significativo de errores (debido a un problema de hardware o software), el dispositivo va a ir fuera de línea con el fin de no afectar a otros datos en el bus. El comando AT CS le permite ver tanto en el transmisor (Tx) y recuentos de errores del receptor (Rx), en hexadecimal. Si el transmisor debe estar apagado (cuenta
El argumento ( 'dddd') siempre debe proporcionarse como 4 dígitos, sin punto decimal (se supone que el lugar decimal está entre el segundo y el tercer dígitos). 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]
El ELM327 fue diseñado para ser totalmente silencioso durante el seguimiento de un bus CAN. Debido a esto, es capaz de informar 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 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 determinado por el PP 21. Tenga cuidado al experimentar con esto. Si tuviera que elegir la velocidad de transmisión mal entonces monitorear el bus CAN con la supervisión silenciosa apagado, se le perturbe el flujo de datos. Siempre mantenga la supervisión silenciosa hasta que esté seguro de que ha elegido la velocidad de transmisión correcta.
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). Consulte la página 29 para más información alguna sobre cómo leer las tensiones y llevar a cabo la calibración.
[Restaurar la calibración de fábrica Valor] Si usted CV 0000 está experimentando con el comando CV dddd, pero no tiene un voltímetro preciso como una referencia, es posible que pronto se meten en problemas. Si esto ocurre, siempre se puede enviar CV EN 0000 para restaurar el ELM327 con el valor de calibración original.
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]
Este comando hace que todos los tiempos de espera establecidos por AT ST a
(posiblemente de cierre otros protocolos que están activas). Cualquier configuración 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
D0 y D1
[Programar el temporizador Multiplicador a 5]
Este comando hace que todos los tiempos de espera establecidos por AT ST a multiplicarse por un factor de 5. Tenga en cuenta que esta actualmente sólo afecta a los protocolos de la CAN (6 a C).
Este comando se agregó originalmente (como JTM5) para asistir en la recuperación de algunos mensajes J1939. Desde entonces hemos tenido varias solicitudes de autorización que afecte a todos los modos de la CAN, y así han modificado el código JTM5 y ha añadido los nuevos comandos de CTM1 / CTM5. Si se utiliza CTM5, advertimos que el código de temporización adaptativa no supervisa los cambios en el entorno, por lo que se aconseja
[Pantalla de DLC apagado o encendido]
Norma CAN (ISO 15765-4) OBD requiere que todos los mensajes tienen 8 bytes de datos, por lo que muestra el número de bytes de datos (DLC) normalmente no es muy útil. Al experimentar con otros protocolos, sin embargo, puede ser útil ser capaz de ver lo que las longitudes de datos son. Los comandos D0 y D1 controlan la visualización del dígito DLC (las cabeceras también debe estar en el fin de ver este dígito). Cuando se muestra, el único dígito DLC aparecerá entre los bytes de ID (de cabecera) y los bytes de datos. La configuración por defecto está determinado por PP 29.
apagarlo (con AT AT0). Por defecto, este multiplicador está apagado.
DM1
CV dddd
[Calibrar el voltaje a dd.dd voltios]
La lectura de voltaje que el ELM327 muestra para una solicitud de RV AT puede ser calibrado con este comando. ELM327DSJ
[Monitor para SD1]
El protocolo SAE J1939 emite periódicamente los códigos de problemas, a través de mensajes de diagnóstico Modo 1 (DM1). Este comando establece el ELM327 a
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
16 de 94
ELM327 Descripción de los comandos AT (continuación) monitorear continuamente para este tipo de mensaje para que, después de varios segmentos
transporte
como protocolos
requerido por el protocolo. Datos proporcionados con este comando sólo 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
se necesita para los mensajes de varias líneas.
La cabecera (o más propiamente 'CAN ID') bytes utilizados para los
Este comando sólo está disponible cuando un protocolo CAN (A, B, o C) ha sido seleccionada para el formato J1939. Se devuelve un error si se intenta en otras condiciones.
[Describir el protocolo actual]
DP
[Control de flujo Conjunto de la cabecera a ...]
El ELM327 detecta automáticamente el protocolo OBD del vehículo, pero normalmente no informa de qué se trata. El comando DP es un medio conveniente para preguntar qué protocolo de la IC está configurado actualmente (aunque todavía no ha 'conectado' al vehículo). Si se elige un protocolo y la opción automática también se selecciona, AT
mensajes de control de flujo puede se puede ajustar usando este comando. Sólo más a la derecha 11 bits de los proporcionados serán utilizados -
el bit más significativo es siempre eliminado. Este comando sólo afecta el modo de control de flujo 1.
FC SH hhhhhhhh
[Control de flujo Conjunto de la cabecera a ...]
Este comando se utiliza para establecer la cabecera bits para las respuestas de regulación de caudal en sistemas de identificación de CAN 29 bits (o "ID CAN). Desde los 8 cuartetos definen 32 bits, sólo se utilizarán más a la 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.
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]
Este comando es similar al comando DP, pero devuelve un número que representa el protocolo actual. Si la función de búsqueda automática también está activada, el número será precedido por la letra 'A'. El número es el mismo que se utiliza con los comandos de protocolo SET y protocolo de ensayo.
E0 y E1
[Echo apagado o encendido]
Estos comandos de control si los caracteres recibidos en el puerto RS232 se hizo eco (retransmitido) de nuevo al equipo anfitrión. eco de caracteres se pueden utilizar para confirmar que los caracteres enviados al ELM327 se recibieron correctamente. El valor por defecto es E1 (o eco sucesivamente).
FC SD [1-5 bytes]
respuestas automáticas, '1' para las respuestas completamente definidos por el usuario, o '2' para definidos por el usuario bytes de datos en la respuesta. Tenga en cuenta que los modos FC 1 y 2 sólo se puede activar si se han definido los datos necesarios y, posiblemente, bytes de identificación. Si no lo ha hecho, obtendrá un error. Más detalles completos y ejemplos se pueden encontrar en la sección de mensajes de control de flujo Alterar (página 60).
FE
[Forget Eventos]
Hay ciertos eventos que pueden cambiar la forma en la ELM327 responde a partir de entonces. Uno de estos es la ocurrencia de un error fatal CAN (ERR94), que bloquea posteriores búsqueda a través de protocolos CAN si PP 2A bit 5 es '1'. Normalmente, un acontecimiento 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.
[Control de flujo de datos para que ...]
Los bytes de datos que se envían en un mensaje de control puede fluir pueden definirse con este comando. Uno a cinco bytes de datos pueden especificarse con el resto de los bytes de datos en el mensaje que se ajusta automáticamente al valor predeterminado CAN l lenador de bytes, si
ELM327DSJ
flujo. El dígito único previsto puede ser o bien '0' (por defecto) para las
Otro ejemplo es un evento 'LV de RESET' que evitará que las búsquedas a través de protocolos CAN si PP 2A bit 4 es '1'. También puede ser olvidado con el comando AT FE.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
17 de 94
ELM327 Descripción de los comandos AT (continuación) [Realizar una iniciación rápida]
FI
Una versión del protocolo de palabras clave utiliza lo que se conoce como un 'rápido
exactamente qué circuito integrado que está hablando con, y sin tener que reiniciar el CI.
secuencia de iniciación' para comenzar
comunicaciones. Por lo general, esta secuencia se realiza cuando el primer mensaje debe ser enviado, y entonces el mensaje se envía inmediatamente después. Algunos ECU puede necesitar más tiempo entre los dos, sin embargo, y
IB 10
[Establecer la velocidad ISO baudios a 10400]
Este comando restaura la norma ISO 9141-2 e ISO 14230-4 velocidades 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 posible que tenga que experimentar para obtener la cantidad adecuada de demora.
Otro uso de este comando podría ser si desea llevar a cabo una iniciación rápida con un protocolo de tipo ISO 9141 (es decir, 3 - Formato de CARB). Sólo tiene que seguir estos pasos para hacerlo:
AT SP 5 AT FI AT SP 3 AT BI
IB 48
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) a 4.800 baudios, mientras se relaja algunos de los requisitos para las transferencias de byte iniciación. Puede ser útil para experimentar con algunos vehículos. Normal (10.400 baudios) la operación se puede restaurar en cualquier momento con el comando IB 10.
IB 96
y usted debería ser capaz de entonces comunicarse con la ECU. Tenga en cuenta que no se requiere un protocolo de cierre (es decir, en PC) en el código anterior, como el ELM327 realiza automáticamente cuando se cambia una protocolos. Protocolo 5 debe ser seleccionado para utilizar el comando AT FI, o se producirá un error.
[Establecer la velocidad ISO Baud 4800]
[Establecer la velocidad ISO Baud a 9600]
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) a 9.600 baudios, mientras se relaja algunos de los requisitos para las transferencias de byte iniciación. Puede ser útil para experimentar con algunos vehículos. Normal (10.400 baudios) la operación se puede restaurar en cualquier momento con el comando IB 10.
IFR0, IFR1, y IFR2 H0 y H1
[Headers OFF u ON]
Estos comandos de control si o no los (cabecera) bytes adicionales de información se muestran en las respuestas del vehículo. Éstos no se muestran normalmente por el ELM327, pero pueden ser de interés (especialmente si recibe respuestas múltiples y desea determinar qué módulos que eran de).
[Control IFR]
El protocolo SAE J1850 permite una respuesta in-Frame (IFR) byte para ser enviado después de cada mensaje, por lo general para reconocer la correcta recepción de ese mensaje. El ELM327 genera automáticamente y envía este byte para usted por defecto, pero se puede anular este comportamiento con este comando. El comando AT IFR0 será desactivar el envío de todos los informes
Girando las cabeceras de (con AT H1) en realidad muestra algo más que los bytes de cabecera - verá el mensaje completo tal como se transmite, incluyendo los bytes de comprobación-dígitos y PCI, y posiblemente el código de longitud de datos CAN (DLC) si ha sido habilitado con PP 29 o en D1. La versión actual de este IC no muestra el código puede CRC, ni los bytes especiales J1850 IFR (que utilizan algunos protocolos de acusar recibo de un mensaje).
financieros provisionales, no importa lo que los bytes de cabecera requieren. EN IFR2 es lo contrario - que hará que un byte a IFR enviará siempre, no importa lo que digan los bytes de cabecera. El comando AT IFR1 es el modo por defecto, con el envío de informes financieros provisionales determinados por el bit 'K' del primer byte de cabecera (por PWM y VPW).
IFR H y IFR S
[ Identifícate ]
yo
La emisión de este comando hace que el chip para identificarse a sí mismo, mediante la impresión de la cadena de identificación del producto de arranque (en la
[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 de origen (o probador) que estaba en la cabecera de la solicitud. Puede haber ocasiones en las que es deseable utilizar algún otro valor, sin 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
www.elmelectronics.com
18 de 94
ELM327 Descripción de los comandos AT (continuación)
Si envía de IFR S, el ELM327 usará el valor definido como dirección de origen (generalmente F1, pero puede ser cambiado con el PP 06), incluso si otro valor fue lanzado en los bytes de cabecera. Esto no es lo que normalmente se requiere, y se debe tener precaución cuando se utiliza de IFR de IFR S. H restaura el envío de los bytes IFR a las previstas en la cabecera, y es la configuración predeterminada.
La norma J1939 requiere que las solicitudes PGN enviados junto con la orden de bytes invertido a partir de la orden estándar de 'izquierda a derecha', que muchos de nosotros podría esperar. Por ejemplo, para enviar una solicitud de la temperatura del motor (PGN 00FEEE), los bytes de datos son en realidad envían en el orden inverso (es decir, EE FE 00), y el ELM327 se esperaría normalmente que proporcione los datos en ese orden para la transmisión de en el vehículo.
IGN
[Leer el nivel de entrada IgnMon]
Este comando lee el nivel de señal en el pin 15. Se s upone que el nivel lógico se relaciona con la tensión de encendido, por lo que si la entrada está en un nivel alto, la respuesta será 'ON', y un bajo nivel reportará 'OFF' . Esta característica es muy útil si desea realizar las funciones de 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á 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 ELM327, y compruebe el nivel del terminal 15 utilizando en IGN. Si se encuentra que es OFF, se puede realizar un apagado ordenado a sí mismo.
Al experimentar, esta necesidad constante de las inversiones de bytes puede ser muy confuso, por lo que hemos definido un formato ELM que invierte los bytes para usted. Cuando el formato J1939 ELM (JE) está habilitado, y tiene un protocolo J1939 seleccionado, y le proporcionará tres bytes de datos al ELM327, se invertirá el fin de que antes de enviarlos a la ECU. Solicitar a la PGN temperatura del motor, usted enviaría 00 FE EE (y no EE FE 00). El tipo 'JE' de formato automático está activado por defecto.
JHF0 y JHF1 [ J1939 cabecera de formato apagado o encendido]
Al imprimir respuestas, el ELM327 normalmente da formato a la ID J1939 (es decir Header) bits en una manera tal como para aislar los bits de 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]
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 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 enviar:
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.
[Permite el formato de datos SAE J1939]
JS
El comando AT JS desactiva el reordenamiento de bytes automática 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, seleccione el formato de JS.
> En el IIA 7A y el ELM327 utilizará esa dirección cuando se llama a hacerlo (protocolos 3 o 4). El valor total de ocho bits se utiliza exactamente como proporcionado - no se hacen cambios a la misma (es decir, sin la adición de bits de paridad, etc.)
A modo de ejemplo, al enviar una solicitud de la temperatura del motor (PGN 00FEEE) con el formato de datos se establece en JS, debe 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 JE
ELM327DSJ
[Permite el formato de datos J1939 ELM]
[Establecer el J1939 Timer Multiplicador a 1]
Este utiliza para ajustar el multiplicador de tiempo AT ST a 1, para el protocolo SAE J1939. A partir de v2.1 firmware, este
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
19 de 94
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]
Este utiliza para ajustar el multiplicador de tiempo AT ST a 5, para el protocolo SAE J1939. A partir del firmware v2.1, este comando ahora
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 están activados de forma predeterminada; de lo contrario será apagado.
simplemente llama al comando CTM5.
KW
[Mostrar las palabras claves]
Cuando se inicializan los protocolos ISO 9141-2 e ISO 14230-4, dos bytes especiales (palabras clave) se pasan a la ELM327 (los valores se utilizan internamente para determinar si una variación protocolo particular puede ser apoyado por el ELM327). Si desea ver lo que fuera el valor de estos bytes, sólo tiene que enviar el comando AT KW.
KW0 y KW1
[Key Word comprueba apagado o encendido]
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 'INIT BUS: .. . ERROR'). Esto podría ocurrir si está intentando conectarse a una ECU no compatible con OBD, o tal vez a una más antigua.
Si desea experimentar con sistemas no estándar, puede que tenga que decirle al ELM327 para llevar a cabo la secuencia de iniciación, pero ignorar el contenido de los bytes que se envían y reciben. Para ello, envíe:
LP
[Ir al modo de bajo consumo]
Este comando hace que el ELM327 para apagar todos los servicios esenciales, pero '' con el fin de reducir el consumo de energía al mínimo. El ELM327 responderá con un (pero sin retorno de carro) 'OK' y luego, un segundo más tarde, va a cambiar el estado de la salida PwrCtrl (pin 16) y entrará en el modo de bajo consumo de energía (en espera). El IC puede ser devuelto a la operación normal a través de un carácter recibido en la 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 control de energía (página 64) para obtener más información.
M0 y M1
[Memoria apagado o encendido]
El ELM327 tiene memoria interna 'no volátil' que es capaz de recordar el último protocolo utilizado, incluso después de la alimentación 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 enciende el siguiente en. Para activar esta función de memoria, es necesario o bien utilizar un comando AT para seleccionar la opción M1, o tener 'memoria en' elegido como el poder de forma predeterminada en el 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 todavía requerirá los dos bytes de palabras clave en la respuesta, pero no mirará a los valores reales de los bytes. También enviará un acuse de recibo a la ECU, y esperará a la respuesta final de ella (pero no se detendrá y reportar un error si no recibe nada). Esto puede permitirle hacer una conexión en una situación de otra manera 'imposible'. El comportamiento normal puede ser devuelto con AT KW1, que es la configuración predeterminada.
Cuando está activada la función de memoria, cada vez que el ELM327 encuentra un protocolo OBD válida, se memoriza ese protocolo (almacenado) y se convertirá en el nuevo valor predeterminado. Si la función de memoria no está activado, los protocolos que se encuentran durante una sesión no se guardarán, y el ELM327 empezarán siempre al encender el dispositivo usando el mismo protocolo (como último).
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 [Avances de línea apagado o encendido] L0 y L1 comando SP 0 le dice al ELM327 para empezar en un protocolo de modo linea de alimentación de búsqueda 'Automatic', que es el más útil para un entorno desconocido. Esta opción controla el envío de ICs vienen de fábrica ajustada en esta modalidad. Si, sin embargo, sólo personajes después de cada retorno de carro. Para AT L1, saltos de tiene un vehículo que se conecta r egularmente para, almacenar protocolo línea se generan después de cada retorno de carro, y durante al L0, de ese vehículo como el valor predeterminado haría más sentido. van a estar apagado. Los usuarios generalmente desean tener esta opción si se utiliza una
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
20 de 94
ELM327 Descripción de los comandos AT (continuación) El ajuste de la función de memoria por defecto está determinado por el nivel de tensión en el pin 5 durante el encendido (o reinicio del sistema). Si está conectado a un alto nivel (V D D), a continuación, la función de memoria será activado de manera predeterminada. Si el pin 5 está conectado a un nivel bajo, el ahorro de memoria será desactivada por defecto.
MAMÁ
[Monitorear Todos los mensajes]
Este comando coloca el ELM327 en un modo de supervisión del 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 en las respuestas de marco para los sistemas J1850, Reconoce los sistemas de CAN (a menos que active el modo silencio con CSM0), o Despertar ( 'keep-alive') mensajes para el 9141 e ISO 14230 protocolos ISO. Monitoreo continuará hasta que la detenga con la actividad en la entrada RS232, o por el pin RTS.
Para detener la supervisión, sólo tiene que enviar cualquier carácter individual a la ELM327, a continuación, esperar a que se responde con un carácter de símbolo ( '>'), o una salida de nivel bajo en el pin ocupado. (Ajuste de la entrada RTS a un nivel bajo, se interrumpa el dispositivo también.) Esperando el símbolo es necesario ya que varía el tiempo de respuesta en función de lo estaba haciendo la IC cuando se interrumpió. Si,
hhhh MP
[Monitor para PGN hhhh]
Los comandos AT MA, MR y MT son muy útiles para cuando se desea monitorizar un byte específico en el encabezamiento de un mensaje típico del OBD. Para el Protocolo SAE J1939, sin embargo, a 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 que se utiliza para buscar respuestas a una solicitud de PGN en particular.
Tenga en cuenta que este comando MP no proporciona medios para fijar los dos primeros dígitos del PGN solicitado, y siempre se supone que son 00. Por ejemplo, la DM2 PGN tiene un valor asignado de 00FECB (ver SAE J1939-73). Para supervisar los mensajes DM2, usted debe ejecutar en MP FecB, eliminando la 00, ya que el comando MP hhhh supone siempre que el PGN es precedida por dos ceros. Este comando sólo está disponible cuando un protocolo CAN (A, B, o C) ha sido seleccionada para el formato SAE J1939. Se devuelve un error si se intenta en otras condiciones. Tenga en cuenta también que esta versión del ELM327 sólo muestra las respuestas que coinciden con los criterios, no las peticiones que piden la información 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 esperando una entrada, se volvería mucho más rápido. T enga en cuenta que el carácter que se detiene el seguimiento siempre será descartado, y no afectará a los comandos posteriores.
MP hhhh n
[Monitor para PGN, obtener n mensajes]
Esto es muy similar al comando anterior, pero añade la posibilidad de establecer el número de mensajes que deben captarse antes del ELM327 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
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 4B0, a continuación, el comando AT MA sólo sería capaz de 'ver' los mensajes con un ID de 4B0. Esto puede no ser lo que se desea - es posible que desee restablecer las máscaras y filtros (con AT AR o por lo CRA) en primer lugar.
Todos los comandos de supervisión (MA, MR y MT) operan 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 esta.
'Buscando ... también se puede apreciar, dependiendo de qué cambios se hicieron durante el seguimiento.
ELM327DSJ
[Monitor para PGN hhhhhh]
Este comando es muy similar al comando de la MP hhhh, sino que se extiende el número de bytes proporcionados por uno, por lo que existe un control total sobre la definición PGN (no hace la suposición de que el bit de datos de la página es 0, como la P. hhhh comando hace). Esto 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 página es relevante en el byte adicional los demás bits se ignoran.
MP HHHHHH n
[Monitor para PGN, obtener n mensajes]
Esto es muy similar a la orden anterior, pero añade la posibilidad de establecer el número de mensajes que deben captarse de forma automática antes de que el ELM327
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
21 de 94
ELM327 Descripción de los comandos AT (continuación) detiene la supervisión e imprime un carácter inmediato. El valor 'n' puede ser cualquier dígito hexadecimal único.
MR hh
[Monitor para el receptor hh]
Al igual que con el comando AT MA, este comando se inicia mediante la realización de un primer protocolo interno. solicitudes OBD posteriores pueden mostrar 'Buscando' o 'INIT BUS', etc. 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 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
[mensajes de longitud normal]
NL
Ajuste del modo de NL en todas las fuerzas envía y recibe a l imitarse a
los bits 8 a 15 de un bit 29 CAN ID, o en los bits 8 a 10 de un 11 bits puede ID. Cualquier carácter individual RS232 aborta el monitoreo, al igual que con
los estándares siete bytes de datos de longitud, similar a los otros ELM32x
el comando MA.
comando AL.
OBD circuitos integrados. Para permitir que los mensajes más largos, utilice el 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 la CAN, y si el realizar un filtrado y / o la máscara se ha establecido previamente (con CF, CM o CRA), entonces el comando MR sobre-escribir
longitudes de mensajes más largos para los protocolos de KWP a ser recibidos (como
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 ha establecido con CRA
bytes recibidos será mostrado.
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 no es lo que se desea - es posible que desee restablecer las máscaras y filtros (con AT AR) en primer lugar.
Al igual que con el comando AT MA, este comando se inicia mediante la realización de un primer protocolo interno. solicitudes OBD posteriores pueden mostrar 'Buscando' o 'INIT BUS', etc. mensajes cuando se reactiva el protocolo.
MT hh
[Monitor para el transmisor hh]
Este comando también es muy similar al comando AT MA, excepto que sólo mostrará los mensajes que fueron enviados por el transmisor con la 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 bytes, o en los bits 0 a 7 para los ID de la CAN. Al igual que con los modos de supervisión MA y MR, cualquier actividad RS232 (solo carácter) se cancela la monitorización.
se determina por los valores de longitud de la cabecera). Usted puede simplemente dejar el conjunto CI a la configuración predeterminada de la Liga Nacional, y todos los
PB xx yy
[Establecer los parámetros de Protocolo B]
Este comando le permite cambiar el protocolo B (USUARIO 1) 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. Para utilizar esta función, basta con establecer xx al valor de PP 2C, e yy al valor de PP 2D, y emitir el comando. La próxima vez que el protocolo se ha inicializado usará estos valores. Por ejemplo, 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 valor de 11 millones o C0 hexagonal de PP 2C, y 15 decimal o hexadecimal 0F para PP 2D. Enviar estos dos valores a la ELM327 en un comando:
> EN PB C0 0F luego monitorear:
> EN MA
Tenga en cuenta que si este comando se utiliza con los protocolos de la CAN, y si el realizar un filtrado y / o la máscara se ha establecido previamente (con CF, CM o CRA), entonces el comando MT se 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 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 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.
Si ve errores de la CAN, y darse cuenta de que quería una velocidad de transmisión de 83,3 kbps, simplemente cierre el protocolo, y luego enviar los nuevos valores:
> AT PC OK
> EN PB C0 06 OK > EN MA
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
22 de 94
ELM327 Descripción de los comandos AT (continuación) Valores pasados de esta manera no afectan a los que se almacenan en los parámetros programables 2C y 2D, y se pierden si el ELM327 se pone a cero. Si desea realizar la configuración persisten durante los ciclos de potencia, entonces puede que desee para almacenarlos en el Programable de parámetros para protocolos CAN USUARIO 1 o USUARIO 2.
[Protocolo Cerrar]
ordenador personal
Puede haber ocasiones en las que es deseable detener (desactivar) un protocolo. Tal vez usted no está utilizando el protocolo de 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 para forzar un protocolo para cerrar.
OFF PP hh
[Cerrar Prog. hh parámetros OFF]
Este comando desactiva hh número de parámetros programables. ya no se utiliza ningún valor asignado mediante el comando PP hh SV, 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 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. Recuerde que el 'PP FF OFF' es un comando especial que desactiva todos los parámetros programables, como si hubiera entrado PP OFF para cada uno posible. Es posible modificar algunos de los parámetros programables de puede ser difícil, o incluso manera que imposible, para comunicarse con el ELM327. Si esto ocurre, hay un medio de hardware de restablecer todos los parámetros programables a la vez. Conecte un puente de circuito común a la clavija 28, que se realice allí mientras enciende el circuito ELM327. Mantenerlo en su posición hasta que vea los RS232 LED de Recepción empiezan a parpadear (lo que indica que todo el PP se han desactivado). En este punto, quitar el puente para permitir que el IC para llevar a cabo un inicio normal. Tenga en 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 ven los RS232 reciben luz intermitente, retire el puente y volver a intentarlo, ya que puede haber un problema con la c onexión .
PP EN hh
el comando SV hh PP va a ser utilizado en el valor predeterminado de fábrica era antes. (Todos los valores de los parámetros programables se establecen en sus valores por defecto de fábrica, por lo que permite un parámetro programable antes de asignar un valor a que no causa 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.
[Cerrar programable parámetro hh ON] Este comando
Recuerde que el 'PP FF ON' es un comando especial que permite que todos los parámetros programables al mismo tiempo.
PP hh SV aa [ Prog. Param. hh: ajustar el valor de AA] Un valor es asignado a un parámetro programable utilizando este comando. El sistema no será capaz de utilizar el nuevo valor hasta que el parámetro programable se ha activado, con el PP EN hh. [Resumen de parámetros programables] La gama completa de parámetros programables actuales se muestran con este comando (incluso los que todavía no implementado). Cada uno se muestra como un número PP seguido de dos puntos y el v alor que se 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),
PPS
respectivamente. Ver el Programable Sección de parámetros para una discusión más completa.
R0 y R1
[Respuestas OFF u ON]
Estos comandos de control de la ELM327 automática recibir (y de visualización) de los mensajes devueltos por el vehículo. Si las respuestas han sido desactivado, el IC no esperará una respuesta del vehículo después de enviar una solicitud, y volverá inmediatamente a esperar al siguiente comando RS232 (el ELM327 no imprime nada que decir que el envío se ha realizado correctamente, pero verá un mensaje si no lo estaba). R0 puede ser útil para enviar comandos a ciegas cuando se utiliza el IC para una aplicación de red no OBD, o cuando se simula una ECU 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. 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
www.elmelectronics.com
23 de 94
ELM327 En el Comando Descripción (continuación) RA hh [Establecer el Recibir dirección a SS]
Dependiendo de la aplicación, los usuarios pueden desear establecer manualmente la dirección a la que responderá el ELM327. La emisión de este comando se apagará el modo AR, y forzar la IC sólo para aceptar las respuestas dirigidas a SS. Tenga cuidado con esta configuración, ya que dependiendo de lo que lo establece en, puede terminar aceptando (es decir. El reconocimiento con un IFR) un mensaje que fue realmente destinado a otro módulo. Para desactivar el filtrado de la AR, sólo tiene que enviar AT AR.
[Leer el voltaje de entrada]
RV
Esto inicia la lectura de la tensión presente en la patilla 2, y la conversión de la misma a una tensión decimal. Por defecto, se supone que la entrada está conectada a la tensión a medir a través de un 47K Ω y 10K Ω divisor de resistencia (con la 10K Ω conectado desde el pin 2 a Vss), y que el suministro ELM327 es un 5V nominal. Esto permitirá la medición de voltajes de entrada de hasta aproximadamente 28 V, con una exactitud no calibrada 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 suficientemente probable para la mayoría de las aplicaciones de la CAN - el comando CRA puede ser una mejor opción. Además, este comando no tiene ningún efecto sobre las direcciones utilizadas por los protocolos J1939, J1939 como las rutinas de ellos se derivan de los valores de cabecera, como lo exige la norma SAE.
se puede utilizar indistintamente. Tenga en cuenta que puede direccionamiento extendido no utiliza este valor - que utiliza el fijado por el comando AT AT.
Estos comandos controlan si o no los caracteres de espacio se insertan en la respuesta de la ECU. El ELM327 normalmente informa de respuestas del ECU como una serie de caracteres hexadecimales separados por espacios en blanco (para facilitar elimina cada tercer byte (el espacio). Si bien esto hace que el mensaje menos legible para los seres humanos, puede proporcionar mejoras significativas para el tratamiento informático de los datos. Por defecto, los espacios están en (S1), y los caracteres de espacio se insertan en cada respuesta.
[Leer los datos en la memoria de usuario]
El valor de byte almacenada con el comando SD se recupera con este comando. Sólo hay una posición de memoria, por lo que no se requiere ninguna dirección. RTR
[Impresión de Espacios apagado o encendido]
la lectura), pero los mensajes pueden ser transferidos mucho más rápido si se
El comando de la AR es exactamente el mismo que el comando SR, y
RD
S0 y S1
[Enviar un mensaje de RTR]
Este comando hace que un mensaje especial CAN 'Remote Frame' que se enviará. Este tipo de mensaje no tiene los bytes de datos, y tiene su solicitud de transmisión remota (RTR) conjunto de bits. Los encabezados y 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 máscara y filtro. Este comando debe ser utilizado con un protocolo CAN activa (uno que ha estado enviando y recibiendo mensajes), ya que no puede iniciar una búsqueda protocolo. Tenga en cuenta que el ajuste CAF1 normalmente elimina la visualización de todos los RTRs, por lo que si está supervisando los mensajes y quiere ver la RTRS, tendrá que desactivar el formato, o bien girar en las cabeceras.
SD hh
[Hh bytes Guardar datos]
El ELM327 es capaz de guardar un byte de información para usted en una 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 almacenados, a continuación, recuperarlo más tarde con los datos de lectura de comandos (en RD). Esta ubicación es ideal para el almacenamiento de usuario
las preferencias, los identificadores de unidad, recuentos aparición, u otra información.
xyz SH
[Establecer la cabecera 00 a 0 x yz]
Entrando CAN palabras de 11 bits de identificación (cabeceras) normalmente se requiere que se añadirán ceros a la izquierda adicionales (por ejemplo. En SH 00 07 DF), pero este comando sirve para hacerlo. El comando AT SH XYZ acepta un argumento de tres dígitos, toma sólo el derecho más-11 bits de eso, añade ceros a la izquierda, y almacena el resultado en los lugares 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
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
00 07 DF.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
24 de 94
ELM327 Descripción de los comandos AT (continuación)
SH xx yy zz
[Establecer la cabecera a xx zz aa]
Este comando permite al usuario controlar manualmente los valores que se envían como los tres bytes de cabecera en un mensaje. Estos bytes son valores asignados normalmente para usted (y no están obligados a ser ajustado), pero puede haber ocasiones en las que es deseable cambiar ellos (sobre todo si la experimentación con direccionamiento físico). Si la experimentación, no es necesario, pero puede ser mejor para establecer los encabezados después de un
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 permanecer como 0, y que desea tener un byte (longitud) cuarto encabezado insertado en el mensaje. Esto es contrario a la norma ISO 14230-4 OBD, pero está en uso por muchos sistemas KWP2000 para la transferencia de datos (no OBD), por lo que puede ser útil cuando la experimentación.
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 Los bytes de cabecera se definen con dígitos hexadecimales - xx será utilizado para la primera o prioridad / tipo byte, yy será utilizado para la segunda o receptor / diana byte, y zz será utilizado para la tercera o 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 los nuevos valores de bytes de cabecera se establecen antes se ha determinado el protocolo del vehículo, y si la búsqueda no se fija para
[Establecer la cabecera de ww xx yy zz]
Esta versión de cuatro bytes del comando AT SH permite poner un bit completado 29 ID CAN en una sola instrucción. Alternativamente, AT SP (para los cinco bits más significativos) y AT SH (para los otros tres bytes) puede ser utilizado.
[Realizar una iniciación lenta]
SI
Protocolos 3 y 4 el uso lo que a veces se llama un 5 baudios, o secuencia 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 para que los bytes de cabecera de la primera solicitud a la vehículo. Si esa primera solicitud debe dejar de obtener una respuesta, y si se habilita la
secuencia se lleva a cabo cuando el primer mensaje debe ser enviado, y
búsqueda automática, el ELM327 entonces continuar la búsqueda de un protocolo utilizando los valores por defecto para los bytes de cabecera. Una
separado de iniciación le permite controlar este tiempo. Basta con enviar EN SI,
vez que se encuentra un protocolo válido, los bytes de cabecera volverán a los valores asignados con el comando AT SH.
experimentar un poco para conseguir la cantidad adecuada de demora.
entonces el mensaje se envía inmediatamente después. Algunos ECU puede necesitar más tiempo entre los dos, sin embargo, y teniendo un comando esperar un poco, a continuación, enviar el mensaje. Es posible que tenga que 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 (para un ID de 29 bits), o se utilice sólo los más a la derecha 11 bits para una de 11 bits ID CAN (y cualesquiera bits adicionales asignados serán ignorados) . Los 5 bits adicionales necesarios para un sistema de 29 bits se establecen con el comando AT CP.
SP h
[Protocolo Conjunto de h]
Este comando se utiliza para establecer el ELM327 para la operación utilizando el protocolo especificado por 'h', y también a la guarda como una nueva configuración predeterminada. Tenga en cuenta que el protocolo se guardará sin importar lo que el ajuste en M0 / M1 es.
Si la asignación de valores de cabecera para los protocolos de KWP (4 y 5), se debe tener cuidado cuando se ajusta el valor de primer byte de
El ELM327 apoya 12 protocolos diferentes (dos puede ser definida por el usuario). Son:
cabecera (xx). El ELM327 siempre insertará el número de bytes de datos para usted, pero cómo se hace depende de los valores que se asignan a este byte. Si el segundo dígito de este primer byte de cabecera es distinto de 0
0 - Automatic 1 - SAE J1850 PWM (41,6 kbaudios) 2 - SAE J1850 VPW (10,4 kbaudios) 3 - ISO 9141-2 (init 5 baudios, 10,4
(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 ELM327 que desea utilizar una cabecera de 3 bytes tradicional, donde la longitud se almacena en el primer byte de la cabecera.
ELM327DSJ
CAN (11 ID bit, 500 kbaudios) 7 - ISO 15765-4 CAN (29 bit ID, 500 kbaudios)
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
25 de 94
ELM327 Descripción de los comandos AT (continuación) 8 - ISO 15765-4 CAN (11 ID bit, 250 kbaudios) 9 - ISO 15765-4 CAN (29 bit ID, 250 kbaudios) A - SAE J1939 CAN (29 bit ID, 250 * kbaudios) B - USUARIO1 CAN (11 * bit ID,
no realizar una (muy lento) escribir en la EEPROM. Algunos usuarios sintieron que era necesario ser capaz de escribir en realidad en la EEPROM del ELM327, sin embargo, por lo que siempre este comando. 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)
El primer protocolo se muestra (0) es una manera conveniente de contar la ELM327 que el protocolo del vehículo no se conoce, y que debe realizar una búsqueda. Hace que el ELM327 para tratar todos los protocolos en caso necesario, en busca de uno que puede ser iniciado correctamente. Cuando se encuentra un protocolo válido, y la función de memoria está
Ah SP
[Protocolo establece en AUTO, h]
Esta variación del comando SP le permite elegir un protocolo de inicio (predeterminada), al tiempo que conserva la capacidad para buscar automáticamente un protocolo válido en un error de conexión. Por ejemplo, si su vehículo es la norma ISO 9141-2, pero que desea utilizar de vez en cuando el circuito ELM327 en otros vehículos, es posible utilizar el comando AT SP A3, de manera que el primer protocolo intentado entonces será suyo (3), pero
activada, el protocolo se a continuación, se recordará, y la voluntad
convertirse en el nuevo valor predeterminado. Cuando se guarda como éste, la búsqueda modo automático todavía estará activado, y la próxima vez que
también se buscará automáticamente otros protocolos. No se olvide de desactivar la función de memoria si hacer esto, o cada nuevo protocolo detectada se convertirá en su nuevo valor predeterminado.
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 responden a más de un protocolo - si la búsqueda, se pueden ver más de un tipo de respuesta.
SP Ah guardará la información de protocolo incluso si la opción de memoria está apagado (pero A0 SP y SP 0A hacer entr debe escribir 0 en la EEPROM, utilice el comando AT SP 00). Tenga en cuenta que la 'A' puede
ELM327 usuarios suelen utilizar el comando AT SP 0 a restablecer el 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 alrededor de 30 ms), el comando AT SP0 establece el protocolo a 0, pero no realiza una escritura en la EEPROM. Del mismo modo, el SP A0 y los comandos SP 0A no realizan escrituras en memoria EEPROM, tampoco. El ahorro de este valor en la memoria EEPROM no aportaría ninguna ventaja (y sería de muy corta vida, ya que el ELM327 pronto será encontrar el protocolo del vehículo y sobre-escribir el valor '0' en la EEPROM). Si realmente desea almacenar el valor '0' en la EEPROM interna, debe utilizar el comando AT SP 00.
venir antes o después de la h, por lo que en SP A3 también se puede introducir como AT SP 3A.
[Ajuste la dirección Recibir a SS]
hh SR
Dependiendo de la aplicación, los usuarios pueden desear establecer manualmente la dirección a la que responderá el ELM327. La emisión de este comando se apagará el modo AR, y forzar la IC sólo para aceptar las respuestas dirigidas a SS. Tenga cuidado con esta configuración, ya que dependiendo de lo que lo establece en, puede aceptar un mensaje que fue realmente destinado a otro módulo, posiblemente enviando un IFR cuando no debería. Para desactivar el 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 comando (por ejemplo. AT SP 3), que protocolo se convertirá en el defecto, y será el único protocolo usado por el ELM327. Si no se inicie una conexión en esta situación dará lugar a una respuesta como 'INIT BUS: .. .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 es también uno que puede causar muchos problemas si no lo entiende.
de los bits de ID, y que no es probable que lo suficientemente selectiva para la mayoría de aplicaciones CAN (el comando CRA puede ser una mejor opción). Además, el comando no tiene efecto en las direcciones utilizadas por los protocolos J1939, J1939 como las rutinas establecen sus propias direcciones recibir basado en los valores de los bits de identificación (cabecera).
Este comando SR es exactamente el mismo que el comando de la AR, y se puede utilizar indistintamente con él. Tenga en cuenta que puede 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 SP 0 establece el protocolo en automático, pero
ELM327DSJ
SS
[Utilizar la secuencia estándar para las búsquedas] SAE J1978 estándar especifica un protocolo de búsqueda
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
26 de 94
ELM327 Descripción de los comandos AT (continuación) ordenan que las herramientas de escaneo deben utilizar. Se sigue el orden de los números que hemos asignado a los protocolos de ELM327. Con el fin de proporcionar una búsqueda más rápida, el ELM327 normalmente no siguen este orden, pero
va a
si tu
ordenarle que con AT SS. ST hh
con el comando AT SW HH, donde HH es cualquier valor hexadecimal de 00 a FF. El retardo de tiempo máximo posible de poco más de 5 segundos se produce cuando se utiliza un valor de FF (decimal 255). El ajuste por defecto (92) proporciona un retardo nominal de 3 segundos entre los mensajes. Tenga en cuenta que el valor 00 (cero) es especial, ya que dejará los
[Establecer tiempo de espera a SS]
Después de enviar una solicitud, el ELM327 espera un tiempo preestablecido para una respuesta antes de que pueda declarar que no había 'DATOS' recibido del vehículo. El mismo ajuste de temporizador también se puede usar después de una respuesta ha sido recibida, a la espera de ver si viene más (pero esto depende de la configuración de AT AT). El comando AT ST permite el contador a ser ajustado, en incrementos de 4 mseg (o 20 mseg si en un protocolo CAN, con CTM5 seleccionado).
Cuando se habilita adaptativa de sincronización, el tiempo en el ST establece el tiempo máximo que ha de ser permitido, incluso si el algoritmo adaptativo determina
mensajes periódicos (despertar). Esto proporciona un control para los experimentadores para detener los mensajes mientras se mantiene el resto del protocolo de funcionar normalmente, y no está destinado a ser utilizado con regularidad. La emisión de SW 00 no va a cambiar una configuración previa para el tiempo entre los mensajes de activación, si el protocolo
es reinicializado. Una vez mensajes periódicos se han apagado con AT SW, que sólo puede restablecerse mediante el cierre y reinicializar el protocolo. TA hh
[Establecer el probador Dirección a SS]
Este comando se utiliza para cambiar el probador actual (es decir.
que el ajuste debe ser más largo. En la mayoría de las circunstancias, lo mejor es 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 ajustar cambiando PP 03. Tenga en cuenta que un valor de 00 no se traduce en un tiempo de 0 ms - se restaurará el temporizador con el valor predeterminado. Además,
Envío a TA afectará a todos los protocolos, incluyendo J1939. Esto proporciona un medio conveniente para cambiar la dirección 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
Aunque este comando puede aparecer a trabajar 'sobre la marcha', no
- es posible seleccionar tiempos más largos con AT ST, pero no los más cortos.
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]
Una vez que se ha establecido una conexión de datos, algunos protocolos requieren que haya flujo de datos cada pocos segundos, sólo para que la ECU sabe mantener la vía de comunicación abierta. Si no aparecen los mensajes, la ECU asumirá que haya terminado, y se cerrará el canal. tendrá que ser inicializado de nuevo para restablecer la conexión de comunicaciones.
TP h
[Intenta Protocolo h]
Este comando es idéntico al comando SP, excepto ese el protocolo que seleccione
no es
inmediatamente guardado en la memoria EEPROM interna, por lo que no cambia la configuración predeterminada. Tenga en cuenta que si la función de memoria está 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 con el fin de mantener una sea necesario, conexión. Ninguna respuesta a estos mensajes son ignorados por el ELM327, y no son visibles para el usuario. (Actualmente, sólo los protocolos 3, 4 y 5 de soporte estos mensajes - no hay nada disponible para CAN CAN Si necesita mensajes periódicos, debe utilizar el ELM329.). El intervalo de tiempo entre estos mensajes periódicos 'de activación' se puede ajustar en incrementos de 20 mseg ELM327DSJ
predeterminado.
Ah TP
[Intenta Protocolo h con Auto]
Este comando es muy similar al comando AT TP anterior, excepto que si el protocolo que se trató fallara entonces la voluntad ELM327 para inicializar, secuenciar automáticamente a través de los otros protocolos,
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
27 de 94
ELM327 Descripción de los comandos AT (continuación)
intentar conectar con uno de ellos. V0 y V1
y el ELM327 volverá a la configuración de velocidad en baudios predeterminada.
[Datos variables longitudes de apagado o encendido]
Muchos protocolos de la CAN (es decir, ISO 15765-4) esperan para enviar
[Mostrar la descripción del dispositivo]
@1
Este comando muestra la cadena de descripción de dispositivo. El texto
ocho bytes de datos en todo momento. Los comandos V0 y V1 se pueden utilizar 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 mensajes de longitud variable de los datos, al igual que el bit 6 del PP y PP
@2
2C 2E hacer por los protocolos B y C. No importa lo que el protocolo debería estar haciendo - V1 que anulará. Esto permite experimentar con mensajes de
comando @ 3 se muestra con el comando @ 2. Todos los 12 caracteres y un
longitud variable de los datos sobre la demanda.
Una cadena de identificador de dispositivo que se ha registrado con el retorno de carro terminación serán enviadas en respuesta, si es que se han definido. Si no hay ningún identificador se ha establecido, el comando @ 2
Si selecciona V0 (el valor predeterminado), el obligado envío de mensajes de longitud variable puede se apaga. El formato de los mensajes enviados vuelve a la configuración del protocolo.
WM [1 a 6 bytes]
[Mostrar el identificador de dispositivo]
devuelve una respuesta de error ( '?'). El identificador puede ser útil para almacenar códigos de productos, fechas de producción, números de serie, u otros códigos.
Vea la sección 'Programación de números de serie' para más información. [Establecer despertador Mensaje a ...]
Este comando permite al usuario anular la configuración predeterminada de los mensajes de activación (a veces conocidos como los mensajes de los ociosos periódica '). Sólo es necesario que el mensaje que desea han enviado (por lo general tres bytes de cabecera y una a tres bytes de datos), y el ELM327 añadirá la suma de comprobación y enviarlos como sea necesario, a la tasa determinada por la configuración de SW AT.
@ 3 cccccccccccc
[Almacenar el identificador de dispositivo]
Este comando se utiliza para establecer el código de identificación del dispositivo. Exactamente 12 caracteres deben ser enviados, y una vez que escriben en la memoria, que no se pueden cambiar (es decir, sólo se puede usar el comando @ 3 una vez). Los caracteres enviados deben ser imprimibles (caracteres ASCII valora 0x21 a 0x5F inclusive).
Los ajustes por defecto enviarán los bytes 68 01 00 6A F1 para la norma ISO 9141, y C1 33 F1 3E para KWP.
Si está desarrollando software para escribir los identificadores de 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
www.elmelectronics.com
28 de 94
ELM327 La lectura de la tensión de la batería
Antes de aprender el OBD comandos, vamos a mostrar un ejemplo de cómo utilizar un comando AT. Vamos a suponer que usted ha construido (o comprar) un circuito que es similar a la de la figura 9 en la sección Aplicaciones Ejemplo (p ágina 80). Este circuito proporciona una conexión para leer la tensión de la batería del vehículo, que muchos encontrarán muy útil. Si nos fijamos en la lista de c omandos AT, verá que no es un comando que se muestra como RV [Leer el voltaje de entrada]. Este es el comando que tendrá que utilizar. En primer lugar, asegúrese de que se muestra el carácter indicador (es decir, el carácter ' >'), entonces simplemente entre 'AT' seguida de RV, y pulse retorno (o enter):
> EN RV Tenga en cuenta que utilizamos mayúsculas para esta solicitud, pero no era necesario, ya que el ELM327 aceptará mayúsculas (AT RV), así como en minúsculas (a RV) o cualquier combinación de éstos (A Rv). No importa si inserta los caracteres de espacio (' ') dentro del mensaje o bien, ya que son ignorados por el ELM327.
el valor de CV, como el ELM327 sabe que debe estar entre el segundo y el tercer dígitos. En este punto, los valores de calibración internos se han cambiado (es decir. Escrito a EEPROM), y el ELM327 ahora sabe que la tensión en la entrada es en realidad 12.47V. Para verificar que los cambios han tenido lugar, basta con leer el voltaje de nuevo:
> AT RV
12,5 V El ELM327 siempre completa la medición con una cifra decimal, 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 los cálculos). El ELM327 puede calibrar con cualquier tensión de referencia que tiene disponible, pero tenga en cuenta que el comando CV siempre espera recibir cuatro caracteres que representan la tensión en la entrada. Si se hubiera usado una batería de 9V para su referencia, y en realidad es 9.32V, a continuación, debe agregar un cero a la tensión real 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 > La precisión de esta lectura depende de varios factores. Tal como viene de fábrica, el sistema de circuitos de lectura ELM327 tensión será típicamente una precisión de alrededor del 2%. Para muchos, esto es todo lo que se necesita. Algunas personas pueden desear para calibrar el circuito
Si usted debe tener problemas con este comando (por ejemplo, si establece los valores de calibración a algo arbitraria y no tiene un voltímetro en la mano para proporcionar valores exactos), puede restaurar los valores de fábrica (fábrica) valores con l a CV 0000 comandos. Basta con enviar:
para lecturas más precisas, sin embargo, por lo que han proporcionado un comando especial 'Calibre Tensión' para esto.
Para cambiar las constantes de calibración interna, necesitará saber el voltaje real de la batería de mayor precisión que los espectáculos ELM327. Muchos multímetros digitales de calidad pueden hacer esto, pero usted debe verificar la exactitud antes de hacer un cambio.
Supongamos que se ha conectado el multímetro precisa, y encontramos que lee 12.47V. El ELM327 es un poco alto en 12,6 V, 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:
> AT CV 0000 OK
Los otros comandos AT se usan de la misma manera. Simplemente escriba las letras A y T, a continuación, siga con el para enviar y cualquier comando que desea argumento que sea necesario. A continuación, pulse retorno (o introducir, en función de su teclado). Recuerde - siempre se puede insertar caracteres de espacio tan a menudo como desee si mejora la legibilidad para usted, ya que son ignorados por el ELM327.
> EN CV 1247 OK
Tenga en cuenta que no debe proporcionar un punto decimal en
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
29 de 94
ELM327 Comandos OBD Si los bytes que se envían a la ELM327 no comienzan con las letras 'A' y 'T', que se supone que son los comandos de diagnóstico a bordo del vehículo. Cada par de bytes ASCII será probado para asegurarse de que son dígitos hexadecimales válidos, y a continuación, se combinan en bytes de datos para transmitir al vehículo. comandos de DAB son r ealmente enviados al vehículo incrustado en un
ELM327, y no se envía al vehículo. Después de enviar el comando, el ELM327 escucha en el bus OBD para las respuestas, en busca de los que se dirigen a él. Si un mensaje coincide con la dirección, los bytes recibidos se enviarán en el puerto RS232 para el usuario, mientras que los mensajes recibidos que no tienen que emparejan serán ignorados direcciones (pero a menudo son todavía 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 mensaje OBD y el ELM327 añade estos bytes adicionales a sus bytes de comando para usted. Los valores iniciales (por defecto) para estos bytes adicionales son por lo general apropiado para la mayoría de las solicitudes, pero si desea cambiarlas, hay un mecanismo para hacerlo (véase el 'Ajuste de
El ELM327 continuará a esperar a que los mensajes dirigidos a ella hasta que no hay ninguno que se encuentra en el momento en que se estableció mediante el comando AT ST. Mientras mensajes siguen recibiendo, el ELM327 continuará a volver el contador, y buscar más. Tenga en cuenta que el CI siempre responderá a una solicitud con alguna 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
los encabezados' sección). 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 Número
el ELM327 porque es el formato de datos utilizado con mayor frecuencia en los
equivalente decimal
estándares DAB. La mayoría de los listados de solicitud de modo de utilizar notación hexadecimal, y es el formato utilizado con mayor frecuencia cuando se
0
0
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
5
5
6
6
7 8
7 8
9
9
necesitan para manipular los resultados de alguna manera (combinando bytes y dividiendo por 4 para obtener rpm, dividiendo por 2 para obtener grados de avance, la conversión de temperaturas, etc.).
Como un ejemplo de envío de un comando al vehículo, asumen que A6 (o decimal 166) es el comando que se requiere para ser enviados. En este caso, el usuario tendría que escribir la letra A, a continuación, el número 6, a continuación, se presione la tecla de retorno. Estos tres personajes serían enviados a la ELM327 a través del puerto RS232. El ELM327 almacenaría los personajes a medida que se reciben, y cuando se recibió el tercer personaje (el retorno de carro), 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 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
10
segundo
11
do
12
re
13
mi
14
F
15
Figura 1. Hex a decimal Conversión
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
UN
30 de 94
ELM327 Hablando con el vehículo
Las normas requieren que cada comando OBD o solicitud que se envía al vehículo deben cumplir con un formato establecido. El primer byte enviado (conocido como el 'modo') describe el tipo de datos que se solicita, mientras que el segundo byte (y, posiblemente, un tercio o más) especifica la información real que se requiere. Los bytes que siguen después del byte modo se conocen como la 'identificación de 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.
El estándar SAE J1979 define actualmente diez posibles modos de prueba de diagnóstico, que son: 01 - Mostrar 02 datos actual - datos del marco de espectáculo de congelación 03 - muestran códigos de diagnóstico 04 - códigos claros de problemas y los valores almacenados 05 - resultados de la prueba, sensores de oxígeno 06 - resultados de pruebas, no supervisado de forma continua 07 Show 'pendientes' códigos de problemas 08 - el modo de control especial 09 -
ELM327 para la comunicación con un vehículo. En el indicador, emitir el modo PID 01 00 comando: > 01 00 El ELM327 debería decir que está 'B uscando ...' para un protocolo, entonces se debe imprimir una serie de números, similares a estos:
41 00 BE 1F B8 10 El 41 en el anterior significa una respuesta de un modo de 01 solicitud (01 + 40 = 41), mientras que el segundo número (00) se repite 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, B8, y 10) representan los datos solicitados, en este caso un patrón de bits que muestra los PIDs que son compatibles con este modo (1 = soportados, 0 = no). Aunque esta información no es muy útil para el usuario ocasional, 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, y dentro de los modos, que no están obligados a soportar todos los PID posibles (algunos de los primeros vehículos de OBDII sólo se admite una
Otro ejemplo solicita la temperatura actual del r efrigerante del motor (ECT). temperatura del refrigerante es PID 05 de modo 01, y se puede solicitar como sigue:
pequeño número de ellos). Dentro de cada modo, PID 00 se reserva para
> 01 05
mostrar lo que los PID se apoya en dicho modo. Modo 01, 00 PID debe ser apoyado por todos los vehículos, y se puede acceder de la siguiente manera ...
La respuesta será de la forma: 41 05 7B
Asegúrese de que su interfaz ELM327 está correctamente conectado al vehículo, y alimentado. La mayoría de los vehículos no responderán sin la llave de encendido en la posición ON, para activar el encendido en ON, pero no arranque el motor. Si usted ha estado experimentando, el estado de su interfaz puede ser desconocida, por lo que restablecerla mediante el envío de:
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 compensado para permitir temperaturas bajo cero. Para convertir a la temperatura real del refrigerante, es necesario restar 40 del valor obtenido. En este caso, entonces, la temperatura del refrigerante es de 123 - 40 ó 83 ° C. Un último ejemplo se muestra una solicitud para el número de revoluciones del motor. Este es el modo de PID 0C 01, por lo que teclee en el indicador:
> AT Z Verá que parpadeen los LED de interfaz, y luego el IC debe responder con 'ELM327 v2.1', seguido de un carácter inmediato. Ahora, 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 cuenta la IC para buscar una:
Si el motor está en marcha, la respuesta podría ser:
41 0C 1A F8 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 Eso es todo lo que necesita hacer para preparar el ELM327DSJ
> 01 0C
Convirtiéndola, obtenemos un valor de 6,904, lo que parece ser un valor muy alto de revoluciones del motor.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
31 de 94
ELM327 Hablando con el vehículo (continuación)
Esto es así porque se envía rpm en incrementos de 1/4 rpm! Para convertir a la velocidad real del motor, hay que dividir el 6904 por 4. Un valor de 1.726 rpm es mucho más razonable.
la congestión, mientras que la ECU intenta varias veces para volver a enviar
Tenga en cuenta que estos ejemplos pidieron al vehículo para obtener información sin tener en cuenta el tipo de protocolo OBD que utiliza el vehículo. Esto es porque el ELM327 se encarga de todo el formato de datos y la traducción para usted. A menos que se va a hacer funciones más avanzadas, en realidad no hay necesidad de saber cual es el protocolo.
Como un ejemplo, considere una solicitud para el número de identificación del vehículo (VIN). Este número es de 17 dígitos de longitud, y típicamente toma 5 líneas de datos a ser representados. Se obtiene con el modo 09, PID 02, y debe solicitarse con:
los mensajes que no fueron reconocidas. Por esta razón, es necesario conocer el número de respuestas a esperar antes de utilizar esta función.
> 09 02 Los ejemplos anteriores mostraron sólo una única línea de respuesta 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 ECU proporcionar mensajes que necesitan ser combinados para formar una
o con: > 09 02 5
respuesta (ver las respuestas de multilínea 'en la página 42). Con el fin de poder adaptarse a este número variable de respuestas, el ELM327 normalmente espera para ver si alguno están llegando más. Si no hay
si usted sabe que hay cinco líneas de datos que vienen. Si por error se debe enviar 09 02 1, es posible causar problemas.
respuesta llega en un tiempo determinado, se supone que la ECU está terminado. Este mismo temporizador también se utiliza cuando la espera de
Esta capacidad de especificar el número de respuestas se sumó con el programador en mente. Una rutina de interfaz se puede determinar la cantidad de respuestas que podía esperar por una 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 tratando de obtener unos códigos de problemas, los ahorros no son realmente vale la pena, y es más fácil de hacer sólo una petición, sin
la primera respuesta, y si eso no llega nunca, hace que 'No hay datos' para ser impreso.
Hay una manera de acelerar la recuperación de la información, si se sabe cuántas respuestas se enviará. Diciéndole al ELM327 cuántas 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 datos que no está llegando. Basta con añadir un solo dígito hexadecimal después de la solicitud bytes OBD - el valor del dígito que proporciona el número máximo de respuestas para obtener, y el ELM327 hace el resto. Por ejemplo, si sabe que sólo hay una respuesta que procede de la solicitud temperatura del motor que se discutió previamente, se puede enviar:
> 01 05 1
lo que se refiere a la cantidad de
Se espera que las respuestas.
Ofrecemos una advertencia adicional cuando se trata de optimizar la velocidad a la que se obtiene la información de los vehículos. Antes del lanzamiento APR2002 de la norma J1979, J1850 envío de solicitudes con mayor frecuencia que cada 100 mseg estaba prohibido. Con la 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 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 tiempo por defecto para el temporizador AT ST es de 200 ms. (El ELM327 todavía establece el temporizador después de enviar la solicitud, pero eso es sólo en caso de que la respuesta solo no llega.)
Espero que esto ha demostrado cómo las solicitudes típica se realiza mediante el ELM327. Si usted está buscando más información sobre los modos y los PID, que está disponible en la SAE (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
www.elmelectronics.com
32 de 94
ELM327 Iniciación de autobuses
Tanto las normas ISO 9141-2 e ISO 14230-4 (KWP2000) requieren que bus OBD del vehículo se 'inicializa' antes de cualquier comunicación pueden tener lugar. La norma ISO 9141 permite sólo un proceso de iniciación lenta (de 2 a 3 segundos), mientras que ISO 14230 permite tanto un método lento, y una alternativa más rápida.
clave del vehículo a la posición 'ON' antes de intentar hablar con el vehículo). Una vez que se ha iniciado el autobús, las comunicaciones deben hacerse en forma periódica (por lo general al menos una vez cada cinco segundos), o el autobús 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 no hasta que una petición debe ser enviada (pero se puede pedir uno con el
peticiones para que se asegure de que el autobús se queda 'despierto'. Nunca verá
FI y comandos SI). Si se produce la iniciación de bus durante una búsqueda automática, no verá ninguna informes de estado, pero si usted tiene la opción
periódicamente a medida que éstos se están enviando.
de apagado automático (y se disponen a protocolos 3, 4, o 5), a continuación, verá un mensaje similar a este:
Por defecto,
BUS INIT: ... Los tres puntos aparecen sólo como el proceso de iniciación lenta se lleva a cabo - una iniciación rápida no muestra los puntos. Esto será seguido por cualquiera de la expresión 'OK' para decir que fue un éxito, o 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
las respuestas a estos, pero es posible que aparezca el flash LED de transmisión
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 también son programables por el usuario con el comando AT WM, si debe desear cambiarlas. Los usuarios generalmente no tienen que cambiar cualquiera de los anteriores, ya que la configuración por defecto funcionan bien con la mayoría de los sistemas.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
33 de 94
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 obtención de los actuales códigos de diagnóstico (o DTC). Como mínimo, esto requiere que una solicitud de modo 03 se hará, pero primero debe determinar el número de códigos de averías se almacena en la actualidad. Esto se hace con un modo PID 01 01 petición de la siguiente manera:
6 bytes en la respuesta tienen que ser leído en pares para mostrar los códigos de problemas (lo anterior sería interpretado como 0133, 0000, y 0000). Tenga en cuenta que la respuesta ha sido rellenado con de 00 como es requerido por la norma SAE para este modo - la década de 0000 no 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 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 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 indicadora de mal funcionamiento (MIL, o 'Check Engine Light') se ha convertido en uno de los códigos de este módulo (si hay más de una ), 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 códigos almacenados cuando el MIL está encendida, sólo hay que restar 128 (o 80 hex) a partir del número.
Reemplazarlo con estos dos personajes
La respuesta anterior, entonces indica que hay un código almacenado, y fue el que estableció la lámpara del motor del cheque o MIL en. Los bytes restantes en la respuesta proporcionan información sobre los tipos de pruebas soportadas por ese módulo en particular (ver el documento J1979 para más información). 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 haber proporcionado una línea de la respuesta. Para determinar qué módulo se informa que el código de problema, habría que convertir los 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 información. Una vez determinado el número de códigos almacenados, el siguiente paso es solicitar los códigos de problemas reales con una solicitud de modo 03 (no hay PID es necesario):
0
P0
Códigos Powertrain - SAE definidos
1
P1
“
2
P2
“- SAE define“
3
P3
“- definido conjuntamente
4
C0
5
C1
“- definidos por el fabricante“
6
C2
“- definidos por el fabricante
7
C3
“
8
B0
Códigos del cuerpo - SAE definidos
9
B1
“
AB
B2 B3
CDEF U0 U1
“- definidos por el fabricante“
Códigos de chasis - SAE definidos
“- Reservado para futuras
“- definidos por el fabricante“ “- definidos por el fabricante
“
“- reservado para el futuro“
Códigos de red - SAE definidos
“
“- definidos por el fabricante“
U2
“- definidos por el fabricante“
U3
“- Reservado para futuras
Tomando el ejemplo de código problemas (0133), el primer dígito (0), 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'). Tenga en cuenta que la norma ISO 15765-4 (CAN) de protocolo es muy similar, pero añade un byte de datos adicional (en la segunda posición), muestran la cantidad de elementos de datos (DTC) han de seguir.
> 03
Para dar algunos ejemplos más, si el código recibido era D016, 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 P1131 código.
Una respuesta a esto podría ser:
43 01 33 00 00 00 00 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
www.elmelectronics.com
34 de 94
ELM327 Restablecimiento de los códigos de problemas
El ELM327 es muy capaz de
restablecer
códigos de diagnóstico, ya que esto sólo requiere la emisión de una orden de modo 04. Las consecuencias siempre deben ser considerados antes de enviarlo, sin embargo, ya que más de la MIL (o 'Check Engine Light') se restablecerá. De hecho, la emisión de una voluntad el modo 04:
-
restablecer el número de códigos de problemas
- borrará todos los códigos de diagnóstico -
borrar los datos de cuadro congelado almacenado
- borrar el DTC que inició el cuadro congelado -
borrar todos los datos de prueba del sensor de oxígeno
- borrar el modo de 06 y 07 -
No borrar los códigos de problemas permanentes (modo 0A) (éstos se restablecen por la ECU solamente) 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 problema con la pérdida de estos datos es que su vehículo puede funcionar en forma deficiente por un corto tiempo, mientras se lleva a cabo una recalibración.
Para evitar el borrado inadvertidamente información almacenada, el SAE especifica que herramientas de análisis deberán verificar que un modo 04 está destinado ( '¿Está seguro?') Antes de enviarlo realidad
al vehículo, ya que todos
código de problema
la información se pierde inmediatamente cuando se envía el modo. Recuerde que el ELM327 no supervisa el contenido de los mensajes, por 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á escrito. Como se ha dicho, para borrar los códigos de diagnóstico en realidad, solo hay que emitir una orden de modo 04. Una respuesta de 44 desde el vehículo indica que la petición de modo se ha llevado a cabo, la información borrada, y la MIL desactivado. Algunos vehículos pueden requerir una condición especial que se produzca (por ejemplo. El encendido, pero el motor no debe estar en funcionamiento) antes de que se responda a una orden de modo 04. Eso es todo lo que hay que despejar los códigos de problemas. Una vez más, no envíe accidentalmente el código 04!
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 datos puede parecer un poco para revisar cuando su 'Check Engine' de luz
Llave de contacto en ON, pero el 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 debe establecerse en 9600 o 38400 baudios, con 8 bits de datos y sin paridad o handshaking. La gráfica a la derecha proporciona un procedimiento rápido sobre qué hacer a continuación:
> 0101 para ver cuántos códigos (segundo dígito del 3er byte)
> 03 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
www.elmelectronics.com
35 de 94
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
debe utilizar (ya que los ajustes de fábrica causan una búsqueda automática para llevar a cabo para usted), pero mientras que la experimentación, es posible que desee especificar un protocolo a utilizar.
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 no otros. Si eso es lo que desea, sólo tiene que determinar el número de protocolo (de la Figura 2), a continuación, utilizar el 'protocolo SET' comando AT de la siguiente manera:
> EN SP 2 OK
Descripción
0
Automático
1
SAE J1850 PWM (41,6 kbaudios)
2
SAE J1850 VPW (10,4 kbaudios) ISO 9141-2 (5
3
baudios init) ISO 14230-4 KWP (5 baudios init) ISO
4
14230-4 KWP (init rápido) ISO 15765-4 CAN (11 ID bit, 500
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
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 sea uno que haya elegido). Verificarlo preguntando al ELM327 para describir el protocolo:
9
SAE J1939 CAN (29 bit ID, 250 * kbaudios) Usuario1 CAN (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 se hace poniendo una 'A' antes de que el número de protocolo, de la siguiente manera:
Memoria de sólo ocurrirá después de que se encontró un protocolo válido, y sólo si la función de memoria está activada (M0 / M1). Para el ejemplo anterior, todo lo que tiene que ser enviado es:
> AT SP A2 OK
> AT TP A2 OK
> EN DP AUTO, SAE J1850 VPW
Muchas veces, es muy difícil de adivinar siquiera un protocolo para tratar en primer lugar. En estos casos, lo mejor es simplemente dejar que el ELM327
Ahora, el ELM327 tratará el protocolo 2, pero entonces comenzará automáticamente a buscar otro protocolo si el intento de conectar con el protocolo 2 fallar (como sucedería cuando intenta conectarse al vehículo de un amigo).
decidir qué usar. Esto se hace mediante diciéndole que la utilice protocolo 0 (ya sea con el SP o los comandos TP).
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 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 correcto para el vehículo. Para permitir una prueba antes de que ocurra una escritura, el ELM327 ofrece otro comando - el comando Protocolo de Trata (TP). Trate de Protocolo es muy similar al conjunto de protocolos. Se utiliza exactamente de la misma forma que el comando AT SP, siendo la única diferencia que una escritura interna ELM327DSJ
> AT SP 0 OK y cuando el siguiente orden del OBD se va a enviar, el ELM327 buscará automáticamente uno que responda. Verá un '... buscando' mensaje, seguida de una respuesta, después de lo cual se puede pedir al ELM327 qué protocolo se encontró (mediante el envío de AT DP). Las primeras versiones de la ELM327 utilizan el orden de búsqueda recomendada SAE (protocolo 1, 2, 3, etc.), pero las versiones recientes de la IC modifican el orden de búsqueda
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
36 de 94
ELM327 Selección de protocolos (continuación)
basado en cualquier entradas activas que están presentes. Si es necesario seguir el orden SAE J1978, usted debe enviar el ELM327 un AT SS ordena primero, o el paso a través de cada protocolo con el comando TP. La búsqueda automática funciona bien con los sistemas OBDII, pero puede no ser lo que usted necesita si usted está experimentando. Durante una
Sólo el protocolo de destino (es decir. en SP n), o de lo que lo utilice la suya con búsquedas automáticas permitidas en caso de fallo (es decir, en un SP). A continuación, enviar su solicitud, con encabezados asignados según sea necesario. El ELM327 entonces intentará conectarse a través de sus cabeceras y sus datos, y sólo si eso no funciona (y ha elegido el protocolo con AT SP An) 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
www.elmelectronics.com
37 de 94
ELM327 Formatos de los mensajes de DAB
como bytes de cabecera. La Figura 3 muestra una estructura de mensaje típica OBD que es utilizado por el
Para este punto sólo hemos discutido el contenido (parte de datos) de un mensaje de OBD, y hecho solamente pasando mención a otras partes, tales como las cabeceras y las sumas de comprobación, que todos los mensajes utilizan en cierta medida.
sistemas de diagnóstico a bordo están diseñados para s er muy flexible, proporcionando un medio para varios dispositivos se comuniquen entre sí. Para que los mensajes que se envían entre dispositivos, es 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 está haciendo el envío. Además, la importancia del mensaje se convierte en una preocupación, así - la información de posición del cigüeñal es sin duda de mucha más importancia a un motor en marcha de una solicitud para el número de códigos de avería almacenados, o el número de serie del vehículo. Así que para transmitir importancia, los mensajes también se les asigna una prioridad.
SAE J1850, ISO 9141-2, ISO 14230-4 y normas. Se utiliza 3 bytes de cabecera como se muestra, para proporcionar detalles relativos a la el receptor, y el prioridad, transmisor. Tenga en cuenta que muchos textos se refieren al receptor como la 'Dirección de destino' (TA), y el transmisor como el 'Source Address' (SA). Otro motivo de preocupación cuando se envía ningún mensaje es que se pueden producir errores en la transmisión, y los datos recibidos puede ser interpretado falsamente. Para detectar los errores, todos los diversos protocolos proporcionan algún tipo de control sobre los datos recibidos. Esto puede ser tan simple como un cálculo de suma (es decir, un 'total acumulado' de valores de bytes) que se envía al final de un mensaje. Si el receptor 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,
el
destinatario, y el transmisor suelen ser necesarios por parte del receptor, incluso antes de conocer el ti po de solicitud que contiene el mensaje. Para asegurarse de que esta información se obtiene en primer lugar, los 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
errores, una suma más fiable (y más complicado) llama una comprobación de redundancia cíclica (o 'CRC') se utiliza a menudo. Todos los protocolos especifican cómo los errores se deben detectar, y las diversas maneras de manejar si se producen.
Los bytes de datos OBD son por lo tanto normalmente
SA cabecera
receptor
transmisor TA
hasta 7 bytes de datos
prioridad 3 bytes de
suma de comprobación
Figura 3. Un OBD Mensaje
bytes de datos (8 en total)
bytes de cabecera ''
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
www.elmelectronics.com
38 de 94
ELM327 OBD formatos de mensajes (continuación)
encapsulado dentro de un mensaje, con bytes 'cabecera' al principio, y un 'checksum' al final. El J1850, ISO 9141-2 y ISO 14230-4 protocolos todos usan esencialmente la misma estructura, con tres bytes de cabecera, un máximo de siete bytes de datos y un byte de suma de comprobación.
Para los protocolos CAN, verá los bits de ID, y otros artículos que normalmente
El protocolo ISO 15765-4 (CAN) utiliza una estructura muy similar (véase la Figura 4), la principal diferencia realmente sólo con respecto a la estructura de la cabecera. CAN de cabecera bytes no se conocen como bytes de cabecera - se les llama '' bits de ID
No es necesario tener siempre a establecer estas despedidas de cabecera, o para realizar un cálculo de suma de comprobación, como el ELM327 siempre lo hará por ti. Los bytes de cabecera son ajustables sin
en lugar. La CAN inicial estándar define los bits de ID como 11 en número, mientras que el estándar CAN más reciente permite ahora, ya sea para 11 o 29 IDs bits.
están ocultos tales como el byte de PCI para la norma ISO 15765, o los códigos de longitud de datos (si están habilitados con el PP 29, o en D1). Tenga en cuenta que el ELM327 no muestra l a información de suma de comprobación para sistemas CAN, o los bytes de IFR para los sistemas J1850.
embargo, en caso de que deseen experimentar con mensajes avanzados como los de direccionamiento físico. La siguiente sección proporciona una discusión sobre cómo hacer esto ...
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 J1979 (ISO15031-5). Ellos representan sólo una parte de los datos que un
motor 48. Dirección SAE J2178 estándar también le dice que para su
vehículo puede tener disponibles - se puede obtener mucho más si usted es capaz de dirigir las peticiones de otros lugares.
sabiendo que una herramienta de exploración normalmente se aborda F1,
vehículo J1850 VPW, un byte prioridad del A8 es apropiado. Por último, 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 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 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 es la dirección física que identifica de forma única cada módulo en un vehículo, y que permite dirigir consultas más específicas a un solo módulo en particular.
todo lo que necesita es el comando Conjunto de la cabecera:
> AT SH A8 48 F1 OK Los tres bytes de cabecera asignados de esta manera permanecerán en efecto hasta que sea cambiado por el siguiente comando AT SH, un reset, o un AT D. 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 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 hace cambiando los bytes de datos en el encabezado del mensaje.
presentación de los encabezados se apaga, la conversación podría tener este aspecto:
Como un ejemplo de direccionamiento funcional, supongamos que desea solicitar que el procesador responsable de refrigerante del motor proporciona la temperatura del fluido actual. Usted no sabe su dirección, por lo
El primer byte en la respuesta se hace eco de la solicitud, como de
ELM327DSJ
> 10 10 2E
costumbre, mientras que los datos que pedimos es el byte 2E. Usted puede encontrar que algunas de las solicitudes, siendo de baja prioridad, no se puede responder de inmediato, posiblemente
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
39 de 94
ELM327 Ajuste de los encabezados (continuación) causando un resultado 'NO DATOS'. En estos casos, es posible que desee para ajustar el valor de tiempo de espera, tal vez tratando primero el máximo (es decir, el uso de AT ST
22 y otros se describen con más detalle en el documento SAE J2190 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.
La otra, y más común método de obtención de información es mediante direccionamiento físico, en el que dirigir su solicitud a un dispositivo específico, no a un grupo funcional. Para ello, una vez más necesario para construir un conjunto de bytes de cabecera que dirigen su consulta a la dirección física del procesador, o ECU. Si no conoce la dirección, recordar que el remitente de la información por lo general se muestra en el tercer byte de la cabecera. Mediante el control de su sistema por un tiempo con los encabezados conectó (en H1), puede aprender rápidamente las principales direcciones de los remitentes. El documento SAE J2178 asigna rangos de direcciones de estos dispositivos si no está seguro de lo que podría ser más apropiado.
Cuando se conoce la dirección que desea 'hablar a,' simplemente lo utilizan para el segundo byte de la cabecera (asumir una dirección de 10 para este ejemplo). Combine eso con su conocimiento del SAE J2178 para 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 una dirección de F1. Al igual que antes, estos tres bytes se asignan a la cabecera con el comando de cabecera de set:
El estándar ISO14230-4 define su cabecera bytes de un poco diferente. experimentadores avanzadas serán conscientes de que para la norma ISO 14230-4, el primer byte de cabecera debe incluir siempre la longitud del campo de datos, que varía de un mensaje a otro. A partir de eso, se podría suponer que el que tendría que redefinir el encabezado para cada mensaje que se va a enviar - no es así! El ELM327 siempre determina el número de bytes que se está enviando, e introduce esa longitud para ti, en el lugar adecuado para la cabecera que está utilizando. Si está utilizando el estándar ISO 14230-4 cabecera, la longitud será puesto en el primer byte de cabecera, y sólo es necesario proporcionar los dos bits más significativos () de este byte en la definición 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 s upone que usted está experimentando con KWP cuatro cabeceras de bytes, y el ELM327 crea entonces el cuarto byte de cabecera para usted. Una vez más, no es necesario para proporcionar cualquier longitud que se ponga en este byte - está hecho para ti.
Abordar dentro de la CAN protocolos (ISO 15765-4) es bastante similar en muchos aspectos. En primer lugar, tenga en cuenta el estándar de 29 bits. 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 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:
> AT CP vv
> AT SH zz xx yy
vv
xx
zz
yy
5 bits solamente
> 22 11 6B 62 11 6B 00 00
vv
La respuesta a este comando es del mismo formato a los observados para las solicitudes de OBD 'estándar'. La solicitud se ha 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 este caso). Los PID se utiliza con el modo de 22 son generalmente propiedad de cada fabricante y generalmente no se publicó ampliamente, lo que puede tener dificultad para determinar los usar con su vehículo. Elm Electrónica no mantiene listas de esta información, y no puede proporcionar más detalles para usted. Modo
ELM327DSJ
xx
yy
zz
ID de 29 bits
La lata norma indica que para el diagnóstico, el byte de prioridad ( 'vv' en el diagrama) siempre será de 18 (que es el valor por defecto utilizado por el ELM327). Ya que rara vez se cambió, se puede asignar por separado de los otros bytes de cabecera, usando el comando CP. El siguiente byte ( 'xx') describe el tipo de mensaje que se trata, y se encuentra a hexadecimal DB para funcionales
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
40 de 94
ELM327 Ajuste de los encabezados (continuación)
direccionamiento y de DA si se utiliza direccionamiento físico. Los dos bytes siguientes son como se definen anteriormente para los otros estándares - 'yy'
es el receptor (o Target Dirección), y 'zz' es el transmisor (o Fuente 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 14230-4. Los que están familiarizados con la norma SAE J1939 encontrará probablemente esta estructura de cabecera a ser muy similares ( J1939 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 utiliz ados por J1939 para los encabezados y la agrupación de los bytes en el ELM327. Páginas 53 y 54 ofrecen más detalles de la estructura del mensaje J1939.
funcional de direccionamiento (ID / cabecera = 7DF) y direccionamiento físico (7EN) para hacer peticiones. En general, no conoce las direcciones físicas en un primer momento, pero usted sabe (de la norma) que la dirección funcional DAB es 7DF. Con el fin de aprender las direcciones físicas, a su vez sobre las cabeceras, y ver lo que la dirección de las respuestas son, a continuación, utilizar esa información para hacer peticiones físicas si se desea. Por ejemplo, si las cabeceras están encendidas, y le envían 01 00, es posible que vea:
> 01 00 7E8 06 41 00 BE B8 3F 13 00 El 7E8 muestra que la ECU # 1 fue el de responder. Con el fin de
Otro método para definir todos los bits de ID 29 puede a la vez es la versión de cuatro bytes del comando SH. Sólo es necesario que los 8 mordiscos en un solo comando:
hablar directamente a la ECU, todo lo que necesita hacer es fijar la cabecera en el valor adecuado (es 7E0 para hablar con el dispositivo 7E8 - véase la norma ISO 15765-4 para obtener más información). A partir de ahí, se puede '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 > 01 00 7E8 06 41 00 BE B8 3F 13 00
ID de 29 bits
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 acortan en aproximadamente tres mordiscos en vez de tres bytes. El ELM327 utiliza las mismas ubicaciones de almacenamiento para estos valores, por lo que puede utilizar los métodos que acabamos de mencionar para asignar valores de bit 11 (pero sólo los bits menos significativos se utilizan para cualquier mensaje - los
Esto sólo ha sido una visión general sobre cómo cambiar las cabeceras (y bits de ID). Es de esperar que ha sido suficiente para al menos ayudar a empezar. No recomendamos experimentar demasiado sin una copia de las normas, sin embargo, ya que algunos aspectos son 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
www.elmelectronics.com
41 de 94
ELM327 Las respuestas de varias líneas
Hay ocasiones en que un vehículo debe responder con más información de un 'mensaje' es capaz de mostrar. En estos casos, responde con varias líneas que el receptor debe ensamblar en un mensaje completo. Un ejemplo de esto es una solicitud para el número de identificación del vehículo 17 dígitos, o VIN. Este servicio está disponible a partir de los nuevos
los datos, en lugar del valor del byte que el vehículo hizo J1850. La primera línea de esta respuesta dice que hay 014 bytes de 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 tres líneas. Los números de VIN son generalmente de 17 dígitos de longitud, 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 ejemplo de una respuesta que podría obtenerse de un vehículo J1850:
Esto se hace descartando los tres primeros bytes del mensaje. Los dos 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 49 02 01 00 00 00 31 49 02 02 44 34 47 50 49 02 03 30 30 52 35 49 02 04 35 42 31 32 49 02 05 33 34 35 36
VIN, y esto está de acuerdo con eso). Haciendo caso omiso de la tercera byte hojas de 17 bytes de datos que son el número de serie (a propósito elegido para ser idéntica a la de los del ejemplo anterior). Todo lo que se necesita es una conversión a ASCII, con el fin de leerlos, exactamente igual que antes.
Los dos primeros bytes (49 y 02) en cada línea de la respuesta se utilizan para demostrar que la información es en respuesta a una solicitud de 09 02. Los siguientes programas de bytes que respuesta es, mientras que los cuatro bytes restantes son los bytes de datos que se están enviando. Montaje de los datos en el orden especificado por el tercer byte, y haciendo caso omiso de los primeros 00 (son bytes de relleno - ver J1979) da:
31 44 34 47 50 30 30 52 35 35 42 31 32 33 34 35 36
De estos dos ejemplos, se puede ver que el formato de los datos recibidos puede depender del protocolo utilizado para transmitirlo. Por esta razón, una copia de la norma SAE J1979 sería esencial si usted está planeando hacer un montón de trabajo con esto, por ejemplo, si estuviera escribiendo software para visualizar los datos recibidos. 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 responden a una petición. Aquí es una respuesta típica a una solicitud de 01 00:
> 01 00 41 00 SER 3E B8 11 41 00 80 10 80 00
Los valores de datos representan realmente los códigos ASCII 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 lugar, convertir las cabeceras de ver realmente 'quién' está haciendo la
1 D 4 GP 0 0 R 5 5 B 1 2 3 4 5 6
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 48 6B 10 41 00 SER 3E B8 11 F A 48 6B 18 41 00 80 10 80 00 C0
> 0902 014
0: 49 02 01 31 44 34 1: 47 50 30 30 52 35 35 2: 42 31 32 33 34 35 36
La CAN formateo se ha dejado en (el valor predeterminado), por lo que la lectura de los datos más fácil. Con el formateo en, los números de secuencia se 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 montar
ELM327DSJ
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 vehículos modernos, este tipo de respuesta se produce a menudo, y usted debe estar preparado para ello. Un último ejemplo muestra cómo los mensajes similares
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
42 de 94
ELM327 Las respuestas múltiples (continuación)
podría ser en ocasiones 'mezclado' en un sistema CAN. Nos preguntamos el vehículo para el ID de calibración (09 04) y se presentan con la siguiente respuesta:
> 09 04 013 0: 49 04 01 35 36 30 1: 32 38 39 34 39 41 43 013 0: 49 04 01 35 36 30 2: 00 00 00 00 00 00 31 1: 32 38 39 35 34 41 43 2: 00 00 00 00 00 00 00
lo cual es bastante confusa. El primer grupo (el 013, 0 :, 1: grupo) parece tener un cierto sentido (pero el número de bytes de datos no están de 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:
De estos, los mensajes se pueden montar en el orden correcto. Para hacer esto, mira el octeto que sigue el ID CAN - es lo que se 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 de 'Primera imagen'), o un 2 (para los 'cuadros consecutivos'). La segunda mitad del byte PCI muestra el orden en que la información debe ser ensamblada (es decir. El número de segmento). En este 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 colocarlos en orden.
Cada estándar OBD tiene algunas peculiaridades de menor importancia, pero es de esperar que esto le ha ayudado con algunos de los más comunes. Si todavía tiene problemas, le instamos a comprar la norma correspondiente, y estudiarlo.
> 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
www.elmelectronics.com
43 de 94
ELM327 Tipos de mensajes CAN La ISO 15765-4 (CAN) estándar define varios tipos de mensajes que se van a utilizar con los sistemas de diagnóstico. Actualmente, hay cuatro que se puede utilizar:
SF - el Single Frame FF - el primer cuadro (de un mensaje de multitrama) CF - el marco consecutiva ( '
')
FC - el marco de control de flujo
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 de control de protocolo) PCI. El byte PCI es siempre el primero de los bytes de datos, y cuenta cómo muchos bytes de datos han de seguir. Si la opción de formato puede auto está encendido (CAF1) entonces el ELM327 creará este byte para usted al enviar y eliminar por usted cuando se recibe. (Si se habilitan las cabeceras, se verá que en las respuestas). Si se gira el formateo de apagado automático (con CAF0), se espera que
mensaje primer fotograma. La longitud (014) fue en realidad extrae de ese mensaje por el ELM327 y se imprime en la primera línea, como se muestra. Siguiendo la línea Primera imagen son dos cuadros consecutivos (que comienzan con 1 y 2: :). Para conocer más detalles del mismo formato, es posible que desee enviar una solicitud como la de arriba, y luego repetir la misma petición con las cabeceras habilitados (AT H1). Esto mostrará los bytes PCI que en realidad se utilizan para enviar estos componentes del mensaje total.
El marco de control de flujo es una que normalmente no tiene que tratar. Cuando un mensaje se envía primer fotograma como parte de una respuesta, el ELM327 debe informar al remitente algunas cosas técnicas (tales como la duración del retardo entre los fotogramas consecutivos, etc.) y lo hace respondiendo inmediatamente con un mensaje de control de flujo. Estos están predefinidos por la norma ISO 15765-4, por lo que se pueden insertar automáticamente. Si se desea generar mensajes personalizados de control de flujo, a continuación, consulte la sección 'Control de flujo 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 adicional para usted, para asegurarse de que siempre envía el mayor número de bytes de datos los datos que se requieran (ocho para ISO15765). No es necesario para establecer la opción Permitir largo (EN AL) con el fin de enviar ocho bytes, como el IC redefina para usted.
Un mensaje primer fotograma se usa para decir que un mensaje multitrama está a punto de ser enviado, y le dice al receptor de cuántos bytes de datos que puede esperar. El descriptor de longitud está limitado a 12 bits, por lo que un máximo de 4095 byes se puede recibir a la vez utilizando este método.
Frame mensajes consecutivos se envían después del mensaje primer fotograma para proporcionar el resto de los datos. Cada mensaje Frame consecutiva incluye un único hex dígitos 'número de secuencia' que se utiliza para determinar el orden al volver a montar los datos. Se espera que
Si un control de flujo trama se detecta mientras monitoreo, la línea se mostrará con FC: 'antes de los datos, para ayudarle con la decodificación de la información. No es una final tipo de mensaje que
es
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 que el mensaje es visto como tal, el remitente también establece un indicador especial en el mensaje (el bit RTR), que se ve en cada receptor. El ELM327 siempre se ve por la bandera, o de cero bytes de datos, y puede informar que se ha detectado un RTR mientras se monitorea. Esto se muestra por los personajes RTR, donde generalmente aparecen de datos, pero sólo si el formateo puede auto está apagado, o cabeceras están habilitadas. A menudo, cuando la monitorización de un sistema CAN con una velocidad de transmisión incorrecta seleccionada, RTRs 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 número de serie de un vehículo es a menudo una respuesta de multitrama:
Tenga en cuenta que el sistema CAN es bastante robusto con varios métodos 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,
0: 49 02 01 31 44 34 1: 47 50 30 30 52 35 35 2: 42 31 32 33 34 35 36
etc., está ajustado a), seguido por el mensaje '
En este ejemplo, la línea que comienza con 0: es el ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
44 de 94
ELM327 Las solicitudes múltiples PID
El SAE J1979 (ISO 15031-5) estándar permite solicitar múltiples PID con un mensaje, pero sólo si se conecta al vehículo con la CAN (ISO 15765-4). Hasta seis parámetros pueden ser solicitadas a la vez, y la respuesta es un mensaje que contiene todas las respuestas. Por ejemplo, digamos que usted necesita saber la carga del motor (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, etc.) o se puede poner a todos en un mensaje como este:
> 01 04 05 0B 0C
el mensaje es una respuesta a una solicitud de 01.
Después de la 41 es la información real, con los números PID seguidos por sus bytes de datos. Usted necesitará saber cuántos bytes de datos a esperar el fin de darle sentido en la mayoría de los casos.
El orden en que se solicite la PID no debería importar. Por ejemplo, la solicitud anterior podría haber sido enviado como:
> 01 0B 0C 04 05 00A 0: 41 0B 21 04 3F 0C 1: 17 B8 05 44 00 00 00 en cuyo caso, las respuestas pueden ser como se muestra arriba (pero el orden en que aparecen los PID en la respuesta no tiene que coincidir con el orden en el que fueron solicitados).
la cual, una respuesta típica podría ser:
00A 0: 41 04 3F 05 44 0B 1: 21 0C 17 B8 00 00 00
Usando esta técnica, se puede hacer un uso más eficiente del bus de datos. El costo es el trabajo extra que debe hacer en la creación de las
La respuesta es una de varias líneas, como se discutió en la sección anterior. En cuanto a la r espuesta en detalle, la primera línea nos dice que es 00A (decimal 10) bytes de largo, por lo que sólo presta atención a los 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
solicitudes, y en el análisis de cada respuesta. Si va a escribir software para hacer esto, el tiempo inicialmente tomado bien puede ser la pena, pero si está escribiendo peticiones en una pantalla del terminal, es muy poco probable que esto será de beneficio para usted.
Los mensajes pendientes de respuesta
El ELM327 siempre ha sido un dispositivo convertidor de protocolo, la recepción de datos utilizando un protocolo, y enviarlo con otro. A menos que los datos se han destinado a controlar el ELM327, que se pasó siempre sin tener en cuenta el contenido de los datos. A partir de la versión 2.1, que está cambiando.
pedido. Si el bit 2 del PP 2A se establece (que es por defecto), el ELM327 apoyará esta parte del J1979, cambiar el tiempo de espera de 5 segundos para usted si ve un mensaje de espera de respuesta. Esto sólo ocurrirá para los protocolos ISO14230 (kW) según la norma CAN y. El protocolo CAN normalmente no se limita a solamente
El ELM327 ahora comprueba cada respuesta para ver si es un mensaje especial 'Pendiente de Respuesta', que puede ser utilizada por la ECU para decir “Espera, estoy ocupado.” De acuerdo con la norma SAE J1979, la herramienta de
ISO15765, pero puede ser si se establece PP 2A b0 a '1'. 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 'P endiente 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
www.elmelectronics.com
45 de 94
ELM327 Puede recibir Filtrado - Comando CRA Cuando se reciben datos de la CAN, el ELM327 realmente lo recupere cada mensaje desde el bus CAN y, a continuación, decide si se muestra o no que, sobre la base de criterios que usted o el firmware ha establecido. El 'puede recibir Dirección' o el comando CRA puede ser utilizado para definir estos criterios para que, en un solo paso.
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 CRA 7E9 y el ELM327 establecerá los valores necesarios para que los únicos mensajes que son aceptados son los que tienen ID 7E9. Si no desea que una dirección exacta, pero se prefiere ver un rango de valores, por ejemplo, todas las direcciones de DAB (aquellos que comienzan
y el ELM327 se encarga de los detalles para usted. Cuando se trabaja con datos J1939, el ELM327 normalmente da formato a los datos para que, con el fin de separar la prioridad de la información PGN. Esto no suele ser un problema cuando se utiliz a el comando de CRA, excepto cuando se trate de filtrar para una prioridad específica. Por ejemplo, es posible que suelen ver:
> 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 40 ... El dígito sola prioridad en el frente (la 3 o 6 anterior), así como 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 el fin de utilizar el comando CRA. Puede ser más fácil si se apaga la 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
> AT JHF0 OK
todos los mensajes con identificaciones que comienzan con 7E (7E0, 7E1, 7E2, ... 7EE, y 7EF), enviar:
> EN MA
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 ...
> EN CRA 7EX 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 envían desde la ECU del motor (dirección 10) para la herramienta de exploración (dirección F1), entonces se puede enviar:
Esto demuestra más claramente los cuatro bytes que se deben definir para que se establezca el comando CRA . Para buscar todos los mensajes que comienzan con 6 0FEF5, usted realmente necesita para enviar el comando:
> AT CRA 18 FE F5 XX
> EN CRA 10 XX XX F1 y todos los ajustes se tomarán el cuidado de usted. Si desea ser más específico y ver sólo las respuestas del OBD enviados por el motor de la herramienta de análisis, se podría decir:
> AT CRA 18 DA F1 10
En resumen, el comando CRA permite indicar a la ELM327 lo que los códigos de identificación que debe buscar, y la letra 'X' puede ser utilizado en 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 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
www.elmelectronics.com
46 de 94
ELM327 El uso de la máscara y el filtro Filtrado de mensajes CAN (es decir, decidir qué conservar y cuáles rechazar), suele ser manejado más fácilmente con el 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), debe programar la máscara y filtro. Internamente, el ELM327 configura un 'filtro de aceptación' con 1 y 0 en función del tipo de mensaje que desea recibir (OBD, J1939, etc.). Este patrón se compara entonces con los bits de ID de todos los mensajes entrantes. Si los dos patrones coinciden, entonces todo el mensaje es aceptado, y si no lo hacen, se rechaza el mensaje. Tener que coincida con los 11 o 29 bits de la ID puede ser muy restrictivo en algunos casos (y requeriría un gran número de filtros para algunas aplicaciones). Para permitir que un poco más de flexibilidad en lo que a aceptar, y lo que de rechazar, también se define una máscara, 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 coincidir con el bit en la identificación, o se rechazará el mensaje. Si el bit de máscara es un '0', entonces el ELM327 no le importa si ese bit filtro coincide con el bit de ID de mensaje o no.
Poner esto en conjunto, el filtro tendrá un valor de:
111 1110 1000 = 7E8 y la máscara tendrá un valor de:
111 1111 1000 = 7F8 Con el fin de hacer que estos activos, que tendrá que emitir tanto un filtro y Can Una máscara puede comando:
> AT CF 7E8 OK
> EN CM 7F8 OK
A partir de ese momento, sólo los identificadores de 7E8 a 7EF serán aceptadas por el chip. Los identificadores de 29 bits funcionan exactamente de la misma manera. Por ejemplo, supongamos que desea recibir sólo los mensajes de la forma:
18 DA F1 XX donde XX es la dirección de la ECU que envía el mensaje, pero no me importa cuál es el valor (este es el formato de respuesta OBD estándar). Poniendo de 0 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
> EN CM 1F FF FF 00 OK
de 11 bits. ISO15765-4 establece que todas las respuestas usarán 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
2. Debe haber siempre una 'E' (binario 1110) en la segunda posición, por lo que el filtro necesita ser de valor 1.110 o E. Dado que todos los 4 bits son relevantes, la máscara debe ser de valor 1.111 o F.
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 significativo se establece siempre. Es decir, la máscara tendrá un valor de 1000, ya que sólo un bit que es relevante, y no importa lo que los demás bits son. El filtro tiene que ser asignado un valor que tiene un 1 en la primera posición, pero no nos importa lo que está en las otras tres posiciones. A continuación, utilizamos 0 de en las posiciones (pero realmente no importa).
ELM327DSJ
mensajes CAN, por lo que el establecimiento de filtros y máscaras pueden causar solicitudes OBD estándar para ser ignorado, y que pueden empezar a ver respuestas 'No hay datos'. Si esto sucede, y no está seguro de por qué, es posible que desee restablecer todo a los valores por defecto (con AT CRA, en D, o posiblemente en WS) y empezar de nuevo.
Muy probablemente, usted nunca tendrá que utilizar el CM y CF comandos. Si lo hace, a continuación, crear sus propias máscaras y filtros puede ser difícil. Puede que le resulte útil para dibujar los patrones de bits en primer lugar, y pensar que la materia queridos, y cuáles no lo hacen. También puede ayudar a conectar a un vehículo, aplicar la configuración de prueba, y enviar EN MA para ver cómo afectan los ajustes de los datos mostrados.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
47 de 94
ELM327 Seguimiento de la autobús
Algunos vehículos usan el bus OBD para la transferencia de información durante el funcionamiento normal del vehículo, pasando por una gran cantidad de información sobre ella. Mucho se puede aprender si usted tiene la suerte de
y se mostrarán todos los mensajes que contienen 10 en el tercer byte de la cabecera. 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 utiliz a el bus OBD, puede entrar en el modo del ELM327 'Monitor de toda', enviando el comando AT MA de su programa de terminal. Esto hará que el IC para mostrar cualquier información que se ve en el bus OBD, independientemente de las direcciones de transmisor o receptor (se mostrará todos). Tenga en 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 'ir a dormir'), IFRS no están enviado, y el módulo CAN no aceptar mensajes. El modo de monitorización se puede detener por poner un nivel lógico bajo en el pin RTS, o mediante el envío de un solo carácter RS232 al ELM327. Cualquier carácter práctico puede ser utilizado para interrumpir el IC - no hay restricciones sobre si es imprimible, etc. Tenga en cuenta que cualquier carácter que usted envíe será descartado, y no tendrá ningún efecto sobre los comandos siguientes. El tiempo que tarda en responder a una interrupción de este tipo dependerá de lo que el ELM327 está haciendo cuando se recibe el carácter. El IC siempre terminar una tarea que está en curso (la impresión de una línea, por ejemplo) antes de imprimir 'DETENIDO' y volver a esperar a su entrada, así que lo mejor es esperar a que el carácter prompt ( '>') para ser enviados o la línea ocupado para ir baja, antes de comenzar a enviar un nuevo comando.
Un resultado inesperado puede ocurrir si tiene habilitada la función de búsqueda automática del protocolo, y le dirá el ELM327 para comenzar el monitoreo. Si el autobús está tranquila, el ELM327 comenzará a buscar un protocolo activo, que puede no ser lo que se esperaba. Tenga en cuenta también que los protocolos ISO 9141 e ISO 14230 son idénticas al 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 una OBD solicitud se hizo más adelante.
Se almacena con 3 bits en lugar de dirección del receptor, y los 8 bits restantes de ubicación de la dirección del transmisor. Para este ejemplo, hemos pedido que todos los mensajes creados por el transmisor '10' pueden imprimir, por lo que los 11 bits puede se mostrará identificadores que terminan en 10 (es decir, todo lo que se parece a 'x 10').
El otro comando de control que es muy útil es el comando AT MR, que busca direcciones específicas en el byte medio de la cabecera. El 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 mensajes que se envían a la ECU con la dirección 10, sólo tiene que enviar:
> AT MR 10 y se mostrarán todos los mensajes que contienen 10 en el segundo byte de la cabecera. El uso de este comando con la de 11 bits pueden los sistemas de nuevo necesitará más explicaciones. Puede ser útil a la primera imagen el número hex '10' en el ejemplo anterior como el número binario '0001 0000'. Recall desde arriba que 11 bits puede IDs se almacenan realmente como los 11 bits menos significativos en los lugares 3 byte 'de almacenamiento cabecera', y sólo 3 bits se almacena en el byte medio 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 3 bits más a la derecha de su dirección de MR son considerados y los otros 5 bits se ignoran. En este ejemplo, el AT MR 10 se convierte efectivamente en el Sr. 0 para sistemas de 11 bits puede, y así se mostrará todos los mensajes que comienzan con '0' como el primer dígito.
Es mejor no usar el AT MT o comandos de MR en el 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
www.elmelectronics.com
48 de 94
ELM327 La restauración de la Orden
control, y se necesita saber cómo restaurar el orden. Antes de continuar para
los cuatro LEDs de estado en secuencia. Una opción mucho más rápido está 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':
Puede haber momentos en los que parece que el ELM327 está fuera de
punto para discutir la forma de 'llegar de nuevo al comienzo'. Tal vez usted ha
> AT WS
dicho la ELM327 para supervisar todos los datos, y hay pantallas y pantallas de datos que vuelan cerca. Tal vez el IC está respondiendo con 'No hay datos' cuando funcionaba con anterioridad. Esto es cuando algunos consejos pueden ayudar.
El comando AT WS realiza un restablecimiento de software, restauración de exactamente los mismos artículos como el AT Z hace, pero omite la prueba de LED, por lo que es considerablemente más rápido. Además, no afecta a las
El ELM327 siempre se puede interrumpir de una tarea mediante una sola tecla del teclado. Como parte de su funcionamiento normal, se 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 significa que va a continuar enviando la información en la línea actual, y luego se detiene, imprimir un carácter puntual y esperar a que su entrada. La parada no siempre puede parecer inmediata si el buffer de envío RS232 está casi lleno, sin embargo - no se verá realmente el carácter pronta hasta que la memoria se ha vaciado, y el programa de terminal ha terminado de imprimir lo que ha recibido.
velocidades de transmisión que se han ajustado con el comando AT BRD (que hace AT Z), por lo que es esencial si se está modificando las tasas de baudios RS232 con software.
Cualquiera de los métodos anteriores debe ser eficaz para restablecer el orden mientras que la experimentación. Siempre existe la posibilidad de que pueda haber cambiado un parámetro programable, sin embargo, y aún tiene problemas con su sistema. En este caso, es posible que desee sólo tiene que apagar todos los parámetros programables (lo que les obliga a sus valores por defecto). Para hacerlo, 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. T al 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 l o 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
Esto a menudo será suficiente para r establecer el orden, pero en ocasiones puede llevar a resultados inesperados. Uno de estos s e producirá sorpresa si está conectado a un vehículo usando un protocolo, 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.
momentos en los que no se reconoce incluso este comando, sin embargo. Si ese es el caso, tendrá que utilizar el método de hardware de convertir el PP fuera. Vea la sección de parámetros programables '' (páginas 68 y 69) para obtener más detalles.
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
www.elmelectronics.com
49 de 94
ELM327 El uso de tasas más altas RS232 Baud Una interfaz en serie siempre ha sido provisto con nuestros productos ELM OBD, en gran parte debido a su versatilidad. Más viejos ordenadores, microprocesadores y PDAs pueden todos interfaz fácilmente con él, como USB lata, Bluetooth, Ethernet y módulos WiFi. Se trata simplemente de una
la conexión a un mi croprocesador. Esto es ciertamente una opción, y uno que permite una conexión de velocidad completa a coste prácticamente nulo.
Si está desarrollando como 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
y podrían utilizarse con una gran variedad de dispositivos. La gran
esta tasa puede ser cambiado - ya sea de forma permanente con un parámetro programable, o temporalmente con un comando AT. 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
Originalmente, los usuarios utilizan casi exclusivamente la interfaz RS232 tradicional para conectar nuestros circuitos integrados a sus ordenadores. Los circuitos de interfaz se hicieron con facilidad, o comprados,
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 por todos los medios utilizar uno. Ofrecemos algunas sugerencias en la sección Aplicaciones de ejemplo que puede probar. La versión discreta que mostramos funciona muy bien a velocidades de hasta 57600 bps, y dependiendo de varios factores, sino que también puede funcionar bien a velocidades de hasta 115200 bps.
Si desea hacer funcionar su interfaz a una velocidad de 115200 bps o superior, hay varias soluciones IC individuales que están disponibles. Estos incluyen dispositivos como el ADM232A de Analog Devices (www.analog.com), o la popular serie de circuitos integrados MAX232 de Maxim Integrated Products (www.maximintegrated.com). Estos son todos excelentes dispositivos que se pueden utilizar para velocidades de hasta 115,2 kbps. Nosotros advertimos que muchos de estos dispositivos sólo se califican para la operación de hasta 120 kbps, sin embargo, por lo que 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 diseño.
Si almacena un nuevo valor en el PP 0C, y luego activarlo, la frecuencia almacenada se convertirá en el nuevo tipo de datos después de la siguiente restauración. A modo de ejemplo, tal vez le gustaría tener el ELM327 utilizar una velocidad de transmisión de 57,6 kbps, en lugar de la configuración de fábrica de 38,4 kbps. Para ello, es necesario determinar el valor requerido para el PP 0C, almacenar este valor en el PP 0C, y luego permitir que el PP. El valor almacenado en PP 0C es en realidad un divisor interno que se utiliza para determinar la velocidad de transmisión (la velocidad de transmisión en kbps es 4000 dividido por el valor de PP 0C). Para obtener un ajuste de 57,6 a continuación, se requiere un divisor de velocidad de transmisión en baudios de 69 (4000/69 es aproximadamente
57,6). Desde 69 en decimal es 45 en hexadecimal, es necesario contar la ELM327 para establecer el valor de PP a 0C 45, con el comando de valor nominal:
> AT PP 0C SV 45 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, entonces debe considerar alternativas - uno de los cuales es el uso de USB. 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 fácilmente disponible para que éstos se ven como serie tradicional ( 'COM' ) puertos, y los módulos están disponibles para la conexión a circuitos como el ELM327. Varios fabricantes ofrecen estos módulos (a menudo llamados circuitos de 'puente') - Pruebe el CP 2102 de Silicon Labs (www.silabs.com) o la FT232R de Dispositivos tecnología futura (www.ftdichip.com). Si planea utilizar velocidades de transmisión más altas, estas interfaces son esenciales. A menudo nos preguntan si es posible utilizar una directa
ELM327DSJ
a partir de ese momento, la velocidad de datos por defecto será 57.6K, 38.4K y no. Tenga en cuenta que el valor que se escribe no se hace efectivo hasta el siguiente reinicio completo (un apagado / encendido, AT Z, o pulso MCLR).
Si usted está diseñando su propio circuito, usted sabrá lo que su circuito es capaz de, y puede asignar una velocidad de transmisión con el PP 0C. Los desarrolladores de software por lo general no saben qué hardware se va a conectar, sin embargo, por lo que no se sabe cuáles son las limitaciones. Para estos usuarios, hemos proporcionado el comando BRD. Este comando permite un nuevo divisor de velocidad en baudios a 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 este comando.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
50 de 94
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 PC de control enviaría:
ELM327
ordenador personal
AT BRD 45 Solicitud de un nuevo divisor
Si el firmware ELM327 es una versión muy antigua, no va a apoyar este comando y volverá con el familiar '?' respuesta. Si lo hace compatible con el comando, responderá con 'OK', por lo que el software 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).
de velocidad en baudios:
ELM327 responde con 'OK' (si es compatible)
EN BRD hh
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 cadena AT I espera 75 ms *
retorno de carro y, opcionalmente, un carácter de avance de línea) y espera una respuesta.
Sabiendo que debe recibir la cadena ELM327 ID, el software para PC compara lo que realmente se recibió a lo que se esperaba. Si coinciden, el PC responde con un carácter de retorno de carro, pero si hay un problema, el PC envía nada. El ELM327 está esperando por su 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 v e un retorno de carro en la ventana '' los 75 ms, la velocidad de transmisión volverá a la velocidad original. Tenga en cuenta que el PC podría emitida correctamente el retorno de carro en esta nueva tarifa, pero los ci rcuitos 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 respuesta 'OK' antes de asumir que la nueva tasa ha sido aceptada.
Si la Rx es buena, programa envía un ELM327 espera hasta
retorno de carro
75 ms * para un retorno de velocidad de transmisión y
carro
CR recibido ? sí
ELM327 cambia a la nueva
no Velocidad de transmisión vuelve a la anterior velocidad de transmisión
'OK' (y se a que elELM327 siguientedice comando mantiene en la nueva 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
www.elmelectronics.com
51 de 94
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 más rápido del OBD. No hay nada que podamos hacer al respecto lo rápido (o lento) es un vehículo para responder, pero podemos optimizar la forma en que el ELM327 maneja las respuestas.
Una solicitud vehículo típico y la respuesta se muestra en el diagrama siguiente: solicitud se envía
activado por defecto, pero puede desactivarse con el comando AT0 en caso de que no esté de acuerdo con lo que está haciendo (también hay un entorno AT2 que es un poco más agresivo, caso de que deseen experimentar). Para el 99% de todos los vehículos, se recomienda que sólo tiene que dejar los ajustes a sus valores por defecto, y dejar que el ELM327 hacer los ajustes para usted. Tenga en cuenta los siguientes tiempos tomados de un vehículo VPW J1850, en respuesta a una solicitud de 01 00:
ELM327
ELM327
respuesta
4 ms
Vehículo
58 mseg ELM espera hasta 200 mseg
ELM espera 200 mseg para más respuestas
Vehículo del motor (ECU 10)
El ELM327 envía una solicitud luego espera hasta 200 ms para una respuesta. Si ninguno estaba por venir, un temporizador interno se detendría la espera, y el ELM327 imprimiría 'No hay datos'.
de transmisión (18 ECU)
El controlador de motor responde muy rápidamente, pero la transmisión 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 en ocasiones necesitan más, así que nos acomodamos en una configuración estándar por defecto de 200 mseg.
Si un tiempo de respuesta de la consulta típica de vehículos eran unos 50 ms, y el tiempo de espera se establece en 200 ms, la velocidad de exploración más rápida posible sólo sería alrededor de 4 consultas por segundo. Cambiar el tiempo de ST a unos 100 mseg sería casi el doble de este tipo, que proporciona
Seguramente tiene que haber una manera de eliminar ese último tiempo muerto, si sabe cuántas respuestas a esperar? Hay un camino - 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 inmediatamente después de recibir 2 respuestas. No puede acelerar un ECU lento, pero va a eliminar el retardo final, como el ELM327 sabe el número de respuestas a esperar. Este cambio podría darle 10 a 12 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.
No es fácil saber qué tan rápido un vehículo responde a las solicitudes. Por un lado, las solicitudes todos tienen prioridades asignadas, por lo que las respuestas pueden ser rápido en algunas veces, y más lento en otras. La medición física de las veces no es fácil, ya sea - que requiere equipos de prueba caros sólo para hacer una medición. Para ayudar con esto, hemos
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 ser necesarios, y algunos protocolos pueden comenzar a volver a enviar las respuestas, en busca de una respuesta. Esto dará lugar a la congestión de red innecesario, que debe ser evitada. Antes de utilizar esta función, siempre determinar el número de respuestas que vendrán 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
www.elmelectronics.com
52 de 94
ELM327 Mensajes SAE J1939 La norma SAE J1939 CAN está siendo utilizado por muchos tipos de maquinaria pesada - camiones, autobuses y maquinaria agrícola, para nombrar unos pocos. Utiliza la CAN familiarizado (ISO 11898) física interfaz, y define su propio formato para la transferencia de datos (que es muy similar a la norma ISO 15765 que se utiliza para los automóviles).
definir sus propias PGN propietarias. La parte de ID de un bastidor de J1939 CAN es siempre 29 bits de longitud. Proporciona información sobre el tipo de mensaje que
está siendo enviado, la prioridad de la mensaje, la dirección del dispositivo que está enviando, y el destinatario. 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 Sociedad de Ingenieros Automotrices (SAE) documentos de normas, por lo que si usted va a estar haciendo un montón de trabajo con J1939, puede ser conveniente adquirir copias de los mismos. Como mínimo, los diagnósticos J1939-73, la transferencia de datos J1939-21, y los documentos de solicitud de vehículos J1939-71 deben ser comprados. Otra gran referencia para este trabajo es el HS-J1939 conjunto de dos libros, también disponible de la SAE.
3 bits 2 bits de
Prioridad
8 bits Formato de la PDU
8 bits
Dirección de destino
8 bits Dirección de la fuente
Formato PDU1 La estructura de datos formada por el identificador de 29 bits y los bytes de datos asociada se denomina Unidad de datos de protocolo o PDU. Cuando los bits 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 datos (250 kbps), pero el trabajo está en marcha para modificar el estándar de modo que también se permitirá una tasa alternativa de 500 kbps. A los efectos de est a discusión, la velocidad de datos no es importante - es el formato de la información que vamos a discutir. 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 comprobación y otros artículos. Muchos de los marcos J1939 se envían con ocho bytes de datos, aunque no hay ningún requisito para hacerlo (a diferencia de la norma ISO 15765, que siempre debe enviar ocho bytes de datos en cada trama). Si un mensaje J1939 es de ocho bytes o menos, será enviado en un marco, mientras que los mensajes más largos se envían utilizando varias imágenes, al igual que la norma ISO 15765. Al enviar varias imágenes, un solo byte de datos se utiliza para asignar un 'número de secuencia' , lo que ayuda a
Los dos bits que se muestran entre la prioridad y el formato de PDU son conocidos como el extendido de datos Page (EDP), y los bits de datos Page (DP). Para J1939, EDP debe ajustarse siempre a '0', mientras que el bit DP se utiliza para extender el rango de valores que el formato PDU puede tener. Mientras que el bit DP es típicamente '0' ahora, eso no puede ser cierto en el futuro. No toda la información J1939 se envía a una dirección específica. De hecho, una de las características únicas de esta norma es que hay una gran cantidad de información que se está transmitiendo continuamente por la red, con receptores de usarlo como mejor les parezca. De esta manera, varios dispositivos que requieren la misma información no tienen que hacer múltiples solicitudes para obtenerla, se proporciona información a intervalos de tiempo regulares, y la carga del bus se reduce.
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, por lo que hay un máximo de 255 marcos en un mensaje, o 1785 bytes.
Si la información está siendo transmitido por la red a ninguna dirección en 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
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 grupo de parámetros se asigna un 'número de grupo de parámetros', o PGN, que define de forma única que paquete de el información. A menudo,
grupos de parámetros se componen de ocho bytes de datos (que es 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 documento J1939-71, y los fabricantes también tienen la capacidad de ELM327DSJ
muestra aquí:
3 bits 2 bits de Prioridad
8 bits Formato de la PDU
8 bits
Extensión grupo
8 bits Dirección de la fuente
Formato PDU2 Entonces, ¿cómo se puede saber si están buscando en un marco de formato PDU1 que contiene una dirección, o un marco de formato PDU2 que no lo hace? El secreto está en
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
53 de 94
ELM327 Mensajes SAE(continuación) J1939 (continuación) Soporte J1939 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, pueden ser asignados con el comando CP. Por defecto, el ELM327 utiliza 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 + 0 (que se introduce como 11.000 o 18 en maleficio). Los valores para los otros bytes de la ID J1939 se introducen con el comando AT SH, tal como se muestra en la Figura 5.
es PDU2. Cualquier otro valor para el primer dígito significa que es una trama de formato PDU1, que contiene una dirección.
Para resumir, las tramas de formato PDU1 son enviados a una dirección específica, y los marcos PDU2 se envían a todas las direcciones. Para complicar más las cosas, sin embargo, los marcos 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, si aparece un mensaje PDU1 (donde el primer dígito del byte PDU formato no es un F), y la dirección de destino es FF, entonces ese mensaje se envía a todos los dispositivos. El documento de prácticas recomendadas J1939 ofrece una lista de direcciones que deben ser utilizados por los dispositivos. Es particularmente importante que se adhieran a esta lista con el ELM327, como el IC utiliza un método de dirección fija y no es c apaz de negociar una diferente, por J1939-81. Herramientas de servicio DAB deben utilizar F9 o FA como su dirección (el ELM327 utiliza F9). Si desea cambiar esto, puede utilizar el comando AT AT (dirección probador), o simplemente definirlo con la cabecera.
Esto ha tratado de cubrir los aspectos básicos de la estructura del mensaje J1939, pero si desea obtener más información, usted debe buscar
las normas mencionadas previamente. Otra que da buenos ejemplos de datos reales es J1939-84 que describe las pruebas de conformidad y muestra las respuestas esperadas. Incluso a 250 kbps, los datos J1939 se transfiere a un ritmo que es más de diez veces más rápido que el anterior estándar de vehículos pesados (SAE J1708), y varios de los estándares de servicio ligero. Como diseñadores construir más en cada sistema, la cantidad de información requerida sigue creciendo, sin embargo, lo que la versión de 500 kbps J1939 será una adición bienvenida. en
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: o:
> EN SH vv xx yy zz > AT CP vv
y
> AT SH zz xx yy
Los valores se utilizan como sigue: vv
xx yy zz
5 bits solamente
Prioridad
Formato de la PDU
Dirección de destino
Dirección de la fuente
Figura 5. Configuración de la J1939 CAN ID
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
54 de 94
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 r espuestas 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 Protocolos B y C también se pueden usar con J1939, si desea experimentar con otras velocidades de transmisión. Para usarlos para J1939, el valor de opción (en PP 2C o 2E) se debe establecer en 42, y el divisor velocidad de transmisión (en PP 2D o 2F) se debe establecer en el valor apropiado. Tal vez la forma más sencilla de proporcionar una tasa alternativa es utilizar el comando AT PB, que le permite establecer tanto el byte de opciones (que es siempre 42), y el divisor velocidad de transmisión (que es 500k ÷ la velocidad de
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 primero que vamos a enviar se llama un DM1 o 'mensaje de diagnóstico 1', que proporciona los códigos de diagnóstico activos actualmente. DM1 es uno de los más de 50 mensajes de diagnóstico predefinidos, y es especial, ya que es el único que se emite continuamente a través del bus a intervalos regulares. El ELM327 tiene un comando AT que se utiliza para obtener los códigos de problemas DM1:
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 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
> EN PB 42 01 a continuación, enviar:
puerto de datos CAN), puede ver los datos con
> AT SP B empezar. Tenga en cuenta que este ajuste no se mantendrá si el CI se pone a cero, por lo que si quieres un entorno más permanente, debe almacenar los valores de PP 2C y 2D. J1939 a menudo proporciona información de difusión lenta, y por esta razón, el ELM327 establece automáticamente un tiempo de espera de respuesta (en el momento ST) como es requerido por el mensaje (típicamente de 1,25 segundos, pero
reconocida por ningún dispositivo en el bus (ciertamente no es el ELM327, ya que es por defecto un monitor completamente en silencio). Ver nota de aplicación de nuestra 'AN05 Banco de Pruebas de OBD Interfaces' para más información sobre esto, y algunos consejos s obre qué hacer. Si usted tiene un chip de v1.4b o más reciente, usted no tiene que tomar medidas especiales, sin embargo. Sólo tiene que apagar la supervisión silenciosa 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 establece el tiempo de espera con un chip más nuevo, pero el tiempo no será óptima a medida que se detenga el ELM327 de variar la configuración basándose en el tipo de mensaje que se recibe.
El ELM327 también ofrece otra variante de la configuración del temporizador - la capacidad de extender el tiempo en el ST cambiando un multiplicador x5 temporizador (consulte la descripción del comando JTM5). Esto puede ser útil o incluso necesario al solicitar datos que tendrán una respuesta multilínea, si los datos similar ya está fluyendo. En estas circunstancias, no sólo puede haber un mensaje como este en un momento en el autobús, por lo que la respuesta a su
ELM327DSJ
> AT CSM 0
y no debe haber más errores RX. Una vez que haya resuelto este, repetir la solicitud. Si todo va bien, debería ver varias respuestas, similar a esto: 00 FF 00 00 00 00 00 FF FF FF 00 00 00 00 FF FF Es probable que necesite para detener el flujo de datos pulsando cualquier tecla del teclado. Esto se debe a que el comando DM1 es en realidad un especial forma de una monitoreo del sistema, y todo el monitoreo tiene que ser detenido por el usuario. La respuesta significa que actualmente no hay códigos de problemas activos, por cierto.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
55 de 94
ELM327 Uso de J1939 (continuación)
Para ver la misma respuesta exacta, también puede Monitor para PGN 00FECA (que es el código para DM1):
un dígito para representar los dos bits adicionales PGN, los cuales pueden 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.
Tenga en cuenta que el ELM327 requiere que envíe dígitos hexadecimales
Si usted prefiere ver los bits de ID separados en bytes en cambio, sólo 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.
Es probable que se encuentre en su prueba de que los PGN que encuentro a menudo comienzan con un byte 00 como anteriormente. Para simplificar las
> AT JHF0 La repetición de la solicitud anterior podría entonces dar lugar a una respuesta 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 debe ser
00. Una forma equivalente a pedir 00FECA es entonces:
> AT MP FECA 1 18 FE CA 00 00 00 00 00 FF FF FF 00 Las diferencias se ven claramente. Si se visualiza la información de 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 prioridad.
> En MP FECA que es un poco más cómodo. Una característica de la ELM327 es la capacidad de decir la IC cuántos mensajes que desea recuperar en el seguimiento de PGN. Por ejemplo, para ver sólo dos respuestas a la orden MP FECA, enviar:
> En MP FECA 2 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 líneas. Mientras que las solicitudes estándar DAB le permiten definir el número de fotogramas (es decir, líneas) de información se van a imprimir con un solo dígito similares, el dígito individual con el comando MP define en 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
El comando MP es muy útil
para conseguir
información en un sistema J1939, pero no toda la información se emite. 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 sistema J1939, se proporciona el número PGN y el sistema responde con los datos requeridos.
Por ejemplo, para solicitar el valor actual de la temperatura del refrigerante del motor (que forma parte del PGN 00FEEE), que le envíe una solicitud de PGN 00FEEE, y extraer los datos. Para ello, envíe: > 00FEEE
hará que el ELM327 para mostrar todas las 33 líneas, a continuación, dejar
a la que es posible que reciba:
de supervisar e imprimir un carácter inmediato.
6 0FEEE 00 8C FF FF FF FF FF FF FF Por defecto, todos los mensajes J1939 tienen la información 'cabecera' oculto a la vista. Para ver esta información (en realidad, los bits de ID), necesitará para encender la pantalla de cabecera en:
Si las cabeceras estaban encendidas. Tenga en cuenta que si solicita una PGN que ya está siendo transmitido, es muy posible que recibir muchas respuestas, como el ELM327 se configura para recibir cualquier cosa que
está relacionada con la PGN
pedido.
> A H1
Si está familiarizado con el estándar J1939, usted será consciente de 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
Una sola respuesta a la FECA podría tener el siguiente aspecto:
> AT MP FECA 1 6 0FECA 00 00 00 00 00 FF FF FF 00 Observe que el ELM327 separa los bits de prioridad de la información PGN. El ELM327 también utiliza solamente
ELM327DSJ
anterior en realidad son enviados como EE FE 00, y no como FE 00 EE. Ya 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 bytes proporcionados. De esta manera, se
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
56 de 94
ELM327 Uso de J1939 (continuación) puede solicitar directamente PGN utilizando números en que se escriben en la página (si se escriben como dígitos hexadecimales), y el ELM327 hará que funcione para usted. Si no desea que el ELM327 para alterar el orden de bytes, la función se puede desactivar (mediante el envío de un comando AT JS).
ya en uso. La versión actual del ELM327 no soporta la negociación de direcciones J1939-81, por lo que no puede obtener una dirección para usted. Una vez que el ELM327 se ha configurado para enviar todos los mensajes 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 J1939. Es decir, por defecto el ELM327 envía todas las solicitudes a la 'dirección global' (es decir, todos los dispositivos), y luego se buscan respuestas. A menudo, esto funciona bien, pero los dispositivos J1939 no están obligados a responder a estas preguntas generales y no siempre si están ocupados. Por esta razón, es generalmente mejor para dirigir sus consultas a una dirección específica, una vez que se conoce.
Con el fin de determinar la dirección para enviar a, puede que tenga que controlar la información en el autobús por un tiempo. Asegúrese de que se muestran los encabezados (bits ID), y tomar nota 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 motor # 1). A modo de ejemplo, supongamos que es el motor # 1 que desea dirigir sus consultas a. Para ello, tendrá que cambiar la dirección de destino de FF (la dirección global) a 00 (motor # 1).
Por defecto, el ELM327 utiliza 6 0EAFF F9 para los bits de ID de todas las peticiones (o 18 EA FF F9 si lo prefiere). Es decir, se utiliza una prioridad de 6,
> 00FEEE
6 0E8FF 00 01 FF FF FF FF EE FE 00 Esta respuesta es del tipo 'reconocimiento' (E8), que está siendo transmitido a todos (FF) por el dispositivo con la dirección 00. Los tres últimos bytes de datos muestran la PGN solicitó, con el fin de bytes inversa, para asegurarse de que se trata de una respuesta a nuestra 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 específica deben ser respondidos, el dispositivo en la dirección 00. responde diciendo que no es capaz de responder. Es decir, recuperar la información usando el comando MP.
Si la ECU había sido capaz de responder a la solicitud, el formato de la respuesta habría sido un poco diferente. Por ejemplo, si se hubiera hecho una solicitud de tiempo de funcionamiento del motor (PGN 00FEE5), la respuesta podría haber sido así:
> 00FEE5
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 solicitud utilizando PGN 59904 como el EA00 dirección en hexadecimal es 59904 en decimal.
Dado que sólo desea alterar la porción EAFF F9 de los bits de ID y no la prioridad, es posible hacer esto con el comando de tres bytes 'cabecera de set':
Observe que el PGN aparece en el encabezado de este tipo de respuestas, y los bytes de datos son los definidos para el SPN en el PGN. Todas las respuestas a una solicitud se imprimen por el ELM327, si son un solo mensaje CAN, o una multisegmento transmisión como se define por la protocolo de transporte (J1939-21). Si las respuestas son múltiples segmentos,
> EN SH EA 00 F9
el ELM327 se encarga de todos
el
negociación para usted. A modo de ejemplo, una respuesta a una petición de varios
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) de comandos.
Después de realizar el cambio anterior, todas las solicitudes de datos serán dirigidos a la dirección 00 ( el motor), por lo que no se olvide de cambiar
segmentos DM2 podría tener este aspecto:
> 00FECB 012
7 0EBF9 00 01 04 50 00 04 FF 0B 54 7 0EBF9 00 02 00 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
www.elmelectronics.com
57 de 94
ELM327 Uso de J1939 (continuación)
02: 00 00 01 05 02 31 5F 03: 6D 05 03 03 FF FF FF
bytes, debe activar puede auto Formateo fuera (AT CAF0), y luego 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 utilizados con los FF.
Esta ha sido una breve descripción de cómo utilizar el ELM327 en un 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 I SO15765-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 han unido para formar una organización para la estandarización de la forma en que la información se recupera de estos grandes vehículos. El resultado de su trabajo es el FMS (o sistemas de gestión de flota) estándar, y el Bus-FMS estándar.
El estándar FMS se basa en un subconjunto del protocolo 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 especifica un dispositivo de puerta para proporcionar la separación entre los
El estándar FMS está completamente abierta, y todavía en evolución (a partir de este escrito, la actualización más reciente fue la versión 2.00). Para obtener más información, visite los sitios web de FMS:
FMS Estándar www.fms-standard.com Bus estándar FMS 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 J 1939. 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 v ersió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
www.elmelectronics.com
58 de 94
ELM327 El estándar NMEA 2000 Se nos pide de vez en cuando sobre la compatibilidad con el estándar NMEA 2000 marina. Elm Electrónica no proporciona soporte específico para este protocolo, pero nuestro circuito integrado ELM327 es muy capaz de trabajar con él. Mientras que los conectores físicos pueden parecer un poco diferente 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 protocolo A. predefinida del ELM327 Esto se hace con el protocolo establece en un comando:
> AT SP A Cuando haya terminado y desea utilizar el ELM327 OBDII para 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 mayores de 65535, por lo que el bit de DP se ajusta normalmente. Para controlar la mayoría de los PGN entonces, no se puede utilizar la versión corta
ejemplo, para supervisar el motor Parámetros PGN (127488 o 1F200 hexadecimal), no se puede utilizar:
> AT MP 1F200 como el ELM327 realidad interpreta que como una solicitud de PGN 1F20, y obtener 0 respuestas. Para supervisar la PGN 1F200, debe enviar:
> AT MP 01F200 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, sin embargo. Como se mencionó con J1939, no es c apaz de negociación de la dirección. Además, el ELM327 no admite el protocolo de paquetes rápido, que puede ser un problema para algunos usuarios.
Para obtener más información sobre el estándar NMEA 2000, visite el sitio web de NMEA (http://www.nmea.org).
del comando MP. por
Periódicas (despertar) Mensajes Después de una ISO ha establecido 9141 o ISO 14230 respecto, es necesario que haya transferencias de datos periódicas con el fin de mantener esa conexión, y evitar que se 'ir a dormir.' Si se envían las solicitudes y respuestas normales, que suele ser suficiente, pero el ELM327 de vez en cuando tiene que crear sus propios mensajes, para evitar la conexión de tiempo de espera. 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 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 envía estos para usted si no parece haber ninguna otra actividad de forma automática - no hay nada que usted necesita hacer para asegurarse de que se produzcan. Para ver que éstos están siendo enviados, sólo tiene que ver la transmisión DAB LED - verá los 'baches' periódicas como el ELM327 envía cada uno.
El ELM327 normalmente envía mensajes de activación después de 3 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 contenido por defecto de estos mensajes variará dependiendo del protocolo - para ISO 9141, el ELM327
ELM327DSJ
enviará 68 6A F1 01 00, y envía C1 33 F1 3E para ISO 14230 (KWP). Si prefiere que se le envíe un mensaje diferente, basta con utilizar el comando de despertador Mensaje para definirlo. Por ejemplo, si desea enviar los datos de los bytes 44 55 con la cabecera de los bytes establece en el 11 22 33, sólo tiene que enviar el comando:
> AT WM 11 22 33 44 55 y desde ese punto en adelante, cada mensaje de activación que el ELM327 envía será 11 22 33 44 55 (con un byte de suma de comprobación siguiente). Usted no proporciona el byte de suma de comprobación - se añade automáticamente. Puede cambiar estos términos tan a menudo como desee, con la única 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 la suma de comprobación.
El ELM327 no admite mensajes periódicos para los protocolos de la CAN. Si necesita esa función, por favor, considere el uso de nuestra ELM329 CAN Intérprete producto.
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
59 de 94
ELM327 La alteración de Mensajes de Control de Flujo
ISO 15765-4 (CAN) prevé sólo ocho bytes de datos por trama de datos. Por supuesto, hay muchos casos en los que los datos que necesita ser enviada tiene más de 8 bytes, y CAN ha hecho pro visión para esto permitiendo que los datos se separan en segmentos, entonces recombinados en el receptor.
mensaje que ha definido (7E8 00 11 22 en este ejemplo). Tenga en cuenta que mostramos 11 bits para el ID en este ejemplo, pero también se puede definir identificadores de 29 bits.
El tercer modo soportado actualmente permite establecer los bytes de 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 en un sistema CAN enviará un mensaje de 'Primera imagen', y luego 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 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 de flujo puede está activado (CFC1), que es por defecto.
fotograma - que no cambia en absoluto. Para utilizar este modo, en primer lugar definir sus bytes de datos, a continuación, activar el modo:
> En el FC SD 00 11 22 OK
> AT FC SM 2 OK
En cualquier momento mientras usted está experimentando, si debe desear
Con el fin de proporcionar un control completo sobre el envío de mensajes de control de flujo y su contenido, el ELM327 define varios comandos AT FC.
para restaurar las respuestas automáticas de control de flujo, sólo tiene que ajustar el modo a 0:
> 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 en el gráfico. El modo de control de flujo por defecto es el número '0', lo que
Esto restaurará inmediatamente las respuestas a sus valores por 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 diseñados para trabajar con los estándares CAN OBD. Si desea experimentar, éstos ofrecen especial los comandos AT que el control para usted.
Modo de control de flujo 1 se proporciona para aquellos usuarios que desean un control completo sobre sus mensajes de control de flujo. Para usarlo, debe definir el ID CAN (cabecera) y los bytes de datos que se requieren para ser enviado en la respuesta a un mensaje primer fotograma. Tenga en cuenta que si se intenta establecer el modo antes de definir estos
La siguiente tabla resume los modos de control de flujo actualmente soportados:
valores, obtendrá un error: Proporciona ELM327 modo FC
usuario Proporciona
> En el FC SM 1? 0
ID Bits & Bytes de datos
sin valores
Debe establecer los encabezados y datos de primera:
> En el FC SH 7E8 OK
> En el FC SD 00 11 22 OK
1
sin valores
2
bits de ID
ID Bits & Bytes de datos
Bytes de datos
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
www.elmelectronics.com
60 de 94
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
> AT SH 7B0 OK
de datos son muy similares, excepto que el primer byte se utiliza para la dirección del receptor (es decir, de destino). Los siete bytes restantes se utilizan como se describe anteriormente.
Nos referimos a este tipo de direccionamiento como 'CAN direccionamiento extendido', y proporcionar apoyo a la misma con el comando AT CEA. Tal vez un ejemplo sería mejor describen cómo usarlo.
Tenga en cuenta que había un mensaje de control de flujo que se envió en este grupo, pero no es exactamente lo mis mo que el de los sistemas DAB. Por esta razón, tendrá que definir su propio control de flujo con las tres afirmaciones siguientes (no mostraremos permiso es más, 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 > AT FC SM1
7B0 04 02 10 81 00 00 00 00 7C0 F1 02 50 81 00 00 00 00 7B0 04 02 21 A2 00 00 00 00 7C0 F1 10 16 61 A2 01 02 05 7B0 04 30 FF 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 01 00 04 01 00
La declaración final de instalación que se necesita es contar la ELM327 para enviar a CAN extendido Dirección 04:
> EN CEA 04 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 caja parecen ajustarse a la norma. Las filas que comienzan con 02 de ellas 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.
> AT SP B > AT BI 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
> 10 81 50 81
bits estándar, y un byte de dirección adicional. Los que utilizan F1 para la 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
> 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
líneas están siendo enviados al vehículo (en la dirección 04).
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:
> EN PB 81 0A OK
A continuación, tendremos que recibir todos los mensajes con un ID de 7C0:
Observe que, por alguna razón, este vehículo ha enviado dos 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 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
www.elmelectronics.com
61 de 94
ELM327 Puede ingresar a frecuencia coincidente
La mayoría de los vehículos modernos tienen una lata de red conectados a los pines 6 y 14 del conector OBD. En un tiempo, sin embargo, el uso de estos pasadores se dejó el fabricante del vehículo, y un número de diferentes sistemas estaban conectados a ellos.
Puede parecer un poco complicado, pero lo que realmente dice es que para la configuración predeterminada, se permite un envío si la frecuencia de la señal de entrada coincide con la configuración de la CAN (250 o 500 kbps), o si no 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 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 cables. Antes de la versión de firmware 2.1, las pruebas simplemente buscaron la actividad en los cables pero no fueron la frecuencia selectiva. 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 CAN válida, y el ELM327 pueden haber enviado una solicitud en esos cables. El nuevo firmware realmente mide la frecuencia de entrada y requiere que coincide con la del protocolo CAN seleccionado antes de cualquier mensaje de prueba puede ser enviado.
permitirá un envío. Todos los bits de PP 28 se ponen a 1 por defecto (que requieren adaptación de frecuencia, a menos que no se detecta señal), pero se pueden cambiar en cualquier momento - ver la sección de parámetros progra mables para más detalles.
Esta lógica sólo se utiliza durante la búsqueda de un protocolo válido. Una vez que un protocolo particular se considera que es activo, no hay controles de frecuencia adicionales se hacen (como lo es el consumo de tiempo). Tenga en cuenta que si debe usar el comando AT BI para omitir el proceso de iniciación, 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
ajuste es de
CAN Rx (pasador 24)
500 kbps PP 28, b7 es 0
señal es de 250 kbps Un envío puede
Procesamiento
ajuste es de
de la señal
permitir
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
www.elmelectronics.com
62 de 94
ELM327 Programación de números de serie Un número de nuestros clientes han pedido a la manera de identificar de forma exclusiva un producto que utiliza nuestra ELM327 circuito integrado. Si
'_' (Valor 5F hex). Típicamente, un @ 3 uso de comandos AT se vería 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.
Si envía el comando AT @ 2 a un nuevo circuito integrado ELM327, recibirá un error. Es decir, usted verá una respuesta que tiene este aspecto: > A LAS 2 ?
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 correctamente. Si el desarrollo de código que hace esto, es posible que la compra de un IC ELM328 ahorrará el gasto de ensayo y error. El ELM328 no soporta los protocolos OBD sin embargo, por lo que no es una opción 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 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 todavía. Para programar caracteres en la memoria @ 2, debe proporcionar 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
a través del comando @ 2: > AT @ 2 MYBOARD_9906 Eso es todo lo que hay que usar el identificador de dispositivo ELM327.
Guardar un byte de datos
El ELM327 proporciona una posición de memoria que se pueden utilizar para guardar cualquier byte de información. Esta ubicación utiliza EEPROM 'no volátil' especial
interna, que está sujeta a los límites habituales de la tecnología EEPROM - lee
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.
Dado que este solo byte de datos se almacenan en la matriz EEPROM ilimitado, pero por lo general sólo alrededor de 1 millón escribe, con un tiempo
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ácil mente recuperados utilizando el comando Leer datos:
> EN RD 7F
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
63 de 94
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 OBD se comprueba al menos una vez cada 4 ms (y, a veces tan a menudo como cada pocos microsegundos). Esto puede no ser perfecto (ya que un solo mensaje muy corto en un bus de otra manera tranquila podría perderse), pero sí asegurarse de que el ELM327 detecta actividad normal en los autobuses activos. La presencia o ausencia de actividad se pueden utilizar para hacer que
En este caso, el valor devuelto es 31 hexadecimal (es decir, 49 en decimal), lo que significa que el ELM327 no ha detectado ninguna actividad OBD en el pasado 49 x 0,655 =
32.8 segundos. El conde Monitor de actividad se limita a un único valor de byte (máx es FF), y la lógica interna le impide 'vuelco'. Es 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 E LM327 como
sólo 'ACT ALERTA'. Por supuesto, también puede desactivar 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 período de tiempo, por lo que el consumo de energía no es de gran preocupación.
poco tiempo para realizar algunas tareas de mantenimiento).
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 espera de baja potencia (estos se muestra gráficamente en la Figura 6).
decir, el ordenador de control se ha detenido por alguna razón. Para habilitar
Ninguno de ellos funcionará sin tener el maestro activar (es decir, el bit 7 del PP 0E) puesto a '1', que es de forma predeterminada.
tiempo (ya sea 5 o 20 minutos) se establece por b4, y la impresión de una
este método, tanto b7 b5 y del PP 0E se debe establecer en '1'. El retardo de 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
ELM327DSJ
De manera similar, el Monitor de ac tividad puede ser utilizado
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
64 de 94
ELM327 Control de Potencia (continuación)
La última forma para entrar en el modo de baja potencia es por un bajo
para hacer que el ELM327 para cambiar al modo de Baja Potencia, si no hay 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'. La lógica del monitor de encendido inserta un pequeño retardo interno (
permitir que este interruptor se produzca. El tiempo predeterminado antes de que 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 (pin 18)
RS232
5 min o 20 min minutero
no monitoreo
flash de OBD
b7
b3
1 min restante
b5
Tx LED
Todas son tranquilas
entradas
imprimir ACT retardo
ALERTA
monitor de
de 2 seg
actividad
DAB
no monitoreo
b7
minutero
(Leer con AT AMC)
retardo
b5 *
de 1 seg
AMT ≠ 00
b7 *
ajuste de tiempo de espera
ALERTA minutero ≥
AMT valor, si se ha ajustado
más 150 sec si b4 * = 1 30 seg si b4 * = 0
sí
b3 *
¿ajuste?
impresión LP
envió un mensaje imprimir ACT ALERTA
notas bits de PP 0F se muestran con un asterisco (*). Todos los demás bits son para 0E PP.
representa una puerta Y
tensión es baja
IgnMon (pin 15)
representa una puerta OR
monitor de 65 de
voltaje
supresión de rebotes mseg
b7 b2
ELM327DSJ
Figura 6. Activación del modo de bajo consumo
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
65 de 94
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 interrumpirá cualquier procesamiento OBD que está en curso. Si el ELM327 notifica una alarma con el mensaje de 'Parada', a continuación, puede comprobar el nivel en el pin 15 con el comando AT IGN, y tomar sus propias decisiones en cuanto a lo que debe hacerse. Para el caso, que ni siquiera es necesario para reducir el poder basado en la entrada que posiblemente podría hacer algo totalmente diferente.
Cuando se conecta a la patilla 15, se debe tener cuidado para no permitir que el exceso de corriente (es decir,> 0,5 mA) pase a través de los diodos de protección internos. Normalmente todo lo que se requiere es una resistencia en serie, pero la adición de un condensador de ayuda a filtrar el ruido de encendido (tenga en cuenta que la entrada de Schmitt en el pin 15 permite el uso de
valor grande condensadores). Un segundo resistor asegura una trayectoria de descarga para el
Después de haber puesto el ELM327 en modo de bajo consumo, se
condensador, mientras que aumenta la tensión de umbral. Un circuito como este
necesita un método para activarlo. Esto se hace por 'interrumpir' el CI en
funciona bien:
formas que son muy similares a l a utilizada para ponerlo en modo de bajo
47K Ω
consumo.
+ 12V conmutada por la ignición
0.1uF
La Figura 7 muestra las tres formas de 'despertar' el ELM327 desde el
47K Ω
modo de baja potencia (aparte de alternar la potencia, o pulsando pin 1). Cualquiera de estos puede despertar a la IC
15 16
- 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 para leer el nivel en el pasador 15, independientemente de la configuración
(pin 18). El circuito de RS232 no es tan sensible como normal cuando en el
del PP 0E bits de habilitación. Esto se puede utilizar con ventaja si desea
modo de baja potencia, por lo que para estar seguro de que su entrada se ve, la
cerrar manualmente la IC, utilizando su propio calendario y criterios.
ELM327 requiere que el ancho de pulso sea de al menos 128 usec de ancho.
Recordemos que el
Esto es
RS232 Rx (pin 18)
anchura de impulso
detector de
128 microsegundos min
RS232 la entrada está activa
una entrada está ahora activo
entradas DAB
monitor de
retardo
realizar un
actividad
de 1 seg
arranque en caliente (véase el texto)
sin entrada era activo
Ir a plena potencia • la denormalidad microprocesador a
• pin 16 = b6
el voltaje es alto hoy IgnMon (pin 15)
monitor de
b1
1 o 5 sec
voltaje
minutero
el voltaje era baja
Figura 7. Volviendo a la Operación Normal
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
66 de 94
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 14230-4), puede haber ninguna actividad OBD cuando el vehículo se
Ahora, en cambiar de nuevo hasta la plena potencia, el ELM327 realiza 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. El último método que se proporciona para activar el circuito es a través
E0 / 1
H0 / 1
L0 / 1
M0 / 1
R0 / 1
D0 / 1
S0 / 1
AT0 / media
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
potencia. Tenga en cuenta que el PP 0E bit 2 no tiene que ser ajustado para el IgnMon reactivar el circuito - el ELM327 siempre supervisa esta patilla, y se despertará el circuito después del retraso que se establece el bit 1 0E PP.
A menudo nos preguntan si una tensión conmutada 'encendido' está disponible en el conector de diagnóstico del vehículo para este propósito. No es, por lo que debe conectar un cable separado a sí mismo. A menudo hay lugares convenientes que se pueden utilizar para este - posiblemente la potencia de
IIA
Además, la velocidad de transmisión ISO / KWP es retenida y el protocolo actual no se cambia (pero está cerrado, por lo que requerirá 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 cuestión de 'qué tan bajo es el consumo de energía' se plantea. Se discute que en los Modificaciones para baja potencia funcionamiento de la espera 'sección, que está en la página 84.
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
www.elmelectronics.com
67 de 94
ELM327 Los parámetros programables El ELM327 contiene varias posiciones de memoria que conservan sus datos incluso después de apagar la unidad. Cada vez que el CI se pone a
habilitada (PP 01, como se mencionó anteriormente), la tabla de resumen se 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 con qué frecuencia para enviar mensajes de activación ''. Porque definen el funcionamiento del ELM327, nos referimos a estas posiciones de memoria como los parámetros programables.
Todos los parámetros programables se alteran fácilmente en cualquier momento mediante unos pocos comandos simples. Estos comandos son comandos AT estándar, con una excepción: cada uno requiere un proceso de dos pasos para completar. Este paso adicional proporciona cierta seguridad frente a las entradas aleatorias que de otro modo podrían causar
> AT PPS 00: FF F 01:00 N 02: FF F F 03:32 04:01 F 05: FF F 06: F1 F 07:09 F 08: FF F F 09:00 0A: 0A 0B F: FF F 0C: 68 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 F 1A: FF F 1B: FF F 1C: 03 F 1D: 0F F 1E: 4A F 1F: FF F 20: FF F 21: FF F 22: FF F 23: FF F F 24:00 25: 00 F 26:00 F 27: FF F 28: FF F 29: FF F 2A: 3C F 2B: 02 F 2C: E0 F 2D: 04 F 2E: 80 F 2F: 0A F
cambios. Como un ejemplo de cómo cambiar un parámetro programable, considere PP 01 (que se muestra en la página 69), que e stablece el estado por defecto del comando AT H. Si usted está constantemente Alimentación de la ELM327 y luego utilizando AT H1 para convertir los encabezados en, es posible que desee cambiar la configuración predeterminada, por lo que los encabezados son siempre de forma predeterminada. Para ello, basta con establecer el valor de PP 01 en 00:
Se puede ver que el PP 01 muestra ahora un valor de 00, y que está activado (ON), mientras que los otros son todos fuera.
Otro ejemplo muestra cómo puede cambiar el byte de relleno CAN. Algunos sistemas utilizan 'AA' como el valor para enviar bytes de datos no 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
En este punto, ha cambiado la configuración por defecto para AT H1 / 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 de tipo 'D', por lo que el cambio sólo surte efecto la próxima vez que se
realidad no tiene efecto hasta que los valores predeterminados se restauran, ya sea por un comando AT D, o restableciendo el ELM327. Los parámetros programables son una gran manera de personalizar su 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 apagado / encendido, o posiblemente un comando AT D. Si envía el comando AT D, entonces usted debe encontrar que los encabezados se
software comercial. La mayoría del software espera un ELM327 para
muestran ahora por defecto.
de dígitos de longitud de datos, por ejemplo. Si se realizan cambios, podría ser
responder de cierta manera a los comandos, y puede ser confuso si el carácter de retorno de carro se ha redefinido, o si la r espuesta CAN muestra un código 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 alterar, ocasionalmente puede ser difícil saber qué cambios ha hecho a ellos. Para ayudar con esto, el ELM327 proporciona un 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 / habilitada (N), o apagado / desactivado (F). Para una versión 2.1 ELM327, con sólo los encabezados
uno, de modo que sea más fácil para volver sobre sus pasos y 'deshacer' lo que ha hecho, en caso de que tenga que hacerlo. Si usted consigue en demasiado profundamente, no se olvide el comando 'todo apagado':
> AT PP FF OFF 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
www.elmelectronics.com
68 de 94
ELM327 Los parámetros programables (continuación)
tasa o el carácter de retorno de carro, por ejemplo, y olvida lo que les ha fijado a. El valor de retorno de carro que se establece por el PP 0D es el único personaje que es reconocido por el ELM327 como poner fin a un comando, por lo que si cambia su valor, no puede ser capaz de deshacer el cambio. En este caso, su único recurso puede ser a la fuerza todos los PP con un truco especial de hardware. Cuando los ELM327 primeras potencias de hasta, busca un puente entre el pin 28 (salida de la OBD Tx LED) y el circuito común (V S S). S i un puente está en su lugar, se apagará la totalidad del PP para usted, la
- lugares pines 8 o 19 del ELM327, pin 5 de un conector RS232, un extremo de la mayoría de los condensadores, o en el conector OBD), a continuación, mantenga el otro extremo del puente a la clavija 28, mientras enciende el instrumento. Cuando vea el RS232 Rx LED comenzará a parpadear rápidamente, quitar el puente - el LED intermitente significa que funcionaba y el PP están todos fuera.
Esta característica sólo se debe utilizar cuando se meten en problemas graves, y es su única opción (ya que poner un puente en un circuito vivo podrían causar daño si lo pones en el lugar 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 programables disponibles actualmente. El carácter se muestra en la columna 'Tipo' indica que los cambios tendrán efecto. Los valores posibles son:
I - El efecto es inmediato,
D - tiene efecto después predeterminados se restauran
(AT D, AT Z, AT WS, MCLR o apagado / encendido) R - tiene efecto después de un Reset (AT Z, AT WS, MCLR o apagado / encendido) P - necesita un apagado / encendido de reinicio Tipo
(AT Z, MCLR, o apagado / encendido)
Descripción
PÁGINAS 00
01
02
03
Los valores por defecto
Realizar un comando AT MA después del encendido o reinicio
La impresión de los bytes de cabecera (al ajuste por defecto H)
Permitir mensajes de largo (en configuración predeterminada AL)
NO tiempo de espera DATOS (AT ajuste predeterminado ST) ajuste =
00 = ON FF = OFF 00 = ON FF = OFF 00 = ON FF = OFF
00 a FF
FF
Tipo R
(APAGADO)
FF
re
(APAGADO)
FF
re
(APAGADO)
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 = OFF
00
R
0A
ELM327DSJ
00 a FF
Carácter de salto de línea
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
(EN)
0A
R
69 de 94
ELM327 Parámetro programable Resumen (continuación)
0C
Values Default
Description
PP
RS232 baud rate divisor when pin 6 is high (logic 1) baud rate (in kbps) = 4000 ÷ (PP 0C value)
00 to FF
Type 68
PAG
(38.4)
For example, 500 kbps requires a setting of 08 (since 4000/8 = 500) Here are some example baud rates, and the divisor to be used: Baud Rate (kbps)
PP 0C value hex (dec)
19.2
D0
(208)
38.4
68
(104)
57.6
45
(69)
115.2
23
(35)
230.4
11
(17)
500
08
(8)
Notes: 1. The PP 0C value must be provided as hex digits only. The decimal values (listed above in brackets) are only shown for your convenience. 2. The ELM327 can only process continuous byte receives at rates of about 600 kbps maximum. If you need to connect at a higher rate, add a delay between the bytes to maintain an average rate of 600 kbps or less. 3. A value of 00 provides a baud rate of 9600 bps. 0D
Carriage Return Character
00 to FF
0E
Power Control options
00 to FF
0D
R
9A
R
(10011010)
Each bit controls an option, as follows: b7:
1: on Master enable 0: off if 0, pins 15 and 16 perform as described for v1.0 to v1.3a (must be 1 to allow any Low Power functions) b6: Pin 16 full power level 1: high 0: low normal output level, is inverted when in low power mode b5: Auto LP 0: disabled 1: enabled control allows low power mode if the RS232 activity stops b4: Auto LP timeout 0: 5 mins no RS232 activity timeout setting b3: Auto
1: 20 mins
0: disabled 1: enabled LP warning if enabled, says ‘ACT ALERT’ 1 minute before RS232 timeout b2: Ignition 0: disabled 1: enabled control allows low power mode if the IgnMon input goes low
ELM327DSJ
Elm Electrónica - Circuitos para el aficionado
www.elmelectronics.com
70 of 94
ELM327 Programmable Parameter Summary (continued) PP 0E
Values Default
Description
Type
Power Control options (continued) b1:
1: 5 sec Ignition delay 0: 1 sec delay after IgnMon (pin 15) returns to a high level, before normal operation resumes b0: reserved for future - leave set at 0
0F
Activity Monitor options
00 to FF
D5
D
(11010101)
Each bit controls an option, as follows: b7: monitor master control must be 1 to allow b3 to b6 b6:
0: disabled 1: enabled
allow wake from Low Power 0: no wakes on shift from no activity to activity b5: Auto
1: yes
0: disabled 1: enabled LP control allows low power mode if the OBD activity stops b4: Auto LP timeout no OBD activity timeout setting b3: Auto
0: 30 secs 1: 150 secs
0: disabled 1: enabled LP warning if enabled, says ‘ACT ALERT’ on timeout b2: reserved for future - leave set at 1 b1: add exclamation
1: yes 0: no mark if 1, sends ‘!’ before ACT ALERT and LP ALERT b0: LP LED 0: disabled 1: enabled if 1, the OBD Tx LED flashes when in Low Power mode (one 16 msec flash repeated every 4 seconds) 10
11
12
J1850 voltage settling time setting (in msec) = (PP 10 value) x 4.096
00 to FF
J1850 Break Signal monitor enable (reports BUS ERROR if break signal duration limits are exceeded)
00 = ON FF = OFF
(ON)
00 = invert FF = normal
(normal)
J1850 Volts (pin 3) output polarity normal = Low output for 5V, High output for 8V invert =
0D
R
(53 msec)
00
FF
D
R
High output for 5V, Low output for 8V 13
14
15
Time delay added between protocols 1 & 2 during a search setting (in msec) = 150 + (PP 13 value) x 4.096
00 to FF
ISO/KWP final stop bit width (provides P4 interbyte time) setting (in µsec) = 98 + (PP 14 value) x 64
00 to FF
ISO/KWP maximum inter-byte time (P1), and also used for the minimum
00 to FF
inter-message time (P2). setting (in msec) = (PP 15 value) x 2.112
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
55
I
(498 msec)
50
D
(5.2 msec)
0A
D
(21 msec)
71 of 94
ELM327 Programmable Parameter Summary (continued)
16
17
18
19
1A
1B
1C
Values Default
Description
PP
Default ISO/KWP baud rate (AT IB default setting) Note: 4800 baud can not be a default - set it with AT IB 48
FF 10
ISO/KWP wakeup message rate (AT SW default setting) setting (in msec) = (PP 17 value) x 20.48
00 to FF
ISO/KWP delay before a fast init, if a slow init has taken place setting (in msec) = 1000 + (PP 18 value) x 20.48
00 to FF
ISO/KWP delay before a slow init, if a fast init has taken place setting (in msec) = 1000 + (PP 19 value) x 20.48
00 to FF
Protocol 5 fast initiation active time (TiniL) setting (in msec) = (PP 1A value) x 2.5
00 to FF
Protocol 5 fast initiation passive time (TiniH) setting (in msec) = (PP 1B value) x 2.5
00 to FF
ISO/KWP outputs used for initiation (b7 to b2 are not used) b1: L line (pin
00 to FF
R
(10.4K)
92
D
(3.0 sec)
31
I
(2.0 sec)
31
I
(2.0 sec)
0A
D
(25 msec)
0A
D
(25 msec)
0: disabled 1: enabled 0: disabled 1: enabled
22) b0: K line (pin 21)
Type
03
D
(00000011)
= 96 FF =
If disabled, an output will remain low during protocol initiations 1D
1E
21
24
25
ISO/KWP P3 time (delay before sending requests) Ave time (in msec) = (PP 1D value - 0.5) x 4.096
00 to FF
ISO/KWP K line minimum quiet time before an init can begin (W5) setting (in msec) = (PP 1E value) x 4.096
00 to FF
Default CAN Silent Monitoring setting (for AT CSM)
FF = ON 00 = OFF
(ON)
00 = ON FF = OFF
(ON)
00 = ON FF = OFF
(ON)
00
D
FF
D
CAN auto formatting (AT CAF default setting)
CAN auto flow control (AT CF C default setting)
0F
D
(59 msec)
4A
D
(303 msec)
26
CAN filler byte (used to pad out messages)
00 to FF 00
28
CAN Filter settings (controls CAN sends while searching) The bits of this
00 to FF
FF
00
00
R
D
D
(11111111)
byte control options, as follows: b7: 500 kbps match
b6: 250 kbps match
0: ignored
1: required
0: ignored
1: required
b5 to b1: reserved for future - leave set to 1 b0: send if bus is quiet 29
ELM327DSJ
0: not allowed 1: allowed
Printing of the CAN data length (DLC) when printing header bytes (AT D0/D1 default setting)
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
00 = ON FF = OFF
FF
D
(OFF)
72 of 94
ELM327 Programmable Parameter Summary (continued)
2A
Values Default
Description
PP
CAN Error Checking (applies to protocols 6 to C) Each bit of
00 to FF
Length
0: accept any 1: must be 8 bytes
b6: ISO15765 PCI = 00
0: allowed
1: not allowed
b5: Search after ERR94
0: normal
1: CAN is blocked
D
1: CAN is blocked 0: bypass
1: perform
enabled (CAN & KWP)
0: no
1: yes
b1: valid Modes (xx values)
0: all
1: only 00 to 0F
b0: valid CAN protocols
0: all
1: only ISO15765
b3: Wiring Test
3C (00111100)
this byte controls an option, as follows: b7: ISO15765 Data
b4: Search after LV RESET 0: normal
Type
Processing 7F xx 78’s: b2:
2B
Protocol A (SAE J1939) CAN baud rate divisor baud rate (in kbps) = 500 ÷
01 to 40
2C
Protocol B (USER1) CAN options. Each bit of this byte controls
to FF
R
E0
R
(11100000)
an option, as follows: b7: Transmit ID Length 0: 29 bit ID
02 (250 Kbps)
(PP 2B value) For example, setting this PP to 19 (ie. decimal 25) provides a baud rate of 500/25 = 20 kbps.
1: 11 bit ID
b6: Data Length
0: fixed 8 byte 1: variable DLC
b5: Receive ID Length
0: as set by b7 1: both 11 and 29 bit
b4: baud rate multiplier
0: x1
1: x 8/7 (see note 3)
b3: reserved for future - leave set at 0. b2, b1, and b0 determine the data formatting options: b2 b1 b0 Data Format 0 0 0 none 0 0 1 ISO 15765-4 0 1 0 SAE J1939 Other combinations are reserved for future updates – results will be unpredictable if you should select one of them. 2D
Protocol B (USER1) baud rate divisor. See PP 2B for a description.
R
01 to 40
04 (125 Kbps)
2E
Protocol C (USER2) CAN options. See PP 2C for a description.
00 to FF
80
R
(10000000)
2F
Protocol C (USER2) baud rate divisor. See PP 2B for a description.
01 to 40 00
0A
R
(50 Kbps)
Notes: 1. The ELM327 does not accept decimal digits for the Programmable Parameters - all values are hexadecimal. 2. For Programmable Parameters that describe options in terms of bits, b7 is the msb, and b0 is the lsb. 3. When b4 of PP 2C or PP 2E are set, the CAN baud rate will be increased by a factor of 8/7, but the baud rate displayed by the AT DP command will still show the base rate (as set by PP 2D or PP 2F). For example, if you set PP 2C b4 to 1, and then PP 2D to 06, the base frequency will be 83.3 kbps. The AT DP command will report 83 kbps, but the actual baud rate will be 83.3x8/7 = 95.2 kbps.
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
73 of 94
ELM327 Maximum CAN Data Rates We are occasionally asked what the maximum data rate is that the ELM327 can handle. This is often after someone has tried to monitor all data using the default settings and has received a ‘BUFFER FULL’ error. It is difficult to say exactly what the maximum rate is, however, as several factors are involved. The CAN ‘engine’ inside the ELM327 is actually configured with one receive register that accepts messages from the data bus, and another register that accepts messages from the first. As long as the firmware empties the second register before the first register needs it, there should not be any overflow problems with this component. The ELM327 actually moves the data quickly to temporary storage, so this is never a problem.
It would be nice if all the firmware had to do was to empty the second register, and wait for it to fill again, but that is not so. It must also check for errors, possibly queue a CAN response, format the received
message from ECU 11 bit/500 = 220 29 bit/250 = 520
min space 11 bit/500 = 16 29 bit/250 = 32
The diagram below shows these processes grouped into blocks. The times shown are typical for an ISO15765-4 message, and as you can see, vary with both the length of the CAN message and the CAN baud rate. All values shown are time measurements in µsec (microseconds). baud rate that you select. When a message arrives, the ELM327 moves quickly to move the received bytes from the special CAN registers, so that they do not affect the next message that arrives. The data is then formatted (as ASCII bytes) and placed into the RS232 transmit buffer, for sending to the controlling processor. As long as messages do not arrive at a rate that is faster than the ELM327 can process them in, depending on what formatting options you have chosen, and the all messages will be
next message. These tasks can take a considerable time, At 40% Bus Loading: 11 bit/500 = 354 29 bit/250 = 828
message
CAN Data
message
it into the RS232 transmit buffer, and then prepare to receive the Rx register is empty and can accept the next message Moving Data moves and error checks 500k = 29 250k = 41
all data is in the send buffer
Notes:
- all times are in µsec - times shown are averaged typical - messages have 8 data bytes, and: headers convert on (AT H1), things while it is sending RS232 message, it to ascii, load spaces off (AT S0), linefeeds off (AT L0)
Processing Data formatting & preparation 11 bit ID = 193 29 bit ID = 210
Sending Results
ELM327DSJ
this is a background task - the ELM327 can do other
send time depends on message length and baud rate, but on average is: 38.4k 115.2k 500k 400 5180 1740 11 bit ID 500 6475 2175 29 bit ID
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
74 of 94
ELM327 Maximum CAN Data Rates (continued) processed. You can see from the figure that even for a 500 kbps message with an 11 bit ID, the ELM327 finishes with time to spare. Since ISO15765-4 specifies that messages must be 8 data bytes in length (filler bytes are added as needed) these times do represent the typical situation, with a 40% bus load. Actually, from these numbers the ELM327 should be able to handle 100% bus loading (which is not a practical situation).
Once the ELM327 has placed all of the properly formatted bytes into the RS232 transmit buffer, it is up to the controlling computer to fetch them in a timely fashion. If the bytes are removed too slowly, the buffer will continue to fill as new OBD messages arrive, and the buffer will eventually become full. It does not matter how big the buffer is, if the rate of removing bytes from the buffer is slower than the rate of putting them into the buffer, it will eventually fill up. When it is full, you will see a ‘BUFFER FULL’ message, and you will have to start over.
The ELM327 transmit buffer is 512 bytes in size. Considering that some bytes will be sent while new messages are being queued, this means that you can typically store:
usually do not see any BUFFER FULL errors, even with very busy busses. When people ask us then, ‘What data rate can the ELM327 support?’ the answer is not easy to provide, as it depends on many factors. It depends on the CAN message content, the data rate, and whether you have selected filters to eliminate irrelevant messages. The rate also depends on the RS232 baud rate that you have chosen, as it may be the limiting factor if there are a great number of messages being retrieved. If you are only fetching 10 or 20 messages, however, the internal buffer takes care of them for you, and the baud rate that you choose does not matter.
If you are simply fetching PID responses from the network, there really is no limitation within the ELM327, and it does not matter what the ‘maximum CAN data rate’ is. If you are trying to ‘push the envelope’, monitoring everything that travels on a very busy CAN data bus, then there will be limitations. What they are depend to a great deal on what choices you make. Hopefully this discussion will have helped to give you the necessary background information to do so.
38.4k 115.2k 500k 11 bit/500k 28 29 bit/250k 26
38 56
– –
messages in the buffer, if the bus loading is at 40%, as shown. This storage is more than enough for almost all OBD requests – the only time that you might get into trouble is if you are monitoring all messages on the bus (AT MA) with no filters set. In that case, you would need to be sure that you are removing bytes as fast as they are being generated. The rate at which OBD messages occur depends on the ‘bus loading’. This is a utilization factor that is very similar to the duty cycle for a square wave signal. Ideally, bus loading should be less than about 30%, but as vehicles become more complex, this is very difficult to do. Some vehicles are reportedly seeing 70% bus loads.
The above chart does not show any numbers in the 500 k column, as the buffer should never fill up when bus loading is 40%. As you increase loading, you will eventually reach the limit, but even with very busy data busses, we typically see about 150 messages before a BUFFER FULL is reported. If we turn off spaces and Linefeeds (AT S0, AT L0), we
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
75 of 94
ELM327 Microprocessor Interfaces A very common question that we receive is ‘Can I connect the ELM327 directly to my own circuit, or must I use the interface shown?’ Certainly you may connect directly to our ICs, and you do not need to use an RS232 or USB interface. There are a few items to consider, however.
The ELM327 also provides a hand-shaking feature that may simplify the flow of data for you. The interface consists of two pins an input an an output. The input is called ‘request to send’ (RTS), and it is used to interrupt the ELM327, just the same as tapping a key on the keyboard when using a terminal program. The output pin (‘Busy’) is used by the ELM327 to tell your system that it is processing data.
The ELM327 is actually a microprocessor that contains a standard UART type interface, connected to the RS232 Tx and Rx pins. The logic type is CMOS, and this is compatible with virtually all 5V TTL and CMOS circuits, so you should be able to connect directly to these pins provided that the two devices share the same power supply (5V), and that they are not physically more than about 10 to 20 inches apart (CMOS circuits are subject to latch-up from induced currents, which may be a problem if you have long leads).
To use the handshaking feature, set one of your port pins to normally provide a high output, and connect it to the RTS input (pin 15). Use another port pin as an input to monitor the ELM327 Busy output (pin 16). When you want to send a command, simply check the Busy output first. If it is at a high logic level, then either wait for it to go low, or if you need to interrupt the IC, then bring the RTS line low and wait for the Busy line to go low. (You might want to consider using an edge triggered interrupt on the Busy output, if one is available). When Busy does go low, restore your RTS line to a high level, and then send your command to the ELM327. No need to worry about the ELM327 becoming busy again after you raise the RTS line at this point – once Busy goes low, the ELM327 will wait (indefinitely) for your command. If you do not use the RTS input on the ELM327, it must be connected to a high logic level, as shown. Note that
The normal (idle) levels of the ELM327 transmit and receive pins are at the V DD ( 5 V) level. Most microprocessors and RS232 interface ICs expect that to be the idle level, but you should verify it for your microprocessor before connecting to the ELM327. The connections are straightforward - transmit connects to receive, and receive connects to transmit, as shown below. Don’t forget to set both devices to the same baud rate.
+ 5V
your microprocessor
+ 5V
Tx Rx
L1-L4 R27-30 470 Ω
+ 5V
+ 5V n.c. 16 17 18 19 20 21 22 23 24 25 26 27 28
Rx Tx
15
Busy RTS
327
+ 5V 1
2
3
4
5
6
7
8
9
The ELM327 and your microprocessor should use the same 5V supply
10 11 12 13 14
to R15 to R21
X1 4.00MHz C3 27pF
ELM327DSJ
C4 27pF
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
76 of 94
ELM327 Microprocessor Interfaces (continued) the default setting for PP 0E turns these hand-shaking signals off, so you will need to change that in order to use them.
+3.3V
We are often asked about connecting the ELM327 to 3.3V logic, which is quite popular. Many hope that they can just insert a resistor or two and have it work. Unfortunately, that is not the case, mostly because the ELM327 has Schmitt waveshaping on the RS232 Rx input (pin 18), and so may need as much as 4V for a high input (although it often works with less). To ensure that there’s enough voltage, we recommend using a level translator circuit such as the TXB0102 from Texas Instruments (www.ti.com), the ST2129 from ST Microelectronics (www.st.com), or the Analog Devices (www.analog.com) ADuM1201 as shown here. We have been using the ADuM1201 with the Raspberry Pi lately, because it offers galvanic isolation (to 2500 Vrms) in addition to the level translation, so protects the Pi from occasional wiring problems. Note that for complete isolation you must use separate commons for the 5V and the 3.3V power supplies. The one disadvantage with the ‘1201 over the others is that it draws about 1 mA, which can be an issue if you are trying to use the low power mode with your ELM327.
your microprocessor Tx Rx
+3.3V
+ 5V
ADuM1201
5678 1
2
3
4
+ 5V
+ 5V n.c. 16 17 18 19 20 21
Rx Tx
15
Busy RTS
327 7
8
9
10 11 12 13 14
Upgrading Versions A popular question that we receive is “Can I upgrade my firmware with a file download?”. The answer to this is no, the ELM327 can not be upgraded in this way - your integrated circuit must be replaced. The next question which usually follows is “Can I simply replace an old ELM327 chip with a new one to upgrade the firmware?” The answer to this last question is basically yes. We say basically because there was a change between versions 1.3a and 1.4b when we added the power control feature. This change modified how pins 15 and 16 were used (they took on dual roles), and that may affect your circuit.
handshaking with a microprocessor or other device, then you may need to take extra steps. Usually this only requires turning off the low power control by setting b7 of PP 0E to 0. If you are replacing a v1.4b or a v2.0 integrated circuit with a newer one, then there are no concerns. Please note that there are several clone products available that use integrated circuits that mimic the ELM327 at a software level. They do not necessarily mimic the hardware. For this reason, you should not replace a clone chip with a genuine ELM chip, unless you are absolutely certain that all 28 pins of the integrated circuits are identical.
If your circuit board is older and used an earlier version of our chip (ie pre v1.4b), then you have to look at what pins 15 and 16 were used for. Almost all of the early boards followed our example and left pin 16 open, and pin 15 tied to +5V. If your circuit did this, there is no problem - you may simply replace the old chip with a new one. If your circuit board used pins 15 and 16 for ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
77 of 94
ELM327 Example Applications The SAE J1962 standard dictates that all OBD compliant vehicles must use a standard connector, the shape and pinout of which is shown in Figure 8 below. The dimensions and pin connections for this ‘Type A’ connector are fully described in the SAE J1962 standard.
1
8
9
16
24V, and not just 12V. Also, if you are considering using the Activity Monitor to wake the ELM327 from a low power sleep mode, be sure that the transceiver chip that you pick keeps the receiver functional when in standby mode (if it does not pass the signals on, the ELM327 can not see them). The circuit shown directly below the CAN interface is used for the ISO 9141 and ISO 14230 signals. We provide two output lines, as required by the standards, but depending on your vehicle, you may not need to use the ISO-L output. (Many vehicles do not require this signal for initiation, but some do, so it is shown here.) If your vehicle does not require the L line, simply do not connect anything to pin 22, and do not install Q6, R16 or R17.
Figure 8. The J1962 Vehicle Connector The circuit that you build with the ELM327 will be required to connect by way of a matching male J1962 connector. Fortunately these are available from several sources, easily found with a web search. Note that before OBDII was adopted, several vehicles (most notably those made by General Motors) used a very similar connector (mostly) for their factory communications. These vehicles typically used what is known as the ALDL protocol, which the ELM327 does not support. Check that your vehicle is actually OBDII compliant before building your ELM327 circuit.
The ELM327 controls both of the ISO outputs through NPN transistors Q6 and Q7 as shown. These transistors have 510 Ω pullup resistors connected to their collectors, as the standard requires. Occasionally, we are asked about substitutes for these resistors – the standard specifies 510 Ω but in a pinch you might be able to use 560 Ω. A better solution would be to make 510 Ω from 240 Ω and 270 Ω 1/4W resistors in series. We do not recommend using a lower value for the resistance as it stresses every device on the bus. Note that 1/2W resistors are specified in Figure 10 as a short at 13.8V causes about 0.4W dissipation.
The circuit on page 80 (Figure 9) shows how the ELM327 might typically be used. Circuit power is obtained from the vehicle via OBD pins 16 and 5 and, after a protecting diode and a capacitor for filtering, is presented to a five volt regulator. (Note that a few vehicles have been reported to not have a pin 5 – on these you will use pin 4 instead of pin 5.) The regulator powers several points in the circuit as well as an LED (L5) for visual confirmation that power is present. We have used a 7805 regulator for this circuit as it is very common, and usually easy to obtain.
Be careful if you are designing a circuit that might monitor other scan tools. Both the ELM327 and the other scan tool would present 510 Ω resistors, so the vehicle would see 255 Ω connected externally. This would very likely cause data errors, and might even damage some circuitry. To avoid this, you might wish to build your circuit in such a way that you can switch the ELM327’s 510 Ω resistors out, and replace them with a larger value. For example, you might put 10K Ω
The top left corner of Figure 9 shows the CAN interface circuitry. We do not advise making your own interface using discrete components – CAN buses typically have a lot of critical information on them, and you can easily do more harm than good, so it is strongly recommended that you use a commercial transceiver chip as shown. We show a Microchip MCP2551 in this circuit, but most major manufacturers produce CAN transceiver ICs – look at the NXP PCA82C251, the Texas Instruments SN65LBC031, and the Linear Technology LT1796, to name only a few. Be sure to pay attention to the voltage limits as depending on the application, you may have to tolerate
ELM327DSJ
resistors in series with the 510 Ω ones, and add removable jumpers or switches across the 10K Ω resistors. Most people do not need to do this – we only mention it because of the questions that we do receive. The ISO data is both sent and received on the ISO-K line. Pin 12 of the ELM327 reads this data through the R20-R21 voltage divider. Because of the Schmitt trigger input on pin 12, these resistors will give typical threshold levels of 7.0V (rising) and 3.6V (falling), which provides a large amount of noise immunity while also protecting the IC. If you should connect test equipment to pin 12 (ie in parallel with R21), the thresholds will increase, so be conscious of
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
78 of 94
ELM327 Example Applications (continued) what you are doing while testing. The final OBD interface shown is in the bottom left corner, and is used for the two J1850 standards. The J1850 VPW standard needs a positive supply of up to 8V while the J1850 PWM needs 5V, so we have shown a two level supply that can provide both. This dual voltage supply uses a 317L adjustable regulator as shown, controlled by the pin 3 output. With the resistor values given, the selected voltages will be about 8.0V and 5.5V, which works well for most vehicles. Note that the 317L is able to maintain regulation with a minimum of 1.5 mA of current, so we have used a 470 Ω resistor between the output and adjust pins. The larger 317 regulator typically requires
3.5 mA so would need the resistors scaled down proportionally. Once suitable voltages have been generated, they are driven by the Q1-Q2 combination for the Bus+, and Q3 for the Bus-. The J1850 VPW input uses a resistor divider, similar to that which was used for the ISO input. Typical threshold voltages with the resistors shown will be about 4.2V (rising) and 2.2V (falling). The J1850 PWM input is a little different in that it must convert a differential input into a single-ended one for use by the ELM327. This is done by connecting Q4 across the input so that it operates as a difference amplifier. The Q4-D3 series combination sets a threshold voltage of about 1V (for improved noise immunity), while R11 limits the current flow, and R12 makes sure that Q4 is off when it should be. The circuit works well as shown, but the R14 passive pullup time constant can be easily affected by stray capacitance - be aware of this if connecting test equipment to pin 13.
Resistor R10 is the final J1850 component. We added this to help discharge the data bus more rapidly when it was found that some vehicles showed higher capacitance than others. The resistor may not be required for many vehicles - the choice is yours. If you should see reports of BUS ERRORs with a J1850 vehicle, it may be this capacitance causing problems (you will need to ‘scope the signal to be sure). Moving on, the R25-R26 voltage divider shown connected to pin 2 is used for the vehicle voltage monitoring circuitry. The two resistors simply divide the battery voltage to a safer level for the ELM327, and the capacitor (C2) helps to filter out noise. As shipped, the ELM327 expects a resistor divider ratio as shown, and sets nominal calibration constants assuming that. If your application needs a different range of values, simply choose your resistor values to maintain the
ELM327DSJ
input within the ELM327’s V SS to V DD v oltage range, and then perform an AT CV to calibrate the ELM327 to your new ratio. The maximum voltage that the ELM327 can show is 99.9V (it’s a software limit, not hardware). Four LEDs are shown on pins 25 to 28. These have been provided as a visual means of confirming circuit activity. They are not essential, but it is nice to see the visual feedback. On the right side of the circuit, the ELM327’s RS232 pins (17 and 18) are shown connected to an FTDI USB module. This module makes it very easy to connect the ELM327 circuit to your computer all you need is the VCP Driver software, which is available for free from the FTDI web site (www.ftdichip.com). The module pinout matches a 9 pin D-sub connector, so you can simply solder it in where the RS232 circuitry used to go. Diode D5 and resistor R32 have been added to the interface to prevent the USB supply from backfeeding into the ELM327.
Finally, the crystal shown connected between pins 9 and 10 is a standard 4.000MHz microprocessor type crystal. The 27pF crystal loading capacitors shown are typical only, and you may have to select other values depending on what is specified for the crystal that you use. The crystal frequency is critical to circuit operation and must not be altered. We often receive requests for parts lists to accompany our Example Applications circuits. Since this circuit is more complex than most, we have named and numbered all of the components and provided a summary parts list (Figure 10). Note that these are only suggestions for parts. If you prefer another LED colour, or have a different general purpose transistor on hand, etc., then by all means make the change. A quick tip for those having trouble finding a 0.3” wide socket for the ELM327: many of the standard 14 pin sockets can be placed end-to-end to form one 0.3” wide 28 pin socket. For more help with building and testing the circuit, see our ‘AN02 ELM327 Circuit Construction’ application note.
What if you only want to support one of the ELM327’s protocols? Well, you may do that if you wish. Simply remove the OBD interfaces that you do not require, and connect the rest. Since you must never leave a CMOS input floating (open-circuited), you will need to add a jumper or two on the unused inputs. See the ‘Unused Pins’ section for advice on what to connect the pins to.
Some people still prefer to interface their circuits with standard RS232 circuitry. For these, we offer the
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
79 of 94
ELM327 CAN-L
14 6
CAN-H
C7 560pF
C8 560pF
50V
50V
V bat
n.c.
R23 100 Ω
R22 100 Ω
R24 4.7K Ω
U3
+ 12V
16
MCP2551 5678 1
U2
2
3
7805
Battery Positive
+ 5V 4
+ 5V
D1
L5 C1
C5 0.1µF
0.1µF 50V
5
R31 470 Ω
Signal Ground
C6 0.1µF V bat V bat
R17 510 Ω
R19 510 Ω
15 ISO-L
U5
R16 2.2K Ω Q6
7 ISO-K
+ 5V
R18 2.2K Ω Q7 R32
+ 5V
R20 47K Ω R21
(CTS)
4.7K Ω
ELM327 pin 12
D4
(RTS) 8
3 (TxD)7 (DSR)
USB Interface (mini B)
(DTR) 6
L1-L4
33K Ω
(DCD) 4 5 (RI) (SG)21(RxD)
R27-30 470 Ω
V bat
+ 5V
+ 5V n.c.
16 17 18 19 20 21 22 23 24 25 26 27 28
U1
R25 47K Ω
DB9-USB-D5-F 9 FTDI
15
327 + 5V
R26 10K Ω
1
Out
R5 470 Ω
(J1962)
3
4
5
6
7
8
317L Adj
R6 10K Ω
In
R2 2.2K Ω
10 11 12 13 14
to R21
C3 27pF
to R15
C4 27pF
R3 470 Ω R4 2.2K Ω
Q2
R1 4.7K Ω
R8 22K Ω
R7 D2
9
X1 4.00MHz
+ 12V
U4
OBD Interface
2
C2 0.1µF
4.7K Ω Q1
Figure 9. An OBD to USB Interpreter
R9 10K Ω
2 J1850 Bus +
R10 22K Ω
J1850 Bus - 10
D3 4.7K Ω pin 14 R15 Q3
ELM327
R11 10K Ω
+ 5V
R14 4.7K Ω
R12 47K Ω
Q4 Q5 R13 10K Ω
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
80 of 94
ELM327 Example Applications (continued) Semiconductors D1 = 1N4001 D2,
Resistors (1/8W or greater, except as noted) R22, R23
D3, D4 = 1N4148 L1, L2, L3, L4 =
= 100 Ω
Yellow LED L5 = Green LED
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 or MCP2561 U3 = 7805 regulator
R21 = 33K Ω
(5V 1A) U4 = 317L adjustable regulator (100 mA)
R12, R20, R25 = 47 K Ω
U5 = FTDI DBP-USB-D5-F usb module Capacitors (16V or greater, except as noted) C3, C4 = 27pF C7, C8 = 560pF 50V C1 = 0.1uF 50V C2, C5, C6
Misc
= 0.1uF
X1 = 4.000MHz crystal DB9M connector for OBD cable? IC Socket = 28 pin 0.3" wide (or 2 x 14pin)
Figure 10. Parts List for Figure 9 + 5V
sub-circuits of Figures 11 and 12. Figure 11 shows a discrete RS232 interface, that may be connected directly to the ELM327. This circuit uses a resistor, diode, and capacitor between the two RS232 signal lines to ‘steal’ power from the host computer. In this way, the required RS232 negative voltage is obtained without adding a complicated power supply to the ELM327 circuit. The RS232 connections shown are for a standard 9 pin connector. If you are using a 25 pin one, you will need to compensate for the differences. This circuit works well at baud rates of 57600 bps or less, but begins to show some errors at rates of 115200 bps and above.
RS232 Interface (DB9F)
4.7K Ω 10K Ω
3 (TxD)
2N3904 10K Ω
+ 5V
10K Ω
5 (SG) 0.1µF 4.7K Ω
2N3906 2 (RxD)
The circuit of Figure 12 offers another RS232 solution that works well at higher baud rates. It uses a Maxim product (the MAX3222E) that is capable of operating at up to a 250 kbps rate (be sure to visit www.maximintegrated.com for more information).
+ 5V
1 (DCD) 19
18 17
16 15
327 The MAX3222E RS232 transceiver contains internal charge pump circuitry that generates the voltages required for RS232 communications, in addition to the analog interface circuitry needed. All you have to do is provide a few capacitors, and it does ELM327DSJ
4 (DTR) 6 (DSR) 7 (RTS)
Figure 11. A Low Speed RS232 Interface ( ≤ 57.6 kbps)
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
8 (CTS)
81 of 94
ELM327 Example Applications (continued) RS232 Interface (DB9F)
the rest. We do caution that the MAX3222E does seem to place some extra demands on the 5V power supply. It should work fairly well with the 7805 regulator that we show in Figure 9, but if you have chosen a lower current device like the 78L05 or LP2950, you may experience occasional ‘LV RESET’s. If you do, we recommend adding two capacitors to the circuit of Figure 9. We suggest that a 10 µF 50V capacitor be connected in parallel with C1, and also that a 33 µF 10V unit be installed across C5 (the 5V ‘rail’). This should eliminate problems, but if it does not, you may also wish to consider a more powerful regulator (such as the 7805 that we show in Figure 9) if you do not already have one installed.
10
9
11
8
12
7
13
6
14
5
15
4
16
3
17
2
(TxD) 2 (RxD) 3
0.47µF
5 (SG)
0.47µF 1 (DCD) 0.47µF
4 (DTR)
+ 5V 18
6 (DSR) 0.1µF
1
7 (RTS)
0.1µF
The USB interface of Figure 13 provides another way to connect the ELM327 to USB systems. It uses a Silicon Laboratories (www.silabs.com) CP2102 chip to convert between the ELM327’s serial data and USB. One of the advantages of going to a USB interface is the high serial baud rates that you may experience. In order to use these higher rates, you will have to program both the USB interface and the ELM327 interface for them.
+ 5V
18 17
Figure 12. An High Speed RS232 Interface ( ≤ 250 kbps)
16 15
327
The CP2102 interface baud rate is actually configured by driver software. When you set the baud rate in your terminal program, the software does what is necessary to configure the CP2102 for operation at that rate and you do not need to do anything more. The ELM327 initially only uses a 38,400 bps rate, however, and must be told to use anything different. In order to change from the standard 38.4 k baud rate, you must first set your software to 38.4 kbps, and power up your ELM327 circuit. Make sure that it is working, as described in the ‘Communicating with the ELM327’ section, before you do anything else. When you are confident that all is well, you can then change the baud rate. Before doing so, we caution that you should check to be sure that your software actually supports the desired rate (as several can not handle more than about 250 kbps).
8 (CTS)
5.0V TVS
+ 5V
1µF
7
8
1 (+5)
SiLabs 6 CP2102
5
2 (D-)
4
(D+)
3
4 (SG) 3
26 25
0.1µF
USB Interface (type ‘B’ connector)
+ 5V
The CP2102 chip is able to support a 115.2 kbps rate natively, and almost all software should be able to support it as well, so we will use that rate to provide an example. First, while connected to the ELM327 at 38.4 kbps, we need to change the default rate to 115.2 kbps. No need to worry that this will affect your communications, as it will not take effect until the ELM327 has been reset. To change the data rate, simply change the
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
19
18 17
16 15
327
Figure 13. An Alternative USB Interface
82 of 94
ELM327 Example Applications (continued) value that is stored in Programmable Parameter 0C, then enable it:
3.3V Interface
> AT PP 0C SV 23 OK
+3.3V Tx
> AT PP 0C ON OK 3.3V common Rx
That is all that is needed to semi-permanently change the ELM327. We say semi, because it stays in effect through power downs, and resets, but you can change it again if you wish. If you now reset the ELM327 (send AT Z or power down then up), the ELM327 will begin operating at the new rate (of 115200 bps, rather than to 38400 bps). Change your software setting to also be 115200 bps, and you should be communicating. If you go through the calculations, you will note that the ELM327 baud rate is actually off by about 0.8%, but modern UARTs can typically handle rate errors of a few % without any problems.
+ 5V 1
Our final circuit (Figure 14) shows one way to interface the ELM327 to circuits that operate at a different voltage level. We show 3.3V as an example, but it can actually be anything from 2.7V to 5.5V. The circuit uses the ADuM1201 iCoupler chip from Analog Devices (www.analog.com). In addition to acting as a level translator, this device also provides isolation (galvanic, to 2500 Vrms) between the two sides. This is often desired in order to keep the vehicle circuit completely separate from the computer circuit. Typically, one might use a standard level shifter IC to interface to 3.3V – for example the TXB0102 by Texas Instruments (www.ti.com), or the ST2129 from ST Microelectronics (www.st.com), but the ADuM1201 offers several other advantages. The main difference is that it offers isolation, as mentioned, but it also can be used with 2.7V to 5.5V on either side, it provides a high output if the input side is unpowered, and it typically uses less current and is much faster than many opto-isolator solutions (the ‘1201 minimum data is 1 MHz). Of course there are a couple disadvantages too. It does use current (almost 1 mA), so may be an
ELM327DSJ
2
3
4
+ 5V
+ 5V n.c. 16 17 18 19 20 21
Rx Tx
15
Busy RTS
327 8
7
When working with the CP2102, we do caution that it is very small and difficult to solder by hand, so be prepared for that. Also, if you provide protection on the data l ines with transient voltage suppressors (TVS’s), be careful when choosing devices, as some exhibit a very large capacitance and will affect the transmission of the USB data.
ADuM1201
5678
9
10 11 12 13 14
Figure 14. Connecting to a 3.3V System
issue if trying to reduce sleep current to a minimum, and it does cost more than devices like the TXB0102. Many wireless modules (WiFi or Bluetooth®) use serial interfaces just like what we have shown here for the RS232 connections. Connecting to them should not be very difficult if you follow the manufacturers directions (and perhaps consider using devices like the ADuM1201 or the TXB0102). If you are considering using a Bluetooth interface, you might read our ‘AN-04 ELM327 and Bluetooth®’ application note first. This has provided a few examples of how the ELM327 integrated circuit might typically be used. Hopefully it has been enough to get you started on your way to many more. The following section shows how you might be able to optimize these circuits to reduce power consumption…
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
83 of 94
ELM327 Modifications for Low Power Standby Operation If you wish to semi-permanently install your ELM327 circuit in a vehicle, current consumption quickly becomes an issue. A typical ELM327 circuit draws about as much current as a dome lamp, so can not be left on for long without the vehicle’s engine running.
When it is not needed, the ELM327 may be placed in a low power ‘standby’ mode in which it consumes very little current. Reducing the integrated circuit current itself is generally not enough, however, as you must also consider the current drawn by the other components as well. The following discussion takes the circ uit of Figure 9, and modifies it slightly in order to highlight our suggestions for reducing current consumption. The resulting circuit (Figure 15) is shown following. Note that portions of the circuit that are the sa me as Figure 9 are shown in grey, while the changes that we are making are shown in black. Consider the circuit of Figure 9 in the Example Applications section. With 12V to 15V ap plied to the ‘Battery Positive’ input, the total current used by this circuit is typically:
change U3 (a 7805) to an LP2950ACZ-5.0G, and see how effective that is. While the LP2950 is a good choice for its lower quiescent current, it does suffer from stability problems if you do not provide capacitive loading as shown. Note that the 4.7uF capacitor is tantalum, while the 2.2µF one is aluminum. At this point it may also be useful to review our Application Note ‘AN03 - ELM327 Low Voltage Resets’, as you may want to us e an even larger capacitor on the 5V side. After changing U3 for an LP2950, the current is typically:
current after mod #2 = 3.5 mA If we continue to reduce the load currents beyond this point, we will quickly get to a point where any currents injected from external sources (ie. through the protection diodes at inputs such as pins 2 or 12) will become significant compared to the load currents. If these currents should exceed the load current, the Vdd voltage will rise and damage might result. To prevent the voltage from rising too high, we recommend that you add either a zener diode or a transient voltage suppressor (TVS), directly across the 5V supply, as shown in the top right corner of Figure 15. Suggestions for devices to consider are the 1N5232B zener diode or the SA5.0AG TVS.
base current = 29.8 mA Without making any wiring changes, you can reduce this current by placing the ELM327 into the low power standby mode. This only requires sending the Low Power command (AT LP), after which the current would typically drop to:
current after AT LP = 17.6 mA This reduction is due entirely to the change in the ELM327’s operating current (it only needs a very small current to stay in standby mode). But where is the other current coming from? One obvious load is the LED that shows that the power is on. The other is the CAN transceiver IC, U2. By disconnecting the common connections from R24 and R31, and then returning both to pin 16 of the ELM327, we can switch the current that these two use. With this change (which is shown as modification #1 in Figure 15), the current after AT LP drops further:
Another integrated circuit that is not changing current during l ow power mode is the 317L (U4). In fact, a quick calculation shows that it is likely using about 2.6 mA when idle, which is very significant. If we replace this IC with another that uses less current, we will be close to getting the total circuit current to less than 1 mA.
Figure 15, modification #3 shows an L P2951ACM regulator in the circuit, as a replacement for the 317L. It uses much less current than the 317 during normal operation, and offers a shutdown control input as well to further reduce current when it is not required. Note that the LP2951 circuit needs the ELM327 to provide a high level at pin 3 for a 5V output, and a low for 8V, so an inversion is needed. To do this, set PP 12 to 00 with:
> AT PP 12 SV 00 current after mod #1 = 8.2 mA
> AT PP 12 ON
There is a considerable current still flowing in the circuit at this point, but it should mainly be the voltage regulators that are using it. In the next step, we will
ELM327DSJ
then reset the chip, and the voltages will always be correct for J1850 from that point on. Note that the LP2951 regulator also requires a
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
84 of 94
ELM327 Modifications for Low Power Standby Operation (continued) 4.7uF tantalum capacitor for stability (and it helps with transient capability too). Leaving U4’s pin 3 solidly connected to circuit common, we now find that the current is about: current after mod #3 = 1.1 mA and, if we tie pin 3 of the LP2951 to pin 16 of the ELM327, the LP current becomes: current after mod #4 = 0.9 mA We can suggest one more change at this point. The MCP2551 shown draws about 0.3 mA when in standby mode, and this can be improved upon. By replacing this chip with the newer MCP2561, the standby current will be reduced even further. Typically, you will see a change of at least 0.2 mA, giving:
current after mod #5 = 0.7 mA The current has been reduced considerably through the circuit modifications, but why is there still current flowing? This is due to a number of things, some that you can change, others which you can not. The MCP2561 and the ELM327 are never completely shut off, but are instead in a low power mode, while the LP2950 regulator is operating normally (as the MCP2551 and the ELM327 need it). You can not do anything about that.
There are some currents that you may reduce, by choice in your design. The R25/R26 resistor pair uses current, but do you really need to monitor battery voltage? Similarly, the R20/R21 pair passes current, but does your application need ISO9141 or ISO14230 support? The OBD Tx LED flashes when in Low Power mode, but do you need it to? (You may turn it off with PP 0F b0, but it only uses about 25 µA on average). All of these little currents eventually add up to what we’ve measured here.
These few changes that we have shown have reduced the total current from about 30 mA to less than 1 mA (or power from 358 mW to 8 mW) - a considerable savings, which is enough for most applications. We leave any further improvements to you.
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
85 of 94
ELM327 Modifications for Low Power Standby Operation (continued) CAN-L
14
2
6
CAN-H
R23 100 Ω
R22 100 Ω
C7 560pF
C8 560pF
50V
50V
5
R24 4.7K Ω
MCP2561 5678 1
U2
2
3
16 Battery Positive
+ 5V 4
C1 0.1µF 50V
2.2µF 50V
R17 510 Ω
15
+
+
C5 0.1µF
4.7µF 10V
Signal Ground
C6 0.1µF
R19 510 Ω
+ 5V
L5
R31 470 Ω
1 R16 2.2K Ω
ISO-L
5.0V TVS
LP2950 D1
5
V bat V bat
U3
+ 12V
Vb at
n.c.
U5
Q6 7
R18 2.2K Ω
ISO-K
+ 5V
Q7
R32
+ 5V
R20 47K Ω R21
(CTS)
4.7K Ω
D4
(RTS) 8
ELM327 pin 12
3 (TxD)7 (DSR) (DTR) 6 (DCD) 4 5 (RI) (SG)21(RxD)
L1-L4
33K Ω
R27-30 470 Ω
+ 5V
DB9-USB-D5-F 9
+ 5V
FTDI
V bat 18 19 20 21 22 23 24 25 26 27 28
U1 R25 47K Ω
2
3
4
5
6
7
8
9
15
10 11 12 13 14
+ 12V
LP2951
3
C3 27pF
5678 1
(J1962)
2
3
to R21
X1 4.00MHz
47K Ω
U4
4.7µF 16V
16
327
C2 0.1µF
OBD Interface
17
+ 5V 1
R26 10K Ω
USB Interface (mini B)
to R15
4
C4 27pF
4
+
R6 10K Ω
22K Ω
Q2
R1 4.7K Ω
4.7K Ω
R8 22K Ω
R7 D2
4.7K Ω Q1 R9 10K Ω
2 J1850 Bus +
R10 22K Ω
J1850 Bus - 10 D3
4.7K Ω pin 14 R15 Q3
ELM327
R11 10K Ω
+ 5V
R14 4.7K Ω
R12 47K Ω
Figure 15. Modifications to reduce power
Q4 Q5 R13 10K Ω
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
86 of 94
ELM327 Error Messages and Alerts The following shows what the ELM327 will send to warn you of a condition or a problem. Some of these messages do not appear if using the automatic search for a protocol, or if the Programmable Parameter bits disable them.
? This is the standard response for a misunderstood command received on the RS232 input. Usually it is due to a typing mistake, but it can also occur if you try to do something that is not appropriate (eg. trying to do an AT FI command if you are not set for protocol 5).
to a wiring problem that is giving a continuously active input. If this is an initial trial with your new ELM327 circuit, then check all of the voltage levels at the offending OBD input, as this error is very likely due to a wiring problem (see our ‘AN02 - ELM327 Circuit Construction’ for some somet ypical voltages).
ACT ALERT ALERT or ! ACT ALERT
BUS ERROR
This message occurs as a warning that there has been no RS232 or OBD activity for some time (see the Power Co ntrol section for details). If allowed, the IC will be initiating a s witch to the Low Power (standby) mode of operation. If this was initiated by no RS232 activity, sending something within the next minute will stop the switch to low power. Note that the ‘!’ before ACT ALERT is printed if PP 0F bit 1 is 1.
A generic problem has occurred. This is most often from an invalid signal being detected on the bus (for example, a pulse that is longer than a valid Break signal), but usually is from a wiring error. Note that some vehicles may generate long pulses as part of their startup process, so you may see this message as part of a normal vehicle startup while ‘monitoring all.’
CAN ERROR BUFFER FULL The ELM327 provides a 512 byte internal RS232 transmit buffer so that OBD messages can be received quickly, stored, and sent to the computer at a more constant rate. Occasionally (particularly with CAN systems) the buffer will fill at a faster rate than it is being emptied by the PC. Eventually it may become full, and no more data can be stored (it is lost).
The CAN system had difficulty initializing, sending, or receiving. Often this is simply from not being connected to a CAN system when you attempt to send a message, but it may be because you have set the system to an incorrect protocol, or to a baud rate that does not match the actual data rate. As with BUS ERRORs, the CAN ERROR might also be the result of a wiring problem, so if this is the first time using your ELM327 circuit, review all of your CAN interface circuitry before proceeding.
If you are receiving BUFFER FULL messages, and you are using a lower baud data rate, give serious consideration to changing your data rate to something higher. If you still receive BUFFER FULL messages after that, you might consider turning the headers and maybe the spaces off (with AT H0, and AT S0), or using the CAN filtering commands (AT CRA, or CM and CF) to reduce the amount of data being sent.
DATA ERROR There was a response from the vehicle, but the information was incorrect or could not be recovered.
BUS BUSY This occurs when the ELM327 tries to send a message, or to initialize the bus, and detects too much activity to do so (it needs a pause in activity in order to insert the message). Although this could be because the bus was in fact very busy, it is almost always due
ELM327DSJ
There was an error in the line that this points to, either from an incorrect checksum, or a problem with the format of the message (the ELM327 still shows you what it received). There could have been a noise burst which interfered, possibly a circuit problem, or perhaps you have the CAN Auto Formatting (CAF) on and you are looking at a system that is not of the
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
87 of 94
ELM327 Error Messages and Alerts (continued) ISO 15765-4 format. Try resending the command again – if it was a noise burst, it may be received correctly the second time.
ERRxx There are a number of internal errors that might be reported as ERR with a two digit code following. These occur if an internally monitored parameter is found to be out of limits, or if a module is not responding correctly. If you witness one of these, contact Elm Electronics for advice. One error that is not necessarily a result of an internal problem is ERR94. This code represents a ‘ fatal CAN error’, and may be seen if there are CAN network issues (some non-CAN vehicles may use pins 6 and 14 of the connector for other functions, and this may cause problems). If you see an ERR94, it means that the CAN module was not able to reset itself, and needed a complete IC reset to do so. You will need to restore any settings that you had previously made, as they will have been returned to their default values. Beginning with v1.3a of this IC, an ERR94 will also block further automatic searches through the CAN protocols, if bit 5 of PP 2A is a ‘1’ (it is by default). This is done because most ERR94s will be as a result of serious CAN wiring problems. Blocking of the CAN protocols remains in effect until the next power off and on, or until an AT FE is sent.
FB ERROR When an OBD output is energized, a check is always made to ensure that the signal also appears at the respective input. If there is a problem, and no active input is detected, the IC turns the output off and declares that there was a problem with the FeedBack (FB) of the signal. If this is an initial trial with your ELM327, this is almost certainly a wiring problem. Check your wiring before proceeding. LP ALERT ALERT or ! LP ALERT This appears as a warning that the ELM327 is about to switch to the Low Power (standby) mode of operation in 2 seconds time. This delay is provided to allow an external controller enough time to prepare for the change in state. No inputs or voltages on pins can stop this action once initiated. Note that the ‘!’ before LP ALERT is printed if PP 0F bit 1 is 1.
ELM327DSJ
LV RESET The ELM327 continually monitors the 5V supply to ensure that it is within acceptable limits. If the voltage should go below the low limit, a ‘brownout reset’ circuit is activated, and the IC stops all activity. In rare cases, a sudden large change in V DD c an also trigger a low voltage reset. When the voltage returns to normal, the ELM327 performs a full reset, and then prints LV RESET. Note that this type of reset is exactly the same as an AT Z or MCLR reset (but it does not print ELM327 v2.1). An LV RESET will also block automatic searches through the CAN protocols, if bit 4 of PP 2A is a ‘1’ (it is by default). This is done because most LV RESETs seem to occur as a result of CAN wiring problems (the transceiver is capable of passing very l arge currents). Blocking of the CAN protocols is only done until the next reset (AT Z, WS, etc.) or until an AT FE is sent.
NO DATA The IC waited for the period of time that was set by AT ST, and detected no response from the vehicle. It may be that the vehicle had no data to offer for that particular PID, that the mode requested was not supported, that the vehicle was attending to higher priority issues, or in the case of the CAN systems, the filter may have been set so that the response was ignored, even though one was sent. If you are certain that there should have been a response, try increasing the ST time (to be sure that you have allowed enough time for the ECU to respond), or restoring the CAN filter to i ts default setting.
STOPPED If any OBD operation is interrupted by a received RS232 character, or by a low level on the RTS pin, the
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
88 of 94
ELM327 Error Messages and Alerts (continued) ELM327 will print the word STOPPED. If you should see this response, then something that you have done has interrupted the ELM327. Most people see it because they have not waited for pin 15 to go high, or for the prompt character (‘>’) to be displayed before starting to send the next command. Note that short duration pulses on pin 15 may cause the STOPPED message to be displayed, but may not be of sufficient duration to cause a switch to Low Power operation.
UNABLE TO CONNECT If you see this message, it means that the ELM327 has tried all of the available protocols, and could not detect a compatible one. This could be because your vehicle uses an unsupported protocol, or could be as simple as forgetting to turn the ignition key on. If you are sure that your vehicle uses an OBDII protocol, then check all of your connections, and the ignition, then try the command again.
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
89 of 94
ELM327 Version History We are often asked about the differences between the various ELM327 integrated circuits. The following summarizes some of these for you:
v1.0
v1.2
Features: -Multi-protocol chip supports SAEJ1850 PWM, SAEJ1850 VPW, ISO9141-2, ISO14230-4, and ISO15765-4 OBDII protocols. -Communicates with a PC at 9.6 or 38.4 kbps AT Commands: @1, , AL, BD, BI, CAF0, CAF1, CF, CFC0, CFC1, 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, SH, SP, ST, SW, TP, WM, WS, Z Programmable Parameters:
New Features: -RS232 baud rates are adjustable to 500 kbps -Programmable Parameters can all be reset with a jumper -Introduced Adaptive Timing -Added SAE J1939 support (protocol A) -Added user defined CAN protocols B and C -KWP protocols allow four byte headers New AT Commands: AR, AT0, AT1, AT2, BRD, BRT, DM1, IFR H, IFR S, IFR0, IFR1, IFR2, IIA, KW0, KW1, MP, SR, WM New Programmable Parameters:
none 00, 04, 06, 07, 0C, 2B, 2C, 2D, 2E, 2F v1.0a New Features: -Minor J1850 VPW timing adjustment for some 1999 and 2000 GM trucks. New AT Commands:
v1.2a New Features: -Minor changes to improve error detection New AT Commands: none
none Programmable Parameters: none
New Programmable Parameters: none
v1.1
v1.3
New Features: -Programmable Parameters
New Features: -Added ability to state the number of responses desired
-User control over CAN flow control
-New CAN CRA commands to help with setting the mask and filter
messages New AT Commands: FC SD, FC SH, FC SM, PP FF OFF, PP FF ON, PP OFF, PP ON, PP SV, PPS Programmable Parameters: 01, 02, 03, 09, 0A, 0D, 10, 11, 13, 16, 17, 18, 24, 25, 26, 29
-Able to send CAN RTR messages -New STOPPED message for user interrupts during searches -Introduced LV RESET message for resets from low voltage -New @2 and @3 commands for storing of a unique identifier
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
90 of 94
ELM327 Version History (continued) New AT Commands: @2, @3, CRA, D0, D1, JE, JS, KW, MP, RA, RTR, S0, S1, SP00, V0, V1 New Programmable Parameters: 2A
v1.4b New Features: -Able to provide active or passive CAN monitoring -New CRA command to restore the mask and filter to their default values -Several SAE J1939 improvements New AT
v1.3a New Features: -Added wiring checks to detect when the J1962 CAN pins are used for other functions New AT Commands:
Commands: CRA, CSM0, CSM1, JHF0, JHF1, JTM1, JTM5, MP (with # messages) New Programmable Parameters: 21
FE New Programmable Parameters: none
v2.0 New Features: -Increased the RS232 Tx buffer to 512 bytes
v1.4
-New Activity Monitor watches all OBD inputs
New Features: -Added Low Power (sleep) mode
-Wake from Low Power now retains settings
-Added extended addressing mode for CAN protocols -Added 4800 baud ISO 9141 and ISO 14230 support -ISO 9141 and ISO 14230 can be manually initiated -Provided a single EEPROM byte for user data storage -All interrupts now say STOPPED (not just when
-The CRA commands now accept X’s for input -New PP's provide extensive ISO/KWP control -Brownout reset voltage reduced to 2.8V New AT Commands: AMC, AMT, CRA (with X’s), SH (4 byte) New Programmable Parameters: 0C, 0F, 14, 15, 19, 1A, 1B, 1C, 1D
searching) New AT Commands: CEA, CV 0000, FI, IB48, IGN, LP, PB, RD, SD, SI, SS, TA New Programmable Parameters: 0E, 12, 15, 19, 2C, 2E
v2.1 New Features: -Many optimizations for increased speed -Detects response pending replies (7F xx 78) and adjusts timeouts for same -CAN searches now measure frequency and block sends
v1.4a Elm Electronics never made a v1.4a
if there is a mismatch New AT Commands: CTM1, CTM5 New Programmable Parameters: 1E, 28
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
91 of 94
ELM327 Outline Diagrams The diagrams at the right show the two package styles that the ELM327 is available in. The first shows our ELM327P product in what is commonly called a ‘300 mil skinny DIP package’. It is used for through hole applications. The ELM327SM package shown at right is also sometimes referred to as 300 mil, and is often called an SOIC package. We have chosen to simply refer to i t as an SM (surface mount) package.
ELM327P 2.54 7.24
max 10.92
The drawings shown here provide the basic dimensions for these ICs only. Please refer to the following Microchip Technology Inc. documentation for more detailed information:
Package Drawings and Dimensions Specification,
ELM327SM
(document name en012702.pdf - 7.5MB). Go to www.microchip.com, select ‘Design Support’ then ‘Documentation’ then ‘Packaging Specifications’, or go directly to www.microchip.com/packaging
1.27 7.50
PIC18F2480/2580/4480/4580 Data Sheet,
10.30
(document name 39637d.pdf - 8.0MB). Go to www.microchip.com, select ‘Design Support’ then ‘Documentation’ then ‘Data Sheets, and search for 18F2480.
Note: all dimensions shown are in mm.
Ordering Information ELM327 integrated circuits are 28 pin devices, available in either a 300 mil wide plastic (‘skinny’) DIP format or in a 300 mil (7.50 mm body) SOIC surface mount type of package. We do not offer an option for QFN packages. To order, add the appropriate suffix to the part number: 300 mil 28 pin Plastic DIP..............................ELM327P 300 mil 28 pin SOIC....................................ELM327SM
ELM327 is a registered trademark of Elm Electronics Inc. All rights reserved. Copyright 2005 to 2014 by Elm Electronics Inc. Every effort is made to verify the accuracy of information provided in this document, but no representation or warranty can be given and no liability assumed by Elm Electronics with respect to the accuracy and/or use of any products or information described in this document. Elm Electronics will not be responsible for any patent infringements arising from the use of these products or information, and does not authorize or w arrant the use of any Elm Electronics product in life support devices and/or systems. Elm Electronics reserves the right to m ake changes to the device(s) described in this document in order to improve reliability, function, or design.
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
92 of 94
ELM327 Index A
F Features, 1 Figure 9, 80 Filter and Mask, CAN, 47 Flow Control Messages, Altering, 60 FMS Standard, 58 Frequency Matching, CAN, 62
Absolute Maximum Ratings, 6 Activity Monitor, 64 Altering Flow Control Messages, 60 Applications, Example, 78-83 AT Commands, 10 AT Command Descriptions, 12-28 Summary, 10-12 Alerts, Error Messages and, 87-89
H
Battery Voltage, Reading the, 29 Baud Rates, Usi ng Higher RS232, 50-51 Block Diagram, 1 Bus FMS Standard, 58 Bus Initiation, 33
I
Headers, setting them, 39-41 Higher RS232 Baud Rates, 50-51 History, Version, 90-91
B
Initiation, Bus, 33 Inputs, unused, 6 Interface, Microprocessor, 76-77 Interpreting Trouble Codes, 34
C CAN Data Rates, Maximum, 74 CAN Extended Addresses, Using, 61 CAN Frequency Matching, 62 CAN Message Types, 46 CAN Receive Filtering, 46 Codes, Trouble,
Interpreting, 34 Resetting, 35 Commands, AT Descriptions,12-28 Summary, 10-12 Commands, OBD, 30 Communicating with the the ELM327, 8-9 CRA, the Command, 46
J J1939, FMS Standard, 58 Messages, 53-54 NMEA 2000, 59 Number of responses, 56 Using, 55-58
K KeepAlive (Wakeup) Messages, 59 L Low Power Operation, Description, 64-67 Modifications, 84-86
D Data Byte, Saving, 63 Description and Features, 1
E Electrical Characteristics, 7 Error Messages, 87-89 Example Applications Basic, 78-80 Connecting to 3.3V, 83 Figure 9, 80 Low Power, 84 USB, 80, 82
M Mask and Filter, CAN, 47 Maximum CAN Data Rates, 74 Maximum Ratings, Absolute, 6 Messages and Filtering, CAN, 46 Messages, Error, 87-89 Message Formats, OBD, 38-39 Message Types, CAN, 44 Microprocessor Interfaces, 76-77 Modifications for Low Power, 84-86 Monitoring the Bus, 48 Multiline Responses, 42-43 Multiple PID Requests, 45
Extended Addresses, CAN, 61
ELM327DSJ
Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com
93 of 94