Difference between revisions of "CAN Protocol"
Alexalspach (Talk | contribs) (→Periodic Communication) |
Alexalspach (Talk | contribs) (→Standard CAN Packet) |
||
Line 11: | Line 11: | ||
==CAN Frames== | ==CAN Frames== | ||
===Standard CAN Packet=== | ===Standard CAN Packet=== | ||
+ | The standard CAN packet used for communication contains 8 bytes. | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | typedef struct{ | ||
+ | unsigned char STD_EXT; | ||
+ | unsigned long msg_id; //message identifier | ||
+ | unsigned char data_length; // | ||
+ | char data[8]; // data array | ||
+ | } can_msg; | ||
+ | </syntaxhighlight> | ||
+ | |||
===ID (Message Identifier)=== | ===ID (Message Identifier)=== | ||
====Command Identifiers==== | ====Command Identifiers==== |
Revision as of 21:14, 5 October 2012
Contents |
CAN Communication
Baud-Rate
The CAN communication baud-rate is 1Mbps.
Non-Periodic Communication
Messages can be sent to initialize or stop CAN communication.
Periodic Communication
The Allegro Hand control software attempts to communicate with the real or simulated hand at a regular control interval. Every 3 milliseconds the joint torques are calculated and the joint angles are updated.
CAN Frames
Standard CAN Packet
The standard CAN packet used for communication contains 8 bytes.
typedef struct{ unsigned char STD_EXT; unsigned long msg_id; //message identifier unsigned char data_length; // char data[8]; // data array } can_msg;
ID (Message Identifier)
Command Identifiers
Source and Destination Identifiers
Case-study: Softing CAN
Opening the CAN Communication Channel
CAN Initialization
Starting Periodic CAN Communication
Stopping Periodic CAN Communication
Transmitting Control Torques
Receiving Joint Angles
Whos here now: Members 0 Guests 0 Bots & Crawlers 1 |