Testbench setup?

   #181  

DV52

Verified VCDS User
Verified
Joined
May 16, 2014
Messages
3,609
Reaction score
4,019
Location
Melbourne, Australia
VCDS Serial number
C?ID=194404
Vastech: hmm........ apropos of Uwe's suggestion - isn't T20 /14 on the CAN Gateway a T15 supply pin? As shown on your WD, it appears to be a T30 supply. Wired as per your picture, both the 2 x T30 and the T15 pins are energized together. I wonder whether this might be the problem - just guessing?

On the RNS300 in the car, the T15 rail is generated via an electromechanical relay (J329) via the BCM. Perhaps install a single throw, single pole switch in the T30 supply to simulate a T15 signal - maybe (i.e. allow the T30 circuits inside J533 to stabilize before sending the T15 signal)?

If this still doesn't work and as indicated previously, the module wake-up CAN message on the MQB model Golf is created from the ignition key action via the steering module. Not sure if this is the same for your car, but the WD for a mk5 (which uses the RNS300) has the ignition/starter switch directly connected to J527 (the sterring column module). So exactly the same as the Golf mk7.

Don
 
Last edited:
   #183  

Riley

Verified VCDS User
Verified
Joined
Apr 14, 2020
Messages
1
Reaction score
1
Location
USA
VCDS Serial number
C?ID=395457


Greetings from Seattle Washington,

This is my first post and glad to be here. I have read this thread a dozen times and am just starting to cobble together my first test bench for Audi B6 chassis cars. Thank you all for the contributions. I am getting excited!

*rubs hands together*

Riley
 
  • Like
Reactions: Uwe
   #184  

Jack@European_Parts

NostraJackAss
Joined
Jan 29, 2014
Messages
20,381
Reaction score
8,728
Location
Montgomery, NY, USA
VCDS Serial number
C?ID=57337
Does the radio power up on the bench? If not, it may be looking for a CAN message from another module, like a "virtual Terminal 15".

-Uwe-
Yup usually from BCM or Cluster too, right guys? :rolleyes:

One day there was a fine Schwarz or Blau wire......
 
   #185  

AINils

VCDS Distributor
Joined
Apr 3, 2020
Messages
106
Reaction score
71
Location
Germany (AIB)
Hey guys tried to activate pACC but will try it first in Testbench. Does anybody of you can give me Part Nr of ACC Plug for 3QF907572 (3QF907561)
 
Last edited:
   #186  

_Val

Verified VCDS User
Verified
Joined
Nov 7, 2017
Messages
165
Reaction score
130
Location
Latvia
VCDS Serial number
C?ID=356659
4F0972708 (8pin black connector) for 3QF907561A.
 
   #187  

Ronaldo

Verified VCDS User
Verified
Joined
Feb 13, 2019
Messages
31
Reaction score
46
Location
Brazil
VCDS Serial number
C?ID=357813
Well, I suppose one could monitor a real J527 to see what CAN telegrams it produces that correspond to the various turn signal switch states (or change of states) and then substitute something some smaller device capable of simulating them, but that seems like far more work than just wiring up a real J527.

-Uwe-
Thanks to all who posted their experiences with a testbench. I've built a simple Arduino based circuit and programmed it to inject the Klemmen_Status (terminals' status) message in the CAN bus in order to make the ECUs believe ignition is on, so I don't have to buy a real J527 and can put the testbench circuit in a small box. In the next days I plan to make some more testing with different ECUs to see if I can make all of them to "wake up", but I think there are good chances it will work. I will post here the details if someone finds it useful.
 
   #188  

jf1

Verified VCDS User
Verified
Joined
Dec 8, 2016
Messages
3
Reaction score
3
Location
Boston, MA USA
VCDS Serial number
C?ID=290169
Thanks to all who posted their experiences with a testbench. I've built a simple Arduino based circuit and programmed it to inject the Klemmen_Status (terminals' status) message in the CAN bus in order to make the ECUs believe ignition is on, so I don't have to buy a real J527 and can put the testbench circuit in a small box. In the next days I plan to make some more testing with different ECUs to see if I can make all of them to "wake up", but I think there are good chances it will work. I will post here the details if someone finds it useful.
interested!
 
   #189  

Ronaldo

Verified VCDS User
Verified
Joined
Feb 13, 2019
Messages
31
Reaction score
46
Location
Brazil
VCDS Serial number
C?ID=357813
interested!
The prototype was developped for the MQB platform, but I think it may work for other platforms as long as you have the right data for the CAN bus messages. I've just tested the circuit with 3 ECUs: a Door Control Unit, a Parking Aid and a TPMS, they are connected to different buses and all worked but I have no other modules here to test (I also had an ABS module, but it was replaced in my car exactçy because it stopped communicating, so I couldn't count on it). Maybe some pros in the Forum will be interested in testing with more modules and post here their results.

The circuit is basically an Arduino and a CAN bus interface, connected to the convenience CAN bus pins (5, 15) on the J533 Gateway. The diagram below is similar to what I did (connection to INT pin on the interface is not necessary for the code I used):



