| 数据搜索系统,热门电子元器件搜索 |
|
ELM327P 数据表(PDF) 36 Page - ELM Electronics |
|
|
|||||||||||||||||||||||||||||
ELM327P 数据表(HTML) 36 Page - ELM Electronics |
|
36 / 51 page ![]() ELM327 36 of 51 ELM327DSC Elm Electronics – Circuits for the Hobbyist www.elmelectronics.com J1939 Support The SAE J1939 CAN standard is a relatively new protocol that is being used in many types of heavy machinery – trucks, agricultural equipment, and busses, to name a few. It uses a standard CAN (ISO 11898) physical interface, and defines its own format for data transfer (although it is very similar to the ISO 15765 that is used for automobiles). The ELM327 offers some support for the J1939 standard in Protocol A. (Protocols B and C can be selected for J1939 formatting if needed, with Programmable Parameters 2C and 2E). Although this is not full support as dictated by the standards, the ELM327 implementation should at least allow you to begin experimenting. The default data rate for Protocol A has been set to 250 kbps, as set by the SAE J1939-11 standard. Should your application require a different speed, it is easily changed with PP 2B. J1939 messages use 29 bit CAN IDs, and up to 8 data bytes for each message (ISO 15765 always uses 8 bytes). Diagnostics on SAE J1939 are defined by the J1939-73 standard, and the actual data transfer protocol is described in J1939-21. If you are going to do a lot of work with J1939, it may be wise to purchase these standards documents from the Society of Automotive Engineers (SAE). The ELM327 handles the sending of messages with the J1939 protocol in the same way as any of the other protocols. The header bytes are predefined for you and all you need do is provide the data bytes that you wish to send. For example, assume that you wish to send a request for engine temperature (PGN 00FEEE). J1939 specifies a reverse order for the data bytes, so when you tell the ELM327 what to send, you need to switch the order of the data bytes, and then send them as you would any other request: >EE FE 00 The ELM327 then adds the required header (ID) bytes, etc. and sends the message for you. (It also configures itself correctly to be able to receive the response.) Note that the ELM327 sets the header bytes to EC FF F9 by default (for global requests from OBD service tool #1), so if you want something else, you will have to change the headers, using the AT SH command. All responses to a request are printed by the ELM327, whether they are a single CAN message transmission, or a multisegment transmission as defined by the transport protocol (J1939-21). If the responses are multisegment, the ELM327 handles all of the negotiation for you (transparently - you won’t see it happen). If formatting is on (ie CAF1), the output will resemble the format used to print the ISO 15765-4 multiline responses. Note that if you provide three data bytes, the ELM327 will assume that you are sending a PGN, and will look for responses to that. If you send other than 3 data bytes, it will assume that you are making a general request, and will only look for responses to the Source Address (as given in the third byte of the header). The SAE J1939 standard predefines several Diagnostic Messages, and assigns ID values to them. The first of these (designated ‘DM1’) are reserved for trouble codes, which are periodically broadcast over the CAN network. Since these are commonly required, the ELM327 provides a special command to monitor for them (aptly named DM1). If you wish to monitor for all DM1 messages, simply issue: >AT DM1 and the ELM327 will print out all that it finds. The DM1 message is the only one that is presently predefined by the ELM327 for you. To monitor for any other diagnostic message, you need to know it’s PGN number (in hexadecimal), and monitor for that using the AT MP command. For example, the DM2 PGN number is 65227, or 00FECB in hexadecimal. The ELM327 requires hexadecimal, and assumes that all PGNs begin with 00 – so to monitor for DM2s, you need only send: >AT MP FECB and the IC will begin looking for all replies to DM2 requests. Please note that the ELM327’s support for the SAE J1939 standard is only basic (it does not support address negotiation as described in J1939-73, for example), and it has not undergone the extensive testing that our automotive protocols have. We simply have had a large number of requests for support of the protocol, and wanted to provide something for you to begin experimenting with. As always, we are quite open to your feedback and your suggestions for future upgrades. |
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |