Back Home

Navigation

Home

Introduction
The Hardware
Protocol Overview
Addressing
Prompts
Commands
Parameters
Ctrl Characters
Data Transfer
Flow Control
Errors
System Commands
Software Tips

Mini SB-Bus


SB-Bus Protocol Overview

Communication over the SB-Bus takes place in full duplex with a speed of 9600 Baud, 8 data bits, no parity, and 1 stop bit. I know, 9600 Baud is not very fast by today's standards. But keep in mind that we're communicating with small microcontrollers, which won't necessarily be able to go much faster.

All Slaves can only receive data coming from the Master. It is not possible for Slaves to communicate among them selves. Therefore communication is always initiated by the Master.
All Slaves talk back to the Master over the same line. To avoid chaos Slaves are only allowed to speak when they are spoken to. A more technical term is that a Slave may only send something when it is selected by its own address.

All commands are given in "plain English". This allows the devices to be controlled by a human, operating a terminal emulation program on the Master computer.

Even though each character is sent as an 8-bit byte, we use only 7-bits ASCII for communication. The extra 8th bit is used to distinguish data characters from address bytes.
Whenever bit b7 of the character is 0 it is a normal ASCII data byte. When bit b7 is 1 the character is interpreted as an address byte. This way we can have up to 128 different addresses.

A selected, or addressed, Slave reports its status by sending one of 3 prompts to the Master. There is a prompt for the OK status, Syntax Error status and the Execution Error status.
Whenever a Slave receives its own address from the Master it responds by sending the OK status prompt and then waits for a command from the Master.
After executing a command the Slave may respond with some messages, and finally it will send one of the 3 status prompts back to the Master.

 

© 2004, San Bergmans, Oisterwijk, The Netherlands
http://www.sbprojects.com