The Body ECU for Air-cooled Volkswagen with Extended Reliability (BEAVER) project ignores the notion that the platform is reliable because of it's simple parts. But also does not overcomplicate the system with needlessly complex parts. It replaces several parts behind the dash with a single ECU based on a mature microcontroller with solid state switching. This enables CAN based configuration, diagnostic protocols and longer mean time between failures.
The present repository holds the firmware for the microcontroller. It exists in two parts, a bootloader and an application.
This is the CAN based bootloader. It is largely the TM4C example bootloader provided by TI narrowed to only the portions of it useful to the current project. There are several places where it can be extended to the benifit of the project:
- Stronger code integrety checking
- Encrypted CAN traffic
This is the application portion of the firmware. It has a fairly simple interrupt driven execution. To enable more advanced features, it has a CAN interface which has fledgling support for ISO15765, OBD2 and UDS. The following is supported at some level:
- SID 09h - Vehicle Info
- SID 11h - Reset ECU
- SID 22h - Read By Id
- SID 2Eh - Write By Id