EDA技術(shù)與VHDL設(shè)計(jì)(西電版)第9章-數(shù)字電子系統(tǒng)設(shè)計(jì)及典型實(shí)例課件_第1頁(yè)
EDA技術(shù)與VHDL設(shè)計(jì)(西電版)第9章-數(shù)字電子系統(tǒng)設(shè)計(jì)及典型實(shí)例課件_第2頁(yè)
EDA技術(shù)與VHDL設(shè)計(jì)(西電版)第9章-數(shù)字電子系統(tǒng)設(shè)計(jì)及典型實(shí)例課件_第3頁(yè)
EDA技術(shù)與VHDL設(shè)計(jì)(西電版)第9章-數(shù)字電子系統(tǒng)設(shè)計(jì)及典型實(shí)例課件_第4頁(yè)
EDA技術(shù)與VHDL設(shè)計(jì)(西電版)第9章-數(shù)字電子系統(tǒng)設(shè)計(jì)及典型實(shí)例課件_第5頁(yè)
已閱讀5頁(yè),還剩135頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第9章 數(shù)字電子系統(tǒng)設(shè)計(jì)及典型實(shí)例 9.1 數(shù)字電子系統(tǒng)的構(gòu)成 9.2 數(shù)字電子系統(tǒng)設(shè)計(jì)基本流程 9.3 數(shù)字電子系統(tǒng)設(shè)計(jì)實(shí)例 9.1 數(shù)字電子系統(tǒng)的構(gòu)成數(shù)字電子系統(tǒng)通過(guò)數(shù)字電路邏輯器件,以數(shù)字方式對(duì)信息進(jìn)行處理、傳送或存儲(chǔ),來(lái)實(shí)現(xiàn)其特定的、復(fù)雜的功能。從功能上,數(shù)字電子系統(tǒng)通??梢苑譃橄到y(tǒng)接口、數(shù)據(jù)處理器和控制器三個(gè)部分,如圖9-1所示。圖9-1 數(shù)字電子系統(tǒng)的構(gòu)成 其中,系統(tǒng)接口是完成將物理量轉(zhuǎn)化為數(shù)字量或?qū)?shù)字量轉(zhuǎn)化為物理量的功能部件,例如鍵盤(pán)、打印機(jī)、音響系統(tǒng)、顯示系統(tǒng)等;數(shù)據(jù)處理器的主要功能是實(shí)現(xiàn)對(duì)數(shù)字信息的處理,在接受控制命令,執(zhí)行相應(yīng)動(dòng)作的同時(shí),還將自身的狀態(tài)反饋給控制部分,其邏

2、輯功能常常可分解為若干個(gè)子處理單元來(lái)完成,例如譯碼器、運(yùn)算器等;控制器的功能則是接收外部輸入信號(hào),以及數(shù)據(jù)處理器反饋的信號(hào),管理各個(gè)子系統(tǒng)的局部及整個(gè)系統(tǒng)按規(guī)定順序工作。一般情況下,系統(tǒng)接口、數(shù)據(jù)處理器可通過(guò)組合電路或時(shí)序電路構(gòu)成;控制器由同步時(shí)序電路構(gòu)成。而這些數(shù)字邏輯電路都可以通過(guò)可編程邏輯器件(CPLD/FPGA)來(lái)實(shí)現(xiàn)。隨著可編程邏輯器件的集成度和功能的日益提高,一個(gè)可編程邏輯器件芯片除了有豐富的數(shù)字邏輯資源外,還含有一個(gè)或多個(gè)主要功能模塊(如CPU、數(shù)字信號(hào)處理器核和其他的專(zhuān)門(mén)處理功能模塊)、嵌入式存儲(chǔ)器功能塊以及通用或?qū)S肐/O功能塊等。這樣,一個(gè)芯片就可以構(gòu)成一個(gè)完整的數(shù)字電子系

3、統(tǒng)(片上可編程系統(tǒng)SOPC,System on Programmable Chip)。9.2 數(shù)字電子系統(tǒng)設(shè)計(jì)基本流程在現(xiàn)代電子系統(tǒng)設(shè)計(jì)領(lǐng)域,EDA技術(shù)已經(jīng)成為電子系統(tǒng)設(shè)計(jì)的重要手段?;贓DA技術(shù)及VHDL的數(shù)字電子系統(tǒng)是采用自頂向下和層次化結(jié)構(gòu)建模的方法來(lái)進(jìn)行設(shè)計(jì)的,其基本的設(shè)計(jì)流程如下:1分析設(shè)計(jì)要求進(jìn)行數(shù)字電子系統(tǒng)設(shè)計(jì),首先要正確理解項(xiàng)目的任務(wù)、要求和指標(biāo)。例如:設(shè)計(jì)一個(gè)數(shù)字電子鐘系統(tǒng),需要理解數(shù)字電子鐘的基本功能,工作原理,輸入、輸出端口,顯示方式,測(cè)試精度等相關(guān)知識(shí),這些基本概念是提出設(shè)計(jì)方案的前提和依據(jù),也是完成整個(gè)設(shè)計(jì)任務(wù)的關(guān)鍵。相關(guān)設(shè)計(jì)項(xiàng)目的技術(shù)資料可以通過(guò)搜尋相關(guān)網(wǎng)站或查閱

4、參考文獻(xiàn)完成。2確定方案根據(jù)設(shè)計(jì)任務(wù)的總體框架、技術(shù)指標(biāo),找出可以實(shí)現(xiàn)設(shè)計(jì)任務(wù)的不同方案,然后從可行性、性能價(jià)格比、復(fù)雜度、可靠性、通用性、擴(kuò)展性、工作速度、所需器件的資源、成本等多方面進(jìn)行分析、計(jì)算和比較,選擇出合適、高效、穩(wěn)定的設(shè)計(jì)方案。在方案確定中,需要考慮的一個(gè)關(guān)鍵因素是系統(tǒng)實(shí)現(xiàn)的最終硬件環(huán)境,也就是CPLD/FPGA器件的選型。選型一般采取兩步走的方式:首先采用CPLD/FPGA適配板或開(kāi)發(fā)板來(lái)實(shí)現(xiàn)既定功能,在設(shè)計(jì)項(xiàng)目確保驗(yàn)證無(wú)誤后,再轉(zhuǎn)化成實(shí)際的電子系統(tǒng)。在選擇硬件開(kāi)發(fā)環(huán)境時(shí)需要考慮三個(gè)方面:一是適用目標(biāo)芯片的型號(hào)以及開(kāi)發(fā)系統(tǒng)的類(lèi)別和型號(hào);二是確認(rèn)開(kāi)發(fā)系統(tǒng)提供的輸入端外圍硬件資源(

5、如獨(dú)立或矩陣按鍵、鍵盤(pán)、晶振、A/D轉(zhuǎn)化器等)是否需要擴(kuò)展,穩(wěn)定性如何;三是確認(rèn)開(kāi)發(fā)系統(tǒng)提供的輸出端外圍硬件資源,如數(shù)碼管、液晶顯示器、受控器、驅(qū)動(dòng)器、D/A轉(zhuǎn)換器、揚(yáng)聲器、各種接插件等,判斷是否需要擴(kuò)展外圍電路,同時(shí)這些硬件資源也是目標(biāo)芯片鎖定引腳的依據(jù)。3細(xì)化設(shè)計(jì)方案確定設(shè)計(jì)方案后,需要把設(shè)計(jì)項(xiàng)目分解成若干個(gè)功能清晰、易于設(shè)計(jì)的模塊,構(gòu)成層次化設(shè)計(jì)方案的結(jié)構(gòu)框圖,再將結(jié)構(gòu)框圖從粗至細(xì),步步細(xì)化,直到每個(gè)模塊易于實(shí)現(xiàn)為止。要明確每一個(gè)模塊的基本功能(任務(wù))、輸入/輸出端口以及各模塊間的接口信號(hào)、控制關(guān)系,使之合情合理,滿足設(shè)計(jì)要求。4. 設(shè)計(jì)模塊電路設(shè)計(jì)模塊電路時(shí),首先需明確各模塊的工作原理

