基于FPGA的通信接口模塊設(shè)計(jì)與實(shí)現(xiàn)
2.5 通用異步串口
通用異步串行接口的邏輯結(jié)構(gòu)如圖7所示。通用異步串行接口的接收模塊可分為數(shù)據(jù)接收、幀檢驗(yàn)和數(shù)據(jù)緩存3部分。數(shù)據(jù)接收部分包括移位寄存器和接收控制邏輯。按照通用異步串行接口的時序,接收控制邏輯將移動移位寄存器,實(shí)現(xiàn)字節(jié)數(shù)據(jù)的接收和串并轉(zhuǎn)換。幀檢驗(yàn)模塊按照特定前端受控模塊的通信數(shù)據(jù)幀格式對數(shù)據(jù)進(jìn)行檢驗(yàn),對檢驗(yàn)成功的數(shù)據(jù)寫入到數(shù)據(jù)緩沖區(qū)中。數(shù)據(jù)緩存中存儲數(shù)據(jù)后向狀態(tài)信息處理模塊發(fā)出請求,等待數(shù)據(jù)讀出。本文引用地址:http://m.butianyuan.cn/article/154067.htm
通用異步串口的發(fā)送模塊同樣分為3部分:數(shù)據(jù)緩存、幀形成、數(shù)據(jù)發(fā)送。數(shù)據(jù)緩存接收控制命令處理模塊的數(shù)據(jù)并緩存。由于通用異步串口發(fā)送的命令都是非周期命令,使用128 Byte的FIFO作為數(shù)據(jù)緩存。在幀形成模塊中為數(shù)據(jù)添加校驗(yàn)、幀頭和幀尾。數(shù)據(jù)發(fā)送模塊針對字節(jié)數(shù)據(jù)按照通用異步通信的時序要求,將數(shù)據(jù)并串轉(zhuǎn)換發(fā)送出去。
3 仿真結(jié)果
FPGA選用Xilinx公司XC3S500E器件,該器件具有足夠的差分接口、邏輯和存儲器資源,能滿足該設(shè)計(jì)的要求。首先在ISE中利用Verilog HDL語言編寫邏輯代碼并用ISim對各個模塊進(jìn)行了詳細(xì)的功能仿真。光纖通信接口的仿真結(jié)果如圖8所示。該仿真利用光纖收發(fā)模塊進(jìn)行自環(huán),檢驗(yàn)?zāi)K輸入輸出的正確性。從光纖接口接收到相應(yīng)控制命令后三線同步串行接口,通用異步串行接口的數(shù)據(jù)輸出仿真結(jié)果如圖9和圖10所示。仿真表明,程序輸出數(shù)據(jù)發(fā)送正確且數(shù)據(jù)處理時延很小。
4 結(jié)束語
文中以FPGA為控制核心,實(shí)現(xiàn)了中心機(jī)控制多個遠(yuǎn)程受控模塊的通信接口模塊。該設(shè)計(jì)具有電路簡單、協(xié)議設(shè)計(jì)靈活,邏輯結(jié)構(gòu)擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。仿真表明,該設(shè)計(jì)能夠滿足通信數(shù)據(jù)傳輸?shù)墓δ芤螅壳耙褢?yīng)用到具體設(shè)備中。
評論