The code I wrote to run in the Arduino generates a "Klemmen_Status_01" on the CAN bus. It's a simple message with the Id 0x3C0 which, in a real MQB car, is transmitted every 100ms and it contains 4 bytes of data:
- first byte is a checksum;
- second byte contains a sequential number that increments from 00 to 15 in each message, then returns to zero;
- third byte contains the flags corresponding to terminals (Klemme) S, 15, X and 50. I've set the bits corresponding to S and 15 on (ignition switch on) according to what I've captured by collecting CAN bus traffic;
- fourth byte is always zero.

The code tries to simulate the Klemmen_Status_01 messages exactly as they are sent on the CAN bus in a real car. It seems that ECUs connected to the gateway "wake up" even if only one of the 16 sequential messages is sent, and not necessarily at the 100ms interval and some modules seem to continue on even if they stop receiving the message for up to 4 seconds but since I'm not sure about all possible modules and the implementation of the complete message set is so easy, I kept it in the code.

Here's the code:
Code:
/*
 * Terminal status CAN bus message generator
 * 
 * Generates Klemmen_Status_01 messages for MQB platform
 * 
 * Coded by Ronaldo Cordeiro - cordeiroronaldo@hotmail.com
 * 
 * Uses MCP_CAN_lib-master - By Cory J. Fowler 
 * https://github.com/coryjfowler/MCP_CAN_lib
 */

#include <mcp_can.h>
#include <SPI.h>

#define KLEMMEN_STATUS_01_ID 0x3C0

unsigned char kStatusBuf[4] = {0x00,0x00,0x03,0x00};
unsigned char checkSum[16]  = {0x74,0xC1,0x31,0x84,0xFE,0x4B,0xBB,0x0E,0x4F,0xFA,0x0A,0xBF,0xC5,0x70,0x80,0x35};
int i=0;

MCP_CAN CAN(10);

void setup()
{
  Serial.begin(115200);
  CAN.begin(MCP_ANY,CAN_500KBPS,MCP_8MHZ); 
  CAN.setMode(MCP_NORMAL);
}

void loop()
{
      kStatusBuf[0]=checkSum[i];
      kStatusBuf[1]=i;
      CAN.sendMsgBuf(KLEMMEN_STATUS_01_ID, 0 , 4, kStatusBuf);
      i++;
      if (i>15) i=0;
      delay(100);
}

/*********************************************************************************************************
  END FILE
*********************************************************************************************************/
Suggestions and corrections are very welcome.
 
Last edited:
   #190  

DV52

Verified VCDS User
Verified
Joined
May 16, 2014
Messages
3,609
Reaction score
4,019
Location
Melbourne, Australia
VCDS Serial number
C?ID=194404
Thanks to all who posted their experiences with a testbench. I've built a simple Arduino based circuit and programmed it to inject the Klemmen_Status (terminals' status) message in the CAN bus in order to make the ECUs believe ignition is on, so I don't have to buy a real J527 and can put the testbench circuit in a small box. In the next days I plan to make some more testing with different ECUs to see if I can make all of them to "wake up", but I think there are good chances it will work. I will post here the details if someone finds it useful.
Ronaldo: Don't get me wrong - I reckon your device is a sublimely elegant solution to generating a "wake-up" message and (as you say) it does indeed obviate the need to "buy a real J527 and can put the testbench circuit in a small box".

But there is a down-side in not including a J527 module on a testbench -perhaps? I say "down-side", but this depends really on what the objective is for creating the test-bench in the first place.

At least on MQB modules, J527 appears to take a prominence in the CAN network structure that goes well beyond steering wheel activities. For example (and as was the focus of your brilliant device) - it generates the CAN bus(es) wake-up message, but it also initiates for the BCM (and other modules like hex55 and LCM s), the high-beam function. And, J527 is responsible for initiating the turn-signal messages (which the door modules and BCM use) and the wiper and washer signals. Plus, as I found to my chagrin in the early days of my test-bench development, the path through J527 from the ignition "C" switch status was important to J285 for the instrument module's understanding of how to operate the FIS and the warning messages.

