资料介绍
系统在上电复位时,SPI工作在标准SPI模式,禁止FIFO功能。FIFO的寄存器SPIFFTX、SPIFFRX和SPIFFCT不起作用。通过将SPIFFTX寄存器中的SPIFFEN的位置为1,使能FIFO模式。SPIRST能在操作的任一阶段复位FIFO模式。
FIFO模式有2个中断,一个用于发送FIFO、SPITXINT,另一个用于接收FIFO、SPIINT/SPIRXINT。对于SPI FIFO接收来说,产生接收错误或者接收FIFO溢出都会产生SPIINT/SPIRXINT中断。对于标准SPI的发送和接收,唯一的SPIINT将被禁止且这个中断将服务于SPI接收FIFO中断。发送和接收都能产生CPU中断。一旦发送FIFO状态位TXFFST(位12~8)和中断触发级别位TXFFIL(位4~0)匹配,就会触发中断。这给SPI的发送和接收提供了可编程的中断触发器。接收FIFO的触发级别位的缺省值是0xll111,发送FIFO的触发级别位的缺省值是0x00000。
发送和接收缓冲器使用2个16×16 FIFO,标准SPI功能的一个字的发送缓冲器作为在发送FIFO和移位寄存器间的发送缓冲器。移位寄存器的最后一位被移出后,这个一字发送缓冲器将从发送∏FO装载。FIFO中的字发送到发送移位寄存器的速率是可编程的。SPIFFCT寄存器位FFTXDLY7~FFTXDILYO定义了在两个字发送间的延时,这个延时以SPI串行时钟周期的数量来定义。该8位寄存器可以定义最小0个串行时钟周期的延迟和最大256个串行时钟周期的延时。0时钟周期延时的SPI模块能将FIFO字一位紧接一位的移位,连续发送数据。256个时钟周期延迟的SPI模块能在最大延迟模式下发送数据,每个FIFO字的移位间隔256个SPI时钟周期的延时。可编程延时的特点,使得SPI接口可以方便地同许多速率较慢的SPI外设如EEPROM、ADO、DAC等直接连接。
发送和接收FIFO都有状态位TXFFST或RXFFST(位12~0),状态位定义任何时刻在FIFO中可获得的字的数量。当发送FIFO复位位TXFIFO和接收复位位RXFIFO被设置为1时,FIFO指针指向0。一旦这两个复位位被清除为0,则FIFO将重新开始操作。
SPI数据传输从设备模式
在从模式中(MASTER/SLAVE=0),SPISOMI引脚为数据输出引脚,SPISIMO引脚为数据输入引脚。SPICLK引脚为串行移位时钟的输入,该时钟由网络主控制器提供,传输率也由该时钟决定。SPIC LK输入频率不应超过CLKOUT频率的四分之一。
当从SPI设各检测到来自网络主控制器的SPICLK信号的合适时钟边沿时,已经写人SPI-DAT或SPITXBUF寄存器的数据被发送到网络上。要发送字符的所有位移出SPIDAT寄存器后,写人到SPITXBUF寄存器的数据将会传送到SPIDAT寄存器。如果向SPITXBUF写人数据时没有数据发送,数据将立即传送到SPIDAT寄存器。为了能够接收数据,从SPI设备等待网络主控制器发送SPICLK信号,然后将SPISIMO引脚上的数据移入到SPIDAT寄存器中。如果从控制器同时也发送数据,而且SPITXBUF还没有装载数据,则必须在SPICLK开始之前把数据写人到SPITXBUF或SPIDAT寄存器。
当TALK位(SPICTL.1)清零,数据发送被禁止,输出引脚(SPISOMI)处于高阻状态。如果在发送数据期间将TALK位(SPICTL.1)清零,即使SPISOMI引脚被强制置成高阻状态也要完成当前的字符传输。这样可以保证SPI设各能够正确地接收数据。TALK位允许在网络上有许多个从SPI设备,但在某一时刻只能有1个从设各来驱动SPISOMI。
SPISTE引脚用作从动选择引脚时,当该引脚为低电平时,允许从SPI设各向串行总线发送数据;当该引脚为高电平时,从SPI串行移位寄存器停止工作,串行输出引脚被置成高阻状态。在同一网络上可以连接多个从SPI设各,但同一时刻只能有1个设各起作用。
FIFO模式有2个中断,一个用于发送FIFO、SPITXINT,另一个用于接收FIFO、SPIINT/SPIRXINT。对于SPI FIFO接收来说,产生接收错误或者接收FIFO溢出都会产生SPIINT/SPIRXINT中断。对于标准SPI的发送和接收,唯一的SPIINT将被禁止且这个中断将服务于SPI接收FIFO中断。发送和接收都能产生CPU中断。一旦发送FIFO状态位TXFFST(位12~8)和中断触发级别位TXFFIL(位4~0)匹配,就会触发中断。这给SPI的发送和接收提供了可编程的中断触发器。接收FIFO的触发级别位的缺省值是0xll111,发送FIFO的触发级别位的缺省值是0x00000。
发送和接收缓冲器使用2个16×16 FIFO,标准SPI功能的一个字的发送缓冲器作为在发送FIFO和移位寄存器间的发送缓冲器。移位寄存器的最后一位被移出后,这个一字发送缓冲器将从发送∏FO装载。FIFO中的字发送到发送移位寄存器的速率是可编程的。SPIFFCT寄存器位FFTXDLY7~FFTXDILYO定义了在两个字发送间的延时,这个延时以SPI串行时钟周期的数量来定义。该8位寄存器可以定义最小0个串行时钟周期的延迟和最大256个串行时钟周期的延时。0时钟周期延时的SPI模块能将FIFO字一位紧接一位的移位,连续发送数据。256个时钟周期延迟的SPI模块能在最大延迟模式下发送数据,每个FIFO字的移位间隔256个SPI时钟周期的延时。可编程延时的特点,使得SPI接口可以方便地同许多速率较慢的SPI外设如EEPROM、ADO、DAC等直接连接。
发送和接收FIFO都有状态位TXFFST或RXFFST(位12~0),状态位定义任何时刻在FIFO中可获得的字的数量。当发送FIFO复位位TXFIFO和接收复位位RXFIFO被设置为1时,FIFO指针指向0。一旦这两个复位位被清除为0,则FIFO将重新开始操作。
SPI数据传输从设备模式
在从模式中(MASTER/SLAVE=0),SPISOMI引脚为数据输出引脚,SPISIMO引脚为数据输入引脚。SPICLK引脚为串行移位时钟的输入,该时钟由网络主控制器提供,传输率也由该时钟决定。SPIC LK输入频率不应超过CLKOUT频率的四分之一。
当从SPI设各检测到来自网络主控制器的SPICLK信号的合适时钟边沿时,已经写人SPI-DAT或SPITXBUF寄存器的数据被发送到网络上。要发送字符的所有位移出SPIDAT寄存器后,写人到SPITXBUF寄存器的数据将会传送到SPIDAT寄存器。如果向SPITXBUF写人数据时没有数据发送,数据将立即传送到SPIDAT寄存器。为了能够接收数据,从SPI设备等待网络主控制器发送SPICLK信号,然后将SPISIMO引脚上的数据移入到SPIDAT寄存器中。如果从控制器同时也发送数据,而且SPITXBUF还没有装载数据,则必须在SPICLK开始之前把数据写人到SPITXBUF或SPIDAT寄存器。
当TALK位(SPICTL.1)清零,数据发送被禁止,输出引脚(SPISOMI)处于高阻状态。如果在发送数据期间将TALK位(SPICTL.1)清零,即使SPISOMI引脚被强制置成高阻状态也要完成当前的字符传输。这样可以保证SPI设各能够正确地接收数据。TALK位允许在网络上有许多个从SPI设备,但在某一时刻只能有1个从设各来驱动SPISOMI。
SPISTE引脚用作从动选择引脚时,当该引脚为低电平时,允许从SPI设各向串行总线发送数据;当该引脚为高电平时,从SPI串行移位寄存器停止工作,串行输出引脚被置成高阻状态。在同一网络上可以连接多个从SPI设各,但同一时刻只能有1个设各起作用。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 利用ISE的SDRAM设计的FIFO实验
- STM32单片机移植带有FIFO摄像头的OV7670 107次下载
- AL422 3M位FIFO现场存储器的数据手册免费下载 13次下载
- Xilinx异步FIFO的大坑
- FPGA电路FIFO设计的源代码 15次下载
- 如何配置自己需要的FIFO?FIFO配置全攻略 17次下载
- 最经典的FIFO原理 0次下载
- 基于FLASH的FIFO读写 22次下载
- 异步FIFO结构及FPGA设计 4次下载
- FIFO_学习心得 6次下载
- Camera Link接口的异步FIFO设计与实现
- 异步FIFO的VHDL设计
- 高速异步FIFO的设计与实现
- 什么是fifo 0次下载
- 异步FIFO结构及FPGA设计
- 同步FIFO和异步FIFO区别介绍 676次阅读
- 谈一谈FIFO的深度 1080次阅读
- FIFO为什么不能正常工作? 964次阅读
- 基于循环队列的FIFO缓存实现 672次阅读
- 基于寄存器的同步FIFO 648次阅读
- FIFO的原理和设计 2877次阅读
- FIFO的阈值如何设置 2400次阅读
- FIFO的使用介绍 4789次阅读
- FIFO最小深度计算的方法 2592次阅读
- 基于FPGA器件实现异步FIFO读写系统的设计 1167次阅读
- 基于LabVIEW FPGA模块程序设计特点的FIFO深度设定详解 4598次阅读
- 基于FPGA的异步FIFO设计方法详解 8211次阅读
- MEMS信号处理电路中的FIFO系统设计 1702次阅读
- fifo存储器芯片型号有哪些 2.4w次阅读
- fifo存储器是什么_fifo存储器有什么特点 1w次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1490次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 92次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 10次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7蓝牙设备在嵌入式领域的广泛应用
- 0.63 MB | 3次下载 | 免费
- 89天练会电子电路识图
- 5.91 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多