6、、設(shè)計(jì)思路。根據(jù)實(shí)際需要,可選取原理圖或HDL語(yǔ)言描述方式來(lái)實(shí)現(xiàn)。一個(gè)好的設(shè)計(jì)構(gòu)思,應(yīng)簡(jiǎn)單明了、結(jié)構(gòu)清晰、易于擴(kuò)充,這不僅能提高設(shè)計(jì)效率,而且能有好的設(shè)計(jì)方案。每完成一個(gè)模塊設(shè)計(jì),都要進(jìn)行仿真測(cè)試,檢驗(yàn)每一個(gè)模塊能否實(shí)現(xiàn)預(yù)定的技術(shù)指標(biāo),及時(shí)發(fā)現(xiàn)問(wèn)題并予以修正,確保設(shè)計(jì)工作順利進(jìn)行。5設(shè)計(jì)頂層模塊頂層模塊設(shè)計(jì)實(shí)際是將底層模塊電路級(jí)聯(lián)起來(lái),形成整體電路。對(duì)頂層模塊進(jìn)行仿真測(cè)試時(shí),如果頂層電路出現(xiàn)異常,問(wèn)題大多來(lái)源于底層電路或總體設(shè)計(jì)方案,應(yīng)及時(shí)排除故障,反復(fù)測(cè)試推敲。6適配下載根據(jù)選定的目標(biāo)芯片的編程接口、編程模式、配置器件等,鎖定管腳適配下載。7硬件驗(yàn)證進(jìn)行硬件驗(yàn)證的目的,一方面是實(shí)際檢驗(yàn)?zāi)繕?biāo)芯

7、片的邏輯功能,另一方面是檢驗(yàn)系統(tǒng)電路的響應(yīng)速度、帶載能力、抗干擾能力、電能損耗等多項(xiàng)性能指標(biāo)。只有對(duì)目標(biāo)芯片編程下載成功并通過(guò)了硬件驗(yàn)證的設(shè)計(jì)項(xiàng)目才會(huì)是合格的項(xiàng)目。當(dāng)然,對(duì)于不同的設(shè)計(jì)項(xiàng)目,進(jìn)行硬件驗(yàn)證的方式、方法、手段都可能有所不同。8文件歸檔和撰寫(xiě)設(shè)計(jì)總結(jié)報(bào)告當(dāng)硬件測(cè)試結(jié)果符合設(shè)計(jì)要求后,最后的工作即是文件歸檔和撰寫(xiě)設(shè)計(jì)總結(jié)報(bào)告。文件歸檔指將所有設(shè)計(jì)文件歸納整理,刪除不必要的中間文件,保留最終版本的設(shè)計(jì)文件。設(shè)計(jì)總結(jié)報(bào)告是設(shè)計(jì)者對(duì)整個(gè)設(shè)計(jì)進(jìn)程的工作業(yè)績(jī)、收獲體會(huì)的全面總結(jié)。在撰寫(xiě)設(shè)計(jì)總結(jié)報(bào)告時(shí),其內(nèi)容次序應(yīng)盡量與設(shè)計(jì)過(guò)程一致。設(shè)計(jì)報(bào)告一般包括設(shè)計(jì)思路、電路結(jié)構(gòu)選擇依據(jù)、實(shí)現(xiàn)關(guān)鍵技術(shù)指標(biāo)的理

8、論依據(jù)和計(jì)算公式、核心模塊的工作原理等,并輔以必要的整體/局部原理電路、仿真分析、HDL語(yǔ)言注釋、各模塊的端口名稱(chēng)定義、各圖表的編號(hào)說(shuō)明等。設(shè)計(jì)報(bào)告中對(duì)設(shè)計(jì)成果的檢測(cè)方法和結(jié)果必須真實(shí)可靠,同時(shí),對(duì)設(shè)計(jì)成果的不足之處以及改進(jìn)措施也可以寫(xiě)進(jìn)報(bào)告之中。設(shè)計(jì)總結(jié)報(bào)告的撰寫(xiě),不僅可使設(shè)計(jì)者自身在理論分析、應(yīng)用技術(shù)、實(shí)踐能力上有所提高,也可為他人使用或者修改系統(tǒng)設(shè)計(jì)項(xiàng)目提供完整的第一手資料。9.3 數(shù)字電子系統(tǒng)設(shè)計(jì)實(shí)例本節(jié)以數(shù)字跑表的設(shè)計(jì)、交通信號(hào)燈控制系統(tǒng)的設(shè)計(jì)以及離線誤碼檢測(cè)儀的設(shè)計(jì)共三個(gè)實(shí)例來(lái)進(jìn)一步說(shuō)明數(shù)字電子系統(tǒng)的設(shè)計(jì)。9.3.1 數(shù)字跑表的設(shè)計(jì)1設(shè)計(jì)要求數(shù)字跑表是體育比賽中常用的計(jì)時(shí)儀器。它使

