FIFO的操作
發布時間:2009/1/9 0:00:00 訪問次數:2183
系統在上電復位時,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的數據傳輸
上一篇:線性穩器的工作原理簡介