
Presentation
vjCanUsb is an USB-to-CAN interface featuring:
- one STM32F4 ARM Cortex-M4 microcontroller running at 168MHz (192KB RAM, 1MB flash). The Complete datasheet: [DH].
- two 3.3V LDO linear regulators, one for the digital as well as one dedicated to the analog power supply. USB power is filtered by a ferrite bread, and the regulators are fitted with tantalum capacitors.
- two NXP TJA1050 CAN transceivers, with common-mode chokes and optional termination resistors.
Most of the SMD parts are in the 0805 footprint.
The software design is based on Autosar components, or when no Autosar specification is available, on components following the same coding template.
Board design
A KiCAD 3D rendering of the board sent to the PCB maker.

Functional overview:

The full schematics can be found there [SCH1].
All I/O remain easily accessible for making use of the other embedded peripherals such as 12-bit ADC and DAC, as well as the SPI, I²C, LIN, and UART interfaces.
Note the flexible static memory controller (FSMC) cannot be used in this small chip package.
Software architecture

References
[1] | Autosar 4.0 CAN driver specifications, http://www.autosar.org/fileadmin/files/releases/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_CANDriver.pdf |
[2] | Autosar 4.0 CAN interface specifications, http://www.autosar.org/fileadmin/files/releases/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_CANInterface.pdf |
[3] | Autosar 4.0 CAN transport layer specifications, http://www.autosar.org/fileadmin/files/releases/4-0/software-architecture/communication-stack/standard/AUTOSAR_SWS_CANTransportLayer.pdf |
[SEEED] | Seeed studio PCB maker, http://www.seeedstudio.com |
[SCH1] | vjCanCase schematics rev. 2, https://vjordan.info/proj/vjCanCase/vjCanCase_schematic_rev2.pdf |
[DH] | STMicroelectronics, STM32F405RGT6 datasheet, http://www.st.com/web/en/resource/technical/document/datasheet/DM00037051.pdf |