Introducing SPI Xpress SPI protocol Master / Analyser on USB

Similar documents
SPI Xpress. Data sheet

Wave Generator Xpress

EE 456 Fall, Table 1 SPI bus signals. Figure 1 SPI Bus exchange of information between a master and a slave.

Understanding SPI with Precision Data Converters

An SPI interface for the 65(C)02 family of microprocessors

8PI Control Panel. User's Guide

Working with Quad and Other SPI Protocols Testing and Debugging (Quad-) SPI-based ASIC, FPGA, SoC and Embedded Systems

Hello, and welcome to this presentation of the STM32 Universal Synchronous/Asynchronous Receiver/Transmitter Interface. It covers the main features

SPI 3-Wire Master (VHDL)

Deterministic high-speed serial bus controller

SPI TCL Library User's Guide Revision Jan-12 1/24

McMaster University Embedded Systems. Computer Engineering 4DS4 Lecture 6 Serial Peripherals Amin Vali Feb. 2016

SPI Block User Guide V02.07

The 9S12 Serial Peripheral Inteface (SPI) Huang Section 10.2 through 10.6 SPI Block User Guide

spi 1 Fri Oct 13 13:04:

LOG Storm Studio. User's Guide. Revision Jan Byte Paradigm

Amarjeet Singh. January 30, 2012

Embedded Systems and Software. Serial Interconnect Buses I 2 C (SMB) and SPI

App Note Application Note: Addressing Multiple FPAAs Using a SPI Interface

INTRODUCTION TO FLEXIO

Block Diagram. mast_sel. mast_inst. mast_data. mast_val mast_rdy. clk. slv_sel. slv_inst. slv_data. slv_val slv_rdy. rfifo_depth_log2.

< W3150A+ / W5100 Application Note for SPI >

Design Development and Implementation of SPI

Serial Peripheral Interface (SPI) Host Controller Data Sheet

DS1306. Serial Alarm Real Time Clock (RTC)

MISO MOSI Clock. The master and the slave use a protocol based on the following frame structure. Preamble Body Postamble

Module 3.C. Serial Peripheral Interface (SPI) Tim Rogers 2017

I 2 C and SPI Protocol Triggering and Decode for Infiniium 9000 Series Oscilloscopes

UART TO SPI SPECIFICATION

Using FlexIO to emulate communications and timing peripherals

LA Xpress. Data sheet

i_csn i_wr i_rd i_cpol i_cpha i_lsb_first i_data [15:0] o_data [15:0] o_tx_ready o_rx_ready o_rx_error o_tx_error o_tx_ack o_tx_no_ack

Introduction the Serial Communications Parallel Communications Parallel Communications with Handshaking Serial Communications

Introduction to I2C & SPI. Chapter 22

The Serial Peripheral Interface

CORELIS. BusPro-S High Speed Multi-IO SPI Host, Debugger, and Programmer. User s Manual. Corelis, Inc.

Analyser TCL Library

Lecture 25 March 23, 2012 Introduction to Serial Communications

DataFlash. Application Note. Using Atmel s DataFlash. Introduction (AN-4)

Universität Dortmund. IO and Peripheral Interfaces

Menu. What is SPI? EEL 3744 EEL 3744 SPI

Microcontrollers and Interfacing

PIN ASSIGNMENT PIN DESCRIPTION

Using the Z8051 MCU s USI Peripheral as an SPI Interface

ADWG TCL Library User's Guide Revision Feb-15 1/24

ECE 471 Embedded Systems Lecture 20

CprE 488 Embedded Systems Design. Lecture 4 Interfacing Technologies

MicroBench MB-500A. Live Logic Logic source pattern generator Logic analyzer Arbitrary waveform generator Protocol interactive test

Getting Started with ESPI Interface Using the Z8 Encore! XP F1680

DS1305 Serial Alarm Real Time Clock (RTC)

RECONFIGURABLE SPI DRIVER FOR MIPS SOFT-CORE PROCESSOR USING FPGA

Video over SPI. (VoSPI) Implementaion Specification. Document Number: 102-PS Date: 22 Jan Weilming Sieh, FLIR. Paul Fagerburg, Syncroness

Raspberry Pi - I/O Interfaces

LAB4. Program the on chip SPI module

Parallel Data Transfer. Suppose you need to transfer data from one HCS12 to another. How can you do this?

