版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、4.UART模塊設計UART 異步通信串口協(xié)議的 VHD 墳現(xiàn)包括 3 個基本模塊:時鐘分頻、接收模塊和發(fā)送模塊,下面逐一介紹其實現(xiàn)方法。4.2.1 時鐘分頻模塊由于 UAR 現(xiàn)異步傳輸,沒有傳輸同步時鐘。為了能保證數(shù)據(jù)傳輸?shù)恼_性,UAR*用 16 倍數(shù)據(jù)波特率的時鐘進行采樣。每個數(shù)據(jù)有 16 個時鐘采樣,取中間的采樣值,以保證采樣不會滑碼或誤碼。一般 UAR幀的數(shù)據(jù)位數(shù)為 8,這樣即使每個數(shù)據(jù)有一個時鐘的誤差,接收端也能正確地采樣到數(shù)據(jù)。這里采用常用的數(shù)據(jù)波特率為 9600bps,則所需時鐘的頻率為 16*9600。系統(tǒng)時鐘為 50MHz 則分頻系數(shù)為 50000000/(16*9600)
2、=325.52,取整為 325。分頻器實現(xiàn)相對簡單,這里對其設計流程圖不做詳細介紹。只是將設計過程和結果簡述如下:首先用 VHDL 語言進行設計輸入,并生成模塊文件如圖 4.3 所示,其中 clk 為 50M系統(tǒng)時鐘輸入,clkout 為 325 分頻后時鐘輸出。clkdivclkclkoutiinst4EII-:i|.-rain4ii-ifraa-rftig1圖 4.3 分頻模塊然后建立波形文件,對以上模塊進行時序仿真,仿真結果如圖 4.4 所示,方正結果說明,分頻輸出實現(xiàn)了對輸入的 325 分頻,分頻模塊設計正確。發(fā)送過程:空閑狀態(tài),線路處于高電平;當受到發(fā)送數(shù)據(jù)指令后,拉低線路一個數(shù)據(jù)位
3、的時間 T,接著數(shù)據(jù)按地位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后,接著發(fā)送停止位(停止位為高電平),一幀數(shù)據(jù)發(fā)送結束。(1)模塊流程圖根據(jù)以上發(fā)送過程,發(fā)送模塊算法示意圖設計如圖 4,5 所示。圖 4.5UART 發(fā)送數(shù)據(jù)算法示意圖(2)生成模塊文件新建一原理圖文件,將 VHDL文件生成對應的模塊文件如圖 4,6 所示,其中 clk 為時鐘輸入,datain 為需要發(fā)送的數(shù)據(jù)輸入,wrsig 為發(fā)送命令輸入,idle 為忙閑信號輸出,tx 為串行數(shù)據(jù)輸出端。IuarttxL;TicCIK1rJlH1cistainLX.ujDCwrsiginsM圖 4.6UART 發(fā)送模塊(3)波形仿真要對發(fā)送模塊進行
4、時序仿真必須設計一測試模塊,即在每一個 clk 來時產(chǎn)生一個八位的數(shù)據(jù)。測試模塊代碼如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitytestuartisport(clk:instd_logic;dataout:outstd_logic_vector(7downto0);wrsig:outstd_logic);endtestuart;architectureoneoftestuartissignaldataoutreg:std_lo
5、gic_vector(7downto0);signalcnt:std_logic_vector(7downto0);begindataout=dataoutreg;process(clk)beginif(clkeventandclk=1)thenif(cnt=11111110)thendataoutreg=dataoutreg+00000001;wrsig=1;cnt=00000000;elsewrsig=0;cnt,K,sni,r,rrs,ri,r一,rrs,ri,rL,lrniTmiTlAideclkcKom保存原理圖為 uartrxts.bdf。編譯工程文件,編譯無誤后新建波形仿真文:i
6、nstIfrStuarlideinslllllTmITdaiut|7.Ouerlrxdk由初oi7JDinOrdsigusmx拙也審.口wrsigc*tMeciUip.fiwrsig件,加入輸入輸出信號,設置系統(tǒng)時鐘 clk 為 50MHz 保存為 uartrxts.vwf,進行 UAR 微據(jù)接收的波形仿真,波形仿真報告如圖 4.12 所示。對上圖分析看出,UAR 被收模塊接收到的數(shù)據(jù)與 UARTg 送模塊發(fā)送的數(shù)據(jù)相一至,每接收到一個數(shù)據(jù)都有一個讀取數(shù)據(jù)指示 rdisg,UART收模塊得到正確驗證。4.2.3 硬件測試按照下圖連接個模塊,在 PC 機上安裝一個串口調(diào)試工具,通過串口調(diào)試工具向
7、FPGAS 送一個數(shù)據(jù),看在 PC 機上能否接受到發(fā)送的數(shù)據(jù)。測試結果如下夠FldatioutAIoYd12YDIYRY51ftY7Y3Y9TTi圖 4.12UART 接收模塊仿真結果附錄:程序代碼UART 分頻模塊代碼:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityclkdivisport(clk:instd_logic;clkout:outstd_logic);endclkdiv;architectureoneofclkdivis
8、signalcnt:std_logic_vector(15downto0);beginprocess(clk)beginif(clkeventandclk=1)thenif(cnt=0000000010100010)thenclkout=1;cnt=cnt+”0000000000000001”;elsif(cnt=0000000101000100)thenclkout=0;cnt=0000000000000000;elsecnt=cnt+0000000000000001;endif;endif;endprocess;endone;UART 發(fā)送模塊代碼:libraryieee;useieee.
9、std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityuarttxisport(clk:instd_logic;datain:instd_logic_vector(7downto0);wrsig:instd_logic;idle:outstd_logic;tx:outstd_logic);enduarttx;architectureoneofuarttxissignalsend:std_logic;signalwrsigbuf:std_logic;signalidlereg:std
10、_logic;signalwrsigrise:std_logic;signalcnt:std_logic_vector(7downto0);beginidle=idlereg;process(clk)beginif(clkeventandclk=1)thenwrsigbuf=wrsig;wrsigrise=(notwrsigbuf)andwrsig;endif;endprocess;process(clk)beginif(clkeventandclk=1)thenif(wrsigrise=1and(notidlereg=1)thensend=1;elsif(cnt=10100000)thens
11、endtx=0;idlereg=1;cnttx=datain(0);idlereg=1;cnttx=datain(1);idlereg=1;cnttx=datain(2);cnttx=datain(3);idlereg=1;cnttx=datain(4);idlereg=1;cnttx=datain(5);idlereg=1;cnttx=datain(6);idlereg=1;cnttx=datain(7);idlereg=1;cnttx=1;idlereg=1;cnttx=1;cntcnt=cnt+00000001;endcase;elsetx=1;cnt=00000000;idlereg=
12、0;endif;endif;endprocess;endone;UART 接收模塊代碼:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityuartrxisport(clk:instd_logic;rx:instd_logic;dataout:outstd_logic_vector(7downto0);rdsig:outstd_logic);enduartrx;architectureoneofuartrxissignaldataoutre
13、g:std_logic_vector(7downto0);signalrdsigreg:std_logic;signalcnt:std_logic_vector(7downto0);signalrxbuf:std_logic;signalrxfall:std_logic;signalreceive:std_logic;signalidle:std_logic;beginprocess(clk)beginif(clkeventandclk=1)thenrxbuf=rx;if(rxbuf=1andrx=0)thenrxfall=1;elserxfall=0;endif;endif;endproce
14、ss;process(clk)beginif(clkeventandclk=1)thenif(rxfall=1andidle=0)thenreceive=1;elsif(cnt=10011000)thenreceiveidle=1;cnt=cnt+”00000001”;rdsigidle=1;dataout(0)=rx;cnt=cnt+00000001;rdsigidle=1;dataout(1)=rx;cnt=cnt+00000001;rdsigidle=1;dataout(2)=rx;cnt=cnt+”00000001”;rdsigidle=1;dataout(3)=rx;cnt=cnt+
15、00000001;rdsigidle=1;dataout(4)=rx;cnt=cnt+00000001;rdsigidle=1;dataout(5)=rx;cnt=cnt+00000001;rdsigidle=1;dataout(6)=rx;cnt=cnt+00000001;rdsigidle=1;dataout(7)=rx;rdsig-idle=1;-cnt=cnt+”00000001”;-rdsigcnt=cnt+00000001;endcase;elsecnt=00000000;idle=0;rdsig=0;endif;endif;endprocess;endone;UART 測試模塊代碼:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitytestuartisport(clk:instd_logic;dataout:outstd_logic_vector(7downto0);wrsig:outstd_logic);endtestuart;architectureoneoftestuartissignaldataoutreg:std_logic_vector(7downto0);-signa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度板材行業(yè)環(huán)保認證與評估合同3篇
- 2025年度毛紗產(chǎn)品售后服務及維修合同4篇
- 2025年度個人房產(chǎn)買賣及裝修工程管理協(xié)議4篇
- 2025年度二零二五年度環(huán)保產(chǎn)業(yè)供應鏈融資保理合同4篇
- 2025年度個人教育貸款借條4篇
- 2025年度毛石擋土墻施工期施工安全管理與教育培訓合同4篇
- 2025年度海洋運輸船員勞動合同書3篇
- 2024綜合服務外包合同標準文本版B版
- 2025年度智能車間租賃安全協(xié)議書規(guī)范文本4篇
- 2024黎塘售樓部裝修合同
- 土地買賣合同參考模板
- 新能源行業(yè)市場分析報告
- 2022年7月2日江蘇事業(yè)單位統(tǒng)考《綜合知識和能力素質》(管理崗)
- 初一英語語法練習
- 房地產(chǎn)運營管理:提升項目品質
- 你劃我猜游戲【共159張課件】
- 專升本英語閱讀理解50篇
- 中餐烹飪技法大全
- 新型電力系統(tǒng)研究
- 滋補類用藥的培訓
- 北師大版高三數(shù)學選修4-6初等數(shù)論初步全冊課件【完整版】
評論
0/150
提交評論