电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>消费电子>产品手册>FIFO的操作

FIFO的操作

2009-09-29 | rar | 555 | 次下载 | 免费

资料介绍

系统在上电复位时,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外设如EEPROMADO、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个设各起作用。

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1490次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  92次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  10次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7蓝牙设备在嵌入式领域的广泛应用
  14. 0.63 MB  |  3次下载  |  免费
  15. 89天练会电子电路识图
  16. 5.91 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费