Application Note, V1.0, Jul AP XC16x. Interfacing the XC16x Microcontroller to a Serial SPI EEPROM. Microcontrollers

ASNTu2s PCB with Tiger Board USB to 7-Channel 3-Wire Interface Bridge Application Notes

EE 308 Spring Using the 9S12 SPI

PCI / PMC / CPCI / PCI-X Bus Analysis

Groking the Linux SPI Subsystem FOSDEM Matt Porter

Emulating Dual SPI Using FlexIO

DQSPI IP Core. Serial Peripheral Interface Master/Slave with single, dual and quad SPI Bus support v. 2.01

Digital Thermometers and Thermostats with SPI/3-Wire Interface

Serial Peripheral Interface. What is it? Basic SPI. Capabilities. Protocol. Pros and Cons. Uses

Serial Peripheral Interface Bus SPI

SMT9091 SMT148-FX-SMT351T/SMT391

Serial Peripheral Interface (SPI)

DS1305EN. Serial Alarm Real-Time Clock

Serial Communication. Spring, 2018 Prof. Jungkeun Park

SV3C DPRX MIPI D-PHY Analyzer. Data Sheet

DS1306 Serial Alarm Real-Time Clock

FPGA Implementation Of SPI To I2C Bridge

SV3C DPRX MIPI D-PHY Analyzer. Data Sheet

DS1305EN. Serial Alarm Real-Time Clock

MediaTek MT7688 SPI Slave Programming Guide

Lecture 14 Serial Peripheral Interface

Introduction. Serial Peripheral Interface (SPI) SPI Basics. Capabilities of SPI

DS1305. Serial Alarm Real Time Clock (RTC) FEATURES PIN ASSIGNMENT ORDERING INFORMATION

PARALLEL COMMUNICATIONS

DCB1M - Transceiver for Powerline Communication

SPI Storm. Data sheet

Reference Design RD1065

C8051F700 Serial Peripheral Interface (SPI) Overview

Serial Communication. Simplex Half-Duplex Duplex

4. Configuring Cyclone II Devices

5. Configuring Cyclone FPGAs

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

output current sink/source 2 ma PIC 16F690 (see datasheet) SPI resolution 12 bit position accuracy 0.2 deg

Introduction the Serial Communications Huang Sections 9.2, 10.2 SCI Block User Guide SPI Block User Guide

AN_1x66B_047 July 2009

Laboratory Exercise 3

Exercise 4-1. DSP Peripherals EXERCISE OBJECTIVES

USB-910H API DLL and Include File Reference Manual

SPI (Serial & Peripheral Interface)

Serial communications with SPI

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

Microcontroller basics

IV B.Tech. I Sem (R13) ECE : Embedded Systems : UNIT -4 1 UNIT 4

High Speed SPI Slave Implementation in FPGA using Verilog HDL

TSOP Top View Type 1 NC NC RDY/BUSY RESET NC NC NC VCC GND NC NC NC NC CS SCK/CLK SI* SO* NC NC

Transcription:

Introducing SPI Xpress SPI protocol Master / Analyser on USB SPI Xpress is Byte Paradigm s SPI protocol exerciser and analyser. It is controlled from a PC through a USB 2.0 high speed interface. It allows debug, analysis, programming and testing of chips and electronic boards that use SPI for chip-to-chip communications. It operates on standard SPI and many other serial protocol interfaces that slightly differ from the standard SPI protocol, including 3-wires interfaces with bidirectional data line, up to 50 Mbps data rate. SPI Xpress is delivered with its control software (MS-Windows) including graphical user interface, waveform viewer, scripting TCL/tk interface and direct C/C++ DLL access. This white paper introduces the unique features of the SPI Xpress Master / Analyser. Introduction to the SPI protocol Overview The Serial Peripheral Interface Bus or SPI is a synchronous serial data link standard named by Motorola that operates in full duplex mode. Devices communicate in master/slave mode where the master device initiates the data frame. Multiple slaves can be connected to a single Master and the classical SPI standard is defined as a 4-wires interface including: - a clock signal generated by the master; - (Master Out Slave In) a master-to-slave(s) serial line; (Master In Slave Out) a slave(s)-to-master serial line; # - one or several slave select lines. Figure 1 and Figure 2 show two typical SPI bus configurations. Operation SPI Master SPI Slave The data exchange itself has no predefined protocol. To select a slave device, Figure 1 : Single master and single slave Revision 1.02 05/01/2009 1/9

