User Manual
北京博创兴盛机器人技术有限公司 UPTECH Robotics
TEL:+86-010-8211-4870, +86-010-8211-4887 FAX:Ext.828 http://robot.up-tech.com
Page 6 of 21
2 Communication protocol
2.1 Summary
The CDS55xx serial bus has a master device and multiple slave devices. The controller
(or the PC) acts as master device, the CDS55xx servos act as slave devices. The
communication sequence is:
n The master sends an instruction packet;
n The slave receive the instruction packet,execute it, and then send an answer
packet to the master.
There are two types of packets; the “Instruction Packet” (sent from the main controller
to the servos) and the “Status Packet” (sent from the servos to the main controller.)
There can be multiple CDS55xx servos on the bus; each servo should be assigned an
unique ID. The instruction packet contains the ID info, only the corresponding servos will
response the instruction packet when other servos will ignore them.
2.2 Instruction packet
Instruction packet format:
HEADER ID LENGTH INSTRUCTION
PARAMETER CHECK SUM
0XFF 0XFF ID Length Instruction Parameter1 ... N 0x??
The meanings of each packet byte definition are as the following.
Header: two 0xFF in sequence indicates the start of a incoming instruction
packet.
ID: The unique ID of a CDS55xx unit. There are 254 available ID values,
ranging from 0X00 to 0XFD.
Broadcasting ID ID 0XFE is the Broadcasting ID which indicates all
of the connected CDS55xx units. Packets sent with this ID apply to
all CDS55xx units on the network. Thus packets sent with a
broadcasting ID will not return any status packets.
LENGTH: The length of the packet where its value is “Number of
parameters (N) + 2”
INSTRUCTION: The instruction for the CDS55xx servo to perform.
PARAMETER0…N Used if there is additional information needed to be sent other
than the instruction itself.
CHECK SUM The computation method for the ‘Check Sum’ is as the
following.
Check Sum = ~ (ID + Length + Instruction + Parameter1 + ...
Parameter N).If the calculated value is larger than 255, the lower
byte is defined as the checksum value.
~ represents the NOT logic operation.