




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、UART(Universal Asynchronous Receiver/Transmitter),通用異步接收/發(fā)送裝置,是設(shè)備之間進(jìn)行通信廣泛使用的接口。當(dāng)兩個設(shè)備需要通信時,通常采用數(shù)字信號,這種并行的信號必須轉(zhuǎn)換成串行信號才能傳輸。在目的端,串行信號又轉(zhuǎn)換成并行信號進(jìn)行處理。UART控制器就是處理這種數(shù)據(jù)總線和串行口之間的串-并和并-串轉(zhuǎn)換。本文所要實現(xiàn)的就是這種串-并和并-串的轉(zhuǎn)換,使之能夠進(jìn)行數(shù)據(jù)的傳輸。現(xiàn)在市場上有許多為UART開發(fā)的專用芯片,但是其功能固定,不能根據(jù)用戶的需求來靈活的改變控制邏輯。因此,本文介紹了用FPGA技術(shù)實現(xiàn)UART控制器設(shè)計的一種方法,用VHDL進(jìn)行編程
2、,在下進(jìn)行編譯及仿真,從而實現(xiàn)能夠更改靈活、既方便又實用的UART具有重要意義。關(guān)鍵字:FPGA,VHDL,UART,接收,發(fā)送AbstractUART(Universal Asynchronous Receiver/Transmitter),isthe key of communications between devices.When a device needs to communicate with a connected device,usually digital signals applied,which must be transformed into serialised s
3、ignal to another device. UART processes this serial_data to parallel_data /parallel _data to serial_data transform between data bus and slave port.This paper is to implement this serial to parallel and parallel to serial transform and make the transferring between data properly.This paper introduces
4、 a method implemented by FPGA technique programmed by VHDL,simulated and compiled by .in order to make it flexible, convenient and practical so that the UART is great significance.Keywords:FPGA,VHDL ,UART,receive ,send 目錄摘要1ABSTRACT2第一章前言5本文研究的背景512 本文研究的內(nèi)容5本論文的結(jié)構(gòu)安排如下6第二章計算機接口與RS-232串口簡介72.1 計算機接口介紹
5、72.1.1 計算機接口簡介72.2 RS-232串口通信簡介82.2.1 串行通信概述8RS-232協(xié)議9RS-232通信時序和UART112.2.4. 串行通信實現(xiàn)方案13第三章 EDA技術(shù)及FPGA的概述143.1 EDA 技術(shù)發(fā)展歷程143.1.1 CAD 階段143.1.2 CAE階段143.1.3 EDA階段153.2 EDA技術(shù)的基本特征及優(yōu)勢153.3 MAX+plus II軟件介紹163.3.1 MAX+plus II開發(fā)系統(tǒng)的特點183.3.2 項目編譯193.3.3 項目仿真20第四章UART方案設(shè)計214.1 UART實現(xiàn)原理214.2 UART工作流程22第五章 UA
6、RT模塊的VHDL語言設(shè)計25信號監(jiān)測模塊的實現(xiàn)255.2 波特率發(fā)生器模塊的實現(xiàn)25移位寄存器模塊的實現(xiàn)28奇偶校驗器模塊實現(xiàn)29總線選擇模塊的實現(xiàn)305.6 計數(shù)器模塊的實現(xiàn)315.7 UART內(nèi)核模塊的實現(xiàn)325.7.1 UART內(nèi)核模塊的接口325.7.2 UART內(nèi)核模塊的狀態(tài)機設(shè)計385.7.3 UART內(nèi)核模塊的實現(xiàn)405.8 UART頂層模塊的實現(xiàn)48第六章UART的VHDL程序的仿真、驗證526. 1編譯、綜合526. 2 UART主要模塊仿真波形526.2.1 信號監(jiān)測器模塊的仿真526.2.2 波特率時鐘模塊的仿真536.2.3 移位寄存器模塊的仿真536.2.4 奇偶校
7、驗器模塊的仿真536.2.5 總線選擇器模塊的仿真546.2.6 計數(shù)器模塊的仿真546.2.7 頂層模塊的仿真54總結(jié)57致謝58參考文獻(xiàn)59第一章 前 言本文研究的背景在1980至1990年代,提供FPGA數(shù)萬邏輯門的FPGA器件主要被系統(tǒng)設(shè)計人員用作“連接邏輯”,將電路板上的不同元器件連接到一起,或用來修正ASIC不方便處理的問題。但在1990年代末期,百萬門現(xiàn)場可編程門陣列(FPGA)產(chǎn)品的出現(xiàn)使在單塊可編程芯片中集成系統(tǒng)級功能成為可能。目前市場上出售的最大規(guī)模FPGA產(chǎn)品有600萬系統(tǒng)門和1.4億個晶體管,已經(jīng)躋身于最復(fù)雜的半導(dǎo)體器件之列。而如今,F(xiàn)PGA的一些新的技術(shù)發(fā)展趨勢不僅使
8、其越來越多地替代ASIC,成為可編程邏輯領(lǐng)域的主流產(chǎn)品,從ASIC市場搶奪越來越多的市場份額;同時,還為自身不斷帶來新的利潤增長點和廣闊的市場前景串行外設(shè)都會用到RS232-C異步串行接口,傳統(tǒng)上采用專用的集成電路即UART實現(xiàn),如TI、EXAR、EPIC的。550、452等系列,但是我們一般不需要使用完整的UART的功能,而且對于多串口的設(shè)備或需要加密通訊的場合使用UART也不是最合適的。如果設(shè)計上用到了FPGA/CPLD器件,那么就可以將所需要的UART功能集成到FPGA內(nèi)部。FPGA的發(fā)展也促進(jìn)了PLD設(shè)計方法的進(jìn)步,基于硬件描述語言(HDL)高級綜合的電子設(shè)計自動化(EDA)方法已成為
9、FPGA的主流設(shè)計技術(shù),使得用戶能夠高效地完成復(fù)雜地大型設(shè)計任務(wù),并直接生成FPGA的ASIC器件。12 本文研究的內(nèi)容本論文的任務(wù)就是在FPGA技術(shù)的基礎(chǔ)上,用VHDL語言來描述UART功能,使之能完成UART的一些主要功能:1)寫數(shù)據(jù) 將數(shù)據(jù)總線上的一個數(shù)據(jù)寫入發(fā)送寄存器。2)讀數(shù)據(jù) 數(shù)據(jù)從輸出寄存器發(fā)送到數(shù)據(jù)總線上。3)數(shù)據(jù)接收控制 當(dāng)數(shù)據(jù)接收端RxD出現(xiàn)低電平,一個數(shù)據(jù)啟動位到來時送數(shù)據(jù)到來。5)接收數(shù)據(jù)移位控制 進(jìn)行數(shù)據(jù),一個接收計數(shù)周期開始,當(dāng)計數(shù)到7時,計數(shù)器清零等待下一個啟動位的到來。4)數(shù)據(jù)發(fā)送控制當(dāng)一個數(shù)據(jù)寫入到發(fā)送寄存器時,其控制計
10、數(shù)器開始一個發(fā)送的計數(shù)周期,當(dāng)一個數(shù)據(jù)發(fā)送結(jié)束,計數(shù)器清零,等待下一個發(fā)的串并變換。6)發(fā)送數(shù)據(jù)的并串變化。第1章 前言,主要介紹了課題的背景以及研究的意義,相關(guān)領(lǐng)域的發(fā)展和研究現(xiàn)狀,提出了本文的主要研究內(nèi)容。第2章 計算機接口與RS-232串口簡介;介紹了常用的計算機接口,接口的控制方式,串行通信的工作原理,RS-232協(xié)議,RS-232通信時序和UART,串行通信的實現(xiàn)方案。第3章 UART設(shè)計方案。介紹了UART實現(xiàn)原理、UART工作流程。第4章 EDA技術(shù)及FPGA的概述;介紹了EDA技術(shù)的定義及發(fā)展歷程、VHDL語言及程序結(jié)構(gòu)、可編程邏輯器件、CPLD與FPGA及其特點。第5章 UA
11、RT模塊的VHDL語言設(shè)計及仿真;介紹了語言的描述方式、信號檢測模塊的實現(xiàn)、波特率發(fā)生器模塊的實現(xiàn)、移位寄存器模塊的實現(xiàn)、奇偶校驗器模塊的實現(xiàn)、總線選擇模塊的實現(xiàn)、計數(shù)器模塊的實現(xiàn)、UART內(nèi)核模塊的實現(xiàn)、UART頂層模塊的實現(xiàn)。第6章 UART的VHDL程序的編譯、綜合、仿真、驗證;介紹了編譯、綜合,系統(tǒng)描述波形仿真,包括信號監(jiān)測器模塊的仿真、波特率時鐘模塊的仿真、移位寄存器模塊的仿真、奇偶校驗?zāi)K的仿真、總線選擇器模塊的仿真、計數(shù)器模塊的仿真、頂層模塊的仿真。最后,對本文研究工作進(jìn)行總結(jié)和展望,探討今后工作改進(jìn)的方法。第二章 計算機接口與RS-232串口簡介2.1 計算機接口介紹計算機接口
12、簡介計算機接口有串行接口、并行接口、磁盤接口等。1.串行接口串行口是計算機的一種標(biāo)準(zhǔn)接口,現(xiàn)在的PC機至少有COM1和COM2兩個串行口。串行口的數(shù)據(jù)和控制信息是一位接一位串行地傳送下去。雖然速度會慢一些,但傳送距離較并行口更長,長距離的通信要使用串行口。COM1使用的是9針D形連接器,而COM2有些使用的是老式的DB25針連接器。2.并行接口目前,計算機中的并行接口主要用于打印機端口,接口使用的是25針D形接頭。所謂“并行”,就是指8位數(shù)據(jù)同時通過并行線傳送,這樣數(shù)據(jù)傳送速度得到提高,但并行傳送的線路長度增加,干擾會增加,容易出錯。標(biāo)準(zhǔn)的并行口有4位、8位、半8位:4位口一次只能輸入4位數(shù)據(jù)
13、,但可以輸出8位數(shù)據(jù);8位口的可以一次輸入和輸出8位數(shù)據(jù);半8位也可以。3.磁盤接口1)IDE接口IDE接口也叫ATA端口,只可接兩個容量小于528M的硬盤驅(qū)動器,接口成本很低,在386、486時期非常流行。2)EIDE接口EIDE接口較IDE接口有了很大改進(jìn),是目前最流行的接口。2.1.2 接口控制方式CPU通過接口對外設(shè)進(jìn)行控制的方式有以下幾種:1)程序查詢方式這種方式下,CPU通過I/O指令詢問指定外設(shè)當(dāng)前的狀態(tài),如果外設(shè)準(zhǔn)備就緒,則進(jìn)行數(shù)據(jù)的輸入或輸出,否則CPU等待,循環(huán)查詢。這種方式的結(jié)構(gòu)簡單,只需少量的硬件電路便可實現(xiàn),但不足在于CPU的速度高于外設(shè),CPU通常處于等待狀態(tài),工作
14、效率也就很低。2)中斷處理方式在這種方式下,CPU是可以執(zhí)行其他程序的,當(dāng)外設(shè)為數(shù)據(jù)交換準(zhǔn)備好時,就可以向CPU提出請求,如果CPU響應(yīng)該請求,就暫時停止當(dāng)前的程序,去執(zhí)行和該請求對應(yīng)的程序,待該請求完成后,繼續(xù)執(zhí)行原來的程序。3)DMA(直接存儲器存取)傳送方式DMA不是用軟件而是采用一個專門的控制器來控制內(nèi)存與外設(shè)之間的數(shù)據(jù)交流,不需要CPU介入,提高CPU的工作效率。2.2 RS-232串口通信簡介2.2.1 串行通信概述在計算機網(wǎng)絡(luò)、數(shù)據(jù)通信以及分布式工業(yè)控制系統(tǒng)中,常采用串行通信來實現(xiàn)數(shù)據(jù)和信息的交換。1969年,EIA(美國電子工業(yè)協(xié)會)將RS-232定為串行通信接口的電氣標(biāo)準(zhǔn),該
15、標(biāo)準(zhǔn)定義了數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)將按位串行傳輸?shù)慕涌谛畔ⅲ侠淼陌才帕私涌诘碾姎庑盘柡蜋C械要求,適合于數(shù)據(jù)傳輸速率在0-20000bit/s范圍內(nèi)的通信。RS-232不僅被內(nèi)置于每一臺計算機中,還被內(nèi)置于各種外設(shè)中。EIA(美國電子工業(yè)協(xié)會)還制定了RS-232與RS-485標(biāo)準(zhǔn)。為彌補RS-232不足提出了RS-422。RS-422定義了一種平衡通信接口,將傳輸速率提升到10Mbit/s, 傳輸距離延長到4000英尺(速率低于100kbit/s),并允許在一天平衡總線上連接最多10各連接器。RS-422是一種單機發(fā)送、多機接收的單向、平衡傳輸規(guī)范,被命名為TIA/EI
16、A-422-A標(biāo)準(zhǔn)。為擴(kuò)展應(yīng)用范圍,EIA又于1983年在RS-433基礎(chǔ)上制定了RS-485標(biāo)準(zhǔn),增強了多點、雙向通信能力,即允許多個收發(fā)器連到同一條總線上,同時增強了發(fā)送器的驅(qū)動能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍,命名為RS-485標(biāo)準(zhǔn)。RS-232,RS-422與RS-485的電氣參數(shù)如表2-1所示。表2-1 RS-232,RS-422與RS-485的電氣參數(shù)規(guī)定RS-232RS-422RS-485工作方式單端差分差分節(jié)點數(shù)1收1發(fā)1發(fā)10收1法32收最大傳輸電纜長度50英尺400英尺400英尺最大傳輸速率20kbit/s10Mbit/s10Mbit/s最大驅(qū)動輸出電壓+/-25V-
17、0.25V+6V-7V+12V驅(qū)動器輸出信號電平(附在最小值)+/-5V+/-15V驅(qū)動器輸出信號電平(空載最大值)+/-25V+/-6V+/-6V驅(qū)動器負(fù)載阻抗37千歐姆100歐姆54歐姆擺率(最大值)30V/usN/AN/A接收器輸入電壓范圍+/-15V-10V+10V-7V+12V接收器輸入門限+/-3V+/-200mV+/-200mV接收器輸入電阻37千歐姆4千歐姆(最小)=12千歐姆驅(qū)動器共模電壓-3V+3V-1V+3V接收器共模電壓-7V+7V-7V+12V雖然RS-232,RS-422與RS-485標(biāo)準(zhǔn)對電器特性做出了規(guī)范,但是沒有規(guī)定連接插件、電纜或協(xié)議,所以在此基礎(chǔ)上用戶可以
18、建成自己的高層通信協(xié)議。RS-232等協(xié)議在視頻傳輸中被廣泛應(yīng)用,許多廠家多建立了一套高層通信協(xié)議,或公開或廠家獨家使用。RS-232是目前PC機與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。2.2.2RS-232協(xié)議標(biāo)準(zhǔn)的RS-232接口有25跟信號線,4根數(shù)據(jù)線、11根控制線、3根定時線和7根備用線。通常使用9根就可以實現(xiàn)RS-232通信。1DSR信號線DSR (Data Set Ready) 是數(shù)據(jù)裝置就緒,狀態(tài)為有效時,表示Modem可以使用的狀態(tài)。2DTR 信號線DTR(Data Terminal Ready)以四位數(shù)據(jù)終端就緒,狀態(tài)為有效時,數(shù)據(jù)終端可以使用。3RTS 信號線RTS(Req
19、uest To Send)是請求發(fā)送,終端需要發(fā)送數(shù)據(jù)時,使該數(shù)據(jù)有效,向Modem請求發(fā)送。用于控制Modem是否有效,通知終端開始發(fā)送數(shù)據(jù)。4CTS 信號線CTS (Clear To Send) 是允許發(fā)送,對RTS信號的響應(yīng)。當(dāng)Modem已經(jīng)準(zhǔn)備好接收終端發(fā)送過來的數(shù)據(jù)時,使該信號有效,通知終端開始發(fā)送數(shù)據(jù)。5DCD 信號線DCD (Data Carrier Detection) 為數(shù)據(jù)載波檢出,有效時表示Modem已經(jīng)接通了通信鏈路,即本地Modem受到了通信鏈路另一端的遠(yuǎn)程Modem送來的載波信號,終端可以準(zhǔn)備接收數(shù)據(jù)。6RI信號線RI(Ringing) 表示振鈴指示,但本地Mode
20、m受到交換臺發(fā)送的振鈴呼叫信號時,使該信號有效,通知終端已被呼叫。TxD信號線TxD(Transmitted Data)是發(fā)送數(shù)據(jù),終端通過此信號將數(shù)據(jù)發(fā)送給Modem。RxD (Received Data)是接收數(shù)據(jù),終端通過此信號從Modem 接收數(shù)據(jù)。地線地線分別是信號地SG (Signal Ground)和保護(hù)地PE(Protection ground),信號地使所有信號的參考電平,保護(hù)地用于連接設(shè)備的外殼或者地表。常見的RS-232串行口連接器主要有兩種,一種是25針的 DB-25,另一種是9針的DB-9,其示意圖如圖2.1所示,DB-9主要用于上述的9根信號線連接的方法,DB-25
21、可以連接所有的RS-232標(biāo)準(zhǔn)定義的信號線。DB-25也可用像DB-9那樣使用,但是它們的針號與信號之間的連接關(guān)系是不一樣的,如表2-2。表2-2DB-9與DB-9針號信號線連接對應(yīng)表9針串口連接器DB-925針串口連接器DB-25針號功能縮寫針號功能縮寫1數(shù)據(jù)載波檢測DCD8數(shù)據(jù)載波檢測DCD2接收數(shù)據(jù)RXD3接收數(shù)據(jù)RXD3發(fā)送數(shù)據(jù)TXD2發(fā)送數(shù)據(jù)TXD4數(shù)據(jù)終端準(zhǔn)備DTR20數(shù)據(jù)終端準(zhǔn)備DTR5信號線GND7信號線GND6數(shù)據(jù)設(shè)備準(zhǔn)備好DSR6數(shù)據(jù)設(shè)備準(zhǔn)備好DSR7請求發(fā)送RTS4請求發(fā)送RTS8清除發(fā)送CTS5清除發(fā)送CTS圖2.1 RS-232 串行口連接器示意圖最為簡單常用的RS-
22、232連接方法是三線連接法,即地、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)三角相連。對于上述的DB-25連接器和DB-9連接器,三線連接法的原則如下所示。表2-3DB-25, DB-9三線連接法DB-9- DB-9DB-25- DB-25DB-25-DB-9233222322333557757由于RS-232電氣特定的電平不符合通常電路中所使用的TTL或者CMOS點評,所以在接入電路之前需要對其進(jìn)行轉(zhuǎn)換。RS-232串口電平的轉(zhuǎn)換一般使用的是專門的芯片實現(xiàn),其中最常用的就是MAX232。MAX232可以將串口設(shè)備需要發(fā)送的TTL/CMOS邏輯電平轉(zhuǎn)換為RS-232邏輯電平,同時也可以見要接收的RS-232電平轉(zhuǎn)換為
23、TTL/CMOS邏輯電平,下圖2.2為MAX232的頂層圖。MAX232典型的連接方法如圖2.3所示,其中有5個0.1u的去耦電容;11管腳和10管腳是TTL/CMOS電平輸入,對應(yīng)14管腳和7管腳的RS-232電平輸出,它們一般接到RS-232的RxD上,12管腳和9管腳是TTL/CMOS電平輸出,對應(yīng)13管腳和8管腳的RS-232電平輸入,它們一般接到RS-232的TxD上。2.2.3RS-232通信時序和UART在串行通信中,用“波特率”來描述數(shù)據(jù)的傳輸速率。所謂波特率,即每秒鐘傳送的二進(jìn)制位數(shù),其單位是 bit/s(bit per second ),它是衡量傳輸串行數(shù)據(jù)速度快慢的重要指
24、標(biāo)。有時也用“位周期”來表示傳輸速率,位周期是波特率的倒數(shù)。國際上規(guī)定了一個波特率系列,110bit/s、300bit/s、600bit/s、1200bit/s、1800bit/s、2400bit/s、4800bit/s、9600bit/s、14.4kbit/s、19.2kbit/s、28.8kbit/s、33.6kbit/s、56kbit/s。如9600bit/s,其意義是每秒鐘傳送9600位數(shù)據(jù),包含字符位和其他的必要位,如奇偶校驗位、起始位、停止位。大多數(shù)串行接口電路的接收波特率和發(fā)送波特率多可以設(shè)置,但接收方的接收波特率必須與發(fā)送方的發(fā)送波特率相同。通信線上所傳輸?shù)淖址麛?shù)據(jù)(代碼)都是
25、逐位傳送的,1個字符由若干位組成,因此每秒種所傳輸?shù)淖址麛?shù)(字符速率)波特率是兩種概念。在串行通信中所說的傳輸速率是指波特率,而不是指字符速率,假如在異步串行通信中,傳輸一個字符,包括12位(其中有一個起始位,8個數(shù)據(jù)位,2個停止位),其傳輸速率是1200bit/s,每秒所能傳送的字符是1200/(1+8+1+2)=100個。在串行通信中,除了可以設(shè)置波特率外,其他的如字符數(shù)據(jù)的位數(shù)、奇偶校驗位、停止位也可以被設(shè)置。其中,字符數(shù)據(jù)的位數(shù)可以被設(shè)置為58位;奇偶校驗位可以去除,也可以設(shè)置為奇校驗或者偶校驗;停止位可以設(shè)置為1位、1.5位或者2位。串行通信的時序,串行總線在空閑時保持邏輯“1”狀態(tài)
26、(即串行連接線上的電平為-3-15V),當(dāng)需要傳送一個字符時,首先會發(fā)送一個邏輯“0”的起始位,表示開始發(fā)送數(shù)據(jù);之后,就逐個發(fā)送數(shù)據(jù)位、奇偶校驗位和停止位(邏輯為“1”)。發(fā)送時序圖如圖2.4所示。圖2.4 RS-232串行口通信時序圖對于一個設(shè)備的處理器來說,要接收和發(fā)送串行通信的數(shù)據(jù),還需要一個期間將串行口的數(shù)據(jù)轉(zhuǎn)換為并行口數(shù)據(jù)以便于處理器進(jìn)行處理,這個器件就是UART ( Universial Asynchronous Receiver/Transmitter)全稱是通用異步收發(fā)器,其功能是輔助處理器與外部設(shè)備之間的通信。作為RS-232 通信接口的一個重要部分,UART具有以下功能:
27、將由計算機內(nèi)部傳動過來的并行數(shù)據(jù)轉(zhuǎn)換成用于輸出的串行數(shù)據(jù)。將計算機外部傳送來的串行數(shù)據(jù)轉(zhuǎn)換成字節(jié),供計算機內(nèi)部使用并行數(shù)據(jù)的器件使用。在輸出的串行通信數(shù)據(jù)流中加入奇偶校驗位,并對從外部接收的數(shù)據(jù)進(jìn)行奇偶校驗。在輸出數(shù)據(jù)流中加入啟停標(biāo)記,并從接收數(shù)據(jù)流中刪除啟停標(biāo)記。提供和處理器之間的通信信號,可以處理處理器和串行通信設(shè)備之間的同步管理問題。2.2.4. 串行通信實現(xiàn)方案實現(xiàn)串行通信主要需要完成三部分工作:(1) 將串口電壓轉(zhuǎn)換成設(shè)備電路板的工作電壓,即實現(xiàn)RS-232電平和TTL/CMOS電平的轉(zhuǎn)換。(2)接收并校驗串行的數(shù)據(jù),將數(shù)據(jù)變成并行的數(shù)據(jù)并提供給處理器處理。(3)接收并行數(shù)據(jù)并轉(zhuǎn)換成
28、串行數(shù)據(jù)供串行端口發(fā)送。第三章 EDA技術(shù)及FPGA的概述EDA(Electronic Design Automation)工程就是以計算機為工作平臺,EDA軟件工具為開發(fā)環(huán)境,以硬件描述語言為設(shè)計語言,以可編程器件為實驗載體,以ASIC、SOC芯片為目標(biāo)器件,以電子系統(tǒng)設(shè)計為應(yīng)用方向的電子產(chǎn)品自動化設(shè)計過程。3.1 EDA 技術(shù)發(fā)展歷程EDA技術(shù)伴隨著計算機、集成電路、電子系統(tǒng)設(shè)計的發(fā)展,經(jīng)歷了計算機輔助設(shè)計(Computer Assist Design, 簡稱CAD)、 計算機輔助工程設(shè)計(Compute Assist Engineering,簡稱CAE)和電子設(shè)計自動化(E1ectron
29、ic Design Automation,簡稱EDA)三個發(fā)展階段。CAD 階段第一階段(20 世紀(jì) 60 年代中期20 世紀(jì) 80 年代初期),是EDA技術(shù)發(fā)展的初期,由于PCB布圖布線工具受到計算機工作平臺的制約,己無法滿足設(shè)計精度和效率的要求。因此工程師們開始進(jìn)行二維平面圖形的計算機輔助設(shè)計(Computer Aided Design,CAD),產(chǎn)生了第一代EDA工具。該階段的特征是采用小型計算機,軟件功能為交互式圖形編輯、設(shè)計規(guī)則檢查。第一代EDA工具用于集成電路的版圖設(shè)計。3.1.2 CAE階段第二階段(20 世紀(jì) 80 年代中期20 世紀(jì) 90 年代初期),隨著計算機和集成電路的法
30、展,出現(xiàn)了以計算機仿真和自動布線為核心技術(shù)的第二代EDA工具。產(chǎn)生了計算機輔助制造(Computer Aided Manufacturing,CAM)、計算機輔助測試(Computer Aided Test CAT)和計算機輔助工程(Computer Aided Engineering CAE)等概念。第二代EDA工具的主要特征是以邏輯模擬、定時分析、故障仿真、自動布局和布線為核心。此工具主要用來解決電路設(shè)計沒有完成之前的功能檢測等問題。3.1.3 EDA階段20 世紀(jì) 90 年代以來,設(shè)計師逐步從使用硬件轉(zhuǎn)向設(shè)計硬件,從電路級電子產(chǎn)品開發(fā)轉(zhuǎn)向系統(tǒng)級電子產(chǎn)品開發(fā)(即片上系統(tǒng)集成),因此EDA工
31、具是以系統(tǒng)設(shè)計為核心,包括系統(tǒng)行為級描述與結(jié)構(gòu)級綜合,系統(tǒng)仿真與測試驗證,系統(tǒng)劃分與指標(biāo)分配,系統(tǒng)決策與文件生成等一整套的電子系統(tǒng)設(shè)計自動化工具。EDA工具不僅具有電子系統(tǒng)設(shè)計的能力,而且能提供獨立于工藝和廠家的系統(tǒng)級設(shè)計能力,具有高級抽象的設(shè)計構(gòu)思手段。例如:提供方框圖、狀態(tài)圖和流程圖的編輯能力,具有適合層次描述和混合信號描述的硬件描述語言(如VHDL、AHDL或verilogHDL),同時含有各種工藝標(biāo)準(zhǔn)元件庫。第三代EDA工具可以使電子系統(tǒng)工程師在不熟悉各種半導(dǎo)體廠家和各種半導(dǎo)體工藝的情況下,完成電子系統(tǒng)的設(shè)計。3.2 EDA技術(shù)的基本特征及優(yōu)勢現(xiàn)代EDA技術(shù)的基本特征是采用高級語言描述
32、,具有系統(tǒng)級仿真和綜合能力。傳統(tǒng)手工設(shè)計方法對復(fù)雜電路的設(shè)計調(diào)試?yán)щy;在設(shè)計過程中對出現(xiàn)的錯誤進(jìn)行查找和修改十分不便;不易管理在設(shè)計過程中產(chǎn)生的大量文檔;并且必須在設(shè)計完成后或生產(chǎn)出芯片后才能進(jìn)行實測,而EDA技術(shù)與其相比有著很大的優(yōu)勢:采用硬件描述語言,有利于復(fù)雜系統(tǒng)的設(shè)計;具有強大的系統(tǒng)建模和電路仿真功能;具有自主的知識產(chǎn)權(quán);其開發(fā)技術(shù)更標(biāo)準(zhǔn)化和規(guī)范化;全方位的利用計算機的自動設(shè)計、仿真和測試技術(shù);對設(shè)計者的硬件知識和硬件經(jīng)驗要求低。傳統(tǒng)的電路設(shè)計采用的是自底向上的設(shè)計方法,而EDA技術(shù)采用一種自頂向下的設(shè)計方法。所謂“自頂向下”法就是設(shè)計者首先從整體上規(guī)劃整個系統(tǒng)的功能和性能,然后將系統(tǒng)
33、劃分為規(guī)模較小、功能較為簡單的局部模塊,并確立它們之間的相互關(guān)系,這種劃分過程可以不斷地進(jìn)行下去,直到劃分得到的單元可以映射到物理實現(xiàn)。圖3-2-1所示的是自頂向下與自底向上的設(shè)計比較。自頂向下(Top-down)自底向上(Bottom-up)由基本門組成各個組合與時序邏輯單元用系統(tǒng)級行為描述表達(dá)一個包輸入輸出的頂層模塊,同時完成整個系統(tǒng)的模擬與性能分析將系統(tǒng)劃分為各個功能模塊,每個模塊由更細(xì)化的行為描述表達(dá)由邏輯單元組成各個獨立的功能模塊由各個功能模塊連成一個完整系統(tǒng)由EDA綜合工具完成到工藝的映射進(jìn)行整個系統(tǒng)的測試與性能分析圖3-2-1 自頂向下與自底向上的設(shè)計比較自底向上的設(shè)計方法就是首
34、先確定構(gòu)成系統(tǒng)的最底層的電路模塊或原件的結(jié)構(gòu)和功能,然后根據(jù)主系統(tǒng)的結(jié)構(gòu)和要求,將它們組合成更大的功能塊,使它們的結(jié)構(gòu)和功能滿足高層系統(tǒng)的要求。以此流程逐步向上遞推,直到完成整個目標(biāo)系統(tǒng)的設(shè)計。它可以用來解決系統(tǒng)最底層硬件的可獲得性和功能特性方面的諸多細(xì)節(jié)問題,不過在整個逐級設(shè)計和測試過程中,有時可能會出現(xiàn)目標(biāo)器件的更換、某些技術(shù)指標(biāo)不滿足要求或提高運行速度等問題。因此,傳統(tǒng)的自底向上的設(shè)計方法是一種低效、低可靠性、且成本高昂的設(shè)計方法。而自頂而下的設(shè)計方法使系統(tǒng)被分成各個模塊的集合,然后將每個獨立模塊指派給不同的工作小組讓其分工合作,最后將不同的模塊集合成一整體系統(tǒng)模型,并對其進(jìn)行綜合測試和
35、評價。這樣一來系統(tǒng)性能參數(shù)將得到進(jìn)一步的細(xì)化與確認(rèn),并隨時可以根據(jù)需要加以調(diào)整,從而可保證設(shè)計結(jié)果的正確性,縮短設(shè)計周期,設(shè)計規(guī)模越大,這種設(shè)計方法的優(yōu)勢越明顯。3.3 MAX+plus II軟件介紹MAX+PLUX II開發(fā)工具是Altera自行設(shè)計的EDA軟件,Altera是世界上最大可編程邏輯器件的供應(yīng)商之一。MAX+PLUX II界面友好,使用便捷,被認(rèn)為是最易用易學(xué)的EDA(Electronic Design Automation)軟件,可不需要第三方軟件,支持3萬門以下所有設(shè)計。如圖4-3-1所示。在MAX+PLUX II上可以完成設(shè)計輸入、元件適配、時序仿真和功能仿真、編程下載整
36、個流程它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進(jìn)行設(shè)計輸入、快速處理和器件編程。圖 3-3-1 MAX+PLUX II軟件的集成電路MAX+PLUX II被普片認(rèn)為是最優(yōu)秀的PLD開發(fā)平臺之一,適合開發(fā)中小規(guī)模PLD/FPGAMAX+PLUX II軟件的設(shè)計流程:輸入設(shè)計項目和存盤;編輯文本文件;將設(shè)計項目設(shè)置成工程文件Project;選擇目標(biāo)器件進(jìn)行編譯;波形編譯;時序仿真;引腳鎖定;編程下載。打開MAX+PLUX II,執(zhí)行菜單File New命令,彈出如圖3-3-2所示的新建文件對話框。圖3-3-2 新建文件對話框MAX+PLUX II將用戶所設(shè)計的電路原理圖或電路描述轉(zhuǎn)變?yōu)镃
37、PLD/FPGA內(nèi)部的基本邏輯單元,寫入芯片中,從而實現(xiàn)用戶所設(shè)計的電路。它的功能描述如圖3-3-3所示輸入設(shè)計MAX+PLUX IICPLD/FPGA實現(xiàn)圖 3-3-3 MAX+PLUX II的功能描述MAX+PLUX II的具體功能如圖3-3-4所示設(shè)計輸入 項目編譯項目校驗 器件編程MAX+PLUX II信息處理器和層次顯示MAX+PLUX II圖形編輯器編譯器網(wǎng)表提取器數(shù)據(jù)庫建庫器邏輯綜合器MAX+PLUX II文本編輯器適配MAX+PLUX II 編程器MAX+PLUX II時序分析器圖3-3-4MAX+PLUX II具體功能3.3.1 MAX+plus II開發(fā)系統(tǒng)的特點(1)開放
38、的界面MAX+plus II支持與Cadence, Exemplarlogic, Mentor Graphics, Synplicty, Viewlogic和其它公司所提供的EDA工具接口。(2)與結(jié)構(gòu)無關(guān)MAX+plus II系統(tǒng)的核心Complier支持Altera公司的FLEX10K、FLEX8000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件,提供了世界上唯一真正與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計環(huán)境。(3)完全集成化MAX+plus II的設(shè)計輸入、處理與校驗功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動態(tài)調(diào)試、縮短開發(fā)周期。( 4 ) 豐富的設(shè)計庫MAX+
39、plus II提供豐富的庫單元供設(shè)計者調(diào)用,其中包括74系列的全部器件和多種特殊的邏輯功能(Macro-Function)以及新型的參數(shù)化的兆功能(Macro-Function)。( 5 ) 模塊化工具設(shè)計人員可以從各種設(shè)計輸入、處理和校驗選項中進(jìn)行選擇從而使設(shè)計環(huán)境用戶化。( 6 ) 硬件描述語言(HDL)Max+plus II軟件支持各種HDL設(shè)計輸入選項,包括VHDL、Verilog、HDL和Altera自己的硬件描述語言AHDL。( 7 ) Opencore特征Max+plus II軟件具有開放核的特點,允許設(shè)計人員添加自己認(rèn)為有價值的宏函數(shù)。.3.3.2 項目編譯使用編譯器MAX+P
40、LUSII編譯設(shè)計項目時,編譯器將進(jìn)行設(shè)計錯誤檢查、網(wǎng)表提取、邏輯綜合和器件適配等。從圖3-4-5可見該項目設(shè)計正確,且該軟件自動為該項目選取FLEX10K系列器件EPF10K10LC84芯片。系統(tǒng)自動通知應(yīng)選擇的下載器件編譯成功編譯過程圖3-4-5 VHDL源代碼編譯過程3.3.3 項目仿真仿真的主要作用是驗證工程的邏輯操作與時延的正確性。由于本例的數(shù)字系統(tǒng)是一個小規(guī)模的數(shù)字系統(tǒng),無需進(jìn)行代碼級的功能仿真。圖中的仿真是在邏輯綜合、器件劃分、適配之后進(jìn)行的,只對邏輯綜合后符合規(guī)則的接點進(jìn)行仿真,其過程考慮了器件的物理結(jié)構(gòu)造成的延時,因此屬于時序仿真。運行仿真器,執(zhí)行菜單MAX+PLUS/Sim
41、ulator命令,單擊彈出的仿真器窗口的Start按鈕,對話框中會顯示“0 errors, 0 warnings”。如果沒有變化,看看是否因為顯示比例太大,可以單擊圖左邊工具欄的縮小按鈕或顯示全部按鈕。當(dāng)仿真器結(jié)束工作時,單擊Open SCF按鈕,將看到仿真結(jié)果。使用MAX+PLUS開發(fā)軟件的波形編輯器直接畫出輸入激勵波形,啟動仿真器,得到顯示模擬仿真的結(jié)果。第四章UART方案設(shè)計4.1 UART實現(xiàn)原理圖4.1.1 UART實現(xiàn)原理圖 UART各個模塊的功能如下:1UART內(nèi)核模塊UART內(nèi)核模塊是整個設(shè)計的核心。在數(shù)據(jù)接收時,UART內(nèi)核模塊負(fù)責(zé)控制波特率發(fā)生器和移位寄存器,使得移位寄存器
42、在波特率是中的驅(qū)動下同步地接收并且保存RS-232接收端口的串行數(shù)據(jù)。在數(shù)據(jù)發(fā)送時,UART內(nèi)核模塊首先根據(jù)待發(fā)送的數(shù)據(jù)和奇偶校驗位的設(shè)置產(chǎn)生完整的發(fā)送序列(包括起始位、數(shù)據(jù)位、奇偶校驗位和停止位),之后控制移位寄存器將序列加載到移位寄存器的內(nèi)部寄存器里,最后再控制波特率發(fā)生器驅(qū)動移位寄存器將數(shù)據(jù)串行輸出。2信號監(jiān)測模塊信號監(jiān)測模塊用于對RS-232的輸入信號(經(jīng)過電平轉(zhuǎn)換后的邏輯信號)進(jìn)行實時的檢測,一旦發(fā)現(xiàn)新的數(shù)據(jù)則立即通知UART內(nèi)核。3移位寄存器模塊移位寄存器模塊的作用是存儲輸入或者輸出的數(shù)據(jù)。當(dāng)UART接收RS-232輸入時,移位寄存器在波特率模式下采集RS-232輸入信號,并且保存
43、結(jié)果;當(dāng)UART進(jìn)行RS-232輸出時,UART內(nèi)核首先將數(shù)據(jù)加載到移位寄存器內(nèi),再使移位寄存器在波特率模式下將數(shù)據(jù)輸出到RS-232輸出端口上。4波特率發(fā)生模塊由于RS-232傳輸必定是工作在某種波特率下,比如9600,為了便于和RS-232總線同步,需要產(chǎn)生符合RS-232傳輸波特率的時鐘。5奇偶校驗?zāi)K奇偶校驗?zāi)K的功能是根據(jù)奇偶校驗的設(shè)置和輸入數(shù)據(jù)計算出相應(yīng)的奇偶校驗位,它是通過組合邏輯實現(xiàn)的。6總線選擇模塊總線選擇模塊用于選擇奇偶校驗器的輸入是數(shù)據(jù)發(fā)送總線還是數(shù)據(jù)接收總線。在接收總線時,總線選擇模塊將數(shù)據(jù)接收總線連接到奇偶校驗器的輸入端,來檢查已接收的數(shù)據(jù)的奇偶校驗位是否正確;而在發(fā)
44、送數(shù)據(jù)時,總線選擇模塊將數(shù)據(jù)發(fā)送總線連接到奇偶校驗器的輸入端,UART內(nèi)核模塊就能夠獲取并且保存發(fā)送序列所需的奇偶校驗位了。7,計數(shù)器模塊計數(shù)器模塊的功能是記錄串行數(shù)據(jù)發(fā)送或者接收的數(shù)目,在計數(shù)到某數(shù)值時通知UART內(nèi)核模塊。4.2 UART工作流程UART工作流程可以分為接收過程和發(fā)送過程部分。接收過程指的是UART監(jiān)測到RS-232總線上的數(shù)據(jù),順序讀取串行數(shù)據(jù)并且將其輸出給CPU的過程。當(dāng)信號監(jiān)測到新的數(shù)據(jù)(RS-232輸入邏輯變?yōu)?,即RS-232輸入?yún)f(xié)議的起始位)就會觸發(fā)接收過程,其流程如圖所示。首先UART內(nèi)核會重置波特率發(fā)生器和移位寄存器,并且設(shè)置移位寄存器的工作模式為波特率模式
45、,以準(zhǔn)備接收數(shù)據(jù)。其次,移位寄存器在波特率時鐘的驅(qū)動下工作,不斷地讀取RS-232串行總線的輸入數(shù)據(jù),并且將數(shù)據(jù)保存在內(nèi)部的寄存器內(nèi)。接收完成后,UART內(nèi)核會對已接收的數(shù)據(jù)進(jìn)行奇偶校驗并且輸出校驗結(jié)果。最后,UART內(nèi)核會重置信號監(jiān)測器,以備下一次數(shù)據(jù)接收。圖4.2.1UART接收數(shù)據(jù)流程圖發(fā)送過程有加載和發(fā)送兩個步驟組成,如圖4.2所示。加載步驟是UART內(nèi)核按RS-232串行發(fā)送的順序?qū)⑵鹗嘉弧?shù)據(jù)位、奇偶校驗位和停止位加載到移位寄存器內(nèi),這個過程工作在系統(tǒng)時鐘下,相對于RS-232的傳輸速度來說非常快。完成加載步驟后,UART內(nèi)核會重置波特率發(fā)生器,并且設(shè)置移位寄存器工作在波特率模式下
46、,于是移位寄存器便在波特率時鐘的驅(qū)動下依次將加載的數(shù)據(jù)發(fā)送到RS-232的發(fā)送端TxD,這樣便產(chǎn)生了RS-232的數(shù)據(jù)發(fā)送時序。圖4.2.2 UART發(fā)送數(shù)據(jù)流程圖第五章 UART模塊的VHDL語言設(shè)計信號監(jiān)測模塊的實現(xiàn)信號監(jiān)測模塊的功能是監(jiān)測RS-232輸入端的信號,當(dāng)有新的數(shù)據(jù)傳輸時通知UART內(nèi)核開始接收數(shù)據(jù),端口定義如表5-1所示。表5-1信號監(jiān)測器端口定義表 名稱類型寬度說明Clk輸入1時鐘信號Reset_n輸入1復(fù)位信號RxD輸入1RS-232輸入信號New_data輸出1指示信號,當(dāng)監(jiān)測到新數(shù)據(jù)時置高在監(jiān)測到傳輸?shù)钠鹗嘉缓螅盘柋O(jiān)測器需要將自己鎖定,即不對輸入信號進(jìn)行監(jiān)測,直到U
47、ART內(nèi)核將其復(fù)位。信號監(jiān)測器的實體聲明代碼如下:- 庫聲明library IEEE;use IEEE.STD_LOGIC_1164.all; use WORK.UART_PACKAGE.ALL;- 實體聲明entity detector isport (clk : in std_logic;reset_n : in std_logic;RxD : in std_logic;new_data : out std_logic );end detector;5.2 波特率發(fā)生器模塊的實現(xiàn)波特率發(fā)生器的功能是產(chǎn)生和RS-232同心所采用的波特率同步的時鐘,這樣才能方便的按照RS-232串行通信的時序
48、要求進(jìn)行數(shù)據(jù)接收和發(fā)送。圖5.1表示了波特率時鐘和RS-232接收端信號的時序關(guān)系,波特率時鐘的頻率就是波特率。圖5.1 波特率時鐘與RxD時序圖實現(xiàn)上述的波特率時鐘的基本思想就是設(shè)計一個計數(shù)器,該計數(shù)器工作在速度很高的系統(tǒng)時鐘下,當(dāng)計數(shù)到某數(shù)值時將輸出置高,在計數(shù)一定數(shù)值后再將輸出置低,如此反復(fù)能夠得到所需的波特率時鐘。圖5.2 波特率時鐘實現(xiàn)原理假設(shè)FPGA的系統(tǒng)時鐘為50MHz, RS-232同心的波特率為9600,則波特率時鐘的每個周期相當(dāng)于(1/9600)/(1/50*e6)=5208各系統(tǒng)時鐘的周期。假設(shè)要得到占空比為50%的波特率時鐘,只需使得計數(shù)器在計數(shù)到5208*50%=16
49、04 時將輸出置高,之后在計數(shù)到5208時將輸出置低并且重新計數(shù),就能夠?qū)崿F(xiàn)和9600波特率同步的時鐘,原理圖如圖5.2所示。波特率發(fā)生器得端口定義如下表5-2所示。表5-2波特率發(fā)生器端口定義如下表名稱類型寬度說明Clk輸入1時鐘信號Reset_n輸入1復(fù)位信號Ce輸入1使能信號Bd_out輸出1波特率時鐘輸出信號indicator輸出1指示信號,在每輸出一個周期的波特率時鐘,在信號上述出一個小脈沖波特率發(fā)生器在復(fù)位后,將內(nèi)部計數(shù)器置為“0”,如果是能信號有效,則在每個系統(tǒng)時鐘的上升沿工作,將計數(shù)器計數(shù)增加一。當(dāng)輸出一個完整的波特率時鐘信號后,波特率發(fā)生器會自動將內(nèi)部計數(shù)器置為零,同時開始下
50、一個脈沖的計數(shù)。還有一個indicator 信號,每產(chǎn)生一個完整的波特率時鐘周期,indicator 信號用于表示產(chǎn)生了一個完整的波特率時鐘周期,UART通過此信號來了解波特率發(fā)生器已輸出的脈沖個數(shù)。波特率發(fā)生器的實體聲明代碼如下,其中在實體聲明中聲明了兩個類屬參數(shù),F(xiàn)ULL_PULSE_COUNT表示一個波特率時鐘完整的周期所對應(yīng)的計數(shù)器計數(shù),RISE_PULSE_COUNT表示波特率時鐘信號上升時刻對應(yīng)的計數(shù)器計數(shù),這樣波特率時鐘的占空比可以表示為(FULL_PULSE_COUNT-RISE_PULSE_COUNT)/ FULL_PULSE_COUNT。- 庫聲明library IEEE;
51、use IEEE.STD_LOGIC_1164.all;use WORK.UART_PACKAGE.ALL;entity baudrate_generator isgeneric (FULL_PULSE_COUNT : BD_COUNT := BD9600_FPC;RISE_PULSE_COUNT : BD_COUNT := BD9600_HPC );port (clk : in std_logic;reset_n : in std_logic;ce : in std_logic;bg_out : out std_logic;indicator : out std_logic );end ba
52、udrate_generator;以上代碼中的BD_COUNT是在UART_PACKAGE庫中定義的,它代表范圍從065535的整數(shù)(即16位整數(shù));BD9600_FPC代表波特率時鐘完整周期對應(yīng)的計數(shù),而BD9600_HPC代表的是波特率時鐘半周其對應(yīng)的計數(shù),它們也在UART_PACKAGE庫中定義的,如下所示:- 計數(shù)器計數(shù)范圍type BD_COUNT is range 65535 downto 0;- 9600波特率對應(yīng)參數(shù)constant BD9600_FPC : BD_COUNT := 5208;constant BD9600_HPC : BD_COUNT := 2604;下面介紹
53、一下波特率發(fā)生器的仿真測試過程。由于9600波特率對應(yīng)的參數(shù)樹枝比較大,所以為了觀察仿真的波形,可以首先選擇輸出較小的測試數(shù)據(jù)。比如,可以在UART_PACKAGE庫中定義完整波特率時鐘周期對應(yīng)計數(shù)為10,半周期對應(yīng)計數(shù)5,代碼如下:- 波特率測試參數(shù)constant BDTEST_FPC : BD_COUNT := 10;constant BDTEST_HPC : BD_COUNT := 5;在測試平臺文件中,申明波特率發(fā)生器實例時應(yīng)先將其類屬參數(shù)設(shè)置為測試參數(shù),如下所示:- Unit Under Test port mapUUT : baudrate_generatorgeneric ma
54、p (FULL_PULSE_COUNT => 10,RISE_PULSE_COUNT => 5)port map (clk => clk,reset_n => reset_n,ce => ce,bg_out => bg_out,indicator => indicator);移位寄存器模塊的實現(xiàn)移位寄存器模塊在整個設(shè)計中非常關(guān)鍵,無論是數(shù)據(jù)接收還是數(shù)據(jù)的發(fā)送都需要用到移位寄存器。移位寄存器的基本工作原理是在觸發(fā)信號的驅(qū)動下將內(nèi)部寄存器序列的最高位輸出,將此高位到最低為向高位移動一位,并且讀取輸入端的數(shù)據(jù)保存到最低位。由于在RS-232通信在不同的傳輸設(shè)
55、置下(比如奇偶校驗,停止位)總的數(shù)據(jù)位數(shù)不同,所以為了能夠靈活的配置移位寄存器,可以在聲明移位寄存器實體的時候添加一個表示寄存器序列總長度的類屬參數(shù),代碼如下:entity shift_register isgeneric (TOTAL_BIT : integer := 10 );port (clk : in std_logic;reset_n : in std_logic;din : in std_logic;regs : out std_logic_vector(TOTAL_BIT-1 downto 0);dout : out std_logic );end shift_register;以上代碼中的TOTAL_BIT表示的就是寄存器序列的長度,默認(rèn)為10,對應(yīng)的傳輸設(shè)置是8為數(shù)據(jù)位、奇偶校驗位、1位停止位。表5-3移
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CEPPEA 5029-2023電力建設(shè)工程地質(zhì)災(zāi)害危險性評估技術(shù)要求
- T/CATCM 032-2024中藥配方顆粒臨床使用指南
- T/CMEAS 021-202420 kDa單甲氧基聚乙二醇丙醛(M-ALD-20K)質(zhì)量要求與測試方法
- 泡芙機器維修合同7篇
- 上海安全c證考試題庫及答案
- 【7語期末】蕪湖市無為市2023-2024學(xué)年七年級下學(xué)期期末語文試題
- 新版員工試用合同2篇
- 艾青詩選《蘆笛》課件解析
- 機動小型車輛贈與合同10篇
- 婚前住房約定協(xié)議4篇
- 生產(chǎn)經(jīng)營單位事故隱患內(nèi)部報告獎勵制度
- 【MOOC】灰色系統(tǒng)理論-南京航空航天大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 人教版高一下學(xué)期期末考試數(shù)學(xué)試卷與答案解析(共五套)
- 酒店客房檢查表
- 項目驗收ppt目錄課件
- ASME第八卷第一冊2015培訓(xùn)資料
- 2022版義務(wù)教育(數(shù)學(xué))課程標(biāo)準(zhǔn)(含2022年修訂部分)
- 經(jīng)肛門微創(chuàng)手術(shù)(TME)(課堂PPT)
- 新版【處置卡圖集】施工類各崗位應(yīng)急處置卡(20頁)
- 標(biāo)準(zhǔn)作業(yè)組合票--自動生成
評論
0/150
提交評論