freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vhdl串口設(shè)計(jì)說明書(已修改)

2024-11-28 15:02 本頁面
 

【正文】 EDA課程設(shè)計(jì) 題目:基于 VHDL的串口設(shè)計(jì) 院系 :機(jī)電學(xué)院 班級(jí):電氣 103 姓名:張明軍 學(xué)號(hào): 20200744113 日期: — 目錄 任務(wù)要求 1 課題要求 2 設(shè)計(jì)目標(biāo) 系統(tǒng)設(shè)計(jì) 1 層次模塊劃分 2 分頻模塊的設(shè)計(jì) 3 發(fā)送電路的 波特率發(fā)生器的設(shè)計(jì) 4 接受模塊的設(shè)計(jì) 5 接收電路的 波特率發(fā)生器和采樣時(shí)鐘的設(shè)計(jì) VHDL 的描述思路 總體電路的描述 系統(tǒng)仿真驗(yàn)證 1 發(fā)送電路的 波特率發(fā)生器的 VHDL 的仿真 2 發(fā)送模塊 VHDL 的仿真 3 特率發(fā)生器和采樣時(shí)鐘的設(shè)計(jì)的 VHDL 仿真 4 接受模塊的描述的 VHDL 仿真 5 綜合仿真 結(jié)果與分析 實(shí)現(xiàn)功能說明 器件資源分析 故障和問題分析 總結(jié)體會(huì) 參考文獻(xiàn) 附錄 1 基于 VHDL的串口設(shè)計(jì) 任務(wù)書 摘要: 實(shí)驗(yàn)設(shè)計(jì)了基于 VHDL描述的 RS232串口通信控制器,通過串口調(diào)試工具實(shí)現(xiàn) CPLD向單片機(jī)的數(shù)據(jù)發(fā)送和單片機(jī)的數(shù)據(jù)接收 。完成的功能為實(shí)現(xiàn)收發(fā)一幀 10個(gè) bit、波特率為 4800的串口通信控制器。實(shí)驗(yàn)的重心放在了 RS232串口通信控制器發(fā)送模塊和接收模塊的設(shè)計(jì),采用了自頂向下的思路進(jìn)行設(shè)計(jì)。報(bào)告中給出了完整的設(shè)計(jì)思路和過程,并將系統(tǒng)分模塊進(jìn)行了詳細(xì)的設(shè)計(jì),給出了 VHDL語言描述。完成了核心模塊以及系統(tǒng)整體的仿真驗(yàn)證。最終下載到實(shí)驗(yàn)板上測(cè)試通過。 任務(wù)要求 1課題要求 (1)用 RS232實(shí)現(xiàn)與單片機(jī)之間的數(shù)據(jù)通信,單片機(jī)上用串口工具接收; (2)CPLD每 1秒鐘發(fā)送 1個(gè)字節(jié)的數(shù)據(jù)到單片機(jī); (3)所發(fā)送的數(shù)據(jù)用實(shí)驗(yàn)箱上的 8個(gè)開關(guān)輸入; (4)設(shè)置發(fā)送允許控制; (5)數(shù)據(jù)格式: 1位起始位、 8位數(shù)據(jù)位、 1位停止位; (6)數(shù)據(jù)傳輸速率: 4800波特。 2設(shè)計(jì)目標(biāo) 根據(jù)課題要求,實(shí)驗(yàn)中將目標(biāo)進(jìn)行了細(xì)化,敘述如下: 設(shè)定數(shù)據(jù)幀格式為 10bit,其中第一位為起始位,定位低電平, 8位數(shù)據(jù)位, 1位結(jié)無數(shù)據(jù)傳輸時(shí)為高電平; 系統(tǒng)設(shè)計(jì) 1層次模塊劃分 系統(tǒng)劃分為二層,自頂向下分別是頂層 模塊、控制器子模塊。頂層描述了整個(gè)系統(tǒng)的功能和運(yùn)行;控制器子模塊實(shí)現(xiàn)系統(tǒng)中各個(gè)獨(dú)立而完整的功能部分。每個(gè)層次可用一個(gè)或多個(gè)具體模塊加以實(shí)現(xiàn)。 頂層模塊 : 作用為集成子模塊功能,控制子模塊的連接和耦合信號(hào)。由各子模塊定義成的庫元件組成。 中層模塊 : 具體實(shí)現(xiàn)頂層模塊的描述,包括的功能主要是 串行發(fā)送電路的 波特率發(fā)生器 ,發(fā)送模塊和接收模塊地區(qū)、接受模塊的分頻部分和驗(yàn)收。 發(fā)送電路的 波特率發(fā)生器 ,將 16KHz的時(shí)鐘分頻為 4800Hz的時(shí)鐘。 輸入: 16KHz晶振信號(hào)。 輸出:送往發(fā)送模塊的 4800Hz的信號(hào) 。 發(fā)送模塊。向 PC機(jī) 發(fā)送信號(hào)。 輸入: 4800Hz時(shí)鐘信號(hào)、發(fā)送數(shù)據(jù)。 輸出:輸入數(shù)據(jù)的串行輸出。 接收電路的 波特率發(fā)生器和采樣時(shí)鐘的設(shè)計(jì), 提高接收的準(zhǔn)確性 ,減少誤碼率 輸入: 16KHz晶振信號(hào)。 輸出:送往接受模塊的信號(hào)和檢驗(yàn)?zāi)K。 接收模塊,檢測(cè)接收端,若檢測(cè)到低電平則開始接收數(shù)據(jù) 輸入: CPLD發(fā)送的數(shù)據(jù)。 輸出:接收到的數(shù)據(jù)。 2 以上模塊分別生成符號(hào)文件,最后在頂層模塊中進(jìn)行連接。 2 分頻模塊的設(shè)計(jì) 由于 UART是異步傳輸,沒有傳輸同步時(shí)鐘。為了能保證數(shù)據(jù)傳輸?shù)恼_性, UART采 用 16倍數(shù)據(jù)波特率的時(shí)鐘進(jìn)行采樣。每個(gè)數(shù)據(jù)有 16個(gè)時(shí)鐘采樣,取中間的采樣值,以保證采樣不會(huì)滑碼或誤碼。一般 UART一幀的數(shù)據(jù)位數(shù)為 8,這樣即使每個(gè)數(shù)據(jù)有一個(gè)時(shí)鐘的誤差,接收端也能正確地采樣到數(shù)據(jù)。 這里采用常用的 數(shù)據(jù)波特率為 9600bps,則所需時(shí)鐘的頻率為 16*9600。系統(tǒng)時(shí)鐘為 50MHz,則分頻系數(shù)為50000000/(16*9600) =,取整為 325。 分頻器實(shí)現(xiàn)相對(duì)簡(jiǎn)單,這里對(duì)其設(shè)計(jì)流程圖不做詳細(xì)介紹。只是將設(shè)計(jì)過程和結(jié)果簡(jiǎn)述如下: 首先用 VHDL語言進(jìn)行設(shè)計(jì)輸入,并生成模塊文件如圖 21所示,其中 clk為 50M系統(tǒng)時(shí)鐘輸入, clkout為325分頻后時(shí)鐘輸出。 圖 21 分頻模塊 然后建立波形文件,對(duì)以上模塊進(jìn)行時(shí)序仿真,仿真結(jié)果如圖 22所示,方正結(jié)果說明,分頻輸出實(shí)現(xiàn)了對(duì)輸入的 325分頻,分頻模塊設(shè)計(jì)正確。 圖 22 分頻模塊仿真結(jié)果 3 發(fā)送電路的 波特率發(fā)生器的設(shè)計(jì) 要產(chǎn)生 4800 波特率 ,要有一個(gè)不低于 4800Hz的時(shí)鐘才可以。為產(chǎn)生高精度的時(shí)鐘 , 我選了 16KHz的晶振來提供外部時(shí)鐘。當(dāng)然 ,你也可以選其它頻率的時(shí)鐘 來產(chǎn)生 4800Hz的時(shí)鐘。對(duì)于 16KHz 時(shí)鐘 ,需要設(shè)計(jì)一個(gè) 13 進(jìn)制的分頻器來產(chǎn)生 4800 波特率的時(shí)鐘信號(hào)。 發(fā)送過程:空閑狀態(tài),線路處于高電平;當(dāng)受到發(fā)送數(shù)據(jù)指令后,拉低線路一個(gè)數(shù)據(jù)位的時(shí)間 T,接著數(shù)據(jù)按地位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后,接著發(fā)送停止位(停止位為高電平),一幀數(shù)據(jù)發(fā)送結(jié)束。 ( 1) 模塊流程圖 根據(jù)以上發(fā)送過程,發(fā)送模塊算法示意圖設(shè)計(jì)如圖 23所示。 3 圖 23 UART發(fā)送數(shù)據(jù)算法示意圖 ( 2)生成模塊文件 新建一原理圖文件,將 VHDL源文件生成對(duì)應(yīng)的模塊文件如圖 24所示,其中 clk為時(shí)鐘輸入, datain為需要發(fā)送的數(shù)據(jù)輸入, wrsig為發(fā)送命令輸入, idle為忙閑信號(hào)輸出, tx為串行數(shù)據(jù)輸出端。 圖 24 UART發(fā)送模塊 圖 25 UART發(fā)開始 wrsig=1 N idle=0 Y N 發(fā)送數(shù)據(jù) Y 停止位 N 結(jié)束 Y 4 送模塊仿真原理圖 4 接受模塊的設(shè)計(jì) 根據(jù)采用的幀格式 ,需要發(fā)送的數(shù)據(jù)為 10 位 (1位開始位、 8 位數(shù)據(jù)位、 1 位停止位 ) ,在發(fā)送完這 10位后 ,就應(yīng)該停止發(fā)送 ,并使發(fā)送端電平處于邏輯 1 ,然后等候下次的發(fā)送 . 接收電路比發(fā)送電路要復(fù)雜的 多 ,接收電路要時(shí)實(shí)檢測(cè)起始位的到來 ,一旦檢測(cè)到起始位到 ,就要將這一幀數(shù)據(jù)接收下來。 串行接收電路首先要能判斷接收數(shù)據(jù)的到來 ,即每一幀的開始 ,然后對(duì)數(shù)據(jù)進(jìn)行 3 次采樣 ,最后判決輸出。為簡(jiǎn)化設(shè)計(jì) ,幀格式仍然采用 :1 位開始位 + 8 位數(shù)據(jù)位 + 1 位停止位。 UART 接收模塊的功能:時(shí)時(shí)檢測(cè)線路,當(dāng)線路產(chǎn)生下降沿時(shí),即認(rèn)為線路有數(shù)據(jù)傳輸,啟動(dòng)接收數(shù)據(jù)進(jìn)程進(jìn)行接收,按從低位到高位接收數(shù)據(jù) 。 ( 1) 模塊流程圖 根據(jù)以上描述的接收模塊的功能,可將接收模塊算法示意圖設(shè)計(jì)如圖 26所示。 圖 26 接收模塊算法示意圖 ( 2) 生成模塊文件 新建一原理圖文件,將 VHDL源文件生成對(duì)應(yīng)的模塊文件如圖 ,其中 clk為時(shí)鐘輸入, rx為需要串行數(shù)據(jù)輸入, dataout為并行輸出, rdsig為忙閑信號(hào)輸出。 開始 rx=0 N idle=0 Y N 接收數(shù)據(jù) Y 停止位 N 結(jié)束 Y 5 圖 27 UART接收模塊 ( 3)波形仿真 新建一個(gè)原理圖文件,加入各功能模塊,并添加輸入輸出端口,各個(gè)模塊的連接如圖 28所示。 圖 28 UART接收模塊仿真原理圖 保 存原理圖為 。編譯工程文件,編譯無誤后新建波形仿真文件,加入輸入輸出信號(hào),設(shè)置系統(tǒng)時(shí)鐘 clk為 50MHz,保存為 ,進(jìn)行 UART數(shù)據(jù)接收的波形仿真,波形仿真報(bào)告如圖 29所示 圖 29 UART接收模塊仿真結(jié)果 對(duì) 上 圖分析看出, UART接收模塊接收到的數(shù)據(jù)與 UART發(fā)送模塊發(fā)送的數(shù)據(jù)相一至,每接收到一個(gè)數(shù)據(jù)都有一個(gè)讀取數(shù)據(jù)指示 rdisg, UART接收模塊得到正確驗(yàn)證 6 5 接收電路的 波特率發(fā)生器和采樣時(shí)鐘的設(shè)計(jì) 為提高接收 的準(zhǔn)確性 ,減少誤碼率 ,每一位數(shù)據(jù)都用 3 倍頻的波特率對(duì)數(shù)據(jù)進(jìn)行采樣 ,然后對(duì) 3 次采樣結(jié)果進(jìn)行判決 :如果 3 次采樣中至少有 2 次為高電平 ,則接收這一位數(shù)據(jù)被判決為高電平 ,否者 ,為低電平。 為完成 3 次采樣 ,除了頻率為 9600Hz 的接收時(shí)鐘外 ,還要有一個(gè) 3 倍頻的采樣時(shí)鐘 3 VHDL描述思路 第二部分“系統(tǒng)設(shè)計(jì)”中對(duì)系統(tǒng)的功能和邏輯結(jié)構(gòu)、以及模塊劃分都有了詳細(xì)的敘述,模塊間的耦合和信號(hào)的傳遞關(guān)系已經(jīng)清晰??梢允褂?VHDL語言描述硬件電路了。 發(fā)送模塊和接收模塊的 VHDL語言描述按照事先的設(shè)計(jì)進(jìn)行編寫 可以使電路思想明晰化,避免編程過程中用軟件的思維去描述硬件的電路系統(tǒng),也可有效避免錯(cuò)誤。 由于進(jìn)行了細(xì)致的模塊劃分,模塊的間的耦合程度降到了很低,這就使得電路設(shè)計(jì)的可靠性大為增強(qiáng),只要模塊的輸出滿足了功能定義,整個(gè)系統(tǒng)就能正常工作,即便個(gè)別模塊出現(xiàn)問題,也不會(huì)過多影響到其他模塊。實(shí)際測(cè)試過程中也印證了這一點(diǎn)。 4 總體電路的描述 頂層符號(hào)文件描述如下: 5 系統(tǒng)仿真驗(yàn)證 系統(tǒng)仿真分為兩個(gè)步驟進(jìn)行,首先是關(guān)鍵模塊的仿真,驗(yàn)證子系統(tǒng)功能的正確性,然后是綜合仿真,驗(yàn)證整個(gè)系統(tǒng) 的功能。 1 發(fā)送電路的 波特率發(fā)生器的 VHDL的仿真 7 2發(fā)送模塊 VHDL的仿真 3 特率發(fā)生器和采樣時(shí)鐘的設(shè)計(jì)的 VHDL仿真 8 4 接受模塊的描述的 VHDL仿真 5 綜合仿真 9 結(jié)果與分析 本實(shí)驗(yàn)完成的 RS232串口通信控制器,完成了課題要求的所有功能。 由于頂層設(shè)計(jì)采用了子系統(tǒng)分模塊描述的方法,使得控制器具有很好的擴(kuò)展性??梢栽诓桓淖兿到y(tǒng)框架和模塊間電路連接關(guān)系,增加其他模塊,實(shí)現(xiàn)其他功能。 本課題中并沒有在數(shù)據(jù)幀中 加入校驗(yàn)位,僅僅實(shí)現(xiàn)了 1位起始位, 1位停止位和 8位數(shù)據(jù)位的傳輸。初步實(shí)現(xiàn)了單片機(jī)和 CPLD之間的通信。 數(shù)字系統(tǒng)的設(shè)計(jì),真正的重點(diǎn)在于把系統(tǒng)層面的設(shè)計(jì)做好,系統(tǒng)架構(gòu)清晰,層次明確,穩(wěn)定性好,可擴(kuò)展和可移植性好,這樣的系統(tǒng)給到用戶,只要添加用戶模塊或者稍作修改即可完成非特定的功能。 在設(shè)計(jì)階段,對(duì)系統(tǒng)描述采用過多種方式,嘗試了多種描述,代碼的長(zhǎng)度在增加,模塊在增多,但系統(tǒng)穩(wěn)定性和可擴(kuò)展性也在增強(qiáng),層次結(jié)構(gòu)和模塊設(shè)計(jì)也更加完善。 設(shè)計(jì)之初對(duì)資源使用沒有多少概念,時(shí)常以軟件的思想描述硬件,在描 述中使用乘法等資源耗費(fèi)嚴(yán)重的操作,也曾使用過嵌套多層的 IFELSE語句,產(chǎn)生很長(zhǎng)的選擇器,降低了模塊的可靠性,增加處理延時(shí)。隨著設(shè)計(jì)的深入,加上反復(fù)求精的過程磨練,逐步對(duì)硬件描述綜合出的實(shí)際電路形式有了更多的理解,對(duì)延時(shí)和資源占用有了初步概念。一個(gè)顯見的結(jié)論是描述代碼的長(zhǎng)度和綜合后的電路形式與資源占用無必然聯(lián)系。需要關(guān)注編譯器在綜合時(shí)如何將 VHDL行為級(jí)描述轉(zhuǎn)化為結(jié)構(gòu)化的門級(jí)電路,才能分析清楚資源占用率和電路結(jié)構(gòu)。行為級(jí)描述可能與實(shí)際綜合的電路產(chǎn)生不一致,需要謹(jǐn)慎對(duì)待。 實(shí)驗(yàn)中由于詳 細(xì)劃分了子模塊、各模塊的實(shí)現(xiàn)都仔細(xì)進(jìn)行了描述,故沒有出現(xiàn)太多的故障。但是在最后將個(gè)子模塊進(jìn)行綜合的時(shí)候出現(xiàn)了仿真結(jié)果不正確的現(xiàn)象,后經(jīng)過多次修改終于得到正確的結(jié)果。 由于對(duì) VHDL 語言的學(xué)習(xí)與理解還停留在低層次上,故在編譯時(shí)出現(xiàn)了很多錯(cuò)誤, 在查閱了諸多相關(guān)資料后對(duì)VHDL 的語法基本熟悉,逐漸深入,從最初的模塊初步成型 到最后全模塊化,自頂向下設(shè)計(jì)系統(tǒng),完成 VHDL 描述。最深的感受在于,開始時(shí)一心專
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1