新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > ADSP TS201鏈路口通信的FPGA實現

        ADSP TS201鏈路口通信的FPGA實現

        作者: 時間:2009-05-07 來源:網絡 收藏

        2 模塊建立與優化
        的鏈路口采用的是獨立的發送和接收通道,因此對應的也需要采用不同的接收電路和發送電路。
        無論是接收還是發送均由兩部分組成:接收/發送緩沖和接收/發送模塊。接收模塊主要是用于接口和數據的拆包處理,發送模塊是用于數據接收和打包處理。接收/發送緩沖則是用來分別配合接收/發送模塊進行數據緩沖,并實現數據傳輸功能。
        2.1 接收電路
        接收模塊:接收到由鏈路口4位數據總線送出的數據差分信號Lxdatap/n和控制差分信號Lxclk p/n以后不能直接拆包處理,需要將原來的差分信號轉換成完整信號、Lxdata和Lxclk,才可進入雙倍數據速率器(DDR)寄存,此寄存器由時鐘信號clkin(與Lxclk同頻率)控制。由于是4位數據總線同時串行傳送數據,其具體的數據排序如圖4所示。

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

        可見,每一路傳送的數據均不是連續的,且都按模4余數分配。為了方便數據并行送出,需要將數據進行拆包整理。每個clkin周期收到8位數據,將此按位號由大到小的順序整理,并放入mid(7:O)中。其間增加一級觸發器作為緩沖。
        接收緩沖:此部分主要由狀態機和FIFO構成,其中狀態機主要控制FIFO寫命令的產生,由鏈路口時鐘Lxclk和時鐘信號clkin共同產生,即當Lxclk產生第一個上升沿時計數器開始計數從O~15,每次計數就會將相應的FIFO寫許可we d置為有效。將128位數據每8位為一組,分別送入16個8位F1FO中,由外部的FIFO_oe讀信號和sysclk時鐘信號控制128位數據并行讀出。即將FIFO_oe信號同時接到16個FIFO上,當FIFO_oe有效時,從16個FIFO中同時讀出數據。并根據FIFO存儲狀態發送Lxacko信號和fuiIflag信號,若FIF0不滿則將Lxacko信號置為1(高有效)允許發送端繼續通過鏈路口發送數據;否則Lxacko置為O。
        其中,FIFO 8由Core generator直接生成,是異步8位先進先出存儲器。下面涉及的FIFO 16,FIFO 32均這樣生成。接收(Rx)流程圖如圖5所示。

        綜合后此電路的主時鐘Clkin頻率最快可達到368 MHz。由于一個FIFO 8就占用了一個18 Kb的嵌入式FIFO資源,而16個FIFO就占據了16個塊的資源,這不僅造成了資源的浪費,還增加了布局布線所需要的時間。因此,為了優化結構,增加一級寄存器,擴展數據的位數,使得數據在未進入FIFO前就已得到處理,由原來的8位數據mid連成16位數據Data,再送入16位的FIFO 16中。優化后,FIFO 16的使用率由原來的22%減少到11%,大大減少了線上延遲。綜合此電路的主時鐘clkin頻率最高可實現500 MHz。具體結構如圖6所示。

        2.2 發送電路



        關鍵詞: ADSP FPGA 201 TS

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 虎林市| 左云县| 安福县| 白城市| 阿鲁科尔沁旗| 开原市| 甘谷县| 枞阳县| 贡山| 玉林市| 华亭县| 故城县| 竹北市| 金门县| 桐城市| 蛟河市| 鲜城| 大方县| 阳信县| 安远县| 阿尔山市| 凤翔县| 凤山县| 桐乡市| 曲松县| 莱西市| 丹凤县| 开封县| 呈贡县| 瑞安市| 资源县| 宁河县| 吉水县| 青神县| 宁夏| 固安县| 佳木斯市| 鲁山县| 建瓯市| 东平县| 闵行区|