【iCore、iCore2、iBoard例程】【非同步FIFO跨時鐘域通訊(通過ARM 讀FPGA FIFO)】

XiaomaGee發表於2014-01-14

歡迎訪問電子工程師學堂,以便了解更多內容:http://www.eeschool.org

一、本實驗基於iCore2 完成,通過簡單改動,即可用在 iCore 核心板、iBoard 電子學堂上。

iCore2 核心板介紹:http://item.taobao.com/item.htm?&id=20889895095

iCore 核心板介紹:http://item.taobao.com/item.htm?&id=14883098933

iBoard 電子學堂介紹:http://item.taobao.com/item.htm?&id=15851248846

二、本實驗包括DC_FIFO模組、寫DC_FIFO控制模組、讀DC_FIFO控制模組。先使用FPGA的內部RAM建立一個DC_FIFO(非同步FIFO),寬度為16,深度為1024;寫DC_FIFO控制模組在上電1s後,以1K的速度向DC_FIFO中傳送資料(連續傳送1~10240,共10K);由於DC_FIFO的深度為1024,所以DC_FIFO會產生10次滿訊號,將滿訊號輸出到ARM中,觸發ARM來發出讀訊號(通過FSMC匯流排讀取,速度較快),用讀訊號來啟動讀DC_FIFO控制模組;讀DC_FIFO控制模組將資料從DC_FIFO中依次讀出(也分10次讀出,一次1K,共10K),並傳輸到ARM中;再由ARM控制,將從DC_FIFO中讀出的資料,通過串列埠傳送到串列埠除錯工具上進行顯示。

 

程式碼包、文件、參考資料打包下載:連結: http://pan.baidu.com/s/1dDsutED 密碼: 5219

 

相關文章