多路接口與E1協(xié)議轉(zhuǎn)換器設計與實現(xiàn)
2 關鍵模塊設計
2.1 與CPU通信FPGA端硬件電路設計
當FPGA與CPU通信時,由于CPU總線特殊的時序關系,F(xiàn)PGA端須做相應的處理才能保證讀寫數(shù)據(jù)的穩(wěn)定性。圖3為MPC875讀數(shù)據(jù)總線時序圖。其中:本文引用地址:http://www.ex-cimer.com/article/191187.htm
當CPU讀取FPGA中數(shù)據(jù)時,先給出地址信號,然后使能片選、讀信號,這時如果數(shù)據(jù)總線上有數(shù)據(jù),CPU讀入數(shù)據(jù)。但MPC875總線頻率高達80 MHz,為了CPU能穩(wěn)定的讀取到數(shù)據(jù),這里將片選信號與讀信號相“與”,然后擴寬3倍得到總線可用信號,在總線可用信號有效期間,數(shù)據(jù)總線上總有數(shù)據(jù),這樣,可以保證CPU能穩(wěn)定的讀到數(shù)據(jù)。
當CPU寫入數(shù)據(jù)時,CPU先給出地址信號,然后給出片選及寫信號,在寫信號有效期間,CPU穩(wěn)定的給出數(shù)據(jù)。因此,在片選及寫信號有效時,鎖存數(shù)據(jù)總線上的數(shù)據(jù)即可。
2.2 CPLD硬件接口電路設計
CPLD主要完成V.35,RS 449,RS 232數(shù)據(jù)收發(fā);keyboard,LED控制;FIFO讀寫等功能。功能框圖如圖5所示。
CPU通過CPLD對接口芯片進行模式選擇。V.35,RS 449為同步平衡接口,常用接口速率為N×64 Kb/s(N=1~32)。時鐘、數(shù)據(jù)信號為兩線平衡傳輸,控制信號為不平衡傳輸。發(fā)送數(shù)據(jù)時,將與之對應的時鐘一并輸出。在接收數(shù)據(jù)時,用接口時鐘采樣數(shù)據(jù)。
RS 232為不平衡傳輸。幀格式固定為:1位開始位、8位數(shù)據(jù)位、結束位。結束位有三種:1位、1.5位、2位。開始位固定為“0”,停止位固定為“1”。通信雙方在開始通信前必須約定好串行傳輸?shù)膮?shù)(傳輸速度、幀格式)。在發(fā)送端,首先通過分頻產(chǎn)生需要的串行波特率,然后按照幀格式以約定好的速率發(fā)送。在接收端,使用8倍于波特率的時鐘對接收到的信號進行過采樣,經(jīng)過濾波后如果為低電平信號,即認為是開始位,然后按照約定好的速率接收數(shù)據(jù)。
在接收數(shù)據(jù)時,F(xiàn)IFO讀寫模塊將串行接收數(shù)據(jù)變成8位并行,同時,將與接收數(shù)據(jù)同步的時鐘8分頻,用此時鐘將8位并行數(shù)據(jù)寫入與該接口對應的FIFO;在發(fā)送數(shù)據(jù)時,將發(fā)送時鐘8分頻,用此時鐘從與該接口對應的FIFO讀取數(shù)據(jù),同時將8位并行數(shù)據(jù)串行輸出。
keyboard為4×4掃描式矩陣鍵盤,具有16個鍵。由硬件程序自動掃描鍵盤,輸入數(shù)據(jù)觸發(fā)中斷,CPU讀取數(shù)據(jù)。LED輸出由CPU寫入相應的顯示寄存器,然后硬件程序?qū)⑾嚓P信號輸出點亮LED。
2.3 FPGA硬件電路設計
FPGA主要根據(jù)時隙的分配設置,在時鐘系統(tǒng)的管理控制下,完成E1的編解幀功能。功能框圖如圖6所示。
CPU根據(jù)設置向時隙分配寄存器寫入相應的數(shù)據(jù)。在發(fā)送數(shù)據(jù)時,E1編解幀模塊根據(jù)時隙分配設置,從相應的FIFO讀取數(shù)據(jù),寫入該時隙。對于沒有使用的空時隙,按照空時隙處理辦法填入無效數(shù)據(jù)。發(fā)送時鐘為FPGA外接的2.048 MHz時鐘。由于XRT82D20為數(shù)據(jù)差分輸入,因此將編解幀模塊輸出的數(shù)據(jù)TPOS進行反向得到TNEG,平衡輸出。TCLK為發(fā)送時鐘。
在接收時,XRT82D20數(shù)據(jù)差分輸入RPOS,RNEG,將兩個信號相減得到輸入數(shù)據(jù)信號,RCLK為時鐘輸入。在輸入時鐘的控制下,E1編解幀模塊將數(shù)據(jù)解幀。同時,根據(jù)時隙分配設置,將各個時隙的數(shù)據(jù)送入不同的接口FIFO。
評論