




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于FPGA器件XC2S50芯片實(shí)現(xiàn)串口接收數(shù)據(jù)系統(tǒng)的應(yīng)用方案1前言隨著FPGA的飛速發(fā)展與其在現(xiàn)代電子設(shè)計(jì)中的廣泛應(yīng)用,越來越多的實(shí)驗(yàn)和設(shè)計(jì)中會(huì)運(yùn)用FPGA與RS232通信。與此同時(shí),F(xiàn)PGA具有功能強(qiáng)大、開發(fā)過程投資小、周期短、可反復(fù)編程等特點(diǎn)。在FPGA芯片上集成了串行接收功能模塊,從而簡(jiǎn)化了電路、縮小了電路板的體積、提高了可靠性。本文主要介紹圍繞FPGA所設(shè)計(jì)的符合RS232標(biāo)準(zhǔn)的串行接收模塊。2異步串行通信原理串行通信分為兩種類型:同步通信方式和異步通信方式。本設(shè)計(jì)采用的是異步通信方式,其的特點(diǎn)是:通信的發(fā)送方和接收方各自有獨(dú)立的時(shí)鐘,傳輸?shù)乃俾视呻p方約定。國(guó)際上規(guī)定的一個(gè)串行通信波特率標(biāo)準(zhǔn)系列是:110、300、600、1200、1800、2400、4800、9600、19200,單位是bps。本文采用的是19200bps。異步傳輸是一個(gè)字符接一個(gè)字符傳輸。一個(gè)字符的信息由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位組成。每一個(gè)字符的傳送靠起始位來同步,字符的前面是一位起始位,用下降沿通知接收方傳輸開始,緊跟著起始位之后的是數(shù)據(jù)位,傳輸時(shí)低位在前、高位在后,字符本身由5~8位數(shù)據(jù)位組成。數(shù)據(jù)位后面是奇偶校驗(yàn)位,昀后是停止位,停止位是高電平,標(biāo)志一個(gè)字符的結(jié)束,并為下一個(gè)字符的開始傳送做準(zhǔn)備。停止位后面是不定長(zhǎng)度的空閑位。停止位和空閑位都規(guī)定高電平,這樣可以保證起始位開始處有一個(gè)下降沿,如圖1所示。3硬件接口電路原理設(shè)計(jì)在串行通信中,普遍采用的是RS232-C接口的標(biāo)準(zhǔn)。RS232-C接口信號(hào)引腳的連接方式規(guī)定了25芯的D型連接器DB-25,本設(shè)計(jì)采用的是一個(gè)9芯的D型連接器DB-9,并且用昀為簡(jiǎn)單常用的三線制接法,即地、接受數(shù)據(jù)和發(fā)送數(shù)據(jù)三腳相連。本設(shè)計(jì)的硬件接口電路圖如圖2所示,由三部分組成:FPGA串口接收模塊、MAX232和DB-9。FPGA采用的是Xilinx公司的SPARTAN系列的XC2S50芯片,其封裝為TQ144。MAXIM公司的MAX232CPE是為滿足EIA/TEA-232E的標(biāo)準(zhǔn)而設(shè)計(jì)的,具有功耗低、波特率高、價(jià)格低等優(yōu)點(diǎn)。工作電源為+5V,外界電容僅為luF,為雙組RS-232收發(fā)器。MAX232有兩個(gè)發(fā)送器,本設(shè)計(jì)只用其中一個(gè)發(fā)送器,另外一個(gè)發(fā)送器的輸入端接地、輸出端懸空。異步數(shù)據(jù)接收過程可作為一個(gè)整體來實(shí)現(xiàn),數(shù)據(jù)由DB-9的RxD端輸入,經(jīng)過MAX232進(jìn)行電平轉(zhuǎn)換由FPGA串口接收模塊的RxD端進(jìn)入,然后在串口接收模塊內(nèi)部對(duì)接收來得數(shù)據(jù)進(jìn)行判斷,并昀終實(shí)現(xiàn)對(duì)FPGA輸出信號(hào)的控制。4FPGA接收串行數(shù)據(jù)的軟件設(shè)計(jì)本方案采用的串行異步通信的幀格式為:1位起始位+5位數(shù)據(jù)位+1位停止位。經(jīng)檢測(cè)與分析,如果已經(jīng)確定異步通信的幀格式,那么每個(gè)字符就可以分別用固定的7位數(shù)據(jù)表示。比如:字符‘0’:‘0000011’;字符‘1’:‘0100011’。其中第1位數(shù)據(jù)‘0’為起始位,昀后1位數(shù)據(jù)‘1’為停止位,中間5位數(shù)據(jù)為數(shù)據(jù)位。例如:用串口調(diào)試助手軟件發(fā)送字符串‘100’,則會(huì)在FPGA的RxD引腳測(cè)得如圖3的波形。其中,st1,st2,st3表示先后發(fā)送的3個(gè)字符,t1,t2,t3則表示對(duì)每個(gè)字符進(jìn)行檢測(cè)時(shí)所經(jīng)過的3種狀態(tài)。正如圖3波形所示,接收邏輯首先通過檢測(cè)輸入數(shù)據(jù)的下降沿來檢查起始位。然后產(chǎn)生接收時(shí)鐘,利用接收時(shí)鐘來采樣串行輸入數(shù)據(jù)。由于字符‘0’和‘1’在5位數(shù)據(jù)位中的僅第一位有區(qū)別,因此只要準(zhǔn)確地將第一位數(shù)據(jù)檢測(cè)出來就可以得出串口調(diào)試助手所發(fā)送的字符串。再利用移位操作,將字符串存儲(chǔ)在緩存器(即另一組可以更新的字符串)中。至于剩下的4位數(shù)據(jù)位和一位停止位,就可以不隨接收時(shí)鐘采樣。待串口調(diào)試組手發(fā)送的字符串全部存儲(chǔ)之后,一起在該模塊中進(jìn)行判斷,并根據(jù)字符串的不同來控制FPGA不同的輸出。接收時(shí)鐘是根據(jù)數(shù)據(jù)傳輸?shù)牟ㄌ芈十a(chǎn)生的:接收時(shí)鐘=16×19200Hz。它始于起始位的下降沿,終于第5位數(shù)據(jù)位的上升沿。下面是實(shí)現(xiàn)檢測(cè)第1個(gè)字符的VHDL源程序。if(clk0‘eventandclk0=’1‘)then----外部時(shí)鐘casestateiswhenst1=》----第1個(gè)字符開始casetateiswhent1=》----起始位開始if(rxd=’1‘)then----未到下降沿不計(jì)數(shù)cnt16《=“0000”;cnt48《=“000000”;----所有時(shí)鐘清零elsecnt16《=cnt16+1;----下降沿來,起始位計(jì)數(shù)開始endif;if(cnt16=“1111”)thentate《=t2;----起始位完,進(jìn)入數(shù)據(jù)位endif;whent2=》----進(jìn)入第1位數(shù)據(jù)位if(cnt16=“1111”)thencnt16《=“0000”;elsecnt16《=cnt16+1;endif;if(cnt16=“0011”)thensdata《=rxd;----采樣第1位數(shù)據(jù)位endif;if(cnt16=“0111”)thenif(sdata=’0‘)thendata(0)《=’0‘;elsedata(0)《=’1‘;----判斷采樣值,如果為0,則發(fā)送字符為0,反之亦然endif;endif;if(cnt16=“1111”)thentate《=t3;----第1位數(shù)據(jù)位完,進(jìn)入下一狀態(tài)endif;whent3=》----進(jìn)入第2位,第3位和第4位數(shù)據(jù)狀態(tài)if(cnt16=“1111”)thencnt48《=“000000”;elsecnt48《=cnt48+1;----不對(duì)剩下的數(shù)據(jù)采樣,直接計(jì)數(shù)endif;if(cnt48=“101111”)thensdata《=’0‘;----采樣位清零tate《=t1;----進(jìn)入采集下一字符的準(zhǔn)備狀態(tài)state《=st2;----第1個(gè)字符采集完,進(jìn)入下一字符endif;endcase;fdata(0)《=data(0);----采集完的字符存入緩存區(qū)………………對(duì)每個(gè)字符的采集過程是相同的。筆者根據(jù)實(shí)際需要只讓計(jì)算機(jī)發(fā)送3個(gè)二進(jìn)制字符,由此能控制FPGA的8種輸出狀態(tài)。在整個(gè)VHDL源程序編寫完之后,用Modelsim6.0進(jìn)行仿真,如圖4。鑒于發(fā)送字符與其異步傳輸幀格式的特殊關(guān)系,此仿真中的rxd用周期為16×clk0的波形代替,因此就會(huì)接收到字符串‘111’。串口調(diào)試助手需要每隔一段時(shí)間(大于1ms)發(fā)送一組字符串,則等待狀態(tài)st4是必須的,它也是接收下一字符的準(zhǔn)備狀態(tài)。緩存區(qū)為3位空數(shù)組fdata,它在接收下一字符之前必須清零。5結(jié)語盡管目前串行通信速度慢的特點(diǎn)已經(jīng)越來越明顯,但是因?yàn)槠鋫鬏斁€少且成本低,多數(shù)電子產(chǎn)品開發(fā)中都會(huì)繼續(xù)使用串行通信。本文所介紹的串行接收模塊是筆者根據(jù)實(shí)驗(yàn)要求自行設(shè)計(jì),并在實(shí)驗(yàn)中成功地完成了計(jì)算機(jī)對(duì)FPGA的準(zhǔn)確控制。因此,本文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版買賣二手房認(rèn)購(gòu)協(xié)議書
- 家庭房屋裝修協(xié)議合同書二零二五年
- 公司信用擔(dān)保合同樣本
- 住建部合同樣本樣本
- 個(gè)人借用汽車合同樣本
- 精裝修施工現(xiàn)場(chǎng)臨時(shí)用電方案資料
- 中學(xué)“提升工程2.0”校本研修方案
- 信封供貨合同標(biāo)準(zhǔn)文本
- 主題班會(huì)教案:積極心態(tài)-健康成長(zhǎng)主題班會(huì)教案
- 會(huì)計(jì)崗位聘用合同樣本
- 對(duì)5S管理成果的記錄和展示
- 人工智能在網(wǎng)絡(luò)安全中的應(yīng)用簡(jiǎn)介
- JGT541-2017 建筑隔震柔性管道
- 小學(xué)校本課程-三省吾身教學(xué)課件設(shè)計(jì)
- 《滄浪之水》閱讀分享
- 有限空間作業(yè)管理臺(tái)帳(參考模板)
- 中老年人群中醫(yī)體質(zhì)調(diào)查研究
- 風(fēng)力發(fā)電風(fēng)機(jī)拆除方案
- GA 1814.4-2023鐵路系統(tǒng)反恐怖防范要求第4部分:重點(diǎn)場(chǎng)所
- DB15T 3062.1-2023 內(nèi)蒙古耕地質(zhì)量等級(jí)劃分技術(shù)規(guī)范 第1部分:河套灌區(qū)
- 山東省勝利油田中心醫(yī)院次工作人員招聘考試真題2022
評(píng)論
0/150
提交評(píng)論