But without a doubt and again, a mighty effort in designing/building your brilliant device - it demonstrates an intellect and an intimacy of CAN knowledge that makes me pea-green with envy!! I suspect this is just the beginning of many more successes in the future (please don't stop sharing your learnings).

Don
 
Last edited:
   #191  

Ronaldo

Verified VCDS User
Verified
Joined
Feb 13, 2019
Messages
31
Reaction score
46
Location
Brazil
VCDS Serial number
C?ID=357813
Thank you so much Don for your comments! Actually I'm just beginning to use a testbench so I have close to zero experience on what can be useful or not for a testbench user, so input from experienced people is much apreciated.

The idea behind a creating a programmable device to simulate CANbus messages wasn't really to restrict it to generating the Klemmen_Status, but also extending the project in the future to create other messages, not only the ones generated by J527 but also signals like car speed, steering angle, gas pedal position, engine RPM, etc, something like a simplified version of a professional simulator like https://www.digiteqautomotive.com/en/product/cansim4

The first improvement I though of was to add a switch to the project that could select from ignition switch on-off-inserted. It would add a simple switch to the box. I'm sure it's perfectly possible to also generate the CAN bus messages corresponding to all functions of the J527, indicators, wipers, high-beam, cruise control, but in this case I fully agree with you that a real J527 module could be a better idea because a simulator module would need to have a panel with too many buttons and could result in a device harder to operate than a real and intuitive steering wheel module.

Anyway, I see this prototype as a first version of an evolving project and comments from knowledgeable people are very useful and encouraging. Thanks again for your comments!

Ronaldo
 
Last edited:
   #192  

jf1

Verified VCDS User
Verified
Joined
Dec 8, 2016
Messages
3
Reaction score
3
Location
Boston, MA USA
VCDS Serial number
C?ID=290169
Thank you so much Don for your comments! Actually I'm just beginning to use a testbench so I have close to zero experience on what can be useful or not for a testbench user, so input from experienced people is much apreciated.

The idea behind a creating a programmable device to simulate CANbus messages wasn't really to restrict it to generating the Klemmen_Status, but also extending the project in the future to create other messages, not only the ones generated by J527 but also signals like car speed, steering angle, gas pedal position, engine RPM, etc, something like a simplified version of a professional simulator like https://www.digiteqautomotive.com/en/product/cansim4

The first improvement I though of was to add a switch to the project that could select from ignition switch on-off-inserted. It would add a simple switch to the box. I'm sure it's perfectly possible to also generate the CAN bus messages corresponding to all functions of the J527, indicators, wipers, high-beam, cruise control, but in this case I fully agree with you that a real J527 module could be a better idea because a simulator module would need to have a panel with too many buttons and could result in a device harder to operate than a real and intuitive steering wheel module.

Anyway, I see this prototype as a first version of an evolving project and comments from knowledgeable people are very useful and encouraging. Thanks again for your comments!

Ronaldo
Getting that message worked out is exactly where I had previously left off with my bench setup - very helpful!

I use a Raspberry Pi 4B + PiCAN2 Duo board for CAN bus comms, your code should translate over easily.
 
   #193  

jonese

Verified VCDS User
Verified
Joined
Jun 23, 2020
Messages
3
Reaction score
0
Location
Calgary, CANADA
VCDS Serial number
C?ID=408961
I've setup a test bench from a wrecked 2011 Jetta SportWagon (getting them from the auto wreckers allows you to grab the connector and about 6 inches of wiring harness, much easier way to hook them up). I've currently got the gateway working, but also have the BCM ready to hook up. There is no ECU in this setup.

How does the licensing work with the HEX-V2 in this setup? What does VCDS consider a licensed entity (partial CAN bus of a car)?

I didn't do any recoding, just read some values so my license counter didn't increment, but I'd like to do a lot more in depth poking around at a later date. I have one license for my real car, but I'm not so interested in using another VIN license for my test bench.
 
Last edited:
   #194  

Uwe

Benevolent Dictator
Staff member
Joined
Jan 29, 2014
Messages
29,961
Reaction score
21,394
Location
USA
VCDS Serial number
HC100001
I have one license for my real car, but I'm not so interested in using another VIN license for my test bench.
Without an ECU or a cluster, there's likely nothing that the HEX-V2 or VCDS can obtain a VIN from in that setup, so I doubt VCDS will ever ask you if you want to store/register a VIN while you're connected to it. But if it does, be sure to decline.

-Uwe-
 
   #195  

DV52

Verified VCDS User
Verified
Joined
May 16, 2014
Messages
3,609
Reaction score
4,019
Location
Melbourne, Australia
VCDS Serial number
C?ID=194404
Uwe: your response raises the profoundly interesting question as to which of the few KEY modules on the CAN network actually defines a VAG car (for diagnostic purposes specifically, but also in general)?

I mentioned earlier (I think) that on my test-bench ALL modules were sourced from different cars (cheapest option for sourcing modules). Therefore each Key module has a different VIN. Now, the curious thing is that VCDS seems to report the VIN in the hex17 module as the definitive number for the virtual car (in the auto-scan report) - but even more interesting, another diagnostic device appears to use the VIN in the hex19 module !

So, is this fundamental matter simply a manufacturer specific decision - or is it enshrined in the tome-like pages of an arcane industry Standard somewhere?

Don
 
Last edited:
   #196  

Uwe

Benevolent Dictator
Staff member
Joined
Jan 29, 2014
Messages
29,961
Reaction score
21,394
Location
USA
VCDS Serial number
HC100001
Don,

No, I don't think there's an "industry standard" for this. Historically, the place that VINs have been found are in the ECU and the Immobilizer. The latter is most often part of the cluster. This has been the so since the advent of Immo-3 between MY 2000 (when it first appeared in the Audi A8) and 2002 (when it became almost universal in VAG cars). Having the VIN also present in the Gateway is something relatively new; in VWs probably only since the MQB chassis. I'm not sure when it started in Audis; they've had CP for a lot longer, but without going back and reading old SSPs, I'm not sure whether the GW was the CP master in (for example) a 2005 4F chassis car.

-Uwe-
 
Top