Friday, October 7, 2011

NEW CAN bus support in QUARC 2.2!

Controller Area Network (aka CAN bus) is an industrial standard and communication protocol originally developed by Bosch in the 1980s to interface the various subsystems used in the automotive industry. Today, CAN is used in many real-world systems including automotive, medical, industrial automation, avionics systems, and marine systems. For example, a modern automobile may have dozens of different electro-mechanical subsystems that need to talk to one another, including the engine control unit, power steering unit, powertrain control unit, any many more.


In a nutshell, CAN is a multidrop serial bus. Devices like sensors and actuators typically interface to the CAN bus via an embedded processor and CAN controller. Every "node" on the CAN bus is able to transmit data on the bus and read data from the bus. Each message transmitted on the bus has an 11-/29-bit message ID, and when multiple nodes are trying to transmit at the same time, arbitration (who gets priority to send their message on the bus) is decided by this ID. This allows devices and controllers (nodes) on the CAN bus to publish data according to unique IDs that other nodes on the CAN bus can read.
In QUARC 2.1 there was limited CAN support via a Peak CAN USB block. The Peak CAN USB block interfaced with a USB CAN bus device from Peak System Gmbh, but the support was limited to this one device. In QUARC 2.2 that block has been replaced with the new Peak CAN block.



The new Peak CAN block in QUARC gives you CAN bus access using any of the CAN interface devices made by Peak System GmbH., including USB, PCI, PCI-express, PC/104, and many other form factors. Any device by Peak System GmbH. that supports the PCAN-Basic API is supported by this block. Simply by selecting the CAN device type in the block parameters gives you the same, uniform interface to connect your QUARC-powered controller to the CAN bus.


We are already making use of this new CAN support in QUARC to interface with advanced robotics and autonomous vehicles. Let us know how you think you can use CAN bus in your research applications! Happy CAN'ing!

Cameron

No comments: