Interfacing a CAN Transceiver with MCU via SPI
Created: Dec 09, 2014
No description available.
Controller Area Network popularly CAN, which was first introduced by Bosch around the 80's and became an ISO 11898 in 1994, was specially developed for fast serial data exchange between electronic controllers in motor vehicles. This is precisely how CAN can also be used in the implementation of industrial microcontroller networks, e.g. as an internal bus in machine tools, to interconnect distributed measurement, control and monitoring functions on the lowest automation level to a higher-level computer, or as a field bus to interconnect sensors, actuators and/or user interfaces.
The circuit uses the TJA1050, which is the interface between the Controller Area Network (CAN) protocol controller and the physical bus. The device provides differential transmit capability to the bus and differential receive capability to the CAN controller. The TJA1050 is the third Philips high-speed CAN transceiver after the PCA82C250 and the PCA82C251. The most important differences are: much lower electromagnetic emission due to optimal matching of the output signals CANH and CANL, improved behavior in case of an unpowered node, and no standby mode.
The circuit integrated the Serial to Peripheral Interface (SPI) for hardware/firmware communications protocol developed by Motorola and later adopted by others in the industry. Microwire of National Semiconductor is same as SPI. Sometimes SPI is also called a "four wire" serial bus. The Serial Peripheral Interface or SPI-bus is a simple 4-wire serial communications interface used by many microprocessor/microcontroller peripheral chips that enables the controllers and peripheral devices to communicate each other. Even though it is developed primarily for the communication between host processor and peripherals, a connection of two processors via SPI is just as well possible.