Difference between revisions of "SPI"

From Granite Devices Knowledge Wiki
Jump to: navigation, search
[checked revision][checked revision]
(From low level hardware)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
SPI (Serial Peripheral Interface) is a serial communication link used in [[VSD-A]] and [[VSD-E and VSD-XE]] drives. SPI is used to set drive parameters and it also can be used for control with [[SimpleMotion]] library.
+
SPI (Serial Peripheral Interface) is a serial communication link used in [[VSD-A]] and [[VSD-E and VSD-XE]] drives. SPI is used to set drive parameters and it also can be used for control with [[SimpleMotion library]].
==VSD SPI bus capabilities==
+
==VSD SPI bus key features==
Key features of VSD SPI bus:
+
Implementation of VSD SPI bus:
 
*All commands are 32 bit packets:
 
*All commands are 32 bit packets:
 
**8 bit command ID
 
**8 bit command ID
**16 bit data
+
**16 bit command parameter
**8 bit CRC check sum
+
**8 bit CRC error checking
 +
*By sending one command, drive responds simultaneously with 32 bit return data packet:
 +
**8 bit status bits (usually not needed by application)
 +
**16 bit return data
 +
**8 bit CRC error checking
 
*Command rate up to 2500 commands/s (80 kbit/s)
 
*Command rate up to 2500 commands/s (80 kbit/s)
 
==Using VSD SPI==
 
==Using VSD SPI==
SPI bus on VSD drives require 3 data wires and ground:
+
===With SimpleMotion library===
 +
[[SimpleMotion library]] communicates to [[VSD-E and VSD-XE]] drives via SPI bus. The phyiscal transfer link between PC and VSD drive is [http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf FTDI TTL232R USB serial adapter].
 +
===From low level hardware===
 +
SPI bus on VSD drives requires 3 data wires, ground and 3-5 VDC supply (5 wires total):
 
* SCLK - clock signal
 
* SCLK - clock signal
 
* MISO - master in, slave out
 
* MISO - master in, slave out
Line 15: Line 22:
  
 
SPI signals are relatively easy to generate with any programmable device with digital I/O's such as microcontrollers. [[SimpleMotion]] source code can be ported on many platforms including MCU's.
 
SPI signals are relatively easy to generate with any programmable device with digital I/O's such as microcontrollers. [[SimpleMotion]] source code can be ported on many platforms including MCU's.
 +
 
==See also==
 
==See also==
 
*[[Wikipedia:Serial Peripheral Interface Bus]]
 
*[[Wikipedia:Serial Peripheral Interface Bus]]
 
[[Category:Signals]]
 
[[Category:Signals]]

Latest revision as of 19:47, 18 April 2012

SPI (Serial Peripheral Interface) is a serial communication link used in VSD-A and VSD-E and VSD-XE drives. SPI is used to set drive parameters and it also can be used for control with SimpleMotion library.

VSD SPI bus key features[edit | edit source]

Implementation of VSD SPI bus:

  • All commands are 32 bit packets:
    • 8 bit command ID
    • 16 bit command parameter
    • 8 bit CRC error checking
  • By sending one command, drive responds simultaneously with 32 bit return data packet:
    • 8 bit status bits (usually not needed by application)
    • 16 bit return data
    • 8 bit CRC error checking
  • Command rate up to 2500 commands/s (80 kbit/s)

Using VSD SPI[edit | edit source]

With SimpleMotion library[edit | edit source]

SimpleMotion library communicates to VSD-E and VSD-XE drives via SPI bus. The phyiscal transfer link between PC and VSD drive is FTDI TTL232R USB serial adapter.

From low level hardware[edit | edit source]

SPI bus on VSD drives requires 3 data wires, ground and 3-5 VDC supply (5 wires total):

  • SCLK - clock signal
  • MISO - master in, slave out
  • MOSI - master out, slave in

VSD drive is the slave device.

SPI signals are relatively easy to generate with any programmable device with digital I/O's such as microcontrollers. SimpleMotion source code can be ported on many platforms including MCU's.

See also[edit | edit source]