Back to Specification
Physical Level

VSCP over CAN

* The maximum number of nodes VSCP can handle is 254. In practice, the number of nodes that can be connected to a CAN bus depends on the minimum load resistance a transceiver is able to drive. This is typically around 120 depending on all the transceivers and media (cables) used.

* The transmission speed (or nominal bit rate) is set by default at 125 kilobits per second. All nodes should support this speed but lower bitrates can be used too. See Using alternative bitrates.

* The maximum length of the cabling in a segment is typically 500 meters using AWG24 or similar (CAT5) and a nominal bit rate of 125kbps. Drops with a maximum length of 24M can be taken from this cable and the sum of all drops must not exceed a total of 120 meters counted together.

Bit Rate Max Bus Length (m) Max Drop Length (m) Max Cumulative Drop Length (m)
1M 25* 2 10
800k 50* 3 15
500k 100 6 30
250k 250 12 60
125k 500 24 120
50k 1000 60 300
20k 2500 150 750
10k 5000 300 1500

* The cable should be terminated at both ends with 120 ohms resistors.

* VSCP requires Extended Data Frames with a 29-bit identifier.

* The protocol is compatible with elementary CAN nodes such as the Microchip MCP2502x/5x I/O CAN expander.

* Just as for CANopen and DeviceNet, the sample point should be set at 87.5%.

Format of the 29 bit CAN identifier in VSCP

Bit Use Comment
28 Priority Highest priority is 000b (=0) and lowest is 111b (=7)
27 Priority
26 Priority
25 Hardcoded If this bit is set the Nickname ID of the device is hardcoded
24 Class The class identifies the message class. There are 512 possible classes. This is the MSB bit of the class.
23 Class
22 Class
21 Class
20 Class
19 Class
18 Class
17 Class
16 Class
15 Type The type identifies the type of the message within the set message class. There are 256 possible types within a class. This is the MSB bit of the type.
14 Type
13 Type
12 Type
11 Type
10 Type
9 Type
8 Type
7 Originating-Address The address is a unique address in the system. It can be a hard-set address or (hardcoded bit set) or an address retrieved through the nickname discovery process. 0x00 is reserved for a segment master node. 0xff is reserved for no assigned nickname.
6 Originating - Address
5 Originating - Address
4 Originating - Address
3 Originating - Address
2 Originating - Address
1 Originating - Address
0 Originating - Address

If addressing of a particular node is needed the nickname address for the node is given as the first byte in the data part. This is a rare situation for VSCP and is mostly used in the register read/write events.

RJ-XX pinout

*Pin RJ45,RJ12,RJ11,RJ10* *Use* RJ-11 RJ-12 RJ-45
1 +9-28V DC - - RJ-45
2 1 +9-28V DC - RJ-12 RJ-45
3 2 1 +9-28V DC RJ-11 RJ-12 RJ-45
4 3 2 CANH RJ-11 RJ-12 RJ-45
5 4 3 CANL RJ-11 RJ-12 RJ-45
6 5 4 GND RJ-11 RJ-12 RJ-45
7 6 GND - RJ-12 RJ-45
8 GND - - RJ-45

It is recommended that “professional” equipment use the voltage range +12V - 28V instead of the more domestic range +9V-16V.

Note that the schematics drawings for VSCP modules use a symbol that is numbered looking from the PCB side. It thus appear as to be numbered in the other direction but is actually the same.

Note also that CANOpen specify a different schema http://www.cd-systems.com/Can/can-cables.htm which is opposite numbered VSCP but they are actually the same. We use the numbering that look into the female connector and connt from the left. They use the Arabic style and count from the right.

:!: Aways try to use a twisted pair of wires for CANH/CANL fort best noise immunity. If the EIA/TIA-568-B standard is used this condition will be satisfied. This is good as most ethernet networks already is wired this way.

Using alternative bitrates

The bitrate should normally be fixed at 125kbps but can be set at any other rate on a segment where one have control of the bitrate setting. Just configure all you nodes to use the alternative bit rate.

The following method can also be used to avoid manual configuration of every node.

A segment can use a different speed than the default 125kbps. When a new node is initialized, it should first start up in a state where it doesn't send anything on the bus but only listen to all traffic. It should listen in turn at speeds of 1000kbps, 800kbps, 500kbps, 250kbps, 125kbps, 100kbps, 50kbps, 20kbps and 10kbps for at least two seconds each, until valid data is received. That speed is then kept and the nickname discovery process is started.

If no traffic is discovered on any of the speeds, the node is initialized with the default speed 125kbps. This will be the case for the first node on the segment.

vscp_specification_-_vscp_level_i_over_can.txt · Last modified: 2010/08/19 01:55 (external edit)
Public Domain
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0