A test jig can be created using Spring Pogo
Pins. At a minimum, the test jig should
contain pogo pins and mounting holes at the PCB locations outlined by this
spreadsheet. A rooted linux host is
necessary for this test - perhaps an embedded android device like a raspberyPi,
Beagleboard or pcDuino.
- Connect OBD cable, JTAG and Micro USB cables to the board under test
- Apply 12V power to board
- Measure all power rails, verify they are within 0.1V of target
- Remove +12V power, attach +5V supply to the Micro USB port
- Re-verify power rails are within range
- Re-apply 12V power to board
- Deploy test firmware to board, examine OpenOCD output for errors
- Take snapshot of logic levels and compare to expected values: BT_RTS,
BT_CTS, BT_RESET, BT_CONN, DOCK_PWR_EN, DOCK_PWR_OUT, USB_CON, ISP_EN,
USBBOOT_EN, DEBUG_TX, DEBUG_RX, RESET, DOCK_PWR_FLT, DOCK_PWR_PG
- Boot into ISP bootloader (Pull ISP_EN low, Toggle RESET, Release ISP_EN) and
retrieve LPC1769 serial number
- (ensure that test firmware configures the baud rate of the RN-41 device, see
RN-41 configuration)
- Execute short bluetooth bandwidth test (data-test.py –bandwidth –size 5000
–plot). Capture results. Take snapshot of BT_RTS, BT_CTS, BT_RESET,
BT_CONN lines upon error
- Execute short USB bandwidth test (data-test.py –usb –bandwidth –size
50000 –plot). Capture results. Take snapshot of USB_CON, +5V upon error
- Execute short CAN bandwdith test (cantx.py –plot). Capture results. Take
snapshot CANA_HI, CANA_LO, CANB_HI, CANB_LO upon error.
- Assert Dock power output. Measure voltage at connector output, verify it is
within 0.5V of target.
- De-assert Dock power output, re-measure, verify connector output is 1V or
below.
- Deploy Emulator Firmware from the openxc-vi-firmware package and connect to the OpenXC VI with an test Android device.
- Use the OpenXC Enabler App on the Android device to verify emulated data is being streamed to Android from the OpenXC VI.
- Deploy production firmware to board
- Connect to USB, verify production firmware is successfully running
Validation Criteria
Bluetooth
- Maintain a baud rate of at least 115200 for a sustained 5MB transfer over
Bluetooth with no transmission errors
- Push varying amounts of data for 12 hours and record all disconnections and
transmissions errors
- Run through 100 connect/disconnect cycles, looking for failures to connect,
or any instance in which the Bluetooth stack on the CAN Translator becomes
out of sync.
USB
- Maintain a transfer rate of at least 100KB/s for a sustained 5MB transfer
over USB with no transmission errors
- Push varying amounts of data for 12 hours and record all disconnections and
transmissions errors
- Verify the CAN translator can be powered via USB when not connected to an
OBD-II port
- Verify that the CAN translator can be powered by the vehicle through the
OBD-II port and also be plugged into an Android device via USB while not
having conflicting current.
CAN
- Verify that CAN messages can be received from a vehicle or test harness,
and that the stream can be maintained for 1 hour without interruption.
- Verify that a stream of CAN messages can be written out to the CAN bus for
1 hour
Power
- Test that MCU can be put to sleep and power draw goes very low
- Test that MCU can wakeup on a CAN interrupt and get back to full power,
record time to wakeup (time to wakeup is on the order of microseconds)
- External power socket should provide steady 12v
- External power socket should not provide any power when the MCU goes into
sleep mode
Lighting
- RGB LEDs must be controllable from software
Pysical
- OBD-II connector can be attached to a vehicle with a reasonable amount of
force
- OBD-II connector is robustly connected to the port
- OBD-II connector takes a reasonable amount of effort to detach from the
vehicle, but the process does not overly strain the housing or PCB
- The 12v power cable can be attached and detached with a reasonable amount
of force, and resists being knocked out of the socket by accident
Mechanical Design
- Designed for injection molding –> Constant wall thickness, appropriate
minimum thickness material (0.050” for ABS), draft angles, slide
consideration
- Robust attachment and mating features between housing pieces
- Appropriate fit in specified vehicles (Focus, Flex, F-150, Explorer)