基于FPGA的帶CRC校驗的異步串口通信
摘要:由于FPGA具有速度快,效率高,靈活穩定,集成度高等優(yōu)點(diǎn),所以為了提高串口通信的速度和效率,在串行通信中采用FPGA來(lái)實(shí)現串口通信是十分必要的。由于通信傳輸的不確定性以及干擾等原因,串行通信經(jīng)常會(huì )出現異常情況。然而,在串行通信中添加CRC校驗,可以提高通信的可靠性。采用Verilog HDL設計的一個(gè)帶CRC校驗的串口通信程序,對其下栽到FPGA芯片中進(jìn)行實(shí)驗驗證,得到的結論是用FPGA進(jìn)行串口通信,可大大提高通信的速度和效率,且CRC校驗確保了通信的準確性及卡可靠性。
關(guān)鍵詞:Verilog HDL;串口通信;FPGA;CRC檢驗
O 引言
現場(chǎng)可編程門(mén)陣列(field programmable gate array,FPGA)在數字電路設計中已經(jīng)被廣泛使用。這種設計方式可以將以前需要多塊集成芯片的電路設計到一塊大模塊可編程邏輯器件中,大大減少了電路板的尺寸,增強了系統的可靠性和設計的靈活性。本文詳細介紹了已在實(shí)際項目中應用的基于FPGA的串口通信設計。硬件描述語(yǔ)言(hardware description language,HDL)是一種用形式化方法來(lái)描述數字電路和設計數字邏輯系統的語(yǔ)言。數字邏輯電路設計者可以利用這種語(yǔ)言來(lái)描述自己的設計思想,然后利用電子設計自化(EDA)工具進(jìn)行仿真,再自動(dòng)綜合到門(mén)級電路,然后用ASIC或Soft-Core實(shí)現其功能。Verilog HDL是硬件描述語(yǔ)言的一種,用于數字電子系統設計。串口通信是指在一個(gè)時(shí)間內傳輸1位數字數據。從19世紀的二進(jìn)位電報編碼,發(fā)展到現在的RS 232(EIA 232),主要用于連接終端和大型主機。串口通信在過(guò)去的40年里,大大推動(dòng)了通信技術(shù)的發(fā)展。通信協(xié)議是指通信雙方的一種約定。約定包括對數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問(wèn)題做出統一規定,通信雙方必須共同遵守。因此,也叫通信控制規程,或稱(chēng)傳輸控制規程,它屬于 ISO’sOSI七層
參考模型中的數據鏈路層,其主要完成的作用如下:
(1)實(shí)現數據格式化;
(2)進(jìn)行串/并轉換;
(3)控制數據傳輸速率;
(4)進(jìn)行錯誤檢測;
(5)進(jìn)行TTL與EIA電平轉換;
(6)提供EIA-RS 232C接口標準所要求的信號線(xiàn);
(7)為了完成上述串行接口的任務(wù),串行通信接口電路一般由可編程的串行接口芯片、波特率發(fā)生器、EIA與TTL電平轉換器以及地址譯碼電路組成。
1 方案設計與分析
1.1 硬件電路
該方案的硬件電路設計包括:FPGA芯片、MAX3232,DB9。其硬件電路與微機通信的結構框圖如圖1所示。
1.2 軟件設計思想
軟件部分的設計流程如圖2所示。
fpga相關(guān)文章:fpga是什么
通信相關(guān)文章:通信原理
評論