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