9、用簡(jiǎn)單、攜帶方便,通過(guò)按鍵控制計(jì)時(shí)的起點(diǎn)和終點(diǎn),其主要技術(shù)指標(biāo)是計(jì)時(shí)精度和計(jì)時(shí)范圍。本例設(shè)計(jì)的數(shù)字跑表計(jì)時(shí)精度為10毫秒,計(jì)時(shí)范圍為0分00秒00毫秒59分59秒99毫秒,具有復(fù)位、開(kāi)始計(jì)時(shí)、停止計(jì)時(shí)及顯示等功能。2確定方案通過(guò)對(duì)設(shè)計(jì)要求的分析可以看出,數(shù)字跑表的核心功能就是控制、計(jì)時(shí)和顯示。計(jì)時(shí)功能可以通過(guò)計(jì)數(shù)器來(lái)實(shí)現(xiàn),顯示功能可以通過(guò)對(duì)8位數(shù)碼管掃描控制來(lái)實(shí)現(xiàn);而復(fù)位、開(kāi)始計(jì)時(shí)、停止計(jì)時(shí)功能實(shí)際上是對(duì)計(jì)數(shù)器進(jìn)行控制,可通過(guò)按鍵輸入信號(hào)控制計(jì)數(shù)器是否清零、是否開(kāi)始或停止計(jì)數(shù)來(lái)實(shí)現(xiàn)。由此可得出數(shù)字跑表的系統(tǒng)總體設(shè)計(jì)框圖,如圖9-2所示。圖9-2 數(shù)字跑表總體設(shè)計(jì)框圖 數(shù)字跑表的硬件驗(yàn)證環(huán)境可以

10、先采用FPGA/CPLD適配板或開(kāi)發(fā)板,當(dāng)設(shè)計(jì)無(wú)誤后,再選用最合適的芯片,設(shè)計(jì)PCB板來(lái)最終實(shí)現(xiàn)。下面將EDA綜合實(shí)驗(yàn)箱作為開(kāi)發(fā)平臺(tái)進(jìn)行設(shè)計(jì)。(1) 核心部分:由FPGA器件Cyclone 系列EP3C10E144C8實(shí)現(xiàn)所有的邏輯功能。(2) 輸入部分:以EDA綜合實(shí)驗(yàn)箱提供的40 MHz的晶振時(shí)鐘作為輸入時(shí)鐘信號(hào),按需要進(jìn)行不同的分頻;使用EDA核心板上的按鍵SW0和SW1分別作為復(fù)位和開(kāi)始計(jì)時(shí)/停止計(jì)時(shí)信號(hào)。(3) 輸出部分:采用8位七段數(shù)碼管分別對(duì)分、秒、百分之一秒進(jìn)行顯示,其格式如圖9-3所示。圖9-3 數(shù)字跑表輸出格式 3. 細(xì)化設(shè)計(jì)方案根據(jù)數(shù)字跑表的計(jì)時(shí)、控制、顯示這三個(gè)功能,可

11、以把FPGA設(shè)計(jì)方案進(jìn)一步細(xì)化,按照功能來(lái)分割模塊。(1) 計(jì)時(shí)功能:由穩(wěn)定、準(zhǔn)確的輸入計(jì)數(shù)時(shí)鐘和計(jì)數(shù)模塊來(lái)實(shí)現(xiàn)。考慮到設(shè)計(jì)指標(biāo)要求跑表精度為0.01秒,那么計(jì)數(shù)器的時(shí)鐘輸入就應(yīng)該是頻率為100 Hz的脈沖,但EDA綜合實(shí)驗(yàn)箱提供的時(shí)鐘晶振是40 MHz,不能直接使用。所以要先設(shè)計(jì)一個(gè)分頻系數(shù)是400000的分頻器,該分頻器的輸出才能作為計(jì)數(shù)器的最低位的計(jì)數(shù)時(shí)鐘信號(hào)。其次,計(jì)數(shù)模塊設(shè)計(jì)應(yīng)考慮跑表的計(jì)時(shí)范圍(0分0秒00毫秒59分59秒99毫秒)??梢钥闯?,需要6位計(jì)數(shù)輸出,其中有兩位是六進(jìn)制形式(分和秒的十位),其余四位是十進(jìn)制形式,即可通過(guò)4個(gè)模10計(jì)數(shù)器和2個(gè)模6計(jì)數(shù)器來(lái)實(shí)現(xiàn),其中低一級(jí)的

12、進(jìn)位輸出就是高一級(jí)的計(jì)數(shù)時(shí)鐘信號(hào)。計(jì)數(shù)器模塊構(gòu)成如圖9-4所示。圖9-4 計(jì)數(shù)器模塊構(gòu)成圖 (2) 按鍵控制功能:通過(guò)開(kāi)始計(jì)時(shí)/停止計(jì)時(shí)、復(fù)位兩個(gè)按鍵來(lái)控制計(jì)數(shù)器的工作狀態(tài)。復(fù)位按鍵端口直接接到計(jì)數(shù)器的清零端rst即可實(shí)現(xiàn)復(fù)位。開(kāi)始計(jì)時(shí)/停止計(jì)時(shí)按鍵可通過(guò)控制計(jì)數(shù)器的使能端en來(lái)實(shí)現(xiàn)對(duì)計(jì)數(shù)器的控制,當(dāng)en取值為“0”時(shí),計(jì)數(shù)器開(kāi)始計(jì)數(shù);反之,則停止計(jì)數(shù)。但是此按鍵輸入需要先經(jīng)過(guò)消抖處理,否則容易誤判按鍵鍵值;然后再進(jìn)行信號(hào)轉(zhuǎn)化。(3) 顯示功能:使用8位數(shù)碼管來(lái)顯示計(jì)時(shí)結(jié)果。根據(jù)EDA綜合實(shí)驗(yàn)箱的硬件結(jié)構(gòu),數(shù)碼管采用動(dòng)態(tài)掃描顯示的方式,使用一個(gè)頻率是1kHz的掃描信號(hào)掃描數(shù)碼管,實(shí)現(xiàn)對(duì)6位已經(jīng)

13、鎖存的計(jì)數(shù)結(jié)果以及分割符“”和小數(shù)點(diǎn)“.”的掃描輸出。根據(jù)上述分析,將具體功能整合后數(shù)字跑表的原理框圖如圖9-5所示。可以看出,數(shù)字跑表主要包含:時(shí)鐘分頻模塊、使能控制模塊、計(jì)數(shù)模塊、顯示控制模塊四個(gè)模塊。圖9-5 數(shù)字跑表的原理框圖 4模塊設(shè)計(jì)1) 時(shí)鐘分頻模塊時(shí)鐘分頻模塊的功能是將實(shí)驗(yàn)箱提供的40MHz的晶振信號(hào)進(jìn)行分頻,產(chǎn)生用于數(shù)碼管掃描的1kHz的掃描時(shí)鐘clk_s,以及用于計(jì)數(shù)器模塊進(jìn)行計(jì)數(shù)的100Hz的計(jì)數(shù)時(shí)鐘clk_c。時(shí)鐘分頻模塊的VHDL源代碼見(jiàn)例9-1,仿真結(jié)果見(jiàn)圖9-6?!纠?-1】圖9-6 分頻模塊仿真波形 2) 計(jì)數(shù)模塊計(jì)數(shù)模塊由4個(gè)十進(jìn)制計(jì)數(shù)器和2個(gè)六進(jìn)制計(jì)數(shù)器構(gòu)成

