Summer 2009 Version 1.01
by Robert Boys, bob.boys@arm.com San Jose, California for the NXP LPC1700 series
Introduction:
CAN is extensively used in automotive but has found applications everywhere. There are many “application” layers available for CAN such as ISO 15765 (cars), J1939 (trucks) and CANopen (factory automation) but it is very easy to develop your own protocol that will fit and simplify your needs. Modern CAN transceivers provide a stable and reliable CAN physical environment without the need for expensive coaxial cables. Most of the mystery of CAN has dissipated over the years. There is plenty of example CAN software to help you develop your own network.
A CAN controller is a sophisticated device. Nearly all the features of the CAN protocol described below are automatically handled by the controller with almost no intervention by the host processor. All you need to do is configure the controller by writing to its registers, write data to the controller and the controller then does all the housekeeping work to get your message on the bus.
The controller will also read any frames it sees on the bus and hold them in a small FIFO memory. It will notify the host processor that this data is available which you then read from the controller. The controller also contains a hardware filter mechanism that can be programmed to ignore those CAN frames you do not want passed to the processor.
Topics Covered:
Introduction, Main Features of CAN, CAN System Layout, CAN Node schematic, Physical Layer: the wires, The CAN Frame: the fields, Bus loading, Speed and Errors, Bus Faults, Multiple CAN frames, Types of Frames and Time-outs, Transmitting and Receiving CAN Frames, CAN Controllers, Keil CAN demonstration software, The NXP CAN Controller, Keil CAN Example using the Simulator, How the Keil CAN software works, Setting up a CAN demonstration with real hardware, Using the Serial Wire Viewer (SWV) with CAN, SWV Exception Tracing, SWV Data Read and Write Tracing, Watchpoints, SWV PC Tracing and Watch and Memory Windows, ETM Tracing Introduction, ETM Tracing with ?Vision® and the Signum Systems JtagJetTrace, How can trace help me find problems.


