15
edits
Changes
XMC4800
,no edit summary
For controlling multiple CAN buses, our solution is to use the Infineon XMC4800, a MCU that integrates a M4 core and has both an EtherCAT node and 6x CAN nodes. This allows us to control the CAN buses through either FS USB or (in the future) EtherCAT.
* [https://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-cortex-m/32-bit-xmc4000-industrial-microcontroller-arm-cortex-m4/xmc4800/ Product Page]
* [https://www.infineon.com/dgdl/Infineon-XMC4700-XMC4800-ReferenceManual-v01_02-EN.pdf?fileId=5546d46250cc1fdf01513f8e052d07fc Eval Board Reference Manual]
* [https://www.infineon.com/dgdl/Infineon-XMC4700-XMC4800-DataSheet-v01_02-EN.pdf?fileId=5546d462518ffd850151908ea8db00b3 Data Sheet]
* [https://www.infineon.com/dgdl/Infineon-xmc4800-UM-v01_00-EN.pdf?fileId=5546d4624d6fc3d5014ddd85f6d97832 MCU Reference Manual]
Most technical implementation details are in the Reference Manual
==== Testing the Evaluation Board ====
[[File:XMC4800 Breadboard.png|thumb]]
The testing setup is connected as the image describes. The eval board has one built-in CAN transceiver (while the rest of them are using external SN65HVD230 modules). The one built-in transceiver is connected to the other four CAN buses as a debug RX path
=== Programming the MCU ===
Follow the instructions [https://github.com/Infineon/mtb-example-xmc-can-loopback here] for an example on how to program the XMC4800 chip. The main takeaway is
# You need the J-SEGGER driver for your computer
# Connect via the DEBUG micro-B port, not the other USB port
# Use ModusToolBox to get started with the code examples
==== CAN example code ====
@Tom + @Ved(?) TODO
=== Integrated XMC4800 CAN board ===