14、,低一級(jí)的計(jì)數(shù)進(jìn)位信號(hào)作為高一級(jí)的計(jì)數(shù)器的時(shí)鐘信號(hào),結(jié)構(gòu)如圖9-4所示。這里先分別構(gòu)造十進(jìn)制計(jì)數(shù)器(見(jiàn)例9-2)和六進(jìn)制計(jì)數(shù)器(見(jiàn)例9-3)。圖9-7是十進(jìn)制計(jì)數(shù)器的仿真結(jié)果,圖9-8是六進(jìn)制計(jì)數(shù)器的仿真結(jié)果?!纠?-2】圖9-7 十進(jìn)制計(jì)數(shù)器仿真結(jié)果 【例9-3】圖9-8 六進(jìn)制計(jì)數(shù)器仿真結(jié)果 在計(jì)數(shù)器設(shè)計(jì)完成后就可以直接調(diào)用它們完成計(jì)數(shù)模塊的設(shè)計(jì),可以采用原理圖的形式或VHDL元件例化的形式。圖9-9采用原理圖的形式調(diào)用計(jì)數(shù)器,例9-4采用元件例化的形式調(diào)用計(jì)數(shù)器。計(jì)數(shù)器元件圖如圖9-10所示,有3個(gè)輸入端和6個(gè)計(jì)數(shù)輸出端。計(jì)數(shù)器總體設(shè)計(jì)仿真結(jié)果見(jiàn)圖9-11和圖9-12?!纠?-4】圖9-

15、9 計(jì)數(shù)模塊設(shè)計(jì)原理圖 圖9-10 計(jì)數(shù)器元件圖 圖9-11 計(jì)數(shù)模塊仿真結(jié)果(1)圖9-12 計(jì)數(shù)模塊仿真結(jié)果(2) 3) 顯示控制模塊顯示控制模塊的目的是控制數(shù)碼管按設(shè)計(jì)要求正確顯示計(jì)時(shí)結(jié)果。數(shù)碼管以發(fā)光二極管作為字段來(lái)進(jìn)行顯示,分為共陰和共陽(yáng)兩種,其差別在于:共陰數(shù)碼管的發(fā)光二極管的陰極連接在一起,而陽(yáng)極對(duì)應(yīng)各段分別控制;共陽(yáng)數(shù)碼管則剛好相反,發(fā)光二極管的陽(yáng)極連接在一起,陰極對(duì)應(yīng)各段分別控制。5.5.4節(jié)中已對(duì)數(shù)碼管電路和顯示編碼進(jìn)行了講解,這里不再贅述。EDA綜合實(shí)驗(yàn)箱采用共陰數(shù)碼管,且8位數(shù)碼管的段選信號(hào)是連接在一起的,即只能采用動(dòng)態(tài)掃描的形式進(jìn)行顯示。位選信號(hào)以一定的掃描速度依次選

16、通數(shù)碼管,即驅(qū)動(dòng)數(shù)碼管輪流進(jìn)行顯示,利用發(fā)光二極管的余輝與人眼的視覺(jué)暫存作用,使人眼感覺(jué)數(shù)碼管是同時(shí)進(jìn)行顯示的。顯示控制模塊可分為兩個(gè)子模塊:譯碼子模塊和掃描子模塊。譯碼子模塊實(shí)現(xiàn)4位二進(jìn)制計(jì)數(shù)結(jié)果與對(duì)應(yīng)數(shù)碼管各段編碼的轉(zhuǎn)換;掃描子模塊則通過(guò)1 kHz的掃描信號(hào)依次選中數(shù)碼管,并決定該位數(shù)碼管顯示的數(shù)字。(1) 譯碼子模塊。譯碼子模塊將輸入的4位二進(jìn)制計(jì)數(shù)結(jié)果轉(zhuǎn)化為對(duì)應(yīng)的數(shù)碼管編碼,VHDL代碼見(jiàn)例9-5。其仿真結(jié)果如圖9-13和圖9-14所示。由圖9-14可以看出,當(dāng)輸入數(shù)字是除09以及分隔符外,均不顯示。【例9-5】圖9-14 譯碼子模塊仿真結(jié)果(2)圖9-13 譯碼子模塊仿真結(jié)果(1)(

17、2) 掃描子模塊。掃描子模塊利用時(shí)鐘分頻模塊產(chǎn)生的分頻輸出信號(hào)clk_s作為掃描信號(hào),依次選中每個(gè)數(shù)碼管,控制位選信號(hào)。同時(shí)還決定當(dāng)不同數(shù)碼管選中時(shí),該數(shù)碼管顯示哪一位計(jì)數(shù)結(jié)果,如分高位mh、分低位ml等。掃描子模塊VHDL代碼見(jiàn)例9-6,仿真結(jié)果見(jiàn)圖9-15?!纠?-6】圖9-15 掃描子模塊仿真結(jié)果 (3) 顯示控制模塊總體設(shè)計(jì)。顯示控制模塊由譯碼子模塊和掃描子模塊組成,可采用 VHDL例化語(yǔ)句(見(jiàn)例9-7)或原理圖的形式將它們連接起來(lái)。原理圖的形式請(qǐng)讀者自行完成。顯示控制模塊元件如圖9-16所示。【例9-7】圖9-16 顯示控制模塊元件圖 4) 使能控制模塊由于使能按鍵信號(hào)是單個(gè)脈沖信號(hào)

18、,而計(jì)數(shù)器要持續(xù)計(jì)數(shù)所需的使能信號(hào)是持續(xù)的電平,因此,使能控制模塊的功能是對(duì)輸入的開(kāi)始計(jì)時(shí)/停止計(jì)時(shí)按鍵信號(hào)進(jìn)行處理,使之變成能直接控制計(jì)數(shù)器模塊的使能信號(hào)。另外,由于按鍵是一種機(jī)械開(kāi)關(guān)(單個(gè)按鍵工作原理見(jiàn)圖9-17),核心部件是彈性金屬簧片,在開(kāi)關(guān)切換的瞬間(即按鍵開(kāi)關(guān)按下或松開(kāi)時(shí))會(huì)在觸點(diǎn)出現(xiàn)來(lái)回彈跳的現(xiàn)象,如圖9-18所示。彈跳現(xiàn)象引起的信號(hào)抖動(dòng)會(huì)造成電路的誤判,從而影響系統(tǒng)的正確性。一般而言,抖動(dòng)的時(shí)間是510 ms。所以,使能控制模塊首先需要對(duì)按鍵信號(hào)進(jìn)行消除抖動(dòng)處理,然后再完成信號(hào)的轉(zhuǎn)換。圖9-17 按鍵工作原理 圖9-18 按鍵抖動(dòng)波形 消除按鍵抖動(dòng)有多種方法,如:計(jì)數(shù)器型消抖、

