新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 多路接口與E1協議轉換器設計與實現

        多路接口與E1協議轉換器設計與實現

        作者: 時間:2011-05-30 來源:網絡 收藏


        2 關鍵模塊設計
        2.1 與CPU通信FPGA端硬件電路設計
        當FPGA與CPU通信時,由于CPU總線特殊的時序關系,FPGA端須做相應的處理才能保證讀寫數據的穩定性。圖3為MPC875讀數據總線時序圖。其中:

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

        當CPU讀取FPGA中數據時,先給出地址信號,然后使能片選d.jpg、讀信號e.jpg,這時如果數據總線上有數據,CPU讀入數據。但MPC875總線頻率高達80 MHz,為了CPU能穩定的讀取到數據,這里將片選信號與讀信號相“與”,然后擴寬3倍得到總線可用信號,在總線可用信號有效期間,數據總線上總有數據,這樣,可以保證CPU能穩定的讀到數據。
        當CPU寫入數據時,CPU先給出地址信號,然后給出片選及寫信號,在寫信號有效期間,CPU穩定的給出數據。因此,在片選及寫信號有效時,鎖存數據總線上的數據即可。
        2.2 CPLD硬件接口電路設計
        CPLD主要完成V.35,RS 449,RS 232數據收發;keyboard,LED控制;FIFO讀寫等功能。功能框圖如圖5所示。

        i.jpg


        CPU通過CPLD對接口芯片進行模式選擇。V.35,RS 449為同步平衡接口,常用接口速率為N×64 Kb/s(N=1~32)。時鐘、數據信號為兩線平衡傳輸,控制信號為不平衡傳輸。發送數據時,將與之對應的時鐘一并輸出。在接收數據時,用接口時鐘采樣數據。
        RS 232為不平衡傳輸。幀格式固定為:1位開始位、8位數據位、結束位。結束位有三種:1位、1.5位、2位。開始位固定為“0”,停止位固定為“1”。通信雙方在開始通信前必須約定好串行傳輸的參數(傳輸速度、幀格式)。在發送端,首先通過分頻產生需要的串行波特率,然后按照幀格式以約定好的速率發送。在接收端,使用8倍于波特率的時鐘對接收到的信號進行過采樣,經過濾波后如果為低電平信號,即認為是開始位,然后按照約定好的速率接收數據。
        在接收數據時,FIFO讀寫模塊將串行接收數據變成8位并行,同時,將與接收數據同步的時鐘8分頻,用此時鐘將8位并行數據寫入與該接口對應的FIFO;在發送數據時,將發送時鐘8分頻,用此時鐘從與該接口對應的FIFO讀取數據,同時將8位并行數據串行輸出。
        keyboard為4×4掃描式矩陣鍵盤,具有16個鍵。由硬件程序自動掃描鍵盤,輸入數據觸發中斷,CPU讀取數據。LED輸出由CPU寫入相應的顯示寄存器,然后硬件程序將相關信號輸出點亮LED。

        2.3 FPGA硬件電路設計
        FPGA主要根據時隙的分配設置,在時鐘系統的管理控制下,完成E1的編解幀功能。功能框圖如圖6所示。

        j.jpg


        CPU根據設置向時隙分配寄存器寫入相應的數據。在發送數據時,E1編解幀模塊根據時隙分配設置,從相應的FIFO讀取數據,寫入該時隙。對于沒有使用的空時隙,按照空時隙處理辦法填入無效數據。發送時鐘為FPGA外接的2.048 MHz時鐘。由于XRT82D20為數據差分輸入,因此將編解幀模塊輸出的數據TPOS進行反向得到TNEG,平衡輸出。TCLK為發送時鐘。
        在接收時,XRT82D20數據差分輸入RPOS,RNEG,將兩個信號相減得到輸入數據信號,RCLK為時鐘輸入。在輸入時鐘的控制下,E1編解幀模塊將數據解幀。同時,根據時隙分配設置,將各個時隙的數據送入不同的接口FIFO。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宿州市| 榆林市| 大方县| 边坝县| 那曲县| 石首市| 长顺县| 商城县| 香格里拉县| 新田县| 杂多县| 天长市| 色达县| 禄丰县| 香格里拉县| 海伦市| 柳林县| 广德县| 仪征市| 阿巴嘎旗| 龙游县| 呼和浩特市| 莱西市| 沙河市| 西藏| 东丽区| 乐业县| 新郑市| 玛纳斯县| 宜宾县| 东明县| 古浪县| 高青县| 绿春县| 云南省| 永年县| 通城县| 大新县| 介休市| 和林格尔县| 潜江市|