版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于FPGA的RS-232串口通信控制器設(shè)計(jì)1摘要串口是可以在使用一根線(xiàn)發(fā)送數(shù)據(jù)的同時(shí)用另一根線(xiàn)接收數(shù)據(jù)。串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。通過(guò)RS232以實(shí)現(xiàn)計(jì)算機(jī)之間、計(jì)算機(jī)與設(shè)備之間相互通信,目前仍是通訊領(lǐng)域廣泛使用的方法之一。幾乎每臺(tái)計(jì)算機(jī)都有一兩個(gè)串行接口,用來(lái)與調(diào)制解調(diào)器、實(shí)驗(yàn)室設(shè)備、工控設(shè)備、POS終端等進(jìn)行數(shù)據(jù)傳輸。RS-232以其方便、經(jīng)濟(jì)的實(shí)現(xiàn)特點(diǎn),一直深受工程界的青睞。不論是在電力、工控還是電信、金融交通等諸多行業(yè)都有廣泛的應(yīng)用。系統(tǒng)主芯片采用RS-232串口通信控制器,由基本時(shí)鐘發(fā)生電路模塊,復(fù)位電路模塊,波特率選擇模塊,數(shù)據(jù)幀格式選擇模塊,串并轉(zhuǎn)換模塊組成
2、。經(jīng)編譯和仿真所設(shè)計(jì)的程序,在可編程邏輯器件上下載驗(yàn)證,結(jié)合FPGA技術(shù)高度靈活性與模塊化的特點(diǎn),實(shí)現(xiàn)基本RS-232總線(xiàn)通信的功能,以實(shí)現(xiàn)串口數(shù)據(jù)幀結(jié)構(gòu)選擇,串并轉(zhuǎn)換,波特率選擇等功能。通過(guò)軟件仿真,得到功能的驗(yàn)證,并進(jìn)行功能邏輯模塊的整合,從而驗(yàn)證設(shè)計(jì)的可行性與可靠性。關(guān)鍵詞: RS-232串口通信控制器;硬件描述語(yǔ)言; FPGA Abstractcommunications between equipment, is still widely used method of communication field. Almost every computer has a serial in
3、terface, used and modems, laboratory equipment, industrial equipment, POS terminals, etc for data transmission. With its rs-five 232 convenient, economical realization of engineering characteristics, has been deeply favored. Whether in electric power, telecommunications, financial traffic control or
4、 many industries have widely application.The master chip adopt rs-five 232 serial communication controller, the basic clock circuit module, reset circuit happened module, baud rate, data frame format selection module choice module, and conversion module composition string. The compiler and simulatio
5、n design program, in programmable logic devices on FPGA technology, combining download highly flexible and modular characteristics, basic RS - 232 fieldbus communication function, in order to realize the serial data frame structure, and the conversion of choice, baud rate etc. Function. Through the
6、simulation test, the function and the integration of the logical module function, which verified the feasibility and reliability of the design. Keywords: RS - 232 serial communication controller, Hardware description language, The FPGA目錄1 緒論11.1 選題背景11.1.1 課題相關(guān)技術(shù)的發(fā)展11.1.2 課題研究的必要性21.2 課題研究的內(nèi)容32 FPGA
7、及RS-232簡(jiǎn)介42.1 FPGA概述42.1.2 FPGA基本結(jié)構(gòu)62.1.3 FPGA系統(tǒng)設(shè)計(jì)流程82.1.4 FPGA開(kāi)發(fā)編程原理112.2 RS-232概述122.2.1 RS-232電氣特性132.2.2 RS-232連接器的機(jī)械特性132.2.3 RS-232的接口信號(hào)143 RS-232串口通信控制器硬件設(shè)計(jì)方案183.1 鎖相環(huán)設(shè)計(jì)183.2 模式選擇模塊設(shè)計(jì)193.3 接收模塊設(shè)計(jì)193.4 發(fā)送模塊設(shè)計(jì)214 RS-232控制器軟件設(shè)計(jì)234.1 模式選擇模塊軟件設(shè)計(jì)234.2 接收模塊軟件設(shè)計(jì)244.3 發(fā)送模塊軟件設(shè)計(jì)265 研究展望28實(shí)驗(yàn)結(jié)論29致謝30參考文獻(xiàn)3
8、1附錄321 緒論現(xiàn)代社會(huì)的標(biāo)志之一就是信息產(chǎn)品的廣泛使用,而且是產(chǎn)品的性能越來(lái)越強(qiáng),復(fù)雜程度越來(lái)越高,更新步伐越來(lái)越快。支撐信息電子產(chǎn)品高速發(fā)展的基礎(chǔ)就是微電子制造工藝水平的提高和電子產(chǎn)品設(shè)計(jì)開(kāi)發(fā)技術(shù)的發(fā)展。前者以微細(xì)加工技術(shù)為代表,而后者的代表就是電子設(shè)計(jì)自動(dòng)化(electronic design automatic,EDA)技術(shù)。本設(shè)計(jì)采用的VHDL是一種全方位的硬件描述語(yǔ)言,具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和邏輯門(mén)級(jí)三個(gè)不同層次的設(shè)計(jì);支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述、覆蓋面廣、抽象能力強(qiáng),因此在實(shí)際應(yīng)用中越來(lái)越廣泛。ASIC是專(zhuān)用的系統(tǒng)集成電路,是一種帶
9、有邏輯處理的加速處理器。而FPGA是特殊的ASIC芯片,與其他的ASIC芯片相比,它具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無(wú)需測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線(xiàn)檢測(cè)等優(yōu)點(diǎn)。在控制系統(tǒng)中,鍵盤(pán)是常用的人機(jī)交換接口,當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下的時(shí)候,系統(tǒng)應(yīng)該完成該鍵所設(shè)置的功能。因此,鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過(guò)程。根據(jù)鍵盤(pán)的結(jié)構(gòu)不同,采用不同的編碼方法。但無(wú)論有無(wú)編碼以及采用什么樣的編碼,最后都要轉(zhuǎn)換成為相應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的轉(zhuǎn)移。1.1 選題背景本節(jié)將從FPGA嵌入式應(yīng)用開(kāi)發(fā)技術(shù)與數(shù)字鐘技術(shù)發(fā)展的客觀(guān)實(shí)際出發(fā),通過(guò)對(duì)該技術(shù)發(fā)展?fàn)顩r的了解,以及課題本身的需要,指出
10、研究基于FPGA的芯片系統(tǒng)與設(shè)計(jì)數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)的必要性。1.1.1 課題相關(guān)技術(shù)的發(fā)展當(dāng)今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電子產(chǎn)品在設(shè)計(jì)上的顯著區(qū)別師大量使用大規(guī)??删幊踢壿嬈骷?,使產(chǎn)品的性能提高,體積縮小,功耗降低.同時(shí)廣泛運(yùn)用現(xiàn)代計(jì)算機(jī)技術(shù),提高產(chǎn)品的自動(dòng)化程度和競(jìng)爭(zhēng)力,縮短研發(fā)周期。EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門(mén)新技術(shù)。美國(guó)ALTERA公司的可編程邏輯器件采用全新的結(jié)構(gòu)和先進(jìn)的技術(shù),加上MaxplusII(或最新的QUARTUS)開(kāi)發(fā)環(huán)境,更具有高性能,開(kāi)發(fā)周期短等特點(diǎn),十分方便進(jìn)行電子產(chǎn)品的開(kāi)發(fā)和設(shè)
11、計(jì)。EDA技術(shù),技術(shù)以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語(yǔ)言為系統(tǒng)邏輯描述主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_(kāi)發(fā)軟件及實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)為設(shè)計(jì)工具,通過(guò)有關(guān)的開(kāi)發(fā)軟件,自動(dòng)完成用軟件的方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯,邏輯化簡(jiǎn),邏輯分割,邏輯映射,編程下載等工作。最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T(mén)新技術(shù)。本設(shè)計(jì)利用VHDL硬件描述語(yǔ)言結(jié)合可編程邏輯器件進(jìn)行的,并通過(guò)數(shù)碼管動(dòng)態(tài)顯示計(jì)時(shí)結(jié)果。數(shù)字鐘可以由各種技術(shù)實(shí)現(xiàn),如單片機(jī)等.利用可編程邏輯器件具有其他方式?jīng)]有的特點(diǎn),它具有易學(xué),方便,新穎,有趣,直觀(guān),設(shè)計(jì)與實(shí)驗(yàn)項(xiàng)目成功率高,理論與實(shí)踐結(jié)合緊密,體積小,容量大,I/O
12、口豐富,易編程和加密等特點(diǎn),并且它還具有開(kāi)放的界面,豐富的設(shè)計(jì)庫(kù),模塊化的工具以及LPM定制等優(yōu)良性能,應(yīng)用非常方便。因此,本設(shè)計(jì)采用可編程邏輯器件實(shí)現(xiàn)。1.1.2 課題研究的必要性現(xiàn)在是一個(gè)知識(shí)爆炸的新時(shí)代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異。可以毫不夸張的說(shuō),電子技術(shù)的應(yīng)用無(wú)處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的年代,速度,精準(zhǔn)對(duì)人們來(lái)說(shuō)是越來(lái)越寶貴,在快節(jié)奏的生活時(shí), RS-232串口通信控制器給人們帶來(lái)了極大的方便。近些年,隨著科技的發(fā)展和社會(huì)的進(jìn)步,人們對(duì)科技的要求也越來(lái)越高,傳統(tǒng)的東西已不能滿(mǎn)足人們的需求。1.2 課題研究的內(nèi)容本
13、設(shè)計(jì)主要研究基于FPGA的RS-232串口控制器,針對(duì)具體設(shè)計(jì)要求進(jìn)行原理設(shè)計(jì)(可在一般電子線(xiàn)路CAD軟件,如protel99se上完成),提供電子版電路原理圖用Quartus軟件進(jìn)行時(shí)序仿真,驗(yàn)證設(shè)計(jì)性能的可行性與可靠性,并提供相應(yīng)的仿真效果圖采用VHDL語(yǔ)言設(shè)計(jì)相關(guān)的功能化模塊,實(shí)現(xiàn)串口數(shù)據(jù)幀結(jié)構(gòu)選擇,串并轉(zhuǎn)換,波特率選擇等功能。通過(guò)具體操作,驗(yàn)證設(shè)計(jì)的穩(wěn)定性與操作的靈活性。2 FPGA及RS-232簡(jiǎn)介2.1 FPGA概述FPGA(FieldProgrammable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,是目前應(yīng)用最廣泛的現(xiàn)場(chǎng)可編程邏輯器件(FPLD)之一。FPGA是一類(lèi)高集成度的
14、可編程邏輯器件,起源于美國(guó)的Xillnx公司,該公司于1985年推出了世界上第一塊FPGA芯片。在這二十年的發(fā)展過(guò)程中,F(xiàn)PGA的硬件體系結(jié)構(gòu)和軟件開(kāi)發(fā)工具都在不斷的完善,日趨成熟。從最初的1200個(gè)可用門(mén),90年代時(shí)幾十萬(wàn)個(gè)可用門(mén),發(fā)展到目前數(shù)百萬(wàn)門(mén)至上千萬(wàn)門(mén)的單片F(xiàn)PGA芯片,Xilinx、Altera等世界頂級(jí)廠(chǎng)商已經(jīng)將FPGA器件的集成度提高到一個(gè)新的水平。FPGA結(jié)合了微電子技術(shù)、電路技術(shù)、EDA技術(shù),使設(shè)計(jì)者可以集中精力進(jìn)行所需邏輯功能的設(shè)計(jì),縮短設(shè)計(jì)周期,提高設(shè)計(jì)質(zhì)量。 FPGA的應(yīng)用領(lǐng)域最初為通信領(lǐng)域,但目前,隨著信息產(chǎn)業(yè)和微電子技術(shù)的發(fā)展,可編程邏輯嵌入式系統(tǒng)設(shè)計(jì)技術(shù)已經(jīng)成為
15、信息產(chǎn)業(yè)最熱門(mén)的技術(shù)之一,應(yīng)用范圍遍及航空航天、醫(yī)療、通訊、網(wǎng)絡(luò)通訊、安防、廣播、汽車(chē)電子、工業(yè)、消費(fèi)類(lèi)市場(chǎng)、測(cè)量測(cè)試等多個(gè)熱門(mén)領(lǐng)域。并隨著工藝的進(jìn)步和技術(shù)的發(fā)展,向更多、更廣泛的應(yīng)用領(lǐng)域擴(kuò)展。越來(lái)越多的設(shè)計(jì)也開(kāi)始以ASIC轉(zhuǎn)向FPGA, FPGA正以各種電子產(chǎn)品的形式進(jìn)入了我們?nèi)粘I畹母鱾€(gè)角落。目前以硬件描述語(yǔ)言(Verilog 或 VHDL)所完成的電路設(shè)計(jì),可以經(jīng)過(guò)簡(jiǎn)單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測(cè)試,是現(xiàn)代 IC 設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來(lái)實(shí)現(xiàn)一些基本的邏輯門(mén)電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大
16、多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flipflop)或者其他更加完整的記憶塊。2.1.1 FPGA的發(fā)展歷史 早期的可編程邏輯器件只有可編程只讀存儲(chǔ)器(PROM)、紫外線(xiàn)可擦除只讀存儲(chǔ)器(EPROM)和電可擦除只讀存儲(chǔ)器(E2PROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能。其后出現(xiàn)了一類(lèi)結(jié)構(gòu)上稍復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門(mén)和一個(gè)“或”門(mén)陣列組成,而任意一個(gè)組合邏輯都可以用“與或”表達(dá)式來(lái)描述,所以PLD能以乘積和的形式完成大量的組合邏輯功能。這一階段的產(chǎn)品主要有PAL(可編程陣
17、列邏輯)和GAL(通用陣列邏輯)。 PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構(gòu)成,或門(mén)的輸出可以通過(guò)觸發(fā)器有選擇地被置為寄存狀態(tài)。PAL器件是現(xiàn)場(chǎng)可編程的,它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和E2PROM技術(shù)。還有一類(lèi)結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個(gè)“與”平面和一個(gè)“或”平面構(gòu)成,但是這兩個(gè)平面的連接關(guān)系是可編程的。PLA器件既有現(xiàn)場(chǎng)可編程的,也有掩膜可編程的。在PAL的基礎(chǔ)上又發(fā)展了一種通用陣列邏輯(GAL,Generic ArrayLogic),如GAL16V8、GAL22V10等。它采用了EPROM工藝,實(shí)現(xiàn)了電可擦除、電可改寫(xiě),其輸出結(jié)構(gòu)是
18、可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用。這些早期的PLD器件的一個(gè)共同特點(diǎn)是可以實(shí)現(xiàn)速度特性較好的邏輯功能,但其過(guò)于簡(jiǎn)單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。 為了彌補(bǔ)這一缺陷,20世紀(jì)80年代中期,Altera和Xilinx分別推出了類(lèi)似于PAL結(jié)構(gòu)的擴(kuò)展型CPLD(Complex Programmable Logic Dvice)和與標(biāo)準(zhǔn)門(mén)陣列類(lèi)似的FPGA(FieldProgrammable Gate Array),它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn)。這兩種器件兼容了PLD和通用門(mén)陣列的優(yōu)點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。與
19、門(mén)陣列等其他ASIC(Application Specific IC)相比,它們又具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品不需測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線(xiàn)檢驗(yàn)等優(yōu)點(diǎn),因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)(一般在10 000件以下)之中。幾乎所有應(yīng)用門(mén)陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用FPGA和CPLD器件。FPGA和CPLD的內(nèi)部結(jié)構(gòu)稍有不同。通常,F(xiàn)PGA中的寄存器資源比較豐富,適合同步時(shí)序電路較多的數(shù)字系統(tǒng);CPLD中組合邏輯資源比較豐富,適合組合電路較多的控制應(yīng)用。在這兩類(lèi)可編程邏輯器件中,CPLD提供的邏輯資源較少,而FPGA提供了最高的邏輯密度
20、、最豐富的特性和極高的性能,已經(jīng)在通信、消費(fèi)電子、醫(yī)療、工業(yè)和軍事等各應(yīng)用領(lǐng)域當(dāng)中占據(jù)重要地位。因此,本文主要針對(duì)FPGA進(jìn)行闡述。2.1.2 FPGA基本結(jié)構(gòu)FPGA具有掩膜可編程門(mén)陣列的通用結(jié)構(gòu),它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來(lái)實(shí)現(xiàn)不同的設(shè)計(jì)。FPGA一般由3種可編程電路和一個(gè)用于存放編程數(shù)據(jù)的靜態(tài)存儲(chǔ)器SRAM組成。這3種可編程電路是:可編程邏輯模塊(CLB-Configurable Logic Block)、輸入/輸出模塊(IOB-I/O Block)和互連資源(IRInterconnect Resource)??删幊踢壿嬆KCLB是實(shí)現(xiàn)邏輯功能的基本單
21、元,它們通常規(guī)則的排列成一個(gè)陣列,散布于整個(gè)芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長(zhǎng)度的連接線(xiàn)段和一些可編程連接開(kāi)關(guān),它們將各個(gè)CLB之間或CLB、IOB之間以及IOB之間連接起來(lái),構(gòu)成特定功能的電路。1.CLB是FPGA的主要組成部分。圖2-1是CLB基本結(jié)構(gòu)框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個(gè)邏輯函數(shù)發(fā)生器分別是G、F和H,相應(yīng)的輸出是G 、F和H。G有4個(gè)輸入變量G1、G2、G3和G4;F也有4個(gè)輸入變量F1、F2、F3和F4。這兩個(gè)函數(shù)發(fā)生器是完全獨(dú)立的,均可以實(shí)現(xiàn)4
22、輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個(gè)輸入信號(hào);前兩個(gè)是函數(shù)發(fā)生器的輸出G和F,而另一個(gè)輸入信號(hào)是來(lái)自信號(hào)變換電路的輸出H1。這個(gè)函數(shù)發(fā)生器能實(shí)現(xiàn)3輸入變量的各種組合函數(shù)。這3個(gè)函數(shù)發(fā)生器結(jié)合起來(lái),可實(shí)現(xiàn)多達(dá)9變量的邏輯函數(shù)。CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),通過(guò)對(duì)CLB內(nèi)部數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來(lái)選擇觸發(fā)器的激勵(lì)輸入信號(hào)、時(shí)鐘有效邊沿、時(shí)鐘使能信號(hào)以及輸出信號(hào)。這些數(shù)據(jù)選擇器的地址控制信號(hào)均由編程信息提供,從而實(shí)現(xiàn)所需的電路結(jié)構(gòu)。CLB中的邏輯函數(shù)發(fā)生器F和G均為查找表結(jié)構(gòu),其工作原理類(lèi)似于ROM。
23、F和G的輸入等效于ROM的地址碼,通過(guò)查找ROM中的地址表可以得到相應(yīng)的組合邏輯函數(shù)輸出。另一方面,邏輯函數(shù)發(fā)生器F和G還可以作為器件內(nèi)高速RAM或小的可讀寫(xiě)存儲(chǔ)器使用,它由信號(hào)變換電路控制。2.輸入/輸出模塊IOB。IOB提供了器件引腳和內(nèi)部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成。每個(gè)IOB控制一個(gè)引腳,它們可被配置為輸入、輸出或雙向I/O功能。當(dāng)IOB控制的引腳被定義為輸入時(shí),通過(guò)該引腳的輸入信號(hào)先送入輸入緩沖器。緩沖器的輸出分成兩路:一路可以直接送到MUX,另一路經(jīng)延時(shí)幾納秒(或者不延時(shí))送到輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器。通過(guò)編程給數(shù)據(jù)
24、選擇器不同的控制信息,確定送至CLB陣列的I1和I2是來(lái)自輸入緩沖器,還是來(lái)自觸發(fā)器。當(dāng)IOB控制的引腳被定義為輸出時(shí),CLB陣列的輸出信號(hào)OUT也可以有兩條傳輸途徑:一條是直接經(jīng)MUX送至輸出緩沖器,另一條是先存入輸出通路D觸發(fā)器,再送至輸出緩沖器。IOB輸出端配有兩只MOS管,它們的柵極均可編程,使MOS管導(dǎo)通或截止,分別經(jīng)上拉電阻接通Vcc、地線(xiàn)或者不接通,用以改善輸出波形和負(fù)載能力。CLBCLBCLBCLBCLBBCLBCLBCLBCLBCLBCLBCLBCLBBCLBCLBCLB可編程開(kāi)關(guān)矩輸入輸出模塊互連資源圖2-1 CLB基本結(jié)構(gòu)3.可編程互連資源IR??删幊袒ミB資源IR可以將F
25、PGA內(nèi)部的CLB和CLB之間、CLB和IOB之間連接起來(lái),構(gòu)成各種具有復(fù)雜功能的系統(tǒng)。IR主要由許多金屬線(xiàn)段構(gòu)成,這些金屬線(xiàn)段帶有可編程開(kāi)關(guān),通過(guò)自動(dòng)布線(xiàn)實(shí)現(xiàn)各種電路的連接。2.1.3 FPGA系統(tǒng)設(shè)計(jì)流程一般說(shuō)來(lái),一個(gè)比較大的完整的項(xiàng)目應(yīng)該采用層次化的描述方法:分為幾個(gè)較大的模塊,定義好各功能模塊之間的接口,然后各個(gè)模塊再細(xì)分去具體實(shí)現(xiàn),這就是TOP DOWN(自頂向下)的設(shè)計(jì)方法。目前這種高層次的設(shè)計(jì)方法已被廣泛采用。高層次設(shè)計(jì)只是定義系統(tǒng)的行為特征,可以不涉及實(shí)現(xiàn)工藝,因此還可以在廠(chǎng)家綜合庫(kù)的支持下,利用綜合優(yōu)化工具將高層次描述轉(zhuǎn)換成針對(duì)某種工藝優(yōu)化的網(wǎng)絡(luò)表,使工藝轉(zhuǎn)化變得輕而易舉。C
26、PLD/FPGA系統(tǒng)設(shè)計(jì)的工作流程如圖2-2所示。系統(tǒng)劃分編譯器代碼級(jí)功能仿真綜合器適配前時(shí)序仿真適配器CPLD/FPGA實(shí)現(xiàn)適配后仿真模型適配后時(shí)序仿真適配報(bào)告ASIC實(shí)現(xiàn)VHDL代碼或圖形方式輸入仿真綜合庫(kù)器件編程文件圖2-2 CPLD/FPGA系統(tǒng)設(shè)計(jì)流程流程說(shuō)明:1.工程師按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。2.輸入VHDL代碼,這是設(shè)計(jì)中最為普遍的輸入方式。此外,還可以采用圖形輸入方式(框圖、狀態(tài)圖等),這種輸入方式具有直觀(guān)、容易理解的優(yōu)點(diǎn)。3.將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的VHDL文件。4.進(jìn)行代碼級(jí)的功能仿真,主要是檢驗(yàn)系統(tǒng)功能設(shè)計(jì)的正確性。這一步驟適用于大型設(shè)計(jì),因?yàn)閷?duì)于大型
27、設(shè)計(jì)來(lái)說(shuō),在綜合前對(duì)源代碼仿真,就可以大大減少設(shè)計(jì)重復(fù)的次數(shù)和時(shí)間。一般情況下,這一仿真步驟可略去。在Quartus II用VHDL實(shí)現(xiàn)新建如圖2-3所示圖2-3新建vhdl5.利用綜合器對(duì)VHDL源代碼進(jìn)行綜合優(yōu)化處理,生成門(mén)級(jí)描述的網(wǎng)絡(luò)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對(duì)ASIC芯片供應(yīng)商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過(guò)程要在相應(yīng)的廠(chǎng)家綜合庫(kù)的支持下才能完成。6.利用產(chǎn)生的網(wǎng)絡(luò)表文件進(jìn)行適配前的時(shí)序仿真,仿真過(guò)程不涉及具體器件的硬件特性,是較為粗略的。一般的設(shè)計(jì),也可略去這一步驟。7.利用適配器將綜合后的網(wǎng)絡(luò)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底
28、層器件配置、邏輯分割、邏輯優(yōu)化和布局布線(xiàn)。8.在適配完成后,產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:(a)適配報(bào)告,包括芯片內(nèi)部資源利用情況,設(shè)計(jì)的布爾方程描述情況等;(b)適配后的仿真模型;(c)器件編程文件。根據(jù)適配后的仿真模型,可以進(jìn)行適配后時(shí)序仿真,因?yàn)橐呀?jīng)得到器件的實(shí)際硬件特性(如時(shí)延特性),所以仿真結(jié)果能比較精確的預(yù)期未來(lái)芯片的實(shí)際性能。如果仿真結(jié)果達(dá)不到設(shè)計(jì)要求,就修改VHDL源代碼或選擇不同速度和品質(zhì)的器件,直至滿(mǎn)足設(shè)計(jì)要求。最后將適配器產(chǎn)生的器件編程文件通過(guò)編程器或下載電纜載入到目標(biāo)芯片CPLD/FPGA中。2.1.4 FPGA開(kāi)發(fā)編程原理硬件設(shè)計(jì)需要根據(jù)各種性能指標(biāo)、成本、開(kāi)發(fā)周期等因素,確定最
29、佳的實(shí)現(xiàn)方案,畫(huà)出系統(tǒng)框圖,選擇芯片,設(shè)計(jì)PCB并最終形成樣機(jī)。CPLD/FPGA軟件設(shè)計(jì)可分為兩大塊:編程語(yǔ)言和編程工具。編程語(yǔ)言主要有VHDL和Verilog兩種硬件描述語(yǔ)言;編程工具主要是兩大廠(chǎng)家Altera和Xilinx的集成綜合EDA軟件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGA Express、Modelsim、Synposys SVS等)。具體的設(shè)計(jì)輸入方式有以下幾種:1.HDL語(yǔ)言方式。HDL既可以描述底層設(shè)計(jì),也可以描述頂層的設(shè)計(jì),但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項(xiàng)目最后所能達(dá)到的性能與設(shè)計(jì)
30、人員的水平、經(jīng)驗(yàn)以及綜合軟件有很大的關(guān)系。2.圖形方式??梢苑譃殡娐吩韴D描述,狀態(tài)機(jī)描述和波形描述3種形式。有的軟件3種輸入方法都支持,如Active-HDL。MAX+plusII 圖形輸入方式只支持電路原理圖描述和波形描述兩種。電路原理圖方式描述比較直觀(guān)和高效,對(duì)綜合軟件的要求不高。一般大都使用成熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片可編程邏輯器件的內(nèi)部去,所以硬件工作速度和芯片利用率很高,但是但項(xiàng)目很大的時(shí)候,該方法就顯得有些繁瑣;狀態(tài)機(jī)描述主要用來(lái)設(shè)計(jì)基于狀態(tài)機(jī)思想的時(shí)序電路。在圖形的方式下定義好各個(gè)工作狀態(tài),然后在各個(gè)狀態(tài)上輸入轉(zhuǎn)換條件以及相應(yīng)的輸入輸出,最后生成
31、HDL語(yǔ)言描述,送去綜合軟件綜合到可編程邏輯器件的內(nèi)部。由于狀態(tài)機(jī)到HDL語(yǔ)言有一種標(biāo)準(zhǔn)的對(duì)應(yīng)描述方式,所以這種輸入方式最后所能達(dá)到的工作速度和芯片利用率主要取決于綜合軟件;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關(guān)系。這種輸入方式最后所能達(dá)到的工作速度和芯片利用率也是主要取決于綜合軟件。2.2 RS-232概述EIA RS-232C 是由美國(guó)電子工業(yè)協(xié)會(huì) EIA(Electronic Industry Association)在1969年頒布的一種串行物理接口標(biāo)準(zhǔn)。RS(Recommended Standard)是英文“推薦標(biāo)準(zhǔn)”的縮寫(xiě),232為標(biāo)識(shí)號(hào),C表示修改
32、次數(shù)。RS-232C 總線(xiàn)標(biāo)準(zhǔn)設(shè)有25條信號(hào)線(xiàn),包括一個(gè)主通道和一個(gè)輔助通道。在多數(shù)情況下主要使用主通道,對(duì)于一般雙工通信,僅需幾條信號(hào)線(xiàn)就可實(shí)現(xiàn),如一條發(fā)送線(xiàn)、一條接收線(xiàn)及一條地線(xiàn)。 RS-232C 標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為每秒150、300、600、1200、2400、4800、9600、19200波特。 RS-232C 標(biāo)準(zhǔn)規(guī)定,驅(qū)動(dòng)器允許有2500pF的電容負(fù)載,通信距離將受此電容限制,例如,采用150pF/m的通信電纜時(shí),最大通信距離為15m;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是RS-232屬單端信號(hào)傳送,存在共地噪聲和不能抑制共模干擾等問(wèn)題,因此一般用于
33、20m以?xún)?nèi)的通信。串行通信接口標(biāo)準(zhǔn)經(jīng)過(guò)使用和發(fā)展,目前已經(jīng)有幾種。但都是在RS-232標(biāo)準(zhǔn)的基礎(chǔ)上經(jīng)過(guò)改進(jìn)而形成的。所以,以RS-232C為主來(lái)討論。RS-232C標(biāo)準(zhǔn)是美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開(kāi)發(fā)的1969年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在020000b/s范圍內(nèi)的通信。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口的有關(guān)問(wèn)題,如信號(hào)線(xiàn)功能、電器特性都作了明確規(guī)定。由于通行設(shè)備廠(chǎng)商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備,因此,它作為一種標(biāo)準(zhǔn),目前已在微機(jī)通信接口中廣泛采用。RS-232C 標(biāo)準(zhǔn)(協(xié)議)的全稱(chēng)是 EIA-RS-232C 標(biāo)準(zhǔn),其中EIA (Electronic Indu
34、stry Association)代表美國(guó)電子工業(yè)協(xié)會(huì),RS(recommeded standard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識(shí)號(hào),C代表RS232的最新一次修改(1969),在這之前,有RS232B、RS232A。它規(guī)定連接電纜和機(jī)械、電氣特性、信號(hào)功能及傳送過(guò)程。例如,目前在IBM PC機(jī)上的COM1、COM2接口,就是RS-232C接口。2.2.1 RS-232電氣特性EIA-RS-232C 對(duì)電器特性、邏輯電平和各種信號(hào)線(xiàn)功能都作了規(guī)定。 在TxD和RxD上: 邏輯1(MARK)=-3V-15V 邏輯0(SPACE)=+3+15V 在RTS、CTS、DSR、DTR和DCD等控制線(xiàn)上:
35、信號(hào)有效(接通,ON狀態(tài),正電壓)+3V+15V 信號(hào)無(wú)效(斷開(kāi),OFF狀態(tài),負(fù)電壓)=-3V-15V 以上規(guī)定說(shuō)明了RS-232C標(biāo)準(zhǔn)對(duì)邏輯電平的定義。對(duì)于數(shù)據(jù)(信息碼):邏輯“1”(傳號(hào))的電平低于-3V,邏輯“0”(空號(hào))的電平高于+3V;對(duì)于控制信號(hào);接通狀態(tài)(ON)即信號(hào)有效的電平高于+3V,斷開(kāi)狀態(tài)(OFF)即信號(hào)無(wú)效的電平低于-3V,也就是當(dāng)傳輸電平的絕對(duì)值大于3V時(shí),電路可以有效地檢查出來(lái),介于-3+3V之間的電壓無(wú)意義,低于-15V或高于+15V的電壓也認(rèn)為無(wú)意義,因此,實(shí)際工作時(shí),應(yīng)保證電平在±(315)V之間。 EIA RS-232C 與TTL轉(zhuǎn)換:EIA RS
36、-232C 是用正負(fù)電壓來(lái)表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)接口或終端的TTL器件連接,必須在EIA RS-232C 與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。目前較為廣泛地使用集成電路轉(zhuǎn)換器件,如MC1488、SN75150芯片可完成TTL電平到EIA電平的轉(zhuǎn)換,而MC1489、SN75154可實(shí)現(xiàn)EIA電平到TTL電平的轉(zhuǎn)換。MAX232芯片可完成TTLEIA雙向電平轉(zhuǎn)換。 2.2.2 RS-232連接器的機(jī)械特性連接器:由于RS-232C并未定義連接器的物理特性,因此,出現(xiàn)了DB-25、DB-
37、15和DB-9各種類(lèi)型的連接器,其引腳的定義也各不相同。下面分別介紹兩種連接器。 (1)DB-25: PC和XT機(jī)采用DB-25型連接器。DB-25連接器定義了25根信號(hào)線(xiàn),分為4組: 異步通信的9個(gè)電壓信號(hào)(含信號(hào)地SG)2,3,4,5,6,7,8,20,22 20mA電流環(huán)信號(hào) 9個(gè)(12,13,14,15,16,17,19,23,24) 空6個(gè)(9,10,11,18,21,25) 保護(hù)地(PE)1個(gè),作為設(shè)備接地端(1腳) 注意,20mA電流環(huán)信號(hào)僅IBM PC和IBM PC/XT機(jī)提供,至AT機(jī)及以后,已不支持。 (2)DB-9: 在AT機(jī)及以后,不支持20mA電流環(huán)接口,使用DB-9
38、連接器,作為提供多功能I/O卡或主板上COM1和COM2兩個(gè)串行接口的連接器。它只提供異步通信的9個(gè)信號(hào)。DB-25型連接器的引腳分配與DB-25型引腳信號(hào)完全不同。因此,若與配接DB-25型連接器的DCE設(shè)備連接,必須使用專(zhuān)門(mén)的電纜線(xiàn)。 電纜長(zhǎng)度:在通信速率低于20kb/s時(shí),RS-232C 所直接連接的最大物理距離為15m(50英尺)。 最大直接傳輸距離說(shuō)明:RS-232C標(biāo)準(zhǔn)規(guī)定,若不使用MODEM,在碼元畸變小于4%的情況下,DTE和DCE之間最大傳輸距離為15m(50英尺)。可見(jiàn)這個(gè)最大的距離是在碼元畸變小于4%的前提下給出的。為了保證碼元畸變小于4%的要求,接口標(biāo)準(zhǔn)在電氣特性中規(guī)定
39、,驅(qū)動(dòng)器的負(fù)載電容應(yīng)小于2500pF。2.2.3 RS-232的接口信號(hào)RS-232 的功能特性定義了25芯標(biāo)準(zhǔn)連接器中的20根信號(hào)線(xiàn),其中2條地線(xiàn)、4條數(shù)據(jù)線(xiàn)、11條控制線(xiàn)、3條定時(shí)信號(hào)線(xiàn),剩下的5根線(xiàn)作備用或未定義。常用的只有10根,它們是: (1)聯(lián)絡(luò)控制信號(hào)線(xiàn): 數(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)
40、始進(jìn)行通信了,能否開(kāi)始進(jìn)行通信要由下面的控制信號(hào)決定。 請(qǐng)求發(fā)送(Request to send-RTS)用來(lái)表示DTE請(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ù)線(xiàn)TxD發(fā)送數(shù)據(jù)。 這對(duì)RTS/CTS請(qǐng)求應(yīng)答聯(lián)絡(luò)信號(hào)是用于半雙工MODEM系統(tǒng)中發(fā)送方式和接收方式之間的切換。在全雙工系統(tǒng)中,因配置雙
41、向通道,故不需要RTS/CTS聯(lián)絡(luò)信號(hào),使其變高。 接收線(xiàn)信號(hào)檢出(Received Line detection-RLSD)用來(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ù)線(xiàn)RxD送到終端。此線(xiàn)也叫做數(shù)據(jù)載波檢出(Data Carrier dectection-DCD)線(xiàn)。 振鈴指示(Ringing-RI)當(dāng)MODEM收到交換臺(tái)送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效(ON狀態(tài)),通知終端,已被呼叫。 (2)數(shù)據(jù)發(fā)
42、送與接收線(xiàn): 發(fā)送數(shù)據(jù)(Transmitted data-TxD)通過(guò)TxD終端將串行數(shù)據(jù)發(fā)送到MODEM,(DTEDCE)。 接收數(shù)據(jù)(Received data-RxD)通過(guò)RxD線(xiàn)終端接收從MODEM發(fā)來(lái)的串行數(shù)據(jù),(DCEDTE)。 (3)地線(xiàn) : GND、Siq.GND保護(hù)地和信號(hào)地,無(wú)方向。 上述控制信號(hào)線(xiàn)何時(shí)有效,何時(shí)無(wú)效的順序表示了接口信號(hào)的傳送過(guò)程。例如,只有當(dāng)DSR和DTR都處于有效(ON)狀態(tài)時(shí),才能在DTE和DCE之間進(jìn)行傳送操作。若DTE要發(fā)送數(shù)據(jù),則預(yù)先將DTR線(xiàn)置成有效(ON)狀態(tài),等CTS線(xiàn)上收到有效(ON)狀態(tài)的回答后,才能在TxD線(xiàn)上發(fā)送串行數(shù)據(jù)。這種順序的
43、規(guī)定對(duì)半雙工的通信線(xiàn)路特別有用,因?yàn)榘腚p工的通信才能確定DCE已由接收方向改為發(fā)送方向,這時(shí)線(xiàn)路才能開(kāi)始發(fā)送。 2個(gè)數(shù)據(jù)信號(hào):發(fā)送TXD;接收RXD。 1個(gè)信號(hào)地線(xiàn):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)的載波信
44、號(hào)時(shí),使DCD有效,通知DTE準(zhǔn)備接收, 并且由DCE將接收到的載波信號(hào)解調(diào)為數(shù)字信號(hào), 經(jīng)RXD線(xiàn)送給DTE。 RI 振鈴信號(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)線(xiàn)和一根信號(hào)返回線(xiàn)而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。 (4)傳輸距
45、離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺(實(shí)際15米)。3 RS-232串口通信控制器硬件設(shè)計(jì)方案 在RS-232串口通信控制器設(shè)計(jì)中,一共包括鎖相環(huán),模式選擇,接受模塊和發(fā)送模塊設(shè)計(jì)四部分。3.1 鎖相環(huán)設(shè)計(jì)壓控振蕩器(用來(lái)產(chǎn)生信號(hào)),故名思議是根據(jù)輸入的信號(hào)的電壓(該電壓是輸入信號(hào)與標(biāo)準(zhǔn)信號(hào)的誤差)來(lái)調(diào)整控制他本身輸出信號(hào)的頻率和相位(頻率的變化會(huì)導(dǎo)致相位的變化),因?yàn)槭莻€(gè)環(huán)路,所以然后再與輸入信號(hào)比較,直至沒(méi)有誤差時(shí),這時(shí)壓控振蕩器的輸入為零,那么其輸出就不變了。從而能穩(wěn)定鎖住輸入信號(hào)的相位,故名鎖相環(huán)。鎖相環(huán)如圖3-1所示。圖3-1 鎖相環(huán)設(shè)計(jì)流程鎖相環(huán)由鑒相器、環(huán)路濾波器和壓控振蕩器組成
46、。鑒相器用來(lái)鑒別輸入信號(hào)之間的相位差 ,并輸出誤差電壓。誤差電壓中的噪聲和干擾成分被低通性質(zhì)的環(huán)路濾波器濾除 ,形成壓控振蕩器(VCO)的控制電壓??刂齐妷鹤饔糜趬嚎卣袷幤鞯慕Y(jié)果是把它的輸出振蕩頻率。振蕩頻率拉向環(huán)路輸入信號(hào)頻率,當(dāng)二者相等時(shí),環(huán)路被鎖定 。鎖相環(huán)在圖中的用途是可以在收、發(fā)通信雙方建立載波同步或位同步。可以使時(shí)鐘倍頻增加,例如從圖中的25MHz變成50MHz可以使時(shí)鐘的相位穩(wěn)定3.2 模式選擇模塊設(shè)計(jì)圖3-2 模式選擇設(shè)計(jì)流程模式選擇模塊實(shí)現(xiàn)對(duì)于按鍵模式輸入進(jìn)行判斷,對(duì)于不同輸入命令,進(jìn)行解析,得到發(fā)送與接收使能模式輸出,使功能實(shí)現(xiàn)時(shí)分操作的目的。模式選擇模塊輸入?yún)f(xié)議分為以下兩
47、類(lèi):1 如果輸入值是0B01時(shí),接收模塊使能輸出,同時(shí),屏蔽發(fā)送模塊使能;2 如果輸入值是0B10時(shí),發(fā)送模塊使能輸出,同時(shí),屏蔽接收模塊使能。模式選擇模塊實(shí)現(xiàn)“軟件開(kāi)關(guān)”的作用,在每一功能時(shí)刻,保證串口控制器工作在一種模式之中,防止軟件程序“競(jìng)爭(zhēng)”,從而造成“死鎖”現(xiàn)象發(fā)生,充分保證設(shè)計(jì)的安全性與運(yùn)行的可靠性。3.3 接收模塊設(shè)計(jì)串口接收模塊針對(duì)于接收串行數(shù)據(jù)進(jìn)行協(xié)議包的解析,實(shí)現(xiàn)串行數(shù)據(jù)輸入,并行數(shù)據(jù)輸出的功能,從接收判斷的角度,實(shí)現(xiàn)了對(duì)于串口協(xié)議的解析功能。串口接收模塊,輸入控制信號(hào)分為:1 16位波特率分頻系數(shù)輸入端:其值表示對(duì)于系統(tǒng)50Mhz時(shí)鐘分頻的結(jié)果,實(shí)現(xiàn)對(duì)于不同波特率產(chǎn)生的分
48、頻輸入,可以方便調(diào)節(jié)不同模式下的波特率,實(shí)現(xiàn)參數(shù)化設(shè)計(jì)。2 2位數(shù)據(jù)位輸入控制位:當(dāng)前輸入表示串口控制協(xié)議中,數(shù)據(jù)位的寬度,其中“01”表示數(shù)據(jù)位為7位,“10”表示數(shù)據(jù)位為8位,“11”表示數(shù)據(jù)位為9位,“00”表示當(dāng)前設(shè)置無(wú)效。3 2位校驗(yàn)位輸入控制位:當(dāng)前輸入表示串口控制協(xié)議中,校驗(yàn)?zāi)J降倪x擇,其中 “01”表示奇數(shù)校驗(yàn),“10” 表示偶數(shù)校驗(yàn),“11” 表示無(wú)校驗(yàn),“00”表示當(dāng)前設(shè)置無(wú)效。 4 1位停止位輸入控制:當(dāng)前輸入表示串口控制協(xié)議中,停止位的模式選擇,其中“0”表示1位停止位,“1”表示2位停止位。串口接收模塊,輸出控制信號(hào)分為:1 數(shù)據(jù)有效信號(hào):0表示數(shù)據(jù)無(wú)效,1表示數(shù)據(jù)有
49、效2 并行9位輸出數(shù)據(jù):表示當(dāng)前串口協(xié)議解釋后,7至9位并行數(shù)據(jù)輸出。圖3-3 接收模塊設(shè)計(jì)3.4 發(fā)送模塊設(shè)計(jì)串口發(fā)送模塊針對(duì)于接收并行數(shù)據(jù)進(jìn)行協(xié)議的組包設(shè)計(jì),實(shí)現(xiàn)并行數(shù)據(jù)輸入,串行數(shù)據(jù)輸出的功能,從發(fā)送的角度,實(shí)現(xiàn)了對(duì)于串口協(xié)議的組合功能。發(fā)送模塊設(shè)計(jì)與接收模塊類(lèi)似,依然針對(duì)波特率,數(shù)據(jù)位,校驗(yàn)位,停止位進(jìn)行控制,實(shí)現(xiàn)全雙向的串口通信控制功能。圖3-4發(fā)送設(shè)計(jì)流程串口發(fā)送模塊,輸入控制信號(hào)分為:1 16位波特率分頻系數(shù)輸入端:其值表示對(duì)于系統(tǒng)50Mhz時(shí)鐘分頻的結(jié)果,實(shí)現(xiàn)對(duì)于不同波特率產(chǎn)生的分頻輸入,可以方便調(diào)節(jié)不同模式下的波特率,實(shí)現(xiàn)參數(shù)化設(shè)計(jì)。2 2位數(shù)據(jù)位輸入控制位:當(dāng)前輸入表示串口
50、控制協(xié)議中,數(shù)據(jù)位的寬度,其中“01”表示數(shù)據(jù)位為7位,“10”表示數(shù)據(jù)位為8位,“11”表示數(shù)據(jù)位為9位,“00”表示當(dāng)前設(shè)置無(wú)效。3 2位校驗(yàn)位輸入控制位:當(dāng)前輸入表示串口控制協(xié)議中,校驗(yàn)?zāi)J降倪x擇,其中 “01”表示奇數(shù)校驗(yàn),“10” 表示偶數(shù)校驗(yàn),“11” 表示無(wú)校驗(yàn),“00”表示當(dāng)前設(shè)置無(wú)效。 4 1位停止位輸入控制:當(dāng)前輸入表示串口控制協(xié)議中,停止位的模式選擇,其中“0”表示1位停止位,“1”表示2位停止位。串口發(fā)送模塊,輸出控制信號(hào)分為:1 數(shù)據(jù)輸出有效指示信號(hào):0表示數(shù)據(jù)無(wú)效,1表示數(shù)據(jù)有效2 串行輸出數(shù)據(jù):表示對(duì)于控制協(xié)議解析后,對(duì)于原配置并行數(shù)據(jù)的串并轉(zhuǎn)換后的協(xié)議輸出。4
51、RS-232控制器軟件設(shè)計(jì)本設(shè)計(jì)基于VHDL語(yǔ)言設(shè)計(jì),實(shí)現(xiàn)了基于FPGA的硬件邏輯設(shè)計(jì),從設(shè)計(jì)方式上,具有高度的靈活性,與可移植性,便于系統(tǒng)二次開(kāi)發(fā)與項(xiàng)目集成整合,符合未來(lái)發(fā)展趨勢(shì)。其中,軟件設(shè)計(jì)內(nèi)容,主要針對(duì)于不同模塊進(jìn)行說(shuō)明,對(duì)于RS-232工作過(guò)程,進(jìn)行匹配解析。4.1 模式選擇模塊軟件設(shè)計(jì) 模式選擇模塊整體工作流程如圖4-1所示:圖4-1模式判斷模塊工作流程模式判斷模塊的軟件程序,主要包括以下實(shí)體部分:entity mode_sel isport( clr: in std_logic; clk: in std_logic; mode_sel: in std_logic_vector(1
52、 downto 0); receive_enable : out std_logic; send_enable : out std_logic );end entity mode_sel;其仿真波形圖,如圖4-2所示:圖4-2模式判斷模塊仿真波形圖4.2 接收模塊軟件設(shè)計(jì)當(dāng)模式判斷為接收模塊,就先要對(duì)接收來(lái)的數(shù)據(jù)進(jìn)行判斷。具體過(guò)程:第一步輸入數(shù)據(jù)產(chǎn)生波特率(表示對(duì)于時(shí)鐘的分頻), 產(chǎn)生波特率時(shí)鐘然后進(jìn)入數(shù)據(jù)指示,0表示數(shù)據(jù)無(wú)效,1表示數(shù)據(jù)有效;如果有效就進(jìn)入指示模塊工作啟示。第二步在一起正常的時(shí)候就進(jìn)行起始位寄存器,先判斷起始位,判斷起始位幾個(gè)周期,一般只有1到2位起始位;然后進(jìn)入數(shù)據(jù)寄存器,
53、判斷有幾位數(shù)據(jù)(一般是8-10個(gè)),01表示7位,10表示8位,11表示9位,00表示無(wú)效,然后輸出數(shù)據(jù),7至9位并行數(shù)據(jù)輸出;再進(jìn)入校驗(yàn)寄存器,如果是01表示奇數(shù)校驗(yàn),10表示偶數(shù)校驗(yàn),11表示無(wú)校驗(yàn),00表示無(wú)效;最后到停止位寄存器,判斷停止位有多長(zhǎng),0表示1位,1表示2位。第三步實(shí)現(xiàn)串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),然后就將其數(shù)據(jù)進(jìn)行提取,提取的數(shù)據(jù)在判斷校驗(yàn)是否有效,如果校驗(yàn)的數(shù)據(jù)有效就進(jìn)行輸出,若無(wú)效就結(jié)束。接收模塊的軟件程序,主要包括以下實(shí)體部分:entity rec_judge isport( clr: in std_logic; clk: in std_logic; judge_enab
54、le: in std_logic; data_input: in std_logic; baud_rate : in std_logic_vector(15 downto 0); data_bit : in std_logic_vector(1 downto 0); check_bit : in std_logic_vector(1 downto 0); end_bit : in std_logic; data_valid : out std_logic data_output: out std_logic_vector(8 downto 0)、 );end entity rec_judge;
55、其中,clr為復(fù)位信號(hào)輸入,clk為50Mhz系統(tǒng)時(shí)鐘輸入,judge_enable為接收使能控制信號(hào)輸入,data_input為串行輸入數(shù)據(jù)。 其仿真波形圖,如圖4-3所示:圖4-3 接收模塊仿真波形圖4.3 發(fā)送模塊軟件設(shè)計(jì)當(dāng)模式判斷為發(fā)送模塊,就先要對(duì)發(fā)送來(lái)的數(shù)據(jù)進(jìn)行判斷。具體過(guò)程:第一步輸入數(shù)據(jù)產(chǎn)生波特率(表示對(duì)于時(shí)鐘的分頻), 產(chǎn)生波特率時(shí)鐘然后進(jìn)入數(shù)據(jù)指示,0表示數(shù)據(jù)無(wú)效,1表示數(shù)據(jù)有效;如果有效就進(jìn)入指示模塊工作啟示。數(shù)據(jù)長(zhǎng)度是13位最大;第二步在一起正常的時(shí)候就進(jìn)行起始位寄存器,先判斷起始位,判斷起始位周期,一般只有1到2位起始位;然后進(jìn)入數(shù)據(jù)寄存器,判斷有幾位數(shù)據(jù)(一般是8-10個(gè)),01表示7位,10表示8位,11表示9位,00表示無(wú)效,然后輸出數(shù)據(jù),7至9位并行數(shù)據(jù)輸出;再進(jìn)入校驗(yàn)寄存器,如果是0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人企業(yè)經(jīng)營(yíng)周轉(zhuǎn)貸款抵押合同模板2篇
- 二零二五年度綠色生態(tài)農(nóng)業(yè)項(xiàng)目合同書(shū)4篇
- 2025年度個(gè)人抵押車(chē)借款數(shù)據(jù)安全保密合同
- 2025年度農(nóng)業(yè)廢棄物資源化利用技術(shù)服務(wù)合同8篇
- 2025年度噴砂機(jī)銷(xiāo)售與產(chǎn)業(yè)升級(jí)合作合同4篇
- 課題申報(bào)參考:面向深度學(xué)習(xí)雙向調(diào)節(jié)學(xué)習(xí)困惑:聚焦多模態(tài)診斷與調(diào)節(jié)支架設(shè)計(jì)的研究
- 2025年度家庭影院定制裝修服務(wù)合同范本
- 2025版智能爬架租賃與維護(hù)一體化服務(wù)合同4篇
- 2025年建筑工程流動(dòng)資金借款合同終止條款3篇
- 2025年度新型斷橋門(mén)窗安裝與節(jié)能改造合同4篇
- 2024年山東省泰安市高考語(yǔ)文一模試卷
- 五年級(jí)上冊(cè)計(jì)算題大全1000題帶答案
- 工程建設(shè)行業(yè)標(biāo)準(zhǔn)內(nèi)置保溫現(xiàn)澆混凝土復(fù)合剪力墻技術(shù)規(guī)程
- 北師大版物理九年級(jí)全一冊(cè)課件
- 2024年第三師圖木舒克市市場(chǎng)監(jiān)督管理局招錄2人《行政職業(yè)能力測(cè)驗(yàn)》高頻考點(diǎn)、難點(diǎn)(含詳細(xì)答案)
- RFJ 006-2021 RFP型人防過(guò)濾吸收器制造與驗(yàn)收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 新概念英語(yǔ)課件NCE3-lesson15(共34張)
- GB/T 3683-2023橡膠軟管及軟管組合件油基或水基流體適用的鋼絲編織增強(qiáng)液壓型規(guī)范
- 電視劇《瑯琊榜》特色分析
- 5A+Chapter+1+Changes+at+home+課件(新思維小學(xué)英語(yǔ))
評(píng)論
0/150
提交評(píng)論