CONNECTED VEHICLES & FUNCTIONAL TESTING: DEVELOPMENT TEST JIG
Connectivity is one of the disruptive trends that, along with electrification, will be the future of automotive during the coming years.
The heart of a connected vehicle is a telematic unit that allows the connection between the vehicle and the user. At EEVAM, we work on the design and development of telematic units to make the connected vehicle a reality.
In this post, we’ll show you how we approached the validation of one of the telematic units we designed and developed.
Once fabricated, every unit is put through different tests, among which there’s a functional test. Its goal is to make sure that every unit works correctly, given that it’s the last test before sending them to the different clients.
For this functional test, we use a test jig, it being the product behind the product. Its design and development is crucial to detect errors on the units after their production. We developed it in our electronics lab, allowing us to verify that each unit is working as desired in a couple of minutes.
For this particular test jig, we used a Raspberry Pi 3 Model B along with two additional extension modules: the Automation HAT and the RS845 CAN HAT. It includes a keyboard, mouse and a HDMI output to control, modify and execute the tests. The test jig connects to the unit through the main connector, simulating a scenario as close to reality as possible.
The Raspberry Pi programs the unit and executes the functional tests. These tests are programmed in Python, which allows controlling the two extension modules (connected to the Raspberry Pi through GPIO pins) and analyzing the results of each test.
The Automation HAT module allows the reading and generation of digital and analog signals up to 24V. During the different tests, it generates the signals and allows the reading of the output signals when necessary.
This telematic unit includes the communication through RS485 and CAN buses, both standard protocols in the automotive industry. The RS485 CAN HAT module allows the communication of these protocols, and that’s why we use it to verify the connection capacities of the unit.
Once we verify that the communication through the RS485 bus is correct, the test jig starts interacting with the unit through the RS485 bus. The RS485 protocol is based on defining a slave-master network, with the slaves being the units that answer to the instructions of the master (the test jig).
Here’s a code fragment of one of our tests:
slave.set_values('block', 4, 6000)
value = slave.get_values('block', 5, 1)
D1 = slave.get_values('block',7,1)
print('ERROR CODE 3011')
print('ERROR CODE 3012')
print('ERROR CODE 1005')
print('ERROR CODE 5000')
This test verifies the reading of a high logical level in one of the digital inputs of the unit.
First of all, we activate one of the relays on the Automation HAT, set to supply 5V to the digital input. Through MODBUS, it communicates to the slave which digital input is being verified. Right after, we confirm the correct execution of the test, so that, if everything went well, we can proceed to check the value read by the unit. If the read value doesn’t check, it shows an error code that allows us to take action after the execution of the remaining tests.
When a unit achieves a positive result on the functional test, it means that it’s ready to work.
The design of an efficient test jig that checks every functionality is key on guaranteeing the quality of the final product.