the master pulls the corresponding line low and starts transmitting data bits over the line synchronously to the generated. Simultaneously, the slave answers by shifting bits onto the line. Clock polarity and phase The master always drives data on one edge of the clock onto the line and samples the incoming data from the line on the alternate clock edge. When the slave select signal is not active, the clock is usually held at an IDLE level. The toggle edge, sampling edge and the clock IDLE level are slavedevice dependent. The SPI protocol defines 2 parameters, the clock polarity (CPOL) and the clock phase (CPHA); the possible combinations of these parameters are summarised as mode, conventionally numbered as described on Table 1. SPI Master 1 2 3 SPI Slave SPI Slave Many SPI-like protocols Because SPI is a kind of de facto standard, there is a wide variety of protocols defined on 4 wires, very similar to the standardised one. Some devices even have minor variances from the CPOL/CPHA modes described above. Figure 2 : Single master and three slaves SPI Slave Devices often require extra clock idle time before the first clock or after the last one, or between a command and its response. Some don t use the conventional signal polarity (active low) for the lines; some require a defined minimum phase between the lines edges and the clock edges. Finally, some use a 3-wires signalling instead of the normal 4-wires one, using a single bidirectional / line. Mode 0 CPOL = 0 CPHA = 0 Mode 2 CPOL = 1 CPHA = 0 Mode 1 CPOL = 0 CPHA = 1 Mode 3 CPOL = 1 CPHA = 1 Table 1 : SPI Modes Revision 1.02 05/01/2009 2/9

SPI Xpress an advanced SPI and SPI-like protocol master and analyser (SPI host adapter) in one USB 2.0 device. Unique features and performance level The following table compares SPI Xpress features with its nearest competitor. SPI Xpress Nearest Competitor Device type Master / Analyser Master only frequency range 800 Hz to 50 MHz 800 khz to 40 MHz SPI supported modes All modes All modes Selectable polarity YES YES Selectable bit ordering YES YES Master operation log YES YES Master operation recording YES YES Master operation script execution YES YES Non-continuous clock generation YES YES Continuous clock generation YES NO GUI YES YES Free API YES YES Integrated scripting TCL/tk NO Configuration save YES NO Number of slaves 5 3 Selectable edge position step ¼ T up to 12.5 MHz ½ T up to 25 MHz NO # assertion / de-assertion to/from first clock 0 x T edge (no latency) at least 1 x T 3-wires protocols support YES NO Separately selectable length for write, write-toread latency and read YES n.a. (3-wires interfaces) Bus direction output YES n.a. external trigger YES n.a. Trigger pattern width Up to 6 bits n.a. Selectable edge/level trigger YES n.a. Analyser trigger positioning YES n.a. Integrated waveform viewer YES n.a. Selectable analyser decoding format YES : raw data, raw SPI data, decoded SPI n.a. Revision 1.02 05/01/2009 3/9

SPI Xpress fits to SPI and many other 4- and 3- wires serial protocols SPI Master protocol interfaces (SPI host adapter) SPI Xpress Master operation is based on the standard 4-wires SPI protocol. SPI Xpress Master combines the flexibility of a USB PC-controlled instrument with a dedicated hardware to access SPI ports as a master. The basic SPI protocol parameters are: frequency; SPI Mode (clock polarity and clock phase); Transaction length; Number of slaves. More advanced parameters include # signals polarity, transaction bit ordering, continuous / interrupted (hole) clock generation and so on. SPI protocol parameters are set up from the host PC running 8PI Control Panel software and downloaded into the SPI Xpress device through the USB link. During transfers, / data bits are automatically streamed from/to the PC. The SPI Xpress master can run single accesses or multiple queued accesses, with no latency time between the accesses. When queuing the accesses, it is also possible to use a special script command to insert idle times between the accesses, counted in number of clock cycles. t clk # AL t co t co b o0 b o1 b o2 b o3 b o4 b o5 t co b i0 b i1 b i2 b i3 b i4 b i5 t su t ho Figure 3 : Typical SPI access Symbol Parameter Min Max Units t clk Clock period 20 1,250,000 ns t co Clock to output 0 4 ns t su Setup time 5.6 - ns t ho Hold time - 0.0 ns AL Access length 1 32,000 bits Table 2 : SPI timing parameters Revision 1.02 05/01/2009 4/9

