基于Verilog HDL的通信系統(tǒng)設(shè)計(jì)課件第9章_第1頁
基于Verilog HDL的通信系統(tǒng)設(shè)計(jì)課件第9章_第2頁
基于Verilog HDL的通信系統(tǒng)設(shè)計(jì)課件第9章_第3頁
基于Verilog HDL的通信系統(tǒng)設(shè)計(jì)課件第9章_第4頁
基于Verilog HDL的通信系統(tǒng)設(shè)計(jì)課件第9章_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第9章網(wǎng)絡(luò)管理中UART系統(tǒng)設(shè)計(jì)基于VerilogHDL的通信系統(tǒng)設(shè)計(jì)基于VerilogHDL的通信系統(tǒng)設(shè)計(jì)

在通信系統(tǒng)設(shè)計(jì)過程中,異步串口(UART)通信由于其通用性而得到普及,特別在工業(yè)、網(wǎng)絡(luò)控制設(shè)備和計(jì)算機(jī)通信中應(yīng)用非常廣泛。本章在基于SNMP協(xié)議實(shí)現(xiàn)的光分組交換網(wǎng)絡(luò)控制系統(tǒng)中設(shè)計(jì)了網(wǎng)管代理和交換節(jié)點(diǎn)的接口電路,該接口電路采用UART的通信方式完成網(wǎng)管代理和交換節(jié)點(diǎn)的數(shù)據(jù)通信,是UART在網(wǎng)絡(luò)控制設(shè)備和計(jì)算機(jī)通信中的一個(gè)應(yīng)用范例?;赩erilogHDL的通信系統(tǒng)設(shè)計(jì)9-1SNMP網(wǎng)絡(luò)管理系統(tǒng)在光分組交換中的應(yīng)用

計(jì)算機(jī)網(wǎng)絡(luò)在很大程度上已經(jīng)改變了現(xiàn)代人的生活。而網(wǎng)絡(luò)規(guī)模的擴(kuò)大,出現(xiàn)了各種影響網(wǎng)絡(luò)服務(wù)的因素,如網(wǎng)絡(luò)設(shè)備的實(shí)效問題等。如何有效的網(wǎng)絡(luò)管理,確保了信息網(wǎng)絡(luò)的可靠性、穩(wěn)定的運(yùn)行已經(jīng)成為了一個(gè)迫切需要解決的問題。為此,以國際標(biāo)準(zhǔn)化組織和Internet工作組為主導(dǎo)地位的組織機(jī)構(gòu)相繼做了大量工作,最主要的就是提出了CMIS/CMIP和制定了網(wǎng)絡(luò)管理協(xié)議SNMP(SimpleNetworkManagementProtocol)。SNMP一出現(xiàn),很快在因特網(wǎng)管理中得到應(yīng)用,很多的代理系統(tǒng)和管理系統(tǒng)的網(wǎng)絡(luò)經(jīng)營者都采用了SNMP來進(jìn)行管理。SNMP協(xié)議可以用于控制各種如電話系統(tǒng)、環(huán)境控制設(shè)備等,其應(yīng)用空間非常廣泛?;赩erilogHDL的通信系統(tǒng)設(shè)計(jì)9-1-1UART的基本原理

在UART通信中,發(fā)射端和接收端不共享同一個(gè)時(shí)鐘,也就是說,在一次UART通信過程中,沒有時(shí)鐘信號(hào)的傳輸,因此這種協(xié)議被稱為異步通信協(xié)議。由于沒有共享時(shí)鐘,所以在數(shù)據(jù)進(jìn)行傳輸之前,收發(fā)雙方必須協(xié)商好一個(gè)數(shù)據(jù)傳輸?shù)牟ㄌ芈?。也就是說,UART接收端應(yīng)該知道發(fā)送端發(fā)送數(shù)據(jù)的波特率,發(fā)送端也應(yīng)該知道接收端的波特率。所以大多數(shù)情況下,設(shè)置發(fā)送端和接收端的波特率相同。UART發(fā)送端按照低位元在前、高位在后的順序?qū)?shù)據(jù)移位元輸出。一旦初始化時(shí)雙方設(shè)置好了相同的波特率,收發(fā)雙方的內(nèi)部時(shí)鐘都設(shè)定在同一頻率。再一個(gè)UART幀傳輸開始,接收端將內(nèi)部時(shí)鐘調(diào)整到與發(fā)送端同步。這樣接收端就可以在每一位的中心位置對(duì)數(shù)據(jù)進(jìn)行采樣,保證數(shù)據(jù)傳輸?shù)恼_性。常用的波特率有110b/s、300b/s、600b/s、800b/s、9600b/s和19200b/s等幾種?;赩erilogHDL的通信系統(tǒng)設(shè)計(jì)9-1-2UART的操作UART負(fù)責(zé)SNMP代理端計(jì)算機(jī)和FPGA控制器的通信,它以并行格式取出來自讀/寫RAM控制器的數(shù)據(jù),并指定UART發(fā)射機(jī)將該數(shù)據(jù)以串行格式發(fā)射。同樣,UART接收機(jī)檢測(cè)傳輸情況,包括是否以串行方式接收數(shù)據(jù),是否去掉起始和終止位,以及是否以并行方式存儲(chǔ)數(shù)據(jù)字。接收機(jī)的工作更為復(fù)雜,由于時(shí)鐘信號(hào)并不傳輸,所以需要接收機(jī)本地產(chǎn)生時(shí)鐘信號(hào),該采樣時(shí)鐘信號(hào)必須比數(shù)據(jù)傳輸波特率大,保證數(shù)據(jù)能夠正確的被采樣?;赩erilogHDL的通信系統(tǒng)設(shè)計(jì)9-2UART發(fā)射機(jī)的設(shè)計(jì)和實(shí)現(xiàn)