19、D觸發(fā)器型消抖、狀態(tài)機(jī)消抖等。由于篇幅有限,這里不再詳細(xì)闡述,可參考EDA技術(shù)與VHDL設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)一書(shū)實(shí)驗(yàn)9。例9-8采用計(jì)數(shù)器型消抖的方法來(lái)消除按鍵的抖動(dòng)。計(jì)數(shù)時(shí)鐘采用時(shí)鐘分頻模塊的1 kHz分頻輸出信號(hào)clk_s,即一次計(jì)數(shù)周期為1 ms,從0計(jì)數(shù)到15共計(jì)數(shù)16次,延時(shí)時(shí)間16 ms,滿足抖動(dòng)時(shí)間要求。仿真結(jié)果見(jiàn)圖9-19和圖9-20。消除抖動(dòng)后,按下一次按鍵key_en,輸出使能端en_out為“1”,再按下一次,en_out為“0”。 【例9-8】圖9-20 使能控制模塊仿真結(jié)果(2) 圖9-19 使能控制模塊仿真結(jié)果(1) 5頂層電路設(shè)計(jì)將時(shí)鐘分頻、計(jì)數(shù)器、顯示控制以及使能控制4

20、個(gè)模塊連接起來(lái),即可構(gòu)成頂層電路。頂層電路設(shè)計(jì)既可采用原理圖的形式,如圖9-21所示;也可采用VHDL元件例化的形式。請(qǐng)讀者自行完成元件例化實(shí)現(xiàn)的頂層電路設(shè)計(jì)。頂層電路的仿真與各功能模塊的仿真類(lèi)似,但由于時(shí)鐘初值為40 MHz,與仿真時(shí)間(幾秒)相差過(guò)大,導(dǎo)致仿真速度過(guò)慢,這里不再展示頂層原理仿真結(jié)果。圖9-21 數(shù)字跑表頂層電路原理圖 6適配下載系統(tǒng)設(shè)計(jì)在完成邏輯描述與仿真測(cè)試并確認(rèn)達(dá)到設(shè)計(jì)要求后,需要下載到含有目標(biāo)芯片的開(kāi)發(fā)系統(tǒng)上,進(jìn)行硬件驗(yàn)證。本例采用EDA綜合實(shí)驗(yàn)箱,選用Altera公司的Cyclone 系列EP3C10E114C8作為FPGA目標(biāo)芯片,外部輸入時(shí)鐘為40 MHz,清零

21、、開(kāi)始計(jì)時(shí)/停止計(jì)時(shí)按鍵采用實(shí)驗(yàn)箱核心板上的SW0、SW1兩個(gè)按鍵,利用8個(gè)數(shù)碼管顯示計(jì)時(shí)輸出。EDA綜合實(shí)驗(yàn)箱共有07共8個(gè)模式,其中模式04是單片機(jī)模式,模式57是可編程邏輯器件模式,本例采用模式5,電路結(jié)構(gòu)如圖9-22所示??梢钥吹?,模式5包含8位數(shù)碼管、8個(gè)發(fā)光二極管、3個(gè)時(shí)鐘輸入、獨(dú)立按鍵SW0SW7、矩陣按鍵等硬件資源。具體引腳鎖定見(jiàn)表9-1。圖9-22 EDA綜合實(shí)驗(yàn)箱模式5電路結(jié)構(gòu) 表9-1 數(shù)字跑表引腳鎖定 7硬件驗(yàn)證硬件驗(yàn)證主要有兩方面的工作:其一,檢查按鍵功能是否滿足要求;其二,觀察數(shù)碼管輸出是否正確,是否達(dá)到預(yù)定要求。經(jīng)測(cè)試,本例設(shè)計(jì)能夠達(dá)到要求,計(jì)時(shí)結(jié)果如圖9-23所

22、示。圖9-23 硬件驗(yàn)證結(jié)果 8撰寫(xiě)設(shè)計(jì)報(bào)告當(dāng)硬件測(cè)試結(jié)果滿足要求后,就需要撰寫(xiě)設(shè)計(jì)總結(jié)報(bào)告以對(duì)整個(gè)設(shè)計(jì)過(guò)程進(jìn)行總結(jié)。報(bào)告內(nèi)容包括:概述、任務(wù)書(shū)(設(shè)計(jì)要求)、目錄、方案論證、系統(tǒng)電路設(shè)計(jì)、模塊電路設(shè)計(jì)、成員分工及進(jìn)度、結(jié)論與收獲、參考文獻(xiàn)等。設(shè)計(jì)報(bào)告有利于設(shè)計(jì)者總結(jié)設(shè)計(jì)過(guò)程,提升設(shè)計(jì)能力,也有利于其他設(shè)計(jì)者了解項(xiàng)目設(shè)計(jì)。9.3.2 十字路口交通信號(hào)燈控制系統(tǒng)的設(shè)計(jì)1設(shè)計(jì)要求某個(gè)道路十字路口,在東西、南北兩個(gè)方向設(shè)置紅(R)、綠(G)、黃(Y)及左拐(L)四盞信號(hào)燈。綠燈亮?xí)r,準(zhǔn)許車(chē)輛通行;黃燈亮?xí)r,已越過(guò)停止線的車(chē)輛可以繼續(xù)通行;紅燈亮?xí)r,禁止車(chē)輛通行;左拐燈亮?xí)r,車(chē)輛允許左拐通行。四盞燈按合

23、理的順序亮滅,并將燈亮的時(shí)間以倒計(jì)時(shí)顯示出來(lái)。南北方向是主干道,車(chē)流量大,因此南北方向通行的時(shí)間比東西方向要長(zhǎng)一些。交通燈信號(hào)系統(tǒng)工作狀態(tài)見(jiàn)表9-2 ,其中“1”表示燈亮,“0”表示燈滅。表9-2 交通燈信號(hào)系統(tǒng)工作狀態(tài)表 2確定方案根據(jù)交通燈工作規(guī)則及設(shè)計(jì)要求,整個(gè)系統(tǒng)可由三個(gè)模塊構(gòu)成,它們分別是顯示模塊、倒計(jì)時(shí)模塊和控制模塊,如圖9-24所示。(1) 顯示模塊:分兩部分,一是由七段數(shù)碼管組成的倒計(jì)時(shí)顯示器,每個(gè)方向需要2個(gè);二是由發(fā)光二極管代替交通燈,每個(gè)方向需要4個(gè)。(2) 倒計(jì)時(shí)模塊:每個(gè)方向各有一組,顯示交通燈剩余點(diǎn)亮的時(shí)間(兩位)。(3) 控制模塊:交通燈核心,控制交通燈按工作順序

