Specifications

For platforms other than the RF100, refer to the appropriate platform specific section in the back of
this manual.
Note! – These pins are only dedicated if you are actually using the CBUS functions. If not, they
remain available for other functions.
You will also need as many Chip Select pins as you have external CBUS devices. You can choose any
available GPIO pin(s) to be your CBUS chip selects. The basic program flow becomes:
1. # select the desired CBUS device
2. writePin(somePin, False) # assuming the chip select is active-low
3. # read bytes from the selected CBUS device
4. Response = cbusRd(10) # <- you specify how many bytes to read
5. # deselect the CBUS device
6. writePin(somePin, True) # assuming the chip select is active-low
CBUS writes are handled in a similar fashion.
If you are already familiar with CBUS devices, you should have no trouble using these functions to
interface to external CBUS chips.
A detailed example of interfacing to an external CBUS voice chip will be the topic of an upcoming
application note.
NOTE – Not all SNAP Engines support CBUS.
Interfacing to external SPI slave devices
SPI is another clocked serial bus. It typically requires at least four pins:
CLK – master timing reference for all SPI transfers
MOSI – Master Out Slave In – data line FROM the master TO the slave devices
MISO – Master In Slave Out – data line FROM the slaves TO the master
CS – At least one Chip Select (CS)
SPI also exists in a three wire variant, with the MOSI pin serving double-duty.
Numerous options complicate use of SPI:
Clock Polarity – the clock signal may or may not need to be inverted
Clock Phase – the edge of the clock actually used varies between SPI devices
Data Order – some devices expect/require Most Significant Bit (MSB) first, others only work
Least Significant Bit (LSB) first
Data Width – some SPI devices are 8-bit, some are 12, some are 16, etc.
You can find more information on SPI at http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
SNAP Reference Manual Document Number 600-0007K Page 35 of 202