發(fā)送部分的工作相對(duì)比較簡單,由一個(gè)狀態(tài)機(jī)來控制。該狀態(tài)機(jī)一共有三個(gè)狀態(tài):“idle”、“waiting”、“sending”狀態(tài)。9-3UART接收機(jī)的設(shè)計(jì)和實(shí)現(xiàn)UART接收機(jī)的主要任務(wù):接收數(shù)據(jù)的串行比特流,去掉起始位,以并行格式將數(shù)據(jù)傳送到與主機(jī)相連的內(nèi)存。到達(dá)的數(shù)據(jù)波特率是由發(fā)射機(jī)預(yù)置得到,所以接收到的數(shù)據(jù)傳輸速率并不一定和接收機(jī)的時(shí)鐘頻率一致。針對(duì)這個(gè)的問題,接收機(jī)采用如下的方法來解決。接收機(jī)本地產(chǎn)生一個(gè)更高頻率的時(shí)鐘頻率,這個(gè)頻率被稱為采樣時(shí)鐘“sample_clk”,采樣時(shí)鐘在數(shù)據(jù)到來的時(shí)候?qū)邮盏降臄?shù)據(jù)進(jìn)行采樣。基于VerilogHDL的通信系統(tǒng)設(shè)計(jì)9-4UART波特率發(fā)生器的設(shè)計(jì)和實(shí)現(xiàn)

波特率發(fā)生器就是一個(gè)簡單的分頻器,以給定的系統(tǒng)時(shí)鐘頻率(外部晶振)和要求的波特率算出波特率分頻因子來作為分頻器的分頻數(shù)。對(duì)于波特率發(fā)生器中的系數(shù)一般在FPGA實(shí)現(xiàn)時(shí)往往是固定的,但對(duì)于不同的實(shí)現(xiàn),這個(gè)系數(shù)往往需要修改。波特率發(fā)生器產(chǎn)生的分頻時(shí)鐘,不是波特率時(shí)鐘,而是波特率時(shí)鐘的8倍,產(chǎn)生該時(shí)鐘的目的就是保證精確采樣,提取異步的串行數(shù)據(jù)。這里用到的外部晶振為20MHz,需要對(duì)它進(jìn)行260分頻得到76900Hz的采樣頻率。由于該UART通信系統(tǒng)選用的波特率為9600bits/s,所以分頻得到的采樣頻率大概為波特率的8倍。

基于VerilogHDL的通信系統(tǒng)設(shè)計(jì)9-5

讀/寫RAM表控制模塊設(shè)計(jì)和實(shí)現(xiàn)

本模塊首先對(duì)接收到的數(shù)據(jù)進(jìn)行解析,根據(jù)解析結(jié)果對(duì)RAM表進(jìn)行相應(yīng)的讀和寫操作。由于代理端發(fā)送的數(shù)據(jù)內(nèi)容和長度不同,對(duì)RAM的操作也可能不同,而且需要判斷數(shù)據(jù)有效的起始位置,所以必須對(duì)代理端發(fā)送的數(shù)據(jù)設(shè)定一定的幀格式。讀/寫RAM表控制模塊可以根據(jù)數(shù)據(jù)幀格式對(duì)數(shù)據(jù)起始位置進(jìn)行判斷,同時(shí)對(duì)數(shù)據(jù)幀進(jìn)行解析。該數(shù)據(jù)幀包含下面5個(gè)部分:

數(shù)據(jù)起始位置。

對(duì)RAM的操作方式。

操作RAM表首地址。

數(shù)據(jù)長度。

數(shù)據(jù)?;赩erilogHDL的通信系統(tǒng)設(shè)計(jì)9-6RAM表的“IPCore”調(diào)用方法RAM表主要用于存放路由信息以及核心結(jié)點(diǎn)和邊緣結(jié)點(diǎn)的相關(guān)數(shù)據(jù),由于Altera公司已經(jīng)將RAM表封裝成IP核供用戶調(diào)用。所以這里詳細(xì)的介紹下在QuartusII中調(diào)用RAM的IP核的方法。

選擇“Tool→MegaWizardPlug-InManager…”,在之后的彈出對(duì)話框中選擇建立一個(gè)新的“Megafunction”,選擇RAM,2-PORT型RAM,確定生成RAM檔的名稱,點(diǎn)擊“Next”。進(jìn)入如圖9-17所示的RAM設(shè)置界面1。選擇“withonereadportandonewriteport”,點(diǎn)擊“Next”按鈕。基于VerilogHDL的通信系統(tǒng)設(shè)計(jì)圖9-17

RAM設(shè)置界面1基于VerilogHDL的通信系統(tǒng)設(shè)計(jì)

進(jìn)入如圖9-18所示的RAM設(shè)置界面2。圖9-18中可以選擇產(chǎn)生的RAM寄存器的容量,讀者可以根據(jù)設(shè)計(jì)要求設(shè)置RAM大小,這里RAM大小設(shè)置為32,點(diǎn)擊“Next”按鈕。圖9-18

RAM設(shè)置界面2基于VerilogHDL的通信系統(tǒng)設(shè)計(jì)

打開如圖9-19所示的RAM設(shè)置頁面3。在該頁面中可以選擇時(shí)鐘類型,這里選擇“useseparate‘read’

and‘write’clocks”;同時(shí)選擇復(fù)選框“Createan

‘rden’readenablesignal”,創(chuàng)建一個(gè)讀使能信號(hào)后,點(diǎn)擊“Finish”按鈕,完成對(duì)RAM的設(shè)置。圖9-19

RAM設(shè)置界面3基于VerilogHDL的通信系統(tǒng)設(shè)計(jì)9-7

本章小結(jié)

本章

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論