基于FPGA的多通道HDLC收發(fā)電路設(shè)計
2 HDLC協(xié)議的FPGA實(shí)現(xiàn)
某遙控遙測平臺為確保滿足高速通訊、多通道收發(fā)、功能易于擴(kuò)展配置的任務(wù)要求,中心控制器采用了以高性能的ARM7為CPU數(shù)據(jù)處理核心、采用FPGA設(shè)計串行通信控制器來收發(fā)多通道HDLC數(shù)據(jù)的一體化設(shè)計。本文引用地址:http://butianyuan.cn/article/191874.htm
FPGA按照HDLC協(xié)議規(guī)程,接收并存儲來自集成處理器等8個獨(dú)立通道的數(shù)字量。系統(tǒng)先將外部輸入的HDLC數(shù)據(jù)流由RS485電氣特性轉(zhuǎn)換為TTL電平,在此過程中用光耦進(jìn)行隔離,以避免與外部設(shè)備之間的相互干擾,并且RS485芯片與光耦器件的相關(guān)電源使用由電氣供給的獨(dú)立5 V和5 V地。 HDLC協(xié)議總體結(jié)構(gòu)框圖,如圖2所示,每個控制模塊由時鐘控制、編碼/沖突檢測、發(fā)送和接收FIFO等功能模塊組成。在發(fā)送方向和接收方向,各有一個128 bit的FIFO,用于串行通道和CPU總線接口之間的數(shù)據(jù)緩沖。發(fā)送是接收的逆過程,這里以HDLC數(shù)據(jù)接收為例進(jìn)行說明。
FPGA串行通信控制器接收HDLC數(shù)據(jù)的原理為:首先,將接收到的數(shù)據(jù)幀的消息字段和附加的狀態(tài)字段移入,然后根據(jù)選定的尋址模式,對接收幀中的目的地址進(jìn)行識別,確認(rèn)數(shù)據(jù)幀的發(fā)送地址是否為本設(shè)備(站地址=77H),是本設(shè)備數(shù)據(jù)幀則進(jìn)行接收數(shù)據(jù)并存儲在FIFO中,當(dāng)接收數(shù)據(jù)幀結(jié)束時,發(fā)出中斷信號給ARM系統(tǒng),請求接收HDLC數(shù)據(jù)。
評論