Recent Posts
CAN Bus And SAE J1939 Prototyping With The Arduino Due ARM Cortex M3 Processor
Posted by
onWhenever it comes to building rapid prototypes for new CAN Bus or SAE J1939 applications, my first choice is regularly the Arduino Due, a microcontroller board based on the Atmel SAM3X8E ARM Cortex-M3 CPU.
In general, the Arduino platform couples an easy-to-use programming environment (IDE) with a vast number of hardware extensions (shields). While I do appreciate programming on a more "professional" level using our embedded systems with more sophisticated IDEs and debug probe, often enough, the needed hardware is not available. The Arduino concept may have its flaws (such as limited debugging capabilities), but when it comes to rapid prototyping, it is virtually unbeatable.
Let's have a look at the Arduino Due features:
- Microcontroller board (Arduino Due) based on the Atmel SAM3X8E ARM Cortex-M3 CPU
- 512 KB Flash Memory
- 96 KB SRAM
- 84 MHz Clock Speed
- 2 CAN ports w/o transceiver
- 54 Digital I/O Pins (of which 12 provide PWM output)
- 12 Analog Input Pins
- 2 Analog Output Pins
When it comes to CAN Bus or SAE J1939 applications, though, the Due misses an essential feature, namely the CAN Bus transceivers (it shares that short-coming with a great number of off-the-shelf embedded systems with CAN Bus ports). Consequently, we at Copperhill Technologies have created a Dual CAN Bus interface for the Arduino Due that provides the following features:
- 2 CAN ports with three-pin terminal connectors
- Extended input power range of 7 VDC to 36 VDC
- 3 LEDs (Power, CAN Activity Port 1, CAN Activity Port 2)
- CAN Bus Termination resistors switchable per jumper
The available options are:
- Arduino-Based ECU Development Board With Dual CAN Bus Interface...
- Dual CAN Bus interface for Arduino Due...
- Dual CAN Bus interface for Arduino Due With Extended Power Range...
The concept of the Arduino Due mainboard plus Dual CAN Bus interface allows adding any Arduino-compatible hardware (shield).
For instance, the image to the left shows the board with Dual CAN Bus interface plus an Ethernet shield, which certainly, with the corresponding software development, can be used as a CAN-to-Ethernet gateway.
Check out the available resources, may it be hardware, cables, datasheets, or sample programs:
CAN Shield Resources:
- Arduino Due: Dual CAN Port Test Sketch...
- Arduino Due: Dual CAN Port Test Sketch With LED CAN Traffic Indicators...
- Dual CAN Bus Interface For Arduino Due: Controlling the LEDs...
- ODB2 and CAN Bus Acquisition Libraries...
- SAE J1939 Protocol Stack Sketch for Arduino Due...
- App Note: ARM Cortex M3 Development Boards Require External CAN Bus Transceiver...
- CAN Bus Data Traffic Simulation With Arduino Due...
- CAN Bus Bridge (CAN-to-CAN) Application With Arduino Due...
Arduino Due Resources:
- Getting started with the Arduino Due...
- Download the Arduino Software (IDE)...
- Atmel 11057 32-bit Cortex-M3 Microcontroller SAM3X/SAM3A Datasheet (PDF)...
Cables:
Arduino Project Handbook: 25 Practical Projects to Get You Started
The Arduino Project Handbook is a beginner-friendly compilation of electronics projects using the low-cost Arduino board. With just a few components, an Arduino, and a computer, you learn to create and program everything from light shows to arcade games to an ultrasonic security system.
In the first step, you receive an introduction to the Arduino and helpful information on tools and components. Then you work throughout the book in order or jump to projects that catch your eye. Each project includes simple instructions, colorful photos, circuit diagrams, and all the necessary code.
The Arduino Project Handbook is a fast and fun way to get started with microcontrollers that is ideal for beginners, hobbyists and educators.