24、自動(dòng)變換,同時(shí)控制倒計(jì)時(shí)模塊工作。每當(dāng)?shù)褂?jì)時(shí)回零時(shí),控制模塊接收計(jì)時(shí)時(shí)間到的信號(hào),并控制交通燈進(jìn)入下一個(gè)工作狀態(tài)。圖9-24 交通燈控制系統(tǒng)的設(shè)計(jì)方案 由于控制模塊和倒計(jì)時(shí)模塊是相互制約的關(guān)系,所以,為減少模塊間的數(shù)據(jù)傳送,可以將兩者合并為控制模塊。為保證倒計(jì)時(shí)的準(zhǔn)確性,控制模塊需要引入基準(zhǔn)時(shí)鐘,可將基準(zhǔn)時(shí)鐘分頻得到秒時(shí)鐘,或者直接引入秒脈沖作為倒計(jì)時(shí)以及顯示模塊的基準(zhǔn)時(shí)鐘。其設(shè)計(jì)與9.3.1節(jié)中的時(shí)鐘分頻模塊相同,這里就不詳細(xì)闡述了。3模塊設(shè)計(jì)(1) 控制模塊。根據(jù)交通燈控制系統(tǒng)的工作規(guī)則,控制模塊可采用有限狀態(tài)機(jī)的方式來(lái)設(shè)計(jì),共有如圖9-25所示的8個(gè)工作狀態(tài)。在每個(gè)狀態(tài)下,倒計(jì)時(shí)模塊進(jìn)行

25、倒計(jì)數(shù),當(dāng)?shù)褂?jì)數(shù)為零時(shí),進(jìn)入下一個(gè)狀態(tài)。初態(tài)設(shè)為s0。圖9-25 交通燈控制模塊狀態(tài)轉(zhuǎn)移圖 當(dāng)南北方向進(jìn)行綠燈(40s)黃燈(5s)左拐燈(15s)黃燈(5s)紅燈的變換過(guò)程中,東西方向一直為紅燈,兩位倒計(jì)時(shí)時(shí)間為65s;反之,當(dāng)東西方向進(jìn)行綠燈(30s)黃燈(5s)左拐燈(15s)黃燈(5s)紅燈的變換過(guò)程中,南北方向一直為紅燈,兩位倒計(jì)時(shí)時(shí)間為55s。因此,在設(shè)計(jì)時(shí),還需要考慮某個(gè)方向一直為紅燈時(shí)的倒計(jì)時(shí)情況,即東西方向?yàn)?5s,南北方向?yàn)?5s,倒計(jì)時(shí)結(jié)束后,紅燈變?yōu)榫G燈??刂颇K在每個(gè)狀態(tài)下的輸出,都送到顯示模塊中進(jìn)行顯示。其中一個(gè)是兩位的倒計(jì)時(shí)時(shí)間,東西方向高位為time_ew_h3

26、.0、低位為time_ew_l3.0,南北方向高位為time_sn_h3.0、低位為time_sn_l3.0。 另一個(gè)是交通指示燈的顯示,分成南北方向和東西方向兩組。而每一組中的兩個(gè)方向(南和北、東和西)顯示完全相同。所以,四個(gè)方向上共有16個(gè)指示燈(每個(gè)方向4個(gè))。為了便于區(qū)分和說(shuō)明,表9-3用字母對(duì)各個(gè)方向上指示燈的信號(hào)進(jìn)行了命名。表9-3 各個(gè)方向上指示燈的信號(hào)名稱(chēng)控制模塊的VHDL代碼見(jiàn)例9-9?!纠?-9】圖9-26是控制模塊的仿真波形,從中可以看出南北方向和東西方向指示燈的變換及倒計(jì)時(shí)功能都基本上滿足設(shè)計(jì)要求。(2) 顯示模塊。顯示模塊中,在每個(gè)方向上用兩個(gè)七段數(shù)碼管顯示倒計(jì)時(shí)時(shí)間

27、,共需8個(gè)數(shù)碼管。本例顯示模塊同樣包含譯碼子模塊和掃描子模塊,其設(shè)計(jì)與9.3.1節(jié)中顯示控制模塊的設(shè)計(jì)是類(lèi)似的,這里不再贅述。另外,每個(gè)方向上的四盞交通指示燈,可利用發(fā)光二極管來(lái)充當(dāng)。圖9-26 控制模塊仿真波形 4頂層電路設(shè)計(jì)頂層電路設(shè)計(jì)仍然可以以圖形方式或者以例化語(yǔ)句的方式將顯示模塊和控制模塊連接起來(lái)。請(qǐng)讀者自行完成頂層電路的設(shè)計(jì)。5適配下載及硬件驗(yàn)證仍然利用EDA綜合實(shí)驗(yàn)箱來(lái)驗(yàn)證設(shè)計(jì)的正確與否。4個(gè)方向中,南北方向和東西方向的指示是完全相同的,所以各用4個(gè)發(fā)光二極管就可以了。仍然選擇模式5,鎖定引腳后,編譯適配下載,進(jìn)行硬件測(cè)試驗(yàn)證。請(qǐng)讀者自行完成引腳鎖定、下載和硬件驗(yàn)證。6設(shè)計(jì)總結(jié)(略

28、)。9.3.3 離線誤碼檢測(cè)儀的設(shè)計(jì)1設(shè)計(jì)要求設(shè)計(jì)一個(gè)離線誤碼檢測(cè)儀電路,用來(lái)檢測(cè)通信傳輸系統(tǒng)或設(shè)備中的誤碼情況。2確定方案1) 誤碼檢測(cè)原理在通信過(guò)程中,無(wú)論是設(shè)備故障、傳播衰落、碼間干擾、鄰近波道干擾等因素都可能造成通信系統(tǒng)性能惡化甚至造成通信中斷,其結(jié)果都可以通過(guò)誤碼的形式表現(xiàn)出來(lái)。誤碼測(cè)試儀就是通過(guò)檢測(cè)數(shù)據(jù)傳輸系統(tǒng)的誤碼性能指標(biāo)對(duì)其系統(tǒng)傳輸質(zhì)量進(jìn)行評(píng)估的基本測(cè)量?jī)x器。誤碼測(cè)試的方法可分為兩大類(lèi):中斷通信業(yè)務(wù)的誤碼測(cè)試和不中斷通信業(yè)務(wù)的誤碼測(cè)試。前者主要用于產(chǎn)品調(diào)試、性能鑒定、系統(tǒng)工程校驗(yàn)、通信電路的定期維護(hù)和檢修;而后者主要用于系統(tǒng)運(yùn)行的質(zhì)量監(jiān)測(cè)、可靠性統(tǒng)計(jì)等。本例要設(shè)計(jì)的離線誤碼檢測(cè)

