基于FPGA的通信接口模塊的設(shè)計(jì)
某新型設(shè)備分為兩個(gè)相互分離的部分:射頻及信號(hào)處理部分(簡稱“前端”)、數(shù)據(jù)處理及系統(tǒng)控制部分(簡稱“后端”),兩部分之間相距較遠(yuǎn)。前端由多個(gè)模塊組成,均受后端中心機(jī)的控制,并且還需向中心機(jī)傳輸模塊狀態(tài)信息。為保證兩部分之間的通信并盡量簡化通信線路設(shè)計(jì),需要在前端設(shè)置通信接口模塊,負(fù)責(zé)前端各模塊與中心機(jī)之間的通信。文中設(shè)計(jì)了一個(gè)通信接口模塊,通過光纖接口與中心機(jī)連接,實(shí)現(xiàn)了對(duì)前端受控模塊的遠(yuǎn)程控制和狀態(tài)監(jiān)測(cè)。
中心機(jī)和前端受控模塊之間相距較遠(yuǎn),而且需要傳輸較大的數(shù)據(jù)量。一般的485串行接口已無法滿足要求,而光纖具有傳輸速度快、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)和重量輕等優(yōu)點(diǎn),在高速通信中得到了廣泛應(yīng)用。因此這里選擇光纖作為通信介質(zhì)。通信接口模塊連接的受控模塊眾多,各模塊具有不同的通信協(xié)議和接口形式,并且部分?jǐn)?shù)據(jù)對(duì)通信延時(shí)的要求很高,因此適宜采用靈活性強(qiáng)且可以并行發(fā)送數(shù)據(jù)的FPGA來實(shí)現(xiàn)該模塊功能。
1 通信協(xié)議設(shè)計(jì)
1.1 傳輸數(shù)據(jù)類型分析
通信接口模塊需要處理的數(shù)據(jù)分為3種:中心機(jī)發(fā)給前端受控模塊的控制命令(上行數(shù)據(jù));前端受控模塊發(fā)送給中心機(jī)的狀態(tài)信息(下行數(shù)據(jù));中心機(jī)控制通信接口模塊實(shí)現(xiàn)信息轉(zhuǎn)發(fā)控制的命令。通信接口模塊對(duì)前兩種數(shù)據(jù)分開處理,兩者之間互不干擾。后一種數(shù)據(jù)則是通過設(shè)置通信接口模塊內(nèi)的參數(shù)實(shí)現(xiàn)。
控制命令分為兩種,即周期性命令和非周期性命令。周期性命令在周期性的定時(shí)信號(hào)的控制下發(fā)送到各個(gè)設(shè)備,如周期性命令由于某些原因在下一周期到來之前沒有發(fā)送,則舊命令就會(huì)被清除掉。非周期性命令任何時(shí)間都可以發(fā)送,與定時(shí)信號(hào)無關(guān)。非周期命令發(fā)送次數(shù)較少,但較重要,一般為初始化命令或重要參數(shù)的設(shè)置命令,不允許有丟失。
狀態(tài)信息也有周期性和非周期性之分,但狀態(tài)信息所要傳輸?shù)臄?shù)據(jù)較少、周期較長,相對(duì)于高速的光纖接口則可視為非周期數(shù)據(jù),狀態(tài)信息可以用統(tǒng)一的方式處理,并且各模塊使用固定的優(yōu)先級(jí)順序傳輸。
1.2 前端受控模塊接口協(xié)議
根據(jù)各模塊對(duì)傳輸數(shù)據(jù)量及對(duì)時(shí)間準(zhǔn)確度的要求,使用了3種接口協(xié)議:三線同步串行接口、通用異步串行接口和邏輯電平接口。
(1)三線同步串行接口。需要高速傳輸和對(duì)實(shí)時(shí)性要求較高的模塊采用三線同步串行接口。三線同步串行接口包含數(shù)據(jù)、時(shí)鐘、幀結(jié)束等3個(gè)信號(hào)線。相對(duì)于通用異步串行接口具有傳輸速度快的優(yōu)點(diǎn),相對(duì)于使用隨路時(shí)鐘方式的串行接口具有實(shí)現(xiàn)簡單的優(yōu)點(diǎn)。根據(jù)不同設(shè)備的控制命令字或狀態(tài)信息數(shù)據(jù)長度不同,設(shè)置同步串行接口的數(shù)據(jù)發(fā)送/接收長度和有效時(shí)鐘邊沿個(gè)數(shù)。為保證在較高速度下的通信傳輸質(zhì)量,三線制同步串行接口采用LVDS電平。LVDS電路是一種具有低電平電壓擺幅差分信號(hào)傳輸結(jié)構(gòu)的電路,具有工作時(shí)驅(qū)動(dòng)電流恒定、低功耗、低EMI、抗噪聲干擾等特點(diǎn),工作頻率最高可達(dá)幾GHz。
(2)通用異步串行接口。對(duì)于數(shù)據(jù)率和實(shí)時(shí)性要求不高的模塊,采用通用異步串行接口。恰好大部分慢速傳輸數(shù)據(jù)的模塊都用單片機(jī)實(shí)現(xiàn)控制,而單片機(jī)都有通用異步串行接口。異步串行接口較同步串行接口使用較少的連接線。只需一對(duì)雙絞線就可以完成傳輸,并且可以進(jìn)行長距離傳輸。同樣為保證信號(hào)傳輸質(zhì)量,通信電平采用RS485。RS485采用差分傳輸,具有抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)的優(yōu)點(diǎn)。
(3)邏輯電平接口。部分前端模塊沒有專用的通信接口,其控制接口和狀態(tài)信息是按照邏輯電平信號(hào)實(shí)現(xiàn)的。對(duì)于控制命令,由于前端受控模塊的控制接口沒有鎖存功能,需要在通信接口模塊上對(duì)輸出信號(hào)進(jìn)行寄存,直到下次命令發(fā)生更改。對(duì)于邏輯電平信號(hào)輸入的狀態(tài)信息,由于信號(hào)電平變化較少,僅在檢測(cè)到有效電平變動(dòng)時(shí)通信接口模塊才回傳狀態(tài)信息。
1.3 光纖通信協(xié)議
光纖通信協(xié)議分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層。物理層定義了傳輸介質(zhì)和信號(hào)傳輸方式,物理層處理包括光電轉(zhuǎn)換、串行解串和8B/10B編解碼等。數(shù)據(jù)鏈路層定義了幀格式和數(shù)據(jù)傳輸規(guī)則,鏈路層處理包括成幀和解幀。光纖通信協(xié)議結(jié)構(gòu)如圖1所示。
評(píng)論