新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 多路同步串口的FPGA傳輸實現

        多路同步串口的FPGA傳輸實現

        作者:詹必勝 吳斌方 楊光友 湖北工業大學 時間:2010-03-02 來源:電子產品世界 收藏

          同步串口傳輸時序如圖2所示,當frame為1時,串行數據有效,當frame為0時,一幀數據傳輸結束。本例中傳輸的一幀數據為32bit。

        本文引用地址:http://www.104case.com/article/106466.htm

          內部采用異步FIFO解決時鐘頻率和時鐘頻率不匹配的問題,寫時鐘由DSP輸出的同步時鐘信號提供,時鐘頻率為60MHz;讀時鐘由的鎖相環PLL時鐘提供,PLL輸出時鐘頻率為100MHz。

          接收模塊

          由于DSP的8個同步串口同時寫入,FPGA數據接收模塊一共有8個,每個模塊接收到的數據都存放在一個特定的FIFO中,將其稱之為R_FIFO。

          DSP輸出信號為frame,clk,data,FPGA以DSP同步串口的輸出時鐘clk作為采集數據的時鐘。系統上電結束后,FPGA等待ARM發送接收允許指令,接收允許后,FPGA就可以開始接收數據。

          當frame信號為高,FPGA即開始接收從DSP發送的串行數據,在每個dsp_clk的上升沿讀取一個bit的數據,之后將數據轉入移位寄存器中。FPGA引入一個模塊,時刻監測frame的下降沿,當frame下降時,即表示一個字的數據發送完畢,移位寄存器的數據放入R_FIFO的數據輸入口,將R_FIFO的寫使能置高,向R_FIFO發出寫入請求,寫入此時的數據至R_FIFO中,依次循環。當R_FIFO中的數據個數不為0時,即向FPGA的發送模塊發送請求。

          發送模塊

          接收模塊接收到DSP同步串口數據后,即通過reg與answer信號與FPGA數據發送模塊之間進行數據傳輸,如圖3所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尚义县| 天柱县| 荥经县| 大城县| 当阳市| 大石桥市| 宁河县| 泾源县| 尉氏县| 霍城县| 顺平县| 永丰县| 黑水县| 巍山| 北票市| 东山县| 许昌市| 冕宁县| 奉节县| 应城市| 太和县| 逊克县| 台南县| 剑河县| 潜江市| 乳山市| 方山县| 景洪市| 明溪县| 赞皇县| 神农架林区| 淮阳县| 卢湾区| 白朗县| 芜湖县| 丰顺县| 静宁县| 宁都县| 蕲春县| 澄江县| 瑞丽市|