29、儀就是屬于中斷通信業(yè)務(wù)的誤碼測(cè)試。它不依賴(lài)系統(tǒng)信道,可以獨(dú)自產(chǎn)生序列,并利用自身產(chǎn)生的序列對(duì)數(shù)字信道進(jìn)行誤碼測(cè)試。離線誤碼檢測(cè)儀的工作過(guò)程可概括為以下幾個(gè)步驟:(1) 發(fā)送端的碼型發(fā)生器產(chǎn)生一定的碼型測(cè)試信號(hào),作為待測(cè)系統(tǒng)的輸入信號(hào),使其通過(guò)待測(cè)通信系統(tǒng)構(gòu)成的信道;(2) 接收端接收待測(cè)系統(tǒng)的輸出信號(hào),并從中提取位同步信號(hào);(3) 產(chǎn)生與碼型測(cè)試信號(hào)相同的碼型,且初始相位與接收碼流序列同步的本地碼序列;(4) 將本地碼序列與接收碼序列(待測(cè)系統(tǒng)的輸出信號(hào))逐個(gè)進(jìn)行比較,若不相同,說(shuō)明有誤碼,輸出誤碼脈沖信號(hào);(5) 對(duì)誤碼脈沖信號(hào)進(jìn)行統(tǒng)計(jì),并將其結(jié)果顯示出來(lái)。2) 誤碼檢測(cè)功能模塊由誤碼檢測(cè)的

30、工作過(guò)程可以將離線誤碼檢測(cè)儀分成如圖9-27所示的幾個(gè)功能模塊。(1) 發(fā)送部分:包含碼型發(fā)生器和接口碼型變換器兩個(gè)功能模塊。 碼型發(fā)生器用來(lái)產(chǎn)生測(cè)試用序列信號(hào)。但這種信號(hào)通常是NRZ碼的數(shù)字信號(hào),并不適合在實(shí)際的信道中傳輸,因此,要把它轉(zhuǎn)換成待測(cè)系統(tǒng)所需要的接口信號(hào)。 接口碼型變換器就是將測(cè)試信號(hào)變成與待測(cè)設(shè)備相同的接口信號(hào)。圖9-27 離線誤碼檢測(cè)儀的工作原理方框圖 (2) 接收部分:包含位同步模塊、序列同步模塊、誤碼檢測(cè)模塊和顯示模塊。 位同步模塊的功能是從待測(cè)系統(tǒng)接收的碼流中提取時(shí)鐘位同步信號(hào)。 序列同步模塊用于實(shí)現(xiàn)本地碼流序列和接收到的碼流序列的同步,并源源不斷地產(chǎn)生本地序列。 誤碼

31、檢測(cè)模塊則是將本地碼序列和接收到的數(shù)據(jù)碼流序列進(jìn)行比較,檢測(cè)是否產(chǎn)生了誤碼。一旦檢測(cè)到誤碼,計(jì)數(shù)器就將誤碼個(gè)數(shù)加1。 顯示模塊用來(lái)顯示誤碼情況。待測(cè)系統(tǒng)的接口信號(hào)視不同系統(tǒng)或不同設(shè)備而有所不同,且位同步模塊設(shè)計(jì)的方式和復(fù)雜程度也直接取決于其接口類(lèi)型(因?yàn)橛械慕涌谛盘?hào)含時(shí)鐘分量信息較豐富,很容易提取時(shí)鐘信號(hào),有的則不然,通常采取的做法是利用鎖相環(huán)來(lái)實(shí)現(xiàn))。由于篇幅所限,在此就省略了接口碼型變換器和位同步模塊的設(shè)計(jì),發(fā)送部分直接將NRZ碼和時(shí)鐘信號(hào)送入待測(cè)系統(tǒng)中,而接收部分接收的信號(hào)也是從待測(cè)系統(tǒng)發(fā)來(lái)的NRZ碼和時(shí)鐘信號(hào)。簡(jiǎn)化的離線誤碼檢測(cè)儀的工作原理方框圖如圖9-28所示。圖9-28 簡(jiǎn)化的離線

32、誤碼檢測(cè)儀的工作原理方框圖 3細(xì)化設(shè)計(jì)方案根據(jù)離線誤碼檢測(cè)儀的工作原理,進(jìn)一步細(xì)化設(shè)計(jì)方案。(1) 碼型發(fā)生器可產(chǎn)生用于測(cè)試的信號(hào)。在實(shí)際應(yīng)用中,往往可以有多種選擇。常用的有:帶不同周期長(zhǎng)度的偽隨機(jī)序列碼、帶一定幀結(jié)構(gòu)的序列碼以及一些規(guī)則序列碼等。本例采用的是偽隨機(jī)序列碼。在測(cè)試的過(guò)程中,為了使測(cè)試結(jié)果盡可能真實(shí)地反映被測(cè)系統(tǒng)的性能,測(cè)試數(shù)據(jù)應(yīng)該是0、1等概且相互獨(dú)立的隨機(jī)數(shù)字序列,具有與噪聲相似的性質(zhì)。但是,真正的隨機(jī)信號(hào)和噪聲是不能重復(fù)再現(xiàn)和產(chǎn)生的,所以只能產(chǎn)生一種周期性的脈沖信號(hào)來(lái)近似隨機(jī)噪聲,即偽隨機(jī)序列。本例中采用的 m序列碼即偽隨機(jī)序列,是由帶線性反饋的移位寄存器產(chǎn)生的周期最長(zhǎng)的一

33、種序列。雖然是周期信號(hào),但它具有類(lèi)似于隨機(jī)信號(hào)較好的自相關(guān)特性。m序列的產(chǎn)生比較簡(jiǎn)單,利用帶線性反饋的r級(jí)移位寄存器就可以產(chǎn)生長(zhǎng)度為2r-1的m序列,如圖9-29所示。其中,Cr,Cr-1,C0為反饋系數(shù),也是特征多項(xiàng)式系數(shù)。這些系數(shù)的取值為“1”或“0”,“1”表示該反饋支路連同,“0”表示該反饋支路斷開(kāi)。圖9-29 移位寄存器產(chǎn)生m序列的結(jié)構(gòu) r級(jí)移位寄存器的反饋路徑由m序列的特征多項(xiàng)式?jīng)Q定,m序列特征多項(xiàng)式的一般表達(dá)式為本例取該偽隨機(jī)序列發(fā)生器的特征多項(xiàng)式為即產(chǎn)生長(zhǎng)度為215-1的m序列。(2) 序列同步模塊。由于已知發(fā)送部分的周期性m序列的產(chǎn)生過(guò)程,在接收部分本地也可以產(chǎn)生相同的m序列

34、。如果被測(cè)的信道或系統(tǒng)無(wú)誤碼,接收的序列碼與本地產(chǎn)生的序列碼應(yīng)該完全相同;如果有誤碼,對(duì)序列周期內(nèi)的碼元一一比較,就可以檢測(cè)出誤碼的個(gè)數(shù)。但進(jìn)行誤碼檢測(cè)時(shí),首先本地序列和接收序列應(yīng)該以一個(gè)周期的同一位置為起點(diǎn)開(kāi)始比較。序列同步模塊的作用就是在誤碼檢測(cè)的序列比較前進(jìn)行序列同步,使本地m序列與發(fā)送端的m序列初始相位相同。常見(jiàn)的序列同步方法有滑動(dòng)相關(guān)法、序列相關(guān)法和SAW器件捕捉法等。但是這些方法都有實(shí)現(xiàn)結(jié)構(gòu)復(fù)雜、同步時(shí)間長(zhǎng)等缺點(diǎn)。例如:滑動(dòng)相關(guān)法的基本原理就是將本地的m序列發(fā)生器產(chǎn)生的m序列和所接收的m序列進(jìn)行逐位比較,若兩個(gè)m序列同步,則比較器輸出傳輸誤碼;若兩m序列不同步,則比較器輸出的是由于