Flexible clock and control signals generation CLK IDLE b o0 b o1 b o2 TE b i0 b i1 b i2 Mode 0 SE CLK IDLE b o0 b o1 b o2 TE b i0 b i1 b i2 Mode 1 SE CLK IDLE b o0 b o1 b o2 TE b i0 b i1 b i2 Mode 2 SE CLK IDLE b o0 b o1 b o2 TE b i0 b i1 b i2 Mode 3 SE Figure 4 : SPI Xpress modes Figure 5 : SPI Xpress configuration and master tabs Revision 1.02 05/01/2009 5/9

, Inverted, Non-continuous, Non-continuous, Inverted # Active low # Active high -½ t clk +¼ t clk -½ t clk +¼ t clk @ t clk @ t clk -¼ t clk -¼ t clk Figure 6 : SPI Xpress Master and # generation options To be able to control a wide range of 4-wires serial protocols that derive from the standard SPI protocol, SPI Xpress master offers rich clock generation and control signal positioning options. The SPI clock characteristics such as the frequency, the phase and the polarity are simply selected through the configuration tab of the SPI control application (refer to Figure 5). Additionally, the signal can be generated as a continuous clock or an interrupted clock. In the latter case, the clock signal is generated only when data are sent / collected from the / lines (refer to Figure 6). SPI Xpress master also offers several other options at the # signals boundaries, as depicted on Figure 6. Finally, the # (slave select) signals edges can be precisely positioned at or between the edges, with a resolution of ¼ of the period 1. 1 frequency is limited to 25 MHz when using a phase shift of ½ T ; frequency is limited to 12.5 MHz when using a phase shift of ¼ T. Revision 1.02 05/01/2009 6/9

Extend control to 3-wires serial protocols SPI Xpress is configurable into a 3-wires protocol master. In such case, and # are used together with a merged / line. Each transaction is a sequence of 3 length-configurable parts: 1. write: the SPI Xpress master writes a programmable number of bits onto the / line; 2. Write-to-Read latency: to allow switching the direction of the access, the SPI Xpress holds the / line in high impedant state during a programmable number of clock cycles; 3. read: the SPI Xpress master samples a programmable number of bits from the / line. The clock polarity and phase options (CPOL / CPHA) are similar to these of the 4-wires protocols. An optional WE output line provides the direction of the / line, in case it is externally required. # / (WRITE - OUT) WrL Latency (High Z) LatL (READ - IN) RdL WE, Active high WE, Active low, inverted, noncontinuous, noncontinuous, inverted Figure 7 : SPI Xpress 3 wires protocols overview & clock options Revision 1.02 05/01/2009 7/9

SPI Analyser protocol interfaces Symbol Parameter Min Max Units WrL Write length 1 7,000 bits LatL Write to Read latency length 0 7,000 bits RdL Read length 0 7,000 bits Table 3 : 3 wires interface parameters SPI Xpress is also a powerful SPI protocol Analyser. Basically, it works like a logic analyser; as for a logic analyser, the following parameters are defined with the control software: Sampling rate; Start type: triggered or non-triggered; Edge or level trigger, pattern defined on up to 6 bits; Trigger positioning within the overall sampling window. SPI Xpress Analyser embeds GTK Wave waveform viewer, to get a direct view of the sampled data. By default, SPI Xpress Analyser outputs the sampled data as decoded SPI transactions. These transactions can be exported to a file and replayed into the SPI Xpress Master. Additionally, the sampled data can be exported as raw data (samples) or raw SPI data, that is to say the samples located at the edges. Figure 8 : SPI Xpress Analyser tab and waveform display Revision 1.02 05/01/2009 8/9

CLK Slave 0 Slave 1 Slave 2 Slave 3 Slave 4 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 Figure 9 : Example of SPI data exported as raw data CLK Slave 0 Slave 1 Slave 2 Slave 3 Slave 4 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Figure 10: Example of SPI data exported as raw SPI (sampled at the edge) @idle 20 @shift4 2 16 0x1234 0xabcd @shift4 2 16 0x5678 0x1dea @shift4 2 16 0x9abc 0xabcd @idle 100 @shift4 2 16 0x5a5a 0xffff Figure 11: Example of decoded SPI data file Revision 1.02 05/01/2009 9/9