FIFO的操作
发布时间:2009/1/9 0:00:00 访问次数:2199
系统在上电复位时,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将重新开始操作。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
系统在上电复位时,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将重新开始操作。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:SPI的数据传输
上一篇:线性稳器的工作原理简介