串口通訊設(shè)計(jì)之verilog實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、串口通訊設(shè)計(jì)之串口通訊設(shè)計(jì)之Verilog實(shí)現(xiàn)實(shí)現(xiàn)FPGA串口模塊是將由RS485發(fā)送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,提取出8位有效數(shù)據(jù),并按異步串口通訊的格式要求輸出到MAX3223的12腳。FPGA選用Xilinx公司的SpartanII系列xc2s50。此部分為該設(shè)計(jì)的主體。如上所述,輸入數(shù)據(jù)的傳輸速率為700k波特率。為了使FPGA能夠正確地對(duì)輸入數(shù)據(jù)進(jìn)行采樣,提高分辨率能力和抗干擾能力,采樣時(shí)鐘必須選用比波特率更高的時(shí)鐘,理論上至少是波特

2、率時(shí)鐘的2倍。1串口通信基本特點(diǎn)隨著多微機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來(lái)越顯得重要。串行通信是在一根傳輸線上一位一位地傳送信息.這根線既作數(shù)據(jù)線又作聯(lián)絡(luò)線。串行通信作為一種主要的通信方式,由于所用的傳輸線少,并且可以借助現(xiàn)存的電話網(wǎng)進(jìn)行信息傳送,因此特別適合于遠(yuǎn)距離傳送。在串行傳輸中,通信雙方都按通信協(xié)議進(jìn)行,所謂通信協(xié)議是指通信雙方的一種約定。約定對(duì)數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、糾錯(cuò)方式以及控制字符定義等問(wèn)題做出統(tǒng)

3、一規(guī)定,通信雙方必須共同遵守。異步起止式的禎信息格式為:每禎信息由四部分組成:a.1位起始位。b.5~8位數(shù)據(jù)位。傳送順序是低位在前,高位在后.依次傳送。c.一位校驗(yàn)位,也可以沒(méi)有。d.最后是1位或是2位停止位。FPGA(FieldPmgrammableGateArray)現(xiàn)場(chǎng)可編程門(mén)陣列在數(shù)字電路的設(shè)計(jì)中已經(jīng)被廣泛使用。這種設(shè)計(jì)方式可以將以前需要多塊集成芯片的電路設(shè)計(jì)到一塊大模塊可編程邏輯器件中,大大減少了電路板的尺寸,增強(qiáng)了系統(tǒng)的可

4、靠性和設(shè)計(jì)的靈活性。本文詳細(xì)介紹了已在實(shí)際項(xiàng)目中應(yīng)用的基于FPGA的串口通訊設(shè)計(jì)。本設(shè)計(jì)分為硬件電路設(shè)計(jì)和軟件設(shè)計(jì)兩部分,最后用仿真驗(yàn)證了程序設(shè)計(jì)的正確性。2系統(tǒng)的硬件設(shè)計(jì)本方案的異步串行通信的硬件接口電路圖如圖1所示,主要由四部分組成:RS485數(shù)據(jù)發(fā)送模塊、FPGA串口模塊、MAX3223和DB9。各部分功能簡(jiǎn)述如下:RS485數(shù)據(jù)發(fā)送模塊是將前續(xù)電路的數(shù)據(jù)發(fā)送到FPGA,供本電路處理,亦即本電路的輸入。RS485是符合RS485和

5、RS4225串口標(biāo)準(zhǔn)的低功耗半雙工收發(fā)器件,有3.3V和5V兩種,在本設(shè)計(jì)中選用了3.3V的器件SP3485。在本設(shè)計(jì)中。485的7腳和8腳與前端信號(hào)相連接,用于接收輸入的數(shù)據(jù)。數(shù)據(jù)格式是這樣的:一幀數(shù)據(jù)有25位,報(bào)頭是16個(gè)高電平和1個(gè)低電平,接下來(lái)是8位有效的數(shù)據(jù)。傳輸速率為700k波特率。2腳是使能端,與FPGA的IO口相連,由FPGA提供邏輯控制信號(hào)。1腳和4腳也與FPGA相連,由FPGA對(duì)輸入數(shù)據(jù)進(jìn)行處理。FPGA串口模塊是將

6、由RS485發(fā)送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,提取出8位有效數(shù)據(jù),并按異步串口通訊的格式要求輸出到MAX3223的12腳。FPGA選用Xilinx公司的SpartanII系列xc2s50。此部分為該設(shè)計(jì)的主體。如上所述,輸入數(shù)據(jù)的傳輸速率為700k波特率。為了使FPGA能夠正確地對(duì)輸入數(shù)據(jù)進(jìn)行采reg[2:0]statereg[4:0]counter用來(lái)計(jì)算報(bào)頭報(bào)尾中1的個(gè)數(shù)regtagtag1reg[2:0]cnt3regtxdone=“1“b

7、1一個(gè)字節(jié)數(shù)據(jù)傳輸完畢標(biāo)志提取有效數(shù)據(jù)位并按串行通訊格式裝載數(shù)據(jù)always@(posedgenclkposedgerst)beginif(rst)beginstate=0counter=0tag1=0tag=“0“indata_buf=8bzdout_buf=10bzbitpos=“7“cnt3=0endelsecase(state)s0:begintag=“0“表示數(shù)據(jù)沒(méi)有裝好if(din)begincounter=counter1

8、state=s0if(counter==15)如果檢測(cè)到16個(gè)1則轉(zhuǎn)入s1狀態(tài)檢測(cè)接下來(lái)的是不是0beginstate=s1counter=0endendelsebegincounter=0state=s0endends1:if(!din)如果是0的話轉(zhuǎn)入s2狀態(tài)提取八位有效數(shù)據(jù)state=s2else否則轉(zhuǎn)到s0狀態(tài)重新檢測(cè)state=s0s2:if(cnt3==3)是否采集四次數(shù)據(jù)begincnt2=0indata_buf[bitp

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論