Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin Para ver cmo usa el bus OBD su vehculo, puede ingresar al modo Monitor All del ELM327 enviando el comando AT MA desde su programa de la terminal. Esto har que el CI muestre cualquier informacin que ve en el bus OBD, sin importar las direcciones del transmisor o receptor (mostrar todo). Note que el ELM327 permanece en silencio mientras monitorea, de modo que no se envan mensajes peridicos de despertar (si tiene un bus ISO 9141 o ISO 14230 que haba sido inicializado anteriormente, puede ir a dormir), no se envan IFRs, y el mdulo CAN no reconoce mensajes. El modo de monitoreo puede detenerse poniendo un 0 lgico en la pata RTS, o enviando un solo carcter RS 232 al ELM 327. Se puede usar cualquier carcter conveniente para interrumpir al CI y no hay restricciones acerca de si es imprimible, etc. Note que el caracter que Ud. enva ser descartado, y no tendr ningn efecto en cualquier comando subsiguiente. El tiempo que le lleva responder a este carcter de interrupcin depender de
lo que est haciendo el CI cuando se recibe el carcter. El CI siempre terminar una tarea que est en progreso (por ejemplo, imprimir una lnea) antes de volver a esperar una entrada, de modo que siempre debe esperar el prompt (>) o que la lnea Busy pase a bajo, antes de comenzar a enviar un comando. Puede ocurrir un resultado inesperado si hace que se habilite la caracterstica de bsqueda automtica de protocolo, y Ud. le dice al ELM 327 que comience a monitorear. Si el bus est quieto, el CI comenzar a buscar un protocolo activo que puede no ser lo que estaba esperando. Tenga en cuenta tambin que los protocolos ISO 9141 e ISO 14230 aparentan ser idnticos cuando se monitorea, de modo que el CI parar de buscar con el ISO 9141 aunque el protocolo real sea ISO 14230. Con la habilitacin de la bsqueda automtica, debera autocorregirse cuando se haga un pedido OBD ms tarde. Si el comando Monitor All proporciona demasiada informacin (realmente lo hace para la mayora de los sistemas CAN), entonces Ud. puede restringir el rango
Saber Electrnica
76
Los comandos de monitoreo del ELM327 permiten algn filtrado de la informacin (con AT MR y MT ) pero esos comandos slo permiten que se defina un byte de todos los bits del encabezamiento. En los sistemas CAN, el gran volumen de informacin presente significa que esto no es suficientemente preciso, y tiene que haber un medio mejor de ms selectividad. El mdulo CAN interno del ELM 327 tiene un filtro que se puede usar para seleccionar todos los bits de ID, no slo un byte. La forma ms fcil de usar este filtro es con el comando CRA. Por ejemplo, si slo los mensajes que Ud. desea ver son los que tienen el CAN ID 7E9, entonces simplemente enve: > AT CRA 7E9 y el CI ajustar los valores internos de modo que todo lo que se muestre sean mensajes con ID 7E9. Si no quiere definir todos los 11 o 29 bits, tambin se puede definir un rango de valores, pero eso requiere establecer un mscara, adems del filtro. Como ejemplo, considere una aplicacin donde Ud. trata de monitorear mensajes de diagnstico CAN de 29 bits, exactamente como hace el ELM 327. Por definicin, estos mensajes se enviarn a la herramienta de exploracin en la direccin F1, de modo que de la ISO 157654, Ud. sabe que la posicin ID de la respuesta debe ser de la forma: DA F1 xx donde xx es la direccin del mdulo que enva el mensaje. Para usar el filtro, ingrese lo que tenga, poniendo cualquier cosa en la parte desconocida (Ud. ver por qu en un momento). El comando para poner el filtro CAN es AT CF: > AT CF 18 DA F1 00 Cmo le dice al ELM 327 que ignore esos ltimos dos ceros? Ud. lo hace con la mscara. La mscara es un dia-
Saber Electrnica
77
Auto Elctrico
grama de bits que le dice al CI qu bits del filtro son relevantes. Si el bit de la mscara es 1, ese bit de filtro es relevante, y se requiere que coincida. Todos los bits del mensaje anterior son relevantes, excepto los de los dos ltimos dgitos. Para establecer esta mscara, necesita usar el comando CAN Mask: > AT CM 1F FF FF 00 Los CAN IDs de 11 bits se tratan de la misma manera. Recuerde que se almacenan internamente en los 11 bits ms a la derecha de las posiciones usadas para CAN de 29 bits, las cuales deben considerarse cuando se crea un filtro o mscara. Como ejemplo, suponga que queremos mostrar todos los mensajes que tienen un 6 como el primer dgito del ID de 11 bits. Necesitamos establecer un filtro que busque 6: > AT CF 00 00 06 00 El ID de 11 bits se almacena en las ltimas 3 ubicaciones, de modo que el 6 aparece donde se muestra. Ahora para hacer que ese dgito sea relevante, creamos la mscara: > AT CM 00 00 0F 00 El sistema slo usa los bits ms a la derecha en este caso, de modo que podemos ser perezosos e ingresar la F como se muestra (el primer bit de la F ser ignorado, y se tratar como si hubiramos ingresado un 7). Claramente, esto puede ser bastante complicado si se usan sistemas CAN de 11 bits en forma rutinaria. Para ayudar con eso, el ELM327 ofrece algunas versiones ms cortas de los comandos CF y CM. Para usarlos en el ejemplo anterior, slo ingrese argumentos de 3 dgitos: > AT CF 600 y AT CM F00 Como en las versiones de 29 bits, slo se usan realmente los 11 dgitos menos significativos (ms a la derecha), de modo que no tiene que tener cuidado especial con el 1er. bit. Con un poco de prctica, estos comandos son fciles de aprender. Inicialmente, intente ingresar los valores del filtro y la mscara, luego use un comando tal como AT MA para ver cules son los resultados. El ELM 327 sabe que Ud. est tratando de filtrar, y combina los efectos de ambos comandos (har eso para MR y MT tambin). Los comandos MA, MR y MT todos tienen el beneficio extra de que mientras estn en efecto, el CI permanecer quieto, sin enviar reconocimiento o seales de error, de modo que cualquier cosa que haga mientras monitorea no debe perturbar a otros dispositivos que estn conectados al bus. Note que si se ha puesto un filtro, se usar para todos los mensajes CAN, de modo que establecer filtros y mscaras puede hacer que sean ignorados los pedidos OBD normales, y Ud. puede comenzar a ver NO DATA como respuesta. Si eso es lo que sucede, y no est seguro de por qu, Ud. puede querer reinicializar todo a sus valores por defecto (con AT D) y comenzar de nuevo.
Respuesta Multilnea A veces, un vehculo debe responder con ms informacin que la que un mensaje puede mostrar. En estos casos, responde con varias lneas que deben armarse en un mensaje completo. Un ejemplo de esto es un pedido del nmero de serie de un vehculo (modo 09, PID 02). Esta es una respuesta multilnea que necesita unirse. En estas situaciones, debe asegurarse que toda la respuesta ha sido recibida y est en el orden correcto antes de armar el mensaje. La respuesta real tiene un byte que muestra la secuencia de los datos. Aqu est un ejemplo para un vehculo tpico SAE J1850: >0902 49 02 49 02 49 02 49 02 49 02
01 02 03 04 05
00 44 30 35 33
00 34 30 42 34
00 47 52 31 35
31 50 35 32 36
Note que todos los vehculos compatibles con OBD no necesariamente proveen esta informacin. Los ms viejos no, pero como regla los ms nuevos s. Si su vehculo no soporta este parmetro, slo ver una respuesta NO DATA. Los primeros 2 bytes (49 y 02) en cada lnea de la respuesta anterior no muestran ninguna informacin del vehculo. Slo muestran que esta es una respuesta a un pedido 09 02. El siguiente byte en cada lnea muestra el orden en el cual deben armarse los datos. El armado del resto de los datos en ese orden, ignorando los primeros pocos 00's, da: 31 44 34 47 50 30 30 52 35 35 42 31 32 33 34 35 36 Usando una tabla ASCII para convertir esos dgitos
Saber Electrnica
78
13 32 13 00 22 00
49 38 49 00 38 00
04 39 04 00 39 00
01 34 01 00 35 00
35 39 35 00 34 00
36 41 36 00 41 00
30 43 30 31 43 00
Esta vez el orden parece ser el mismo, pero tenga en cuenta que puede no ser. Por eso es que la norma requiere que se transmitan cdigos de secuencia con las respuestas multilnea. Mirando los primeros dgitos de estas respuestas, Ud. puede ver que algunos comienzan con 7E8 y algunos comienzan con 7E9.
Saber Electrnica
79
Auto Elctrico
Estos son los CAN IDs especiales que representan a ECU # 1 y ECU # 2, respectivamente. Agrupando las respuestas de los dos ECUs da: 6 De aqu, los mensajes se pueden agrupar en el orden correcto. Para hacerlo, miremos al byte que sigue al CAN ID. Se conoce como el byte PCI, y se usa para decir qu tipo de datos sigue. En este caso, el byte PCI comienza con 1 (para un mensaje de Primer Cuadro), o un 2 (para los Cuadros Consecutivos). La 2da. mitad del byte PCI muestra el orden en el cual se debe agrupar la informacin (o sea el nmero de segmento). En este caso, los nmeros de segmento ya estn en orden, pero si no lo estuvieran, habra sido necesario reordenar los mensajes para ponerlos en orden. Cada norma OBD tiene algunas peculiaridades menores. Esperamos que esto le haya ayudado con algunas de las ms difciles. Si todava tiene problemas, le decimos que compre la norma relevante y estdiela.
Figura 1 gramas de uso libre que se consiguen por Internet. La computadora, a travs de su puerto de serie (9 pines), interroga o recibe informacin del coche. La interfase ejerce una funcin de conversin de la informacin entre la PC y el coche. Lo he probado con el programa ScanTool.ner versin 1.08, figura 2, y he conseguido algunos reportes como para comenzar a investigar aunque dista mucho de ser un circuito profesional. Recomiendo su armado para aprender sobre cdi gos OBD. !
Cable Interfase Serial a OBD El circuito de la figura 1 representa una interfase para conectar un vehculo con una computadora a travs de su puerto serial. Se trata de un esquema sencillo que emplea tres transistores. Los componentes de dicho circuito son los siguientes: R1,2,6,7,9,10 - 560 ohm R3,4,5,8 - 4k7 T1 - BC556 or 2N3906 T2,T3 - BC546 or 2N3904 Se trata de un circuito experimental que puede ser utilizado con culaquiera de los pro-
Figura 2
Saber Electrnica
80
Auto Elctrico
Saber Electrnica
81