This book details the use of the ARM Cortex-M family of processors and the Arduino Uno in practical CAN bus based projects. Inside, it gives a detailed introduction to the architecture of the Cortex-M family whilst providing examples of popular hardware and software development kits. Using these kits helps to simplify the embedded design cycle considerably and makes it easier to develop, debug, and test a CAN bus based project. The architecture of the highly popular ARM Cortex-M processor STM32F407VGT6 is described at a high level by considering its various modules. In addition, the use of the mikroC Pro for ARM and Arduino UNO CAN bus library of functions are described in detail.
This book is written for students, for practising engineers, for hobbyists, and for everyone else who may need to learn more about the CAN bus and its applications. The book assumes that the reader has some knowledge of basic electronics. Knowledge of the C programming language will be useful in later chapters of the book, and familiarity with at least one microcontroller will be an advantage, especially if the reader intends to develop microcontroller based projects using CAN bus.
The book should be useful source of reference to anyone interested in finding an answer to one or more of the following questions:
• What bus systems are available for the automotive industry?
• What are the principles of the CAN bus?
• What types of frames (or data packets) are available in a CAN bus system?
• How can errors be detected in a CAN bus system and how reliable is a CAN bus system?
• What types of CAN bus controllers are there?
• What are the advantages of the ARM Cortex-M microcontrollers?
• How can one create a CAN bus project using an ARM microcontroller?
• How can one create a CAN bus project using an Arduino microcontroller?
• How can one monitor data on the CAN bus?