bretskee
Newbie
Karma: +1/-0
Offline
Posts: 1
|
|
« on: December 31, 2011, 10:14:28 PM »
|
|
|
Hi, I am new to this forum and am seeking some help. I have a VW R32 DSG '09 model. I have read a lot of information about OBD but require some parameters not offered by OBD or are at least VW proprietary. One in particular is current DSG gear. I am using a small micro and programming in C# and interfacing to a Sparkfun OBD/Can UART card. The objective is to embed this micro and a small screen into the car to provide additional information about performance and the like. To do this I need to discover the VW protocol variant and the required CAN gateway queries to get the desired data. I also have a VAG cable and software and have verified that the parameters I seek are in fact available via the OBD port in the car. Further, I have made a Y-chord so that I can capture the VAG conversation with the car using my Sparkfun card. The Sparkfun card uses an ELM clone STN1110. I began by setting the protocol and switching headers on. I then set the card to listen to all messages. This was done by issuing the following AT commands to the UART card: ATPP 2D SV 01 ATPP 2D ON ATZ ATSP B ATH1 ATD1 ATMA The included file contains the captured session. The resulting capture is in three sections. The first is where the VAG software is started and it performs some initial queries. The next section is where I set VAG to display the relevant data (in this case current gear) and the last section is where I take VAG back to the home screen, it cleans up and terminates the session. So, from what I have read, setting headers on displays the headers but not the checksum. Further, the initialization sequence with the CAN gateway is taken care of (I think). As you can see, I have identified the data request and response sequences and I can make sense of most of it. I have seen bytes changing in response to gearbox lever movements but in the captured file, it is in park. I am sure once I get this running, the actual bytes for each gear position will be relatively simple. Other parameters will be simple later also. I then have the following questions: 1. Am I correct that if VAG can do this, it is possible to emulate via my own micro + ELM equivalent 2. Since the captured file is RAW data if you like, and I am emulating this protocol via an embedded micro and a STN1110, I am unsure what parts are handled by the STN1110 (ELM327) and which have to be specifically handled by my application? For example, do I need to generate ACK/NAKS with the correct sequencing, packet counters, payload lengths etc ? 3. Most of the captured data conforms to some sort of query and response order. There are however some sections where it does not seem to conform to at least the part of the protocol I understand. This is colour coded with a legend at the bottom. Can anyone help me with what these do? 4. When I set the protocol, is all of the CAN initialization taken care of? Is the session kept alive for me? 5. Can someone help me with ECU addressing and setting the headers correctly? 6. I have also attached a document written by Andreas Sjoberg as a University report to the Vaxjo University written in Swedish. I apologize that I can’t recall the actual source, but I found it in my travels using many google searches. My captured data matches exactly that described in the report. I have translated much of the document but I am still missing the actual implementation using the ELM interface. I know a lot of this information is probably embedded in many of the documents and data sheets, and perhaps even, I am a little dim, but I am very confused by a lot I have read as to what exactly is the protocol and where VW have strayed and is proprietary. I am hoping someone has solved some or all of this. I am of course going to contribute all of my finding back to the forum as there must be others wanting the same sort of detail. I have been searching and reading for a long time and have probably been over or under descriptive. Please ask me for more details if I have been unclear. I also hope this is on-topic enough for this forum. Thanks in advance and apologies for the very long story.
|