基于FPGA的通信接口模塊的設計
2.5 通用異步串口
通用異步串行接口的邏輯結構如圖7所示。通用異步串行接口的接收模塊可分為數據接收、幀檢驗和數據緩存3部分。數據接收部分包括移位寄存器和接收控制邏輯。按照通用異步串行接口的時序,接收控制邏輯將移動移位寄存器,實現字節數據的接收和串并轉換。幀檢驗模塊按照特定前端受控模塊的通信數據幀格式對數據進行檢驗,對檢驗成功的數據寫入到數據緩沖區中。數據緩存中存儲數據后向狀態信息處理模塊發出請求,等待數據讀出。
通用異步串口的發送模塊同樣分為3部分:數據緩存、幀形成、數據發送。數據緩存接收控制命令處理模塊的數據并緩存。由于通用異步串口發送的命令都是非周期命令,使用128 Byte的FIFO作為數據緩存。在幀形成模塊中為數據添加校驗、幀頭和幀尾。數據發送模塊針對字節數據按照通用異步通信的時序要求,將數據并串轉換發送出去。
3 仿真結果
FPGA選用Xilinx公司XC3S500E器件,該器件具有足夠的差分接口、邏輯和存儲器資源,能滿足該設計的要求。首先在ISE中利用Verilog HDL語言編寫邏輯代碼并用ISim對各個模塊進行了詳細的功能仿真。光纖通信接口的仿真結果如圖8所示。該仿真利用光纖收發模塊進行自環,檢驗模塊輸入輸出的正確性。從光纖接口接收到相應控制命令后三線同步串行接口,通用異步串行接口的數據輸出仿真結果如圖9和圖10所示。仿真表明,程序輸出數據發送正確且數據處理時延很小。
4 結束語
文中以FPGA為控制核心,實現了中心機控制多個遠程受控模塊的通信接口模塊。該設計具有電路簡單、協議設計靈活,邏輯結構擴展性強等優點。仿真表明,該設計能夠滿足通信數據傳輸的功能要求,目前已應用到具體設備中。
評論