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

正文內(nèi)容

基于fpga的uart設(shè)計(jì)-在線瀏覽

2025-08-05 17:07本頁面
  

【正文】 總線轉(zhuǎn)換UART為應(yīng)用基礎(chǔ)的,與20多年的前的UART相比,現(xiàn)在芯片的管腳,寄存器及大體操作幾乎沒有改變。PLD(可編程邏輯器件)是70年代發(fā)展起來的新型邏輯器件。PLA(可編程邏輯陣列)基本結(jié)構(gòu)是基于“與或陣列”,其“與陣列”和“或陣列”均可編程。PAL(可編程陣列邏輯)基本結(jié)構(gòu)也是基于“與或陣列”,它的“與陣列”是可編程的,而“或陣列”是固定的。從一開始少量生產(chǎn)以配合其他芯片功能發(fā)展到作為核心芯片大量生產(chǎn)。采用了不同于PLD架構(gòu)的設(shè)計(jì)方式(主要是SRAM Base及Anti fuse)。FPGA的邏輯單元由查找表和觸發(fā)器構(gòu)成。1985美國(guó)Xilinx公司首次推出FPGA產(chǎn)品XC2064,Xilinx公司FPGA主要有XC4000、Virtex、Spartam,以及最新的Virtex系列。目前市場(chǎng)上常用FPGA產(chǎn)品是Xilinx公司的Spartan和Virtex系列及Altera公司的ACEX和APEX系列。FPGA芯片將繼續(xù)向高密度、高容量、低壓低功耗的方向邁進(jìn)。本課題中,將UART分為幾個(gè)模塊的組合,利用硬件描述語言VHDL描述其邏輯功能,并采用自頂向下的設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。使用Quartus II 工具,對(duì)邏輯設(shè)計(jì)逐層進(jìn)行仿真驗(yàn)證。,以及頂層模塊的功能。 課題內(nèi)容結(jié)構(gòu)第一章緒論介紹課題背景、研究意義,以及與本課題相關(guān)的技術(shù)當(dāng)前現(xiàn)狀,明確研究?jī)?nèi)容以及主要工作。第三章介紹本次設(shè)計(jì)實(shí)現(xiàn)平臺(tái)和工具。第五章對(duì)設(shè)計(jì)完成后的UART進(jìn)行邏輯綜合,功能及時(shí)序仿真,并分析總結(jié)邏輯綜合和仿真結(jié)果。第七章致謝。一個(gè)接口的基本功能是在系統(tǒng)總線和I/O設(shè)備之間傳輸信號(hào),提供緩沖作用,以滿足接口兩邊的時(shí)序要求。串行通信是把要傳輸數(shù)據(jù)中的各個(gè)二進(jìn)制碼置于同一條傳輸線上,從低位到高位、逐位地、順序地進(jìn)行傳送。串行通信分為兩種類型:同步通信和異步通信。 UART基本結(jié)構(gòu)UART主要由UART內(nèi)核、信號(hào)檢測(cè)器、移位寄存器、波特率發(fā)生器和計(jì)數(shù)器組成,如圖2所示。 UART數(shù)據(jù)幀格式基本的UART通信只需要兩條信號(hào)線(RXD,TXD)就可以完成數(shù)據(jù)的相互通信,接收與發(fā)送是全雙工形式,其中TXD是UART發(fā)送端,RXD是UART接收端。在發(fā)送器空閑時(shí),數(shù)據(jù)線應(yīng)保持在邏輯高電平狀態(tài)。數(shù)據(jù)位一般為8位一個(gè)字節(jié)的數(shù)(也有6位7位的情況),低位(LSB)在前,高位(MSB)在后。停止位在最后,用以標(biāo)志UART一個(gè)字符傳送的結(jié)束,它對(duì)應(yīng)于邏輯1狀態(tài),UART數(shù)據(jù)幀格式如圖3所示。起始傳輸:發(fā)送器發(fā)出一個(gè) “0”表示傳輸字符開始。數(shù)據(jù)傳輸:傳輸8位數(shù)據(jù)D0D7。奇偶傳輸:在使用中,校驗(yàn)位常常取消??梢允?位、2位的高電平“1”。起始位、數(shù)據(jù)位、校驗(yàn)位的位寬度是一致的,、1位、一般為1位。 幀從起始位開始到停止位結(jié)束的時(shí)間間隔稱之為一幀。在串行通信中,數(shù)據(jù)是按位進(jìn)行傳送的,因此傳送速率用每秒鐘傳送數(shù)據(jù)位的數(shù)目來表示,稱之為波特率。發(fā)送模塊和接收模塊不使用共同的時(shí)鐘信號(hào),也就是在串行通信中發(fā)送數(shù)據(jù)的同時(shí)不會(huì)把時(shí)鐘信號(hào)從一個(gè)UART接口送到另一個(gè)UART接口。 波特率因子為了使接收方能夠進(jìn)行同步檢測(cè),接收器采用比波特率更高頻率的時(shí)鐘來提高定位采樣的分辨能力和抗干擾能力。一般是132和64. 3 設(shè)計(jì)工具 課題硬件平臺(tái)——FPGAFPGA設(shè)計(jì)方法有“自頂向下”和“自下而上”,一般FPGA設(shè)計(jì)常選擇前者。具體步驟為:按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分,用硬件描述語言,將設(shè)計(jì)產(chǎn)品的功能描述出來,將設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)文件;利用綜合器對(duì)源代碼進(jìn)行綜合優(yōu)化處理得到EDA工業(yè)標(biāo)準(zhǔn)文件;把設(shè)計(jì)好的邏輯安放到PLD/FPGA內(nèi) (布局布線);用仿真軟件驗(yàn)證電路的時(shí)序;無誤后將適配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標(biāo)芯片F(xiàn)PGA中。QuartusⅡ提供了多種設(shè)計(jì)輸入方式、快速的編譯和直接易懂的器件編程。Quartus II自帶宏功能模塊庫(kù),大大減輕了用戶的工作量,加快設(shè)計(jì)速度??蛇M(jìn)行功能仿真、時(shí)序仿真來檢驗(yàn)設(shè)計(jì)的邏輯功能和計(jì)算設(shè)計(jì)的內(nèi)部定時(shí)是否符合設(shè)計(jì)。支持可編程系統(tǒng)(SOPC)和大規(guī)模FPGA設(shè)計(jì)開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺(tái)。 VHDL語言簡(jiǎn)介目前常用硬件描述語言是VHDL和VerilogHDL。IEEE和美國(guó)國(guó)防部于1987年正式確認(rèn)VHDL為標(biāo)準(zhǔn)硬件描述語言。其次,VHDL即可支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,豐富的數(shù)據(jù)類型增強(qiáng)了描述自由度。甚至在使用VHDL語言描述硬件電路時(shí),設(shè)計(jì)人員可以先進(jìn)行設(shè)計(jì)電路,而不用考慮選擇設(shè)計(jì)的器件,因其可適用于不同的器件結(jié)構(gòu)。如下圖 圖4 系統(tǒng)結(jié)構(gòu)圖采用VHDL硬件描述語言按照“由上至下”的思想對(duì)各個(gè)模塊先分別設(shè)計(jì)然后連接起來形成總體架構(gòu)。 頂層模塊設(shè)計(jì)按照系統(tǒng)功能劃分,UART由波特率發(fā)生模塊、接收模塊和發(fā)送模塊構(gòu)成。接收模塊接收RXD串行信號(hào),并將其轉(zhuǎn)化為并行數(shù)據(jù)。圖5 UART總模塊圖串行數(shù)據(jù)幀和接收時(shí)鐘是異步的,發(fā)送來的數(shù)據(jù)由邏輯1變?yōu)檫壿?可以視為一個(gè)數(shù)據(jù)幀的開始。還要輸出一個(gè)數(shù)據(jù)接收標(biāo)志信號(hào)標(biāo)志數(shù)據(jù)接收完。功能是產(chǎn)生RS232通信所采用波特率同步時(shí)鐘,按照RS232串行通信的時(shí)序要求進(jìn)行數(shù)據(jù)接收或發(fā)送。取波特率因子N=16,即收發(fā)頻率是數(shù)據(jù)傳輸速率的16倍。波特率產(chǎn)生過程:提供的時(shí)鐘為30MHz,以圖6輸入端口clk輸入,通過總線寫入不同的數(shù)值到波特率保持寄存器,然后用計(jì)數(shù)器的方式生成所需要的各種波特率,數(shù)值的計(jì)算原則:30MHZ/(16*所期望的波特率),這里希望輸出9600Hz的波特率,那么這個(gè)值就是30MHZ/(16*9600)=195(11000011B)。 接收模塊接收模塊的作用是把收到的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)進(jìn)行輸出,并判斷收到的數(shù)據(jù)是否有錯(cuò)。串行接收模塊框圖如圖8,程序在檢測(cè)到起始位后(rxdr由‘1’跳變到‘0’),計(jì)數(shù)連續(xù)8個(gè)接收時(shí)鐘采樣仍然是低電平后,開始接收串行數(shù)據(jù),當(dāng)采樣計(jì)數(shù)器計(jì)數(shù)結(jié)束后,所以數(shù)據(jù)已移位輸入RSR。將數(shù)據(jù)轉(zhuǎn)存在數(shù)據(jù)寄存器RBR中,串/并轉(zhuǎn)換后,輸出8位并行數(shù)據(jù)rbuf[7..0]。r_ready輸出高電平‘1’表示數(shù)據(jù)接收有效。而接收器工作頻率遠(yuǎn)遠(yuǎn)高于數(shù)據(jù)的傳輸速率。一旦檢測(cè)到有‘1’跳變到‘0’,接著判斷跳變是否由噪音引起或者確實(shí)是串行數(shù)據(jù)到來。 UART接收器的接收狀態(tài)機(jī)接收狀態(tài)機(jī)一共有5個(gè)狀態(tài):R_START(等待起始位)、R_CENTER(求中點(diǎn))、R_WAIT(等待采樣)、R_SAMPLE(采樣)、R_STOP(停止位接收)。在此狀態(tài),狀態(tài)機(jī)一直在等待串行數(shù)據(jù)的到來,即RXD的電平從邏輯1變?yōu)檫壿?,意味著新的一幀UART數(shù)據(jù)幀的開始,一旦起始位被確定,狀態(tài)機(jī)將轉(zhuǎn)入R_CENTER狀態(tài)(圖9中的RXD_SYNC信號(hào)是RXD的同步信號(hào))。另外,可能在R_START狀態(tài)檢測(cè)到的起始位不是真正的起始位,可能是一個(gè)偶然出現(xiàn)的干擾尖脈沖(負(fù)脈沖)。3:R_WAIT狀態(tài):當(dāng)狀態(tài)機(jī)處于這一狀態(tài),等待計(jì)滿15個(gè)bclk,在第16個(gè)bclk是進(jìn)入R_SAMPLE狀態(tài)進(jìn)行數(shù)據(jù)位的采樣檢測(cè),同時(shí)也判斷是否采集的數(shù)據(jù)位長(zhǎng)度已達(dá)到數(shù)據(jù)幀的長(zhǎng)度(FRAMELEN),如果到來,就說明停止位來臨了。4:R_SAMPLE狀態(tài):即數(shù)據(jù)位采樣檢測(cè),完成后無條件狀態(tài)機(jī)轉(zhuǎn)入R_WAIT狀態(tài),等待下次數(shù)據(jù)位的到來。狀態(tài)機(jī)的VHDL代碼見附錄1程序清單。每隔一個(gè)固定發(fā)送周期發(fā)送符合數(shù)據(jù)幀格式要求的數(shù)據(jù)幀,發(fā)送時(shí)輸出起始位低電平,依次將數(shù)據(jù)位輸出,最后將起始位重新置為高。發(fā)送模塊的引腳如圖10所示, 圖10 發(fā)送模塊引腳圖發(fā)送模塊信號(hào):resett(輸入):復(fù)位端口,低電平有效;xmit_cmd_p輸入):寫控制信號(hào),低電平時(shí)允許數(shù)據(jù)輸入;txdbuf[7..0](輸入):8位并行數(shù)據(jù)輸入信號(hào);bclkt(輸入):外部時(shí)鐘信號(hào);對(duì)CPU16倍頻采樣;txd_done(輸出):并/串轉(zhuǎn)換后數(shù)據(jù)輸出提示信號(hào),高電平有效; txd(輸出):串行數(shù)據(jù)輸出。當(dāng)FPGA外部引腳txdbuf[7..0]輸入8位并行數(shù)據(jù)時(shí),裝載8位數(shù)據(jù)在發(fā)送保持寄存器THR中。當(dāng)檢測(cè)到txd_done變?yōu)榈碗娖綍r(shí),自動(dòng)時(shí)能串行數(shù)據(jù)發(fā)送。接著8位數(shù)據(jù)由低位到高位依次從TSR中串行移出。同接收器一樣,串行數(shù)據(jù)已內(nèi)部頻率的 1/16傳輸。 UART接收器的發(fā)送狀態(tài)機(jī)發(fā)送狀態(tài)機(jī)一共有5個(gè)狀態(tài)X_IDLE(空閑)X_START(起始位)X_WAIT(移位等待)X_SHIFT(移位)X_STOP(停止位)。在這個(gè)狀態(tài)下,UART的發(fā)送器一直在等待一個(gè)數(shù)據(jù)幀發(fā)送命令XMIT_CMD。用短脈沖XMIT_CMD_P信號(hào)對(duì)XMIT_CMD處理,當(dāng)XMIT_CMD_P=‘1’,狀態(tài)機(jī)轉(zhuǎn)入X_START,準(zhǔn)備發(fā)送起始位。緊接著狀態(tài)機(jī)轉(zhuǎn)入X_WAIT狀態(tài)。 4:X_SHIFT狀態(tài):當(dāng)狀態(tài)機(jī)處于這一狀態(tài)時(shí),實(shí)現(xiàn)待發(fā)數(shù)據(jù)的并串轉(zhuǎn)換。5:X_STOP狀態(tài):停止位發(fā)送狀態(tài),當(dāng)數(shù)據(jù)幀發(fā)送完畢,狀態(tài)機(jī)轉(zhuǎn)入該狀態(tài),并發(fā)送16個(gè)bclk周期的邏輯1信號(hào),即1位停止位。狀態(tài)機(jī)的VHDL
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1