




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄任務(wù)書(shū).開(kāi)題報(bào)告.指導(dǎo)教師審查意見(jiàn).評(píng)閱教師評(píng)語(yǔ).答辯會(huì)議記錄 中文摘要.外文摘要.前言11 引言11.1 課題來(lái)源11.2 課題研究的研究背景11.3 國(guó)內(nèi)外的發(fā)展現(xiàn)狀、發(fā)展趨勢(shì)及存在的主要問(wèn)題21.4 課題研究的指導(dǎo)思想與技術(shù)路線31.5基于FPGA串口設(shè)計(jì)的技術(shù)要求42 UART原理介紹52.1UART結(jié)構(gòu)和工作原理53 方案選擇63.1 設(shè)計(jì)語(yǔ)言的選擇63.2 電平轉(zhuǎn)換方式的選擇73.3 FPGA核心芯片的選擇74 系統(tǒng)硬件設(shè)計(jì)94.1 器件芯片介紹94.2 系統(tǒng)硬件框圖144.3 主要組成電路分析144.4 總電路圖設(shè)計(jì)175 系統(tǒng)軟件設(shè)計(jì)175.1 主程序流程圖175.2 中
2、斷子程序流程圖195.3 DDS控制軟件設(shè)計(jì)195.4 AD7886 軟件驅(qū)動(dòng)設(shè)計(jì)205.5 系統(tǒng)源程序216 制作位移測(cè)量裝置的步驟217 總結(jié) 22參考文獻(xiàn)23致謝24附錄125附錄226附錄327基于FPGA的串口設(shè)計(jì)冉 峰:陳曉靜,電子信息學(xué)院陳曉靜:電子信息學(xué)院摘要隨著微電子技術(shù)的快速發(fā)展,電子設(shè)備逐漸向著小型化.集成化方向的發(fā)展。人們?cè)谝笤O(shè)備性能不斷提升的同時(shí),還要求設(shè)備功耗低體積小重量輕可靠性高。UART因其可靠性高,傳輸距離遠(yuǎn)線路簡(jiǎn)單而成為比較廣泛的串行數(shù)據(jù)通信電路,而現(xiàn)在大部分集成電路通信用的UART芯片,存在成本高,電路復(fù)雜,移植性較差等缺點(diǎn)。本設(shè)計(jì)是基于FPGA的嵌入式
3、UART模塊化設(shè)計(jì)方法,將UART模塊集成到FPGA上,而這些模塊功能全部基于VHDL硬件描述語(yǔ)言,并通過(guò)有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn),增強(qiáng)了設(shè)計(jì)的靈活性,降低了成本。論文的主要目標(biāo)是利用FPGA實(shí)現(xiàn)UART的功能與PC機(jī)實(shí)現(xiàn)串口通信,UART的功能模塊通過(guò)MAX232將電平轉(zhuǎn)換后與PC機(jī)相連達(dá)到設(shè)計(jì)目的。 UART的功能模塊主要包括波特率產(chǎn)生模塊,數(shù)據(jù)發(fā)送模塊,數(shù)據(jù)接收模塊三個(gè)部分,對(duì)各模塊的功能在文中都有詳細(xì)的介紹。整個(gè)設(shè)計(jì)都采用硬件描述語(yǔ)言(VHDL)實(shí)現(xiàn),并且采用了分模塊的設(shè)計(jì)風(fēng)格,使設(shè)計(jì)的思路更清晰。關(guān)鍵字FPGA UART VHDL PC機(jī) MAX232 The Design Of Seria
4、lBase on FPGAFengRan: Chen Xiaojing, Electronic InformationChenXiaojing: Electronic Information Abstract With the rapid development of microelectronicstechnology, electronic equipment become smaller and integratedin the continuous upgrading of equipmentrequlrementsat the same time,also called lowpow
5、er devices,small size,light weight,highreliabilityUART because of its high reliability, long transmission distance lines become broader and simple serial data communication circuit, but now most of the communication with the UART integrated circuit chip, high cost, circuit complexity, less portable,
6、 and other shortcomings. The design is based on modular FPGA designmethodology for embedded UART, UART modules will be integrated into the FPGA, all based on these modules feature hardware description language VHDL and implemented through the finite state machine, and enhance design flexibility, red
7、uced costs.前 言隨著FPGA/CPLD器件在控制領(lǐng)域的廣泛使用,開(kāi)發(fā)嵌于FPGA/CPLD器件內(nèi)部的通用異步收發(fā)器,以實(shí)現(xiàn)FPGA/CPLD開(kāi)發(fā)系統(tǒng)與PC機(jī)之間的數(shù)據(jù)通信是很有實(shí)際意義的。FPGA/CPLD器件與單片機(jī)、ARM等器件不同,內(nèi)部沒(méi)有集成UART,因此要實(shí)現(xiàn)串行通信,必須要獨(dú)立開(kāi)發(fā)UART模塊。本設(shè)計(jì)對(duì)于深入理解串口的工作原理和理解FPGA的工作流程具有啟示意義,并通過(guò)設(shè)計(jì)的過(guò)程FPGA的應(yīng)用能力和系統(tǒng)綜合設(shè)計(jì)能力將得到加強(qiáng)。1引言1.1 課題來(lái)源結(jié)合科研1.2課題研究的研究背景當(dāng)今社會(huì)是數(shù)字化的社會(huì),是數(shù)字集成電路廣泛應(yīng)用的社會(huì)。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。
8、它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬(wàn)門(mén)以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來(lái)獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場(chǎng)可編程邏輯器件(FPLD),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。 通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitt
9、er), 簡(jiǎn)稱為UART ) 由于具有數(shù)據(jù)通信時(shí)需要的連線少, 具有相關(guān)工業(yè)標(biāo)準(zhǔn)提供的標(biāo)準(zhǔn)的接口電平規(guī)范等優(yōu)點(diǎn), 在工業(yè)控制領(lǐng)域被廣泛采用. 近年來(lái), 隨著FPGA/ CPLD 器件在控制領(lǐng)域的廣泛使用, 開(kāi)發(fā)嵌于FPGA/ CPLD 器件內(nèi)部的通用異步收發(fā)器, 以實(shí)現(xiàn)FPGA/ CPLD 開(kāi)發(fā)系統(tǒng)與PC 機(jī)之間的數(shù)據(jù)通信引起了FPGA / CPLD 領(lǐng)域研究人員的關(guān)注. 為此,本設(shè)計(jì)基于FPGA 器件設(shè)計(jì)了符合RS - 232 標(biāo)準(zhǔn)的U ART , 便于實(shí)現(xiàn)FPGA/CPLD開(kāi)發(fā)系統(tǒng)與PC 機(jī)之間的串口數(shù)據(jù)交換。1.3國(guó)內(nèi)外的發(fā)展現(xiàn)狀、發(fā)展趨勢(shì)及存在的主要問(wèn)題 通用異步收發(fā)器(Un
10、iversal Asychronous Receiver Transmitter,UART)是雷達(dá)中常用的器件類(lèi)型,多用于全機(jī)監(jiān)測(cè)、指令發(fā)送接收、狀態(tài)傳遞、鍵盤(pán)顯示操作以及控制等等。由于許多大的器件供應(yīng)商不再生產(chǎn)此類(lèi)軍品級(jí)產(chǎn)品,因此,就必須另尋途徑解決其在雷達(dá)中的應(yīng)用問(wèn)題。利用可編程器件實(shí)現(xiàn)UART功能模塊,既可以滿足產(chǎn)品類(lèi)別的需求又可以在使用中根據(jù)實(shí)際情況增減配置,是我們?cè)谠O(shè)計(jì)中值得考慮的一種方法。在嵌入式系統(tǒng)中,嵌入式CPU往往要通過(guò)各種串行數(shù)據(jù)總線與“外界”進(jìn)行通信。在應(yīng)用中,異步的串行數(shù)據(jù)通信用得較多,而通用異步收發(fā)器在其中扮演著重要角色:完成數(shù)據(jù)的串并轉(zhuǎn)換,即把并行數(shù)據(jù)按照通信波特率
11、轉(zhuǎn)化為通信協(xié)議中規(guī)定的串行數(shù)據(jù)流,也可從串行數(shù)據(jù)流中取出有用數(shù)據(jù)轉(zhuǎn)變?yōu)椴⑿袛?shù)據(jù)。對(duì)FPGA芯片來(lái)說(shuō),該芯片具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件功能可以通過(guò)軟件的編程修改參數(shù)來(lái)實(shí)現(xiàn),這樣不僅從實(shí)時(shí)性上得到了提高,而且極大提高了電子系統(tǒng)設(shè)計(jì)的通用性和靈活性,因此,UART接口技術(shù)的FPGA實(shí)現(xiàn)逐漸運(yùn)用于現(xiàn)代軍事工業(yè)。FPGA是英文 Field Programmable Gate Array的縮寫(xiě),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可
12、編程器件門(mén)電路數(shù)有限的缺點(diǎn)。 FPGA 采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB (Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA的基本特點(diǎn)主要有:1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。3)FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。5)FPGA采用高
13、速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 可以說(shuō),F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。目前FPGA的品種很多,有XILINX的XC系列,TI公司的TPC系列、ALTERA公司的FIEX系等。FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無(wú)須專用的FPGA
14、編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。 FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對(duì)其編程。FPGA的設(shè)計(jì)難點(diǎn):1)不同時(shí)鐘域轉(zhuǎn)換2)高速電路設(shè)計(jì),信號(hào)完整性3)降低功耗1.4課題研究的指導(dǎo)思想與技術(shù)路線UART(即Universal Asynchronous Recei
15、ver Transmitter 通用異步收發(fā)器)是一種應(yīng)用廣泛的短距離串行傳輸接口。UART允許在串行鏈路上進(jìn)行全雙工的通信。串行外設(shè)用到的RS232-C異步串行接口,一般采用專用的集成電路即UART實(shí)現(xiàn)。如8250、8251、NS16450等芯片都是常見(jiàn)的UART器件,這類(lèi)芯片已經(jīng)相當(dāng)復(fù)雜,有的含有許多輔助的模塊(如FIFO),有時(shí)我們不需要使用完整的UART的功能和這些輔助功能?;蛘咴O(shè)計(jì)上用到了FPGA/CPLD器件,那么我們就可以將所需要的UART功能集成到FPGA內(nèi)部。使用Verilog將UART的核心功能集成,從而使整個(gè)設(shè)計(jì)更加緊湊、穩(wěn)定且可靠。本文設(shè)計(jì)一利用FPGA實(shí)現(xiàn)的通用異步收
16、發(fā)器UART,能實(shí)現(xiàn)與PC機(jī)之間的串口通信。1.5基于FPGA串口設(shè)計(jì)的技術(shù)要求 (1)設(shè)計(jì)出能完成串行數(shù)據(jù)發(fā)送和接收的的串口,可實(shí)現(xiàn)與PC機(jī)的通訊。(2)設(shè)計(jì)波特率為9600bit/s(3)收發(fā)數(shù)據(jù)幀格式定義為:1位起始位,8位數(shù)據(jù)位和1位停止位。(4)用modelsim仿真2UART原理介紹2.1UART結(jié)構(gòu)和工作原理UART介紹UART:Universal Asynchronous Receiver/Transmitter,通用異步接收/發(fā)送裝置,UART是一個(gè)并行輸入成為串行輸出的芯片,通常集成在主板上,多數(shù)是16550AFN芯片。因?yàn)橛?jì)算機(jī)內(nèi)部采用并行數(shù)據(jù),不能直接把數(shù)據(jù)發(fā)到Mode
17、m,必須經(jīng)過(guò)UART整理才能進(jìn)行異步傳輸,其過(guò)程為:CPU先把準(zhǔn)備寫(xiě)入串行設(shè)備的數(shù)據(jù)放到UART的寄存器(臨時(shí)內(nèi)存塊)中,再通過(guò)FIFO(First Input First Output,先入先出隊(duì)列)傳送到串行設(shè)備,若是沒(méi)有FIFO,信息將變得雜亂無(wú)章,不可能傳送到Modem。UART是用于控制計(jì)算機(jī)與串行設(shè)備的芯片。有一點(diǎn)要注意的是,它提供了RS-232C數(shù)據(jù)終端設(shè)備接口,這樣計(jì)算機(jī)就可以和調(diào)制解調(diào)器或其它使用RS-232C接口的串行設(shè)備通信了。作為接口的一部分,UART還提供以下功能:將由計(jì)算機(jī)內(nèi)部傳送過(guò)來(lái)的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù)流。將計(jì)算機(jī)外部來(lái)的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供計(jì)算機(jī)內(nèi)部
18、使用并行數(shù)據(jù)的器件使用。在輸出的串行數(shù)據(jù)流中加入奇偶校驗(yàn)位,并對(duì)從外部接收的數(shù)據(jù)流進(jìn)行奇偶校驗(yàn)。在輸出數(shù)據(jù)流中加入啟停標(biāo)記,并從接收數(shù)據(jù)流中刪除啟停標(biāo)記。處理由鍵盤(pán)或鼠標(biāo)發(fā)出的中斷信號(hào)(鍵盤(pán)和鼠標(biāo)也是串行設(shè)備)??梢蕴幚碛?jì)算機(jī)與外部串行設(shè)備的同步管理問(wèn)題。圖1 UART數(shù)據(jù)傳輸結(jié)構(gòu)圖UART 幀的格式UART 幀的格式包括線路空閑狀態(tài)(idle,高電平有效)、起始位(start bit,低電平有效)、58 位數(shù)據(jù)位(data bits)、校驗(yàn)位(parity bit,可選)和1 位停止位(stop bit)。字符的同步由起始位和停止位來(lái)實(shí)現(xiàn)。UART 內(nèi)部配置有寄存器,可以配置實(shí)現(xiàn)數(shù)據(jù)位數(shù)(5
19、8 位)可選、是否有校驗(yàn)位和校驗(yàn)的類(lèi)型等設(shè)置。 圖2UART數(shù)據(jù)帖格式 2.1.3UART工作原理UART 接收器在工作時(shí),信號(hào)檢測(cè)器一直監(jiān)視RxD 線上的電平,當(dāng)RxD 線上出現(xiàn)低電平時(shí), 通知串行接收控制器有數(shù)據(jù)需要接收,此時(shí)接收控制器啟動(dòng)移位寄存器、波特率發(fā)生器和數(shù)據(jù)位計(jì)數(shù)器. 在波特率時(shí)鐘的驅(qū)動(dòng)下移位寄存器將RxD 線上的電平值依次移入內(nèi)部寄存器,當(dāng)計(jì)數(shù)器的計(jì)數(shù)值達(dá)到10 時(shí)表示一幀數(shù)據(jù)接收完成,這時(shí)接收控制器產(chǎn)生數(shù)據(jù)接收完成中斷,并從接收的數(shù)據(jù)幀中提取出數(shù)據(jù)并鎖存,供后續(xù)模塊使用.U ART 發(fā)送器在工作時(shí),發(fā)送信號(hào)檢測(cè)器一直監(jiān)視發(fā)送請(qǐng)求信號(hào)是否有效, 若檢測(cè)發(fā)送請(qǐng)求信號(hào)有效,則發(fā)送
20、信號(hào)檢測(cè)器停止接收發(fā)送請(qǐng)求. 發(fā)送請(qǐng)求信號(hào)傳到串行發(fā)送控制器后, 控制器啟動(dòng)發(fā)送移位寄存器、波特率發(fā)生器和數(shù)據(jù)位計(jì)數(shù)器, 在波特率時(shí)鐘的驅(qū)動(dòng)下, 發(fā)送移位寄存器先發(fā)送一位起始位( 邏輯0) , 然后將待發(fā)送的并行數(shù)據(jù)從最低位開(kāi)始逐位發(fā)出,數(shù)據(jù)發(fā)送完后, 再發(fā)送一位停止位( 邏輯1)。在移位寄存器移出一位邏輯值后數(shù)據(jù)位計(jì)數(shù)器加1,當(dāng)數(shù)據(jù)位計(jì)數(shù)器記滿10 表示一帖數(shù)據(jù)發(fā)送完成,此時(shí)控制器停止各個(gè)輔助部件并且再次啟動(dòng)發(fā)送信號(hào)檢測(cè)器, 開(kāi)始監(jiān)視下一次發(fā)送請(qǐng)求.3方案選擇3.1設(shè)計(jì)語(yǔ)言選擇 本次設(shè)計(jì)用的硬件描述語(yǔ)言是VHDL,主要原因是以前學(xué)過(guò)該語(yǔ)言和它具有如下優(yōu)勢(shì):(1)與其他的硬件描述語(yǔ)言相比,VH
21、DL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。3.2
22、電平轉(zhuǎn)換方式選擇RS232C 是與RS499、RS423、RS422和RS485 并列的一種UART ( universal asynchronous receiver / transm itter)接口標(biāo)準(zhǔn)規(guī)范和總線標(biāo)準(zhǔn)規(guī)范. 這些規(guī)范雖然規(guī)定了不同的通信接口電氣特性、傳輸速率、連接特性和接口的機(jī)械特性等內(nèi)容, 但是都對(duì)應(yīng)異步串行通信協(xié)議. 由于實(shí)際中PC 的外部接口配置為RS232C 已經(jīng)成為事實(shí)標(biāo)準(zhǔn), 所以文章以RS232C 為基礎(chǔ)編寫(xiě)FPGA 串口驅(qū)動(dòng)程序。而MAX232芯片是美信公司專門(mén)為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,所以電平轉(zhuǎn)換部分就是用MAX232實(shí)現(xiàn)的。3
23、.3FPGA核心芯片的選擇本系統(tǒng)用的主芯片是EP1C12Q240C8,該系列的芯片采用324引腳、BGA封裝的EP1C12 FPGA,它擁有12060個(gè)LE,52個(gè)M4K片上RAM(共計(jì)239616bits),2個(gè)高性能PLL以及多達(dá)249個(gè)用戶自定義IO。同時(shí),系統(tǒng)還可以根據(jù)用戶不同的設(shè)計(jì)需求來(lái)更換其它不同系列的核心板,如: EP1C6、EP2C20、EP3C25等。所以,不管從性能上而言,還是從系統(tǒng)靈活性上而言,它都會(huì)成為我們的好幫手。EP1C12核心板具有JTAG調(diào)試接口、50MHz高精度時(shí)鐘源等可用資源,因此對(duì)于設(shè)計(jì)和仿真都提供了較好的條件。3.4 總體設(shè)計(jì)框圖FPGARS232電平轉(zhuǎn)
24、換PC機(jī)圖3 總體設(shè)置框圖4 系統(tǒng)硬件設(shè)計(jì)4.1 器件芯片介紹4.1.1FPGA核心板EP1C12介紹EP1C12核心板為基于Altera Cyclone器件的嵌入式系統(tǒng)開(kāi)發(fā)提供了一個(gè)很好的硬件平臺(tái),它可以為開(kāi)發(fā)人員提供以下資源:1 主芯片采用Altera Cyclone器件EP1C12F324C8 2EPCS4I8配置芯片3 4個(gè)用戶自定義按鍵4 4個(gè)用戶自定義LED 5 1個(gè)七段碼LED 6 標(biāo)準(zhǔn)AS編程接口和JTAG調(diào)試接口740MHz高精度時(shí)鐘源8 三個(gè)高密度擴(kuò)展接口9 系統(tǒng)上電復(fù)位電路10 支持+5V直接輸入,板上電源管理模塊系統(tǒng)主芯片采用324引腳、BGA封裝的E1C12 FPGA
25、,它擁有12060個(gè)LE,52個(gè)M4K片上RAM(共計(jì)239616bits),2個(gè)高性能PLL以及多達(dá)249個(gè)用戶自定義IO。同時(shí),系統(tǒng)還可以根據(jù)用戶不同的設(shè)計(jì)需求來(lái)更換其它不同系列的核心板,如: EP1C6、EP2C20、EP3C25等。圖4 EP1C12核心板系統(tǒng)功能框圖FPGA開(kāi)發(fā)平臺(tái)提供了豐富的資源供學(xué)生或開(kāi)發(fā)人員學(xué)習(xí)使用,資源包括接口通信、控制、存儲(chǔ)、數(shù)據(jù)轉(zhuǎn)換以及人機(jī)交互顯示等幾大模塊,接口通信模塊包括SPI接口、IIC接口、VGA接口、RS232接口、USB接口、PS2鍵盤(pán)/鼠標(biāo)接口、1Wire接口等;存儲(chǔ)模塊包括EEPROM存儲(chǔ)器模塊等;數(shù)據(jù)轉(zhuǎn)換模塊包括串行ADC、 DAC以及音
26、頻CODE等;人機(jī)交互顯示模塊包括8個(gè)按鍵、16個(gè)LED發(fā)光二極管顯示、1602字符型點(diǎn)陣LCD、8位動(dòng)態(tài)7段碼管、實(shí)時(shí)時(shí)鐘、SD卡等。上述的這些資源模塊既可以滿足初學(xué)者入門(mén)的要求,也可以滿足開(kāi)發(fā)人員進(jìn)行二次開(kāi)發(fā)的要求。EDA/SOPC實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)提供的資源有:1、標(biāo)準(zhǔn)配置核心板為EP1C12核心板(核心芯片為EP1C12F324C8)。可更換EP2C20F484C8等其它核心板。2、 1602字符型液晶點(diǎn)陣。3、 RTC,提供系統(tǒng)實(shí)時(shí)時(shí)鐘。4、 1個(gè)256色VGA接口。5、1個(gè)標(biāo)準(zhǔn)串行接口。6、 1個(gè)USB設(shè)備接口,利用PDIUSBD12芯片實(shí)現(xiàn)USB協(xié)議轉(zhuǎn)換。7、基于SPI或IIC接口的音
27、頻CODEC模塊。8、 1個(gè)蜂鳴器輸出模塊。9、 2個(gè)PS2鍵盤(pán)/鼠標(biāo)接口。10、串行ADC和串行DAC模塊。11、 IIC接口的EEPROM存儲(chǔ)器模塊。12、基于1-Wire接口的數(shù)字溫度傳感器。13、 8位動(dòng)態(tài)七段碼管LED顯示。14、 16個(gè)用戶自定義LED顯示,8個(gè)用戶自定義按鍵輸出。15、一個(gè)SD卡接口模塊。16、擴(kuò)展接口,供用戶高速穩(wěn)定的自由擴(kuò)展。圖5 FPGA系統(tǒng)平臺(tái)功能框圖JTAG調(diào)試接口在FPGA開(kāi)發(fā)過(guò)程中,JTAG是一個(gè)比不可少的接口,因?yàn)殚_(kāi)發(fā)人員需要下載配置數(shù)據(jù)到FPGA。在Nios II開(kāi)發(fā)過(guò)程中,JTAG更是起著舉足輕重的作用,因?yàn)橥ㄟ^(guò)JTAG接口,開(kāi)發(fā)人員不僅可以對(duì)
28、Nios II系統(tǒng)進(jìn)行在線仿真調(diào)試,而且還可以下載代碼或用戶數(shù)據(jù)到CFI Flash中。開(kāi)發(fā)板上提供如圖2-6所示的10針插座,其每個(gè)插針的信號(hào)定義見(jiàn)表1。圖6開(kāi)發(fā)板上的JTAG調(diào)試插座JP1插座信號(hào)定義 1TCK 2GND 3TDO 4Vcc(3.3V) 5TMS 6/ 7/ 8/ 9TDI 10GND 表1 JTAG插座信號(hào)定義注: /表示該插針沒(méi)有任何信號(hào)。晶振核心板上提供了高精度、高穩(wěn)定性50MHz的有源晶振,晶振所輸出的脈沖信號(hào)直接與FPGA的時(shí)鐘輸入引腳相連。如果設(shè)計(jì)人員需要其它頻率時(shí)鐘源,可以在FPGA內(nèi)部進(jìn)行分頻或利用FPGA內(nèi)部PLL倍頻等途徑來(lái)得到。有源晶振的輸出端與FPG
29、A的IO接口對(duì)應(yīng)關(guān)系如表2所示。40M時(shí)鐘信號(hào)EP1C12引腳40MHZ J3 表3時(shí)鐘信號(hào)與FPGA IO接口對(duì)應(yīng)表-4.1.2 MAX232MAX232芯片是美信公司專門(mén)為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。圖7MAX232芯片引腳介紹第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道
30、。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。主要特點(diǎn)1、符合所有的RS-232C技術(shù)標(biāo)準(zhǔn) 2、只需要單一 +5V電源供電 3、片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V- 4、功耗低,典型供電電流5mA 5、內(nèi)部集成2個(gè)RS-232C驅(qū)動(dòng)器
31、6、內(nèi)部集成兩個(gè)RS-232C接收器 7、高集成度,片外最低只需4個(gè)電容即可工作。4.1.3RS232RS232接口是1970年由美國(guó)電子工業(yè)協(xié)會(huì)(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”。 該標(biāo)準(zhǔn)規(guī)定采用一個(gè)25個(gè)腳的DB25連接器,對(duì)連接器的每個(gè)引腳的信號(hào)內(nèi)容加以規(guī)定,還對(duì)各種信號(hào)的電平加以規(guī)定。隨著設(shè)備的不斷改進(jìn),出現(xiàn)了代替DB25的DB9接口,現(xiàn)在都把RS232接口叫做DB9。RS-232C 的接口信號(hào):RS-232C 的功能特性定義了25芯標(biāo)準(zhǔn)連
32、接器中的20根信號(hào)線,其中2條地線、4條數(shù)據(jù)線、11條控制線、3條定時(shí)信號(hào)線,剩下的5根線作備用或未定義。常用的只有10根,它們是:(1)聯(lián)絡(luò)控制信號(hào)線:數(shù)據(jù)發(fā)送準(zhǔn)備好(Data set ready-DSR)有效時(shí)(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。 數(shù)據(jù)終端準(zhǔn)備好(Data terminal ready-DTR)有效時(shí)(ON)狀態(tài),表明數(shù)據(jù)終端可以使用。 這兩個(gè)信號(hào)有時(shí)連到電源上,一上電就立即有效。這兩個(gè)設(shè)備狀態(tài)信號(hào)有效,只表示設(shè)備本身可用,并不說(shuō)明通信鏈路可以開(kāi)始進(jìn)行通信了,能否開(kāi)始進(jìn)行通信要由下面的控制信號(hào)決定。 請(qǐng)求發(fā)送(Request to send-RTS)用來(lái)表示DT
33、E請(qǐng)求DCE發(fā)送數(shù)據(jù),即當(dāng)終端要發(fā)送數(shù)據(jù)時(shí),使該信號(hào)有效(ON狀態(tài)),向MODEM請(qǐng)求發(fā)送。它用來(lái)控制MODEM是否要進(jìn)入發(fā)送狀態(tài)。 允許發(fā)送(Clear to send-CTS)用來(lái)表示DCE準(zhǔn)備好接收DTE發(fā)來(lái)的數(shù)據(jù),是對(duì)請(qǐng)求發(fā)送信號(hào)RTS的響應(yīng)信號(hào)。當(dāng)MODEM已準(zhǔn)備好接收終端傳來(lái)的數(shù)據(jù),并向前發(fā)送時(shí),使該信號(hào)有效,通知終端開(kāi)始沿發(fā)送數(shù)據(jù)線TxD發(fā)送數(shù)據(jù)。 這對(duì)RTS/CTS請(qǐng)求應(yīng)答聯(lián)絡(luò)信號(hào)是用于半雙工MODEM系統(tǒng)中發(fā)送方式和接收方式之間的切換。在全雙工系統(tǒng)中,因配置雙向通道,故不需要RTS/CTS聯(lián)絡(luò)信號(hào),使其變高。 接收線信號(hào)檢出(Received Line detection-R
34、LSD)用來(lái)表示DCE已接通通信鏈路,告知DTE準(zhǔn)備接收數(shù)據(jù)。當(dāng)本地的MODEM收到由通信鏈路另一端(遠(yuǎn)地)的MODEM送來(lái)的載波信號(hào)時(shí),使RLSD信號(hào)有效,通知終端準(zhǔn)備接收,并且由MODEM將接收下來(lái)的載波信號(hào)解調(diào)成數(shù)字兩數(shù)據(jù)后,沿接收數(shù)據(jù)線RxD送到終端。此線也叫做數(shù)據(jù)載波檢出(Data Carrier dectection-DCD)線。 振鈴指示(Ringing-RI)當(dāng)MODEM收到交換臺(tái)送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效(ON狀態(tài)),通知終端,已被呼叫。 (2)數(shù)據(jù)發(fā)送與接收線:發(fā)送數(shù)據(jù)(Transmitted data-TxD)通過(guò)TxD終端將串行數(shù)據(jù)發(fā)送到MODEM,(DTEDC
35、E)。 接收數(shù)據(jù)(Received data-RxD)通過(guò)RxD線終端接收從MODEM發(fā)來(lái)的串行數(shù)據(jù),(DCEDTE)。 (3)地線 : GND、Sig.GND保護(hù)地和信號(hào)地,無(wú)方向。 上述控制信號(hào)線何時(shí)有效,何時(shí)無(wú)效的順序表示了接口信號(hào)的傳送過(guò)程。例如,只有當(dāng)DSR和DTR都處于有效(ON)狀態(tài)時(shí),才能在DTE和DCE之間進(jìn)行傳送操作。若DTE要發(fā)送數(shù)據(jù),則預(yù)先將DTR線置成有效(ON)狀態(tài),等CTS線上收到有效(ON)狀態(tài)的回答后,才能在TxD線上發(fā)送串行數(shù)據(jù)。這種順序的規(guī)定對(duì)半雙工的通信線路特別有用,因?yàn)榘腚p工的通信才能確定DCE已由接收方向改為發(fā)送方向,這時(shí)線路才能開(kāi)始發(fā)送。 2個(gè)數(shù)據(jù)
36、信號(hào):發(fā)送TXD;接收RXD。 1個(gè)信號(hào)地線:SG。 6個(gè)控制信號(hào): DSR 數(shù)傳發(fā)送準(zhǔn)備好,Data Set Ready。 DTR 數(shù)據(jù)終端準(zhǔn)備好,Data Terminal Ready。 RTS DTE請(qǐng)求DCE發(fā)送(Request To Send)。 CTS DCE允許DTE發(fā)送(Clear To Send),該信號(hào)是對(duì)RTS信號(hào)的回答。 DCD 數(shù)據(jù)載波檢測(cè)(Data Carrier Detection),當(dāng)本地DCE設(shè)備(Modem)收到對(duì)方的DCE設(shè)備送來(lái)的載波信號(hào)時(shí),使DCD有效,通知DTE準(zhǔn)備接收, 并且由DCE將接收到的載波信號(hào)解調(diào)為數(shù)字信號(hào), 經(jīng)RXD線送給DTE。 RI
37、振鈴信號(hào)(Ringing),當(dāng)DCE收到對(duì)方的DCE設(shè)備送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效,通知DTE已被呼叫。 由于RS232接口標(biāo)準(zhǔn)出現(xiàn)較早,難免有不足之處,主要有以下四點(diǎn): (1)接口的信號(hào)電平值較高,易損壞接口電路的芯片,又因?yàn)榕cTTL電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL電路連接。 (2)傳輸速率較低,在異步傳輸時(shí),波特率20Kbps。 (3)接口使用一根信號(hào)線和一根信號(hào)返回線而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。 (4)傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺(實(shí)際15米)。RS232(DB9)接口定義圖8 接口說(shuō)明1 DCD 載波檢測(cè) 2
38、RXD 接收數(shù)據(jù) 3 TXD 發(fā)送數(shù)據(jù) 4 DTR 數(shù)據(jù)終端準(zhǔn)備好 5 SG 信號(hào)地 6 DSR 數(shù)據(jù)準(zhǔn)備好 7 RTS 請(qǐng)求發(fā)送 8 CTS 允許發(fā)送 9 RI 振鈴提示4.2 系統(tǒng)硬件框圖FPGAAS下載方式 JTAG接口MAX232PC終端電源時(shí)鐘晶振圖9 系統(tǒng)硬件圖4.3主要組成電路分析本系統(tǒng)設(shè)計(jì)目標(biāo)主要包括兩個(gè)部分:FPGA模塊、電平轉(zhuǎn)換模塊。4.3.1 FPGA模塊FPGA模塊主要由波特率產(chǎn)生模塊、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊三部分組成。下圖為FPGA的頂層原理圖。圖10 .頂層模塊的電路圖波特率產(chǎn)生模塊:波特率發(fā)生器實(shí)際上就是一個(gè)分頻器??梢愿鶕?jù)給定的系統(tǒng)時(shí)鐘(晶振時(shí)鐘)和要求的波
39、特率算出波特率分頻因子,算出的波特率分頻器的分頻數(shù)。即分頻數(shù)=系統(tǒng)時(shí)鐘(16×波特率),波特率分頻數(shù)可以根據(jù)不同的應(yīng)用需要更改。題目要求波特率為9600bit/s,由于FPGA的EP1C12核心板提供了高精度、高穩(wěn)定性的40MHz時(shí)鐘源。波特率發(fā)生器模塊圖如下所示圖11 波特率發(fā)生器模塊圖波特率發(fā)生器的仿真結(jié)果如圖:Clk:時(shí)鐘信號(hào)周期Resetb:復(fù)位信號(hào)Bclk:輸出波特率時(shí)鐘信號(hào)周期圖12 波特率發(fā)生器的仿真波形UART接收器模塊: 由于串行數(shù)據(jù)幀和接收時(shí)鐘是異步的,由邏輯1轉(zhuǎn)為邏輯0可以被視為一個(gè)數(shù)據(jù)幀的起始位。然而,為了避免毛刺影響,能夠得到正確的起始位信號(hào),必須要求接收到
40、的起始位在波特率時(shí)鐘采樣的過(guò)程中至少有一半都是屬于邏輯0才可認(rèn)定接收到的是起始位。由于內(nèi)部采樣時(shí)鐘bclk周期(由波特率發(fā)生器產(chǎn)生)是發(fā)送或接收波特率時(shí)鐘頻率的16倍,所以起始位需要至少8個(gè)連續(xù)bclk周期的邏輯0被接收到,才認(rèn)為起始位接收到,接著數(shù)據(jù)位和奇偶校驗(yàn)位將每隔16個(gè)bclk周期被采樣一次(即每一個(gè)波特率時(shí)鐘被采樣一次)。如果起始位的確是16個(gè)bclk周期長(zhǎng),那么接下來(lái)的數(shù)據(jù)將在每個(gè)位的中點(diǎn)處被采樣。1、R_START狀態(tài):當(dāng)UART接收器復(fù)位后,接收狀態(tài)機(jī)將處于這一狀態(tài)。在此狀態(tài),狀態(tài)機(jī)一直在等待RXD的電平跳轉(zhuǎn),從邏輯1變?yōu)檫壿?,即起始位,這意味著新的一幀UART數(shù)據(jù)幀的開(kāi)始,
41、一旦起始位被確定,狀態(tài)機(jī)將轉(zhuǎn)入R_CENTER狀態(tài)。圖6中的RXD_SYNC信號(hào)是RXD的同步信號(hào),因?yàn)樵谶M(jìn)行邏輯1或邏輯0判斷時(shí),不希望檢測(cè)的信號(hào)是不穩(wěn)定的,所以不直接檢測(cè)RXD信號(hào),而是檢測(cè)經(jīng)過(guò)同步后的RXD_SYNC信號(hào)。 2、R_CENTER狀態(tài):對(duì)于異步串行信號(hào),為了使每一次都檢測(cè)到正確的位信號(hào),而是在較后的數(shù)據(jù)位檢測(cè)時(shí)累計(jì)誤差較小,顯然在每位的中點(diǎn)檢測(cè)是最為理想的。在本狀態(tài),就是由起始位求出每位的中點(diǎn),通過(guò)對(duì)bclk的個(gè)數(shù)進(jìn)行計(jì)數(shù)(RCNT16),但計(jì)數(shù)值不是想當(dāng)然的“1000”,要考慮經(jīng)過(guò)一個(gè)狀態(tài),也即經(jīng)過(guò)了一個(gè)bclk周期,所希望得到的是在采樣時(shí)1/2位。另外,可能在R_STA
42、RT狀態(tài)檢測(cè)到的起始位不是真正的起始位,可能是一個(gè)偶然出現(xiàn)的干擾尖脈沖(負(fù)脈沖)。這種干擾脈沖的周期是很短的,所以可以認(rèn)為保持邏輯0超過(guò)1/4個(gè)位時(shí)間的信號(hào)一定是起始位。圖13 UART接收器的接收狀態(tài)機(jī)注:狀態(tài)機(jī)一共有5個(gè)狀態(tài):R_START(等待起始位)、R_CENTER(求中點(diǎn))、R_WAIT(等待采樣)、R_SAMPLE(采樣)和R_STOP(停止位接收)。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)度,如果到來(lái),就說(shuō)明停止位來(lái)臨了。在本設(shè)計(jì)中默認(rèn)為8
43、,即對(duì)應(yīng)的UART工作在8位數(shù)據(jù)位、無(wú)校驗(yàn)位格式。4、R_SAMPLE狀態(tài):即數(shù)據(jù)位采樣檢測(cè),完成后無(wú)條件狀態(tài)機(jī)轉(zhuǎn)入R_WAIT狀態(tài),等待下次數(shù)據(jù)位的到來(lái)。5、R_STOP狀態(tài):無(wú)論停止位是1還是1.5位,或是2位,狀態(tài)機(jī)在R_STOP不具體檢測(cè)RXD,只是輸出幀接收完畢信號(hào)(REC_DONE<1),停止位后狀態(tài)機(jī)轉(zhuǎn)回到R_START狀態(tài),等待下一個(gè)幀的起始位。圖14 UART接收器的模塊圖UART接收器的仿真波形結(jié)果Bclkr:波特率時(shí)鐘信號(hào)周期Resetr:復(fù)位信號(hào)Rxdr:電平觸發(fā)信號(hào),從邏輯1變?yōu)檫壿?R_ready:數(shù)據(jù)幀Rbuf:并行數(shù)據(jù)圖15 UART接收器的仿真波形UAR
44、T發(fā)送器模塊:發(fā)送器只要每隔16個(gè)bclk周期輸出一個(gè)數(shù)據(jù)即可,次序遵循第一位是起始位,第8位是停止位。在本設(shè)計(jì)中沒(méi)有校驗(yàn)位,但只要改變Generic參數(shù)Frameelen,也可以加入校驗(yàn)位,停止位是固定的1位格式6。圖4.是發(fā)送狀態(tài)機(jī)的狀態(tài)圖。此狀態(tài)機(jī)一共有5個(gè)狀態(tài):X_IDLE(空閑)、X_START(起始位)、X_WAIT(移位等待)、X_SHIFT(移位)和X_STOP(停止位)。1、X_IDLE狀態(tài):當(dāng)UART被復(fù)位信號(hào)RESETL復(fù)位后,狀態(tài)機(jī)將立刻進(jìn)入這一狀態(tài)。在這個(gè)狀態(tài)中,UART的發(fā)送器一直在等待一個(gè)數(shù)據(jù)幀發(fā)送命令XMIT_CMD。這時(shí)由于XMIT_CMD是一個(gè)外加信號(hào),在F
45、PGA之外,不可能對(duì)XMIT_CMD的脈沖寬帶進(jìn)行限制,如果XMIT_CMD有效在UART發(fā)完一個(gè)數(shù)據(jù)幀依然有效,那么就會(huì)錯(cuò)誤地被認(rèn)為,一個(gè)新的數(shù)據(jù)發(fā)送命令又到來(lái)了,UART發(fā)送器就會(huì)再次啟動(dòng)UART幀的發(fā)送,顯然該幀的發(fā)送是錯(cuò)誤的。在此對(duì)XMIT_CMD進(jìn)行了脈沖寬度的限定,用XMIT_CMD_P代替XMIT_CMD信號(hào),XMIT_CMD_P是一個(gè)短脈沖信號(hào)。當(dāng)XMIT_CMD_P=1,狀態(tài)機(jī)轉(zhuǎn)入X_START,準(zhǔn)備發(fā)送起始位。2、X_START 狀態(tài):在這個(gè)狀態(tài)下,UART的發(fā)送器一個(gè)時(shí)間寬度的邏輯0信號(hào)至TXD,即起始位。緊接著狀態(tài)機(jī)轉(zhuǎn)入X_WAIT狀態(tài)。XCNT16是bclk的計(jì)數(shù)器。
46、 3、X_WAIT 狀態(tài):同UART接收狀態(tài)機(jī)中的R_WAIT狀態(tài)類(lèi)似。 4、X_SHIFT 狀態(tài):當(dāng)狀態(tài)機(jī)處于這一狀態(tài)時(shí),實(shí)現(xiàn)待發(fā)數(shù)器的并串轉(zhuǎn)換。轉(zhuǎn)換完成立即回到X_WAIT狀態(tài)。 5、X_STOP :停止位發(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ī)送完停止位后回到X_IDLE狀態(tài),并等待另一個(gè)數(shù)據(jù)幀的發(fā)送命令。圖16 發(fā)送狀態(tài)機(jī)的狀態(tài)圖圖17UART發(fā)送器的模塊圖UART發(fā)送器的仿真波形結(jié)果如圖4.4 .3.3Bclkt:波特率時(shí)鐘信號(hào)周期Resett:復(fù)位信號(hào)Xmit_cmd_p:短脈沖信號(hào)Txddone:串行數(shù)據(jù)Txd:數(shù)據(jù)
47、幀圖18UART發(fā)送器的仿真波形4.3.2電平轉(zhuǎn)換模塊電平轉(zhuǎn)換是由MAX232芯片實(shí)現(xiàn)的。MAX232芯片是美信公司專門(mén)為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。該模塊的作用就是實(shí)現(xiàn)電平轉(zhuǎn)換后于PC機(jī)相連。圖19MAX232電平轉(zhuǎn)換電路4.4 總電路圖設(shè)計(jì)見(jiàn)附錄1和附錄2。5系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)概述:本設(shè)計(jì)使用的軟件主要是ModelSim SE 6.2b和Quartus II 9.0 兩個(gè)軟件,用Quartus II 9.0主要是用來(lái)程序仿真畫(huà)頂層原理圖和生成子模塊圖。ModelSim SE 6.2b主要用來(lái)波形仿真。5.1 發(fā)送數(shù)據(jù)程序流程圖Y開(kāi)始波特率設(shè)置
48、(9600bit/s)復(fù)位信號(hào)為0Y準(zhǔn)備發(fā)送(等待發(fā)送脈沖信號(hào))發(fā)送數(shù)據(jù)起始位移位等待數(shù)據(jù)轉(zhuǎn)換?換?發(fā)送停止位發(fā)送完成準(zhǔn)備發(fā)送下一帖數(shù)據(jù)完成N圖20 數(shù)據(jù)發(fā)送模塊流程圖5.2 接收數(shù)據(jù)程序流程圖開(kāi)始波特率設(shè)置(9600bit/s)復(fù)位信號(hào)為0Y準(zhǔn)備接收接收起始位(邏輯0超過(guò)1/4個(gè)位時(shí)間為起始位)RXD_SYNC=0RXD_SYNC=1數(shù)據(jù)位是否為8位?YN接收停止位接收完成結(jié)束準(zhǔn)備接收下一帖數(shù)據(jù)圖21數(shù)據(jù)介紹模塊流程圖5.5系統(tǒng)源程序系統(tǒng)程序見(jiàn)附錄3。6制作步驟本課題的制作是分這幾個(gè)步驟完成的:、查閱大量的資料,完成開(kāi)題報(bào)告。在這個(gè)過(guò)程中我經(jīng)常到圖書(shū)館查閱FPGA以及UART的相關(guān)資料,同時(shí)
49、我也經(jīng)常上網(wǎng)搜索這方面的資料,知識(shí)總是在不斷積累的過(guò)程中了解和掌握的。因此,一段時(shí)間下來(lái),我對(duì)位FPGA和 UART的國(guó)內(nèi)外研究狀況、發(fā)展趨勢(shì)、工作原理和制作方法都有了比較清晰的了解。、確定方案。通過(guò)一段時(shí)間的學(xué)習(xí)和查閱資料確定了設(shè)計(jì)的主要流程和主要器件。、硬件設(shè)計(jì)。硬件設(shè)計(jì)主要是指畫(huà)硬件電路,在這里要用到一個(gè)畫(huà)圖軟件Protel。畫(huà)硬件電路不僅可以體現(xiàn)一個(gè)人的基礎(chǔ)知識(shí)掌握這樣不僅看的時(shí)候好看,也以節(jié)約資源。、軟件設(shè)計(jì)。本課題的軟件部分是用VHDL語(yǔ)言設(shè)計(jì)而成的。系統(tǒng)軟件的設(shè)計(jì)采用了模塊化的結(jié)構(gòu)方式,將各個(gè)功能分成獨(dú)立模塊,由系統(tǒng)的監(jiān)控程序統(tǒng)一管理執(zhí)行。編寫(xiě)完程序后,要編譯,編譯通過(guò)后生成VH
50、DL文件。文件編譯成功后將由Quartus II 9.0 生成子模塊和狀態(tài)轉(zhuǎn)換圖,再在ModelSim 里面運(yùn)行程序觀察波形。7 總結(jié)本文對(duì)以FPGA為核心實(shí)現(xiàn)UART與PC機(jī)之間的串口通信的整體結(jié)構(gòu)、 性能功用及各組成模塊的設(shè)計(jì)方法都做了較為詳細(xì)的研究。通過(guò)波特率發(fā)生器、發(fā)送器和接收器模塊的設(shè)計(jì)與仿真,能較容易地實(shí)現(xiàn)通用異步收發(fā)器總模塊,。本設(shè)計(jì)完全采用VHDL 語(yǔ)言進(jìn)行描述。實(shí)現(xiàn)的UART設(shè)置了時(shí)鐘輸入clk ,復(fù)位輸入reset ,串行數(shù)據(jù)輸入rxd ,讀寫(xiě)信號(hào)輸入rd 和wr、片選輸入cs、傳送數(shù)據(jù)位數(shù)選擇輸入a1 和 a0、定時(shí)器初值輸入count ,串行發(fā)送數(shù)據(jù)輸入txd ,接收寄
51、存器狀態(tài)輸出rdfull 、發(fā)送寄存器狀態(tài)輸出tdempty 以及數(shù)據(jù)總線data。并詳細(xì)討論了采用VHDL 對(duì)異步通信接口UART 的設(shè)計(jì)流程,對(duì)設(shè)計(jì)進(jìn)了功能仿真、綜合,以及靜態(tài)時(shí)序分析和時(shí)序仿真,完成了在FAGA 上實(shí)現(xiàn)UART的全過(guò)程,再通過(guò)電平轉(zhuǎn)換與PC機(jī)相連,就實(shí)現(xiàn)了與PC機(jī)的通信。通過(guò)本次畢業(yè)設(shè)計(jì),我完成了基于FPGA串口設(shè)計(jì)。在這次畢業(yè)設(shè)計(jì)中使我對(duì)FPGA技術(shù)有了進(jìn)一步的認(rèn)識(shí),F(xiàn)PGA技術(shù)注重培養(yǎng)學(xué)生的自主創(chuàng)新的意識(shí)和能力,側(cè)重使用電子系統(tǒng)的設(shè)計(jì)。在整個(gè)設(shè)計(jì)中最難點(diǎn)和學(xué)習(xí)費(fèi)時(shí)在于硬件描述語(yǔ)言VHDL語(yǔ)言,在利用硬件描述語(yǔ)言完成電路設(shè)計(jì)后,必須基于Quartus II 6.0軟件的
52、文本輸入設(shè)計(jì)流程和ModelSim SE 6.2b波形仿真。首先得學(xué)習(xí)軟件的安裝和使用,尤其在編譯成功后的仿真波形的測(cè)試。通過(guò)系統(tǒng)的學(xué)習(xí)使用對(duì)軟件的使用和對(duì)設(shè)計(jì)的編程都有了進(jìn)一步的提升。在整個(gè)設(shè)計(jì)階段感受最為深刻的是掌握學(xué)習(xí)的方式和解決問(wèn)題的方法。首先是解決問(wèn)題的方式,在面臨的大量的信息中如何篩選出所需的信息,才是解決問(wèn)題的關(guān)鍵。畢業(yè)中出現(xiàn)的困難我通過(guò)和老師的溝通、查閱相關(guān)書(shū)籍、網(wǎng)上搜索以及同學(xué)的幫助,最終得到了解決。由于本人水平有限,文中難免存在不足之處,敬請(qǐng)各位老師和同學(xué)批評(píng)指正。參考文獻(xiàn)(1)陳永剛基于FPGA的通用異步收發(fā)器的設(shè)計(jì) 蘭州交通大學(xué)學(xué)報(bào)2010年2月(2)王敬美基于FPGA
53、和UART的數(shù)據(jù)采集器設(shè)計(jì) 電子器件2009年4月(3)方喜波基于FPGA串口通訊開(kāi)發(fā) 計(jì)算機(jī)與信息技術(shù)(4)黃智偉.FPGA系統(tǒng)設(shè)計(jì)與實(shí)踐.電子工業(yè)出版社,2005·(5)廖日坤.CPLD/FPGA嵌入式應(yīng)用開(kāi)發(fā)技術(shù)白金手冊(cè).中國(guó)電力出版社;2005·(6)王振紅.VHDL數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程.北京:機(jī)械工業(yè)出版社,2003·(7)張凱林偉.VHDL實(shí)例剖析.北京:國(guó)防工業(yè)出版社,2004·(8)徐光輝徐志軍.CPLD/FPGA的開(kāi)發(fā)與應(yīng)用.北京:電子工業(yè)出版社,2002·致謝本文是在我的指導(dǎo)老師陳曉靜講師的悉心指導(dǎo)下完成的,從論文的選
54、題到最后的定稿都凝聚著陳老師的心血。四年來(lái),學(xué)校各位老師高超的學(xué)術(shù)思想、淵博的學(xué)術(shù)知識(shí)、豐富的學(xué)術(shù)經(jīng)驗(yàn)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、豁達(dá)的為人風(fēng)格和不斷開(kāi)拓進(jìn)取的科學(xué)研究風(fēng)尚都直接、間接和潛移默化地影響著我,使我始終充滿不斷求知求新和拓展學(xué)術(shù)領(lǐng)域的熱情。在學(xué)業(yè)即將完成之際,謹(jǐn)向各位恩師表示我最衷心的感謝!除此以外,還要感謝各位同學(xué)的熱情幫助和鼓勵(lì),四年的學(xué)習(xí)生活,我們結(jié)下了深厚的友誼。當(dāng)我在學(xué)習(xí)生活中遇到一些問(wèn)題和煩惱時(shí),是他們給予我及時(shí)的幫助和熱心的鼓勵(lì),我會(huì)加倍珍惜同學(xué)之間的這種友誼。我還要深深的感謝支持和鼓勵(lì)我的家人,是他們默默的付出,使我能夠無(wú)牽掛的學(xué)習(xí),我只有更加努力的學(xué)習(xí)與工作,才能回報(bào)他們的關(guān)愛(ài)。最后,謹(jǐn)向所有關(guān)心、幫助和支持過(guò)我的老師、同學(xué)和家人們表示衷心的感謝!附錄1附錄2附錄33 主要程序(1)主程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity top is por
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 23090-26:2025 EN Information technology - Coded representation of immersive media - Part 26: Conformance and reference software for carriage of geometry-based point
- 2025至2030中國(guó)白色水泥行業(yè)發(fā)展分析及競(jìng)爭(zhēng)格局與發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025至2030中國(guó)男士帆布鞋行業(yè)供需趨勢(shì)及投資風(fēng)險(xiǎn)報(bào)告
- 2025至2030中國(guó)電商物流行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)特醫(yī)食品行業(yè)發(fā)展分析及前景趨勢(shì)與投資報(bào)告
- 培訓(xùn)課件軟件
- 智慧城市基礎(chǔ)設(shè)施建設(shè)中的通信電纜技術(shù)創(chuàng)新
- 幼兒園新教師健康教育培訓(xùn)
- 心理輔導(dǎo)在學(xué)生學(xué)習(xí)中的重要性
- 從學(xué)生到職業(yè)領(lǐng)袖的教育之路
- 2025年四川廣安愛(ài)眾股份有限公司招聘筆試參考題庫(kù)含答案解析
- 2024起重吊裝及起重機(jī)械安裝拆卸工程監(jiān)理作業(yè)指引
- 威脅情報(bào)收集與整合-洞察分析
- 期末教師會(huì)議校長(zhǎng)精彩講話:最后講了存在的問(wèn)題
- 知名連鎖漢堡店食安QSC稽核表
- 攝影設(shè)備采購(gòu)合同范例
- DB41T 1812-2019 蘋(píng)果簡(jiǎn)約栽培技術(shù)規(guī)程
- 【《三只松鼠公司員工激勵(lì)現(xiàn)狀調(diào)查及優(yōu)化建議(附問(wèn)卷)14000字》(論文)】
- 護(hù)理不良事件登記本及護(hù)理不良事件報(bào)告新規(guī)制度
- 農(nóng)業(yè)土壤檢測(cè)技術(shù)行業(yè)發(fā)展前景及投資風(fēng)險(xiǎn)預(yù)測(cè)分析報(bào)告
- 廣東省深圳市羅湖區(qū)2023-2024學(xué)年二年級(jí)下學(xué)期期末考試數(shù)學(xué)試題
評(píng)論
0/150
提交評(píng)論