35、失步造成的誤碼。由于失步造成的誤碼較大(根據(jù)m序列的特性,其誤碼率應(yīng)為0.5),因此可根據(jù)誤碼率門(mén)限來(lái)區(qū)分檢測(cè)系統(tǒng)是否失步,若失步,則讓本地m序列發(fā)生器等待一個(gè)位時(shí)鐘周期,依次逐位比較,并逐位控制本地m序列發(fā)生器的等待時(shí)間,直至兩序列完全同步。這種方法如果順利的話,可以12個(gè)時(shí)鐘周期即取得同步;但如果本地序列和接收序列的初始相位相差很大的話,可能就需要成千上萬(wàn)個(gè)時(shí)鐘周期才能同步了。 為了使誤碼檢測(cè)電路能在不知發(fā)端序列發(fā)生器的初始狀態(tài)的情況下實(shí)現(xiàn)序列的快速同步,本例采用圖9-30所示的序列同步模塊電路來(lái)實(shí)現(xiàn)。圖9-30 序列同步模塊及誤碼檢測(cè)模塊框圖 由于m序列的下一個(gè)存儲(chǔ)器狀態(tài)組合僅取決于當(dāng)前

36、的狀態(tài)組合,也就是說(shuō)每一個(gè)存儲(chǔ)器中的m序列狀態(tài)組合都是相同的,只是初始相位有所差異而以,所以在啟動(dòng)誤碼檢測(cè)電路時(shí),開(kāi)關(guān)S先接到A點(diǎn),這樣就形成了一個(gè)開(kāi)環(huán)系統(tǒng),來(lái)自碼型發(fā)生器的偽隨機(jī)序列載入到15個(gè)移位寄存器中。當(dāng)15個(gè)移位寄存器存滿以后,開(kāi)關(guān)控制電路將開(kāi)關(guān)S接到B點(diǎn),進(jìn)行正式測(cè)量。由于m序列的下一個(gè)狀態(tài)僅取決于當(dāng)前狀態(tài),所以如果最初接收到的15個(gè)碼元都是正確的,那么就認(rèn)為達(dá)到了預(yù)同步。為了防止假同步,規(guī)定如果誤碼檢測(cè)模塊檢測(cè)到的誤碼值在連續(xù)的10個(gè)碼元周期內(nèi)都沒(méi)有增加,那么就認(rèn)為序列同步,否則需要重新進(jìn)行同步操作,即開(kāi)關(guān)再次接到A點(diǎn),重復(fù)以上過(guò)程,直到同步為止。采用這一方法的優(yōu)點(diǎn)是可大大縮短序

37、列同步所需的時(shí)間。(3) 誤碼檢測(cè)模塊。誤碼檢測(cè)模塊主要由誤碼計(jì)數(shù)器組成,序列同步后,從待測(cè)系統(tǒng)中接收到的序列與本地m序列直接進(jìn)行一一比較,當(dāng)出現(xiàn)誤碼時(shí),誤碼計(jì)數(shù)器自動(dòng)加1,計(jì)數(shù)結(jié)果就可以送到誤碼顯示模塊進(jìn)行顯示了。由于序列同步模塊要防止偽同步,需要進(jìn)行誤碼檢測(cè),所以可以將序列同步模塊和誤碼檢測(cè)模塊合并到一起來(lái)進(jìn)行設(shè)計(jì)。(4) 顯示模塊??梢圆捎闷叨螖?shù)碼管對(duì)誤碼個(gè)數(shù)進(jìn)行顯示。也可以對(duì)一段時(shí)間的誤碼進(jìn)行統(tǒng)計(jì),以誤碼率的形式顯示出來(lái)。顯示部分的電路在前面的例子中已經(jīng)說(shuō)明,這里就不詳細(xì)闡述了。綜上所述,實(shí)際上要設(shè)計(jì)的主要有兩個(gè)功能模塊:m序列碼型發(fā)生器模塊和序列同步與誤碼檢測(cè)模塊。4模塊設(shè)計(jì)1) m

38、序列碼型發(fā)生器模塊本例中,假設(shè)信號(hào)速率為2048 kbit/s,m序列的特征多項(xiàng)式為采用15個(gè)D觸發(fā)器構(gòu)成線性反饋移位寄存器進(jìn)行設(shè)計(jì),在系統(tǒng)清零后,D觸發(fā)器輸出狀態(tài)均為低電平,為了避免m序列發(fā)生器輸出全“0”信號(hào),對(duì)最高位進(jìn)行了置1操作。具體的VHDL代碼見(jiàn)例9-10。【例9-10】由于m序列的最長(zhǎng)周期是215-1=32767,可以通過(guò)仿真看其波形是否正確,因?yàn)槠邢?,這里就不闡述了。2) 序列同步及誤碼檢測(cè)模塊根據(jù)序列同步的工作過(guò)程,序列同步模塊可以進(jìn)一步細(xì)化成如圖9-31所示的序列同步的工作流程圖。序列同步時(shí)總共有三種工作狀態(tài)。(1) 開(kāi)始狀態(tài)。start_1信號(hào)處于低電平,接收系統(tǒng)處于停滯狀態(tài),當(dāng)start_1信號(hào)為高電平時(shí),發(fā)端和收端實(shí)現(xiàn)了互聯(lián),接收來(lái)自被測(cè)系統(tǒng)的信號(hào)rxdata,進(jìn)入下一狀態(tài)。(2) 開(kāi)關(guān)S接到A點(diǎn)狀態(tài)。將接收的信號(hào)rxdata一一裝載入本地m序列的移位寄存器rreg中,當(dāng)計(jì)數(shù)器rq_a由0計(jì)數(shù)到14時(shí),表示裝載完畢,set信號(hào)由低電平變?yōu)楦唠娖?,進(jìn)入下一狀態(tài)。圖9-31 序列同步流程圖 (3) 開(kāi)關(guān)S接到B點(diǎn)狀態(tài)。開(kāi)始誤碼檢測(cè)過(guò)程,如果在連續(xù)10個(gè)碼元(用rq_b計(jì)數(shù)器進(jìn)行計(jì)數(shù))周期內(nèi)誤碼計(jì)數(shù)器的值都

溫馨提示

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

評(píng)論

0/150

提交評(píng)論