• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的通信接口模塊的設計

    基于FPGA的通信接口模塊的設計

    作者: 時間:2012-10-10 來源:網絡 收藏

      某新型設備分為兩個相互分離的部分:射頻及信號處理部分(簡稱“前端”)、數據處理及系統控制部分(簡稱“后端”),兩部分之間相距較遠。前端由多個模塊組成,均受后端中心機的控制,并且還需向中心機傳輸模塊狀態信息。為保證兩部分之間的通信并盡量簡化通信線路設計,需要在前端設置模塊,負責前端各模塊與中心機之間的通信。文中設計了一個模塊,通過光纖接口與中心機連接,實現了對前端受控模塊的遠程控制和狀態監測。

      中心機和前端受控模塊之間相距較遠,而且需要傳輸較大的數據量。一般的485串行接口已無法滿足要求,而光纖具有傳輸速度快、傳輸距離遠、抗干擾能力強和重量輕等優點,在高速通信中得到了廣泛應用。因此這里選擇光纖作為通信介質。模塊連接的受控模塊眾多,各模塊具有不同的通信協議和接口形式,并且部分數據對通信延時的要求很高,因此適宜采用靈活性強且可以并行發送數據的來實現該模塊功能。

      1 通信協議設計

      1.1 傳輸數據類型分析

      通信接口模塊需要處理的數據分為3種:中心機發給前端受控模塊的控制命令(上行數據);前端受控模塊發送給中心機的狀態信息(下行數據);中心機控制通信接口模塊實現信息轉發控制的命令。通信接口模塊對前兩種數據分開處理,兩者之間互不干擾。后一種數據則是通過設置通信接口模塊內的參數實現。

      控制命令分為兩種,即周期性命令和非周期性命令。周期性命令在周期性的定時信號的控制下發送到各個設備,如周期性命令由于某些原因在下一周期到來之前沒有發送,則舊命令就會被清除掉。非周期性命令任何時間都可以發送,與定時信號無關。非周期命令發送次數較少,但較重要,一般為初始化命令或重要參數的設置命令,不允許有丟失。

      狀態信息也有周期性和非周期性之分,但狀態信息所要傳輸的數據較少、周期較長,相對于高速的光纖接口則可視為非周期數據,狀態信息可以用統一的方式處理,并且各模塊使用固定的優先級順序傳輸。

      1.2 前端受控模塊接口協議

      根據各模塊對傳輸數據量及對時間準確度的要求,使用了3種接口協議:三線同步串行接口、通用異步串行接口和邏輯電平接口。

      (1)三線同步串行接口。需要高速傳輸和對實時性要求較高的模塊采用三線同步串行接口。三線同步串行接口包含數據、時鐘、幀結束等3個信號線。相對于通用異步串行接口具有傳輸速度快的優點,相對于使用隨路時鐘方式的串行接口具有實現簡單的優點。根據不同設備的控制命令字或狀態信息數據長度不同,設置同步串行接口的數據發送/接收長度和有效時鐘邊沿個數。為保證在較高速度下的通信傳輸質量,三線制同步串行接口采用LVDS電平。LVDS電路是一種具有低電平電壓擺幅差分信號傳輸結構的電路,具有工作時驅動電流恒定、低功耗、低EMI、抗噪聲干擾等特點,工作頻率最高可達幾GHz。

      (2)通用異步串行接口。對于數據率和實時性要求不高的模塊,采用通用異步串行接口。恰好大部分慢速傳輸數據的模塊都用單片機實現控制,而單片機都有通用異步串行接口。異步串行接口較同步串行接口使用較少的連接線。只需一對雙絞線就可以完成傳輸,并且可以進行長距離傳輸。同樣為保證信號傳輸質量,通信電平采用RS485。RS485采用差分傳輸,具有抗干擾能力強、傳輸距離遠的優點。

      (3)邏輯電平接口。部分前端模塊沒有專用的通信接口,其控制接口和狀態信息是按照邏輯電平信號實現的。對于控制命令,由于前端受控模塊的控制接口沒有鎖存功能,需要在通信接口模塊上對輸出信號進行寄存,直到下次命令發生更改。對于邏輯電平信號輸入的狀態信息,由于信號電平變化較少,僅在檢測到有效電平變動時通信接口模塊才回傳狀態信息。

      1.3 協議

      協議分為物理層、數據鏈路層和應用層。物理層定義了傳輸介質和信號傳輸方式,物理層處理包括光電轉換、串行解串和8B/10B編解碼等。數據鏈路層定義了幀格式和數據傳輸規則,鏈路層處理包括成幀和解幀。協議結構如圖1所示。


    上一頁 1 2 3 4 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 磐安县| 布尔津县| 垣曲县| 北安市| 江西省| 清水河县| 彭泽县| 彭水| 连州市| 万盛区| 富平县| 阜阳市| 临邑县| 桃园市| 新和县| 东乡族自治县| 武宣县| 珠海市| 徐州市| 巴里| 余干县| 京山县| 洛川县| 无棣县| 连平县| 周至县| 沈阳市| 寻乌县| 郴州市| 施甸县| 台南县| 磐石市| 大余县| 莆田市| 雅江县| 铜梁县| 上犹县| 边坝县| 通化市| 红安县| 霍州市|