TMS320F2812串行外设接口 Serial Peripheral Interface SPI)
TMS320F2812串行外设接口 Serial Peripheral Interface (SPI)
什么是SP SP|接口的全称是“ Serial Peripheral Interface",意为串 行外围接口,是 Motorola首先在其MC68HCXX糸列处理 器上定义的。SP接口主要应用在 EEPROM, FLASH,实 时时钟AD转换器,还有数字信号处理器和数字信号解 码器之间。(AD7705、AD1255、MAX7219) SP|接口是在CPU和外围低速器件之间进行同步串行数 据传输,在主器件的移位脉冲下,数据按位传輪,高位在 前,低位在后,为全双工通信,数据传输速度可达到几 Mbps
什么是SPI • SPI接口的全称是“Serial Peripheral Interface”,意为串 行外围接口,是Motorola首先在其MC68HCXX系列处理 器上定义的。SPI接口主要应用在EEPROM,FLASH,实 时时钟,AD转换器,还有数字信号处理器和数字信号解 码器之间。(AD7705、AD1255、MAX7219) • SPI接口是在CPU和外围低速器件之间进行同步串行数 据传输,在主器件的移位脉冲下,数据按位传输,高位在 前,低位在后,为全双工通信,数据传输速度可达到几 Mbps
串行异步通信 ·数据传输中,以帧为单位进行数据的传送。如图7.1.1所示, 帧数据由一个起始位、5-8位数据位、一个可编程校验 位和一个停止位组成。 N-1 第N个字符 N+1 P 0 DO DI D2D3 D4 D5 D6 D7P 10 异步通信数据幀格式
串行异步通信 • 数据传输中,以帧为单位进行数据的传送。如图7.1.1所示, 一帧数据由一个起始位、5-8位数据位、一个可编程校验 位和一个停止位组成
串行异步通信 起始位:占一位,用于实现发送和接收双发设备之间的同步 数据位:包含着传输的数据信息,一般为5-8位。可编程校验位:占一位。 这是用户自定义的特征位。用户可以根据发送数据的特征,对这一位进行相 应的置1或清零。 校验位的信息和数据位的信息一起通过串行通信线发送到接收端,接收端在 收到数据和校验信息位后,可以通过校验位来判别接收数据是否正确。 停止位:占一位。数据传输结束,发送端发送逻辑1,将通信线再次置为高电 平,表示通知接收端一帧数据发送结束。直到下一帧数据到来,由起始位再 次置低通信线,开始下一次数据的传输。 从上述可以看出,在串行异步通信过程中,发送和接收端之间的数据同步是 通过数据帧中的起始位来完成的,每传输一帧数据,发送和接收端需要进行 次同步
串行异步通信 • 起始位:占一位,用于实现发送和接收双发设备之间的同步。 • 数据位:包含着传输的数据信息,一般为5--8位。可编程校验位:占一位。 这是用户自定义的特征位。用户可以根据发送数据的特征,对这一位进行相 应的置1或清零。 • 校验位的信息和数据位的信息一起通过串行通信线发送到接收端,接收端在 收到数据和校验信息位后,可以通过校验位来判别接收数据是否正确。 • 停止位:占一位。数据传输结束,发送端发送逻辑1,将通信线再次置为高电 平,表示通知接收端一帧数据发送结束。直到下一帧数据到来,由起始位再 次置低通信线,开始下一次数据的传输。 • 从上述可以看出,在串行异步通信过程中,发送和接收端之间的数据同步是 通过数据帧中的起始位来完成的,每传输一帧数据,发送和接收端需要进行 一次同步
SP控制模式 S門接口是以主从方式工作的,这种模式通常有一个主器件 和一个或多个从器件,其接口包括以下四种信号: (1)MOS|-主器件数据输出,从器件数据输入 (2)MSO一主器件数据输入,从器件数据输出 (3)SCLK一肘钟信号,由主器件产生 (4)/SS一从器件使能信号,由主器件控制 SCLK OSI Master ALSo Slave /SS
SPI控制模式 • SPI接口是以主从方式工作的,这种模式通常有一个主器件 和一个或多个从器件,其接口包括以下四种信号: (1)MOSI – 主器件数据输出,从器件数据输入 (2)MISO – 主器件数据输入,从器件数据输出 (3)SCLK – 时钟信号,由主器件产生 (4)/SS – 从器件使能信号,由主器件控制
SP|作时序 SP|接口在内部硬件实际上是两个简单的移位寄存 器,传输的数据为8位,在主器件产生的从器件使能 信号和移位脉冲下,按位传输,高位在前,低位在后。 SS 2H 10 SPICLK t→ t1→ SOMI SIMO SPI通讯时序图
SPI工作时序 • SPI接口在内部硬件实际上是两个简单的移位寄存 器,传输的数据为8位,在主器件产生的从器件使能 信号和移位脉冲下,按位传输,高位在前,低位在后
F2812的串行外设接口 °F2812的SP是一个高速同步的串行输入/输 出接口。 SP通常用于DSP和外设或其他处理器进行 通信,主要应用于显示驱动器、ADC等器 件之间。也可以釆用主/从模式实现多处理 器的通信
F2812的串行外设接口 • F2812的SPI是一个高速同步的串行输入/输 出接口。 • SPI通常用于DSP和外设或其他处理器进行 通信,主要应用于显示驱动器、ADC等器 件之间。也可以采用主/从模式实现多处理 器的通信
Signal Name Description External Signals SPICLK SPI clock SPISIMO SPI slave in master out SPISOMI SPI slave out, master in SPISTE SPI slave transmit enable(optional) Control SPI CLock Rate LSPCLK Interrupt signals SPIRXINT Transmit interrupt/ Receive Interupt in non FIFo mode (referred to as SPl IND) Receive in interrupt in FIFo mode SPITXINT Transmit interupt -FIFo
Table 1-1. SPI Registers Name Address Range Size(x16) Description SPICCR 0×0000-7040 SPI Configuration Control Register SPICTL 0×0000-7041 SPl Operation Control Register SPIST 0×0000-7042 SPI Status Register SPIBRR 0x0000-7044 SPI Baud Rate Register SPIEMU 0×0000-7046 1 SPI Emulation Buffer Register SPIRXBUF 0×0000-7047 SPI Serial Input Buffer Register SPITXBUF 0x0000-7048 1 SPI Serial Output Buffer Register SPIDAT 0×000-7049 1 SPI Senal Data Register SPIFFTX 0×0000-704A 1 SPI FIFO Transmit Register SPIFFRX 0×0000-704B 1 SPI FIFO Receive Register SPIFFCT 0×0000-704C 1 SPI FIFO Control Register SPIPR 0×0000-704F 1 SPI Priority Control Register Note: The registers are mapped to Peripheral Frame 2. This space only allows 16-bit accesses. Using 32-bit accesses pro- duces undefined results
SPI master(master/slave= 1) SPI slave(masterslave =0) Slave in/ SPIRXBUF. 15-0SPISIMo master outSPISIMO SPIRXBUF 15-0 Serial inpt out buffer Serial input buffer SPIRXBUF SPIRXBUF SPI SPISTE SPISTE strobe SPIDAT 15-0 SPIDAT 15- Shift register ,. SPISOM Slave out/SPISOMI Shift register SPIDAT) LS8 master In (SPIDAT) LSBA+ Serial SPICLK SPICLK clock SPITXBUF 15-0 SPITXBUF 15-0 Serial transmit buffer Serial transmit buffer SPITXBUF SPITXBUF Processor 1 Processor 2