基于CPLD的智能數(shù)字電壓表設(shè)計本科畢業(yè)設(shè)計_第1頁
基于CPLD的智能數(shù)字電壓表設(shè)計本科畢業(yè)設(shè)計_第2頁
基于CPLD的智能數(shù)字電壓表設(shè)計本科畢業(yè)設(shè)計_第3頁
基于CPLD的智能數(shù)字電壓表設(shè)計本科畢業(yè)設(shè)計_第4頁
基于CPLD的智能數(shù)字電壓表設(shè)計本科畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 緒論1.1 課題背景及意義隨著電子科學(xué)技術(shù)的發(fā)展,電子測量成為廣大電子工作者必須掌握的手段,對測量的精度和功能的要求也越來越高,其中電壓的測量甚為突出。數(shù)字電壓表是采用數(shù)字化測量技術(shù)設(shè)計的電壓表。傳統(tǒng)的模擬式(即指針式)電壓表已有100多年的發(fā)展歷史,雖經(jīng)得到不斷改進(jìn)和完善,仍無法滿足現(xiàn)在電子測量的需要。數(shù)字電壓表自1952年問世以來,顯示出強(qiáng)大的生命力,現(xiàn)已成為電子測量領(lǐng)域中應(yīng)用最廣泛的一種儀表。數(shù)字電壓表在電子領(lǐng)域發(fā)揮著越來越重要的作用,相對傳統(tǒng)的電壓表,顯示明了、直觀、讀數(shù)準(zhǔn)確,準(zhǔn)確度高,分辨力高,擴(kuò)展能力強(qiáng),反應(yīng)速度快,高集成度,抗干擾能力強(qiáng),功耗小等諸多優(yōu)勢而得到迅速發(fā)展。另一方

2、面,當(dāng)前數(shù)字系統(tǒng)的設(shè)計正朝著容量大、速度快、體積小、重量輕的方向發(fā)展,推動該潮流迅猛發(fā)展的引擎就是日趨進(jìn)步和完善的ASIC設(shè)計技術(shù)。目前數(shù)字系統(tǒng)的設(shè)計可以直接面向用戶要求,根據(jù)系統(tǒng)的行為和功能要求自上而下逐層完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,直到生成器件。CPLD被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計和產(chǎn)品生產(chǎn)之中,因?yàn)樗哂屑啥雀?、編程較靈活、設(shè)計開發(fā)周期短、開發(fā)工具先進(jìn)、工藝性強(qiáng)、容易上手、適用范圍廣、性價比較高、保密性強(qiáng)等特點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路設(shè)計。DVM的高速發(fā)展,使它已成為實(shí)現(xiàn)測量自動化、提高工作效率不可缺少的儀表,現(xiàn)在已經(jīng)廣泛應(yīng)用于電子、電工測量,自動化測試系統(tǒng)等領(lǐng)域。故數(shù)字電壓表

3、已成為一種必不可少的測量儀器。本設(shè)計利用CPLD在系統(tǒng)設(shè)計中的各種優(yōu)勢,在Quartus II平臺上進(jìn)行開發(fā)智能數(shù)字電壓表。不僅能滿足用戶測量需要,而且考慮到了在這技術(shù)日新月異的年代系統(tǒng)升級的問題,迎合了社會資源有效利用的發(fā)展理念,另一方面,給用戶節(jié)省了不少系統(tǒng)設(shè)計成本。1.2 國內(nèi)外研究狀況數(shù)字電壓表在這50多年來有了很大的突破。數(shù)字電壓表類型越來越多,采用不同的原理和電子元件,精確度不斷上升,集成度增加。數(shù)字電壓表的發(fā)展微型化,智能化,性價比更高,功能更全面,可靠性更高,外觀更精致,功耗更小,應(yīng)用更廣泛。近 20 年來,在高新技術(shù)如微電子技術(shù)、計算機(jī)技術(shù)、集成技術(shù)、網(wǎng)絡(luò)技術(shù)等得到了迅猛發(fā)展

4、的背景和形勢下,不斷地向儀器儀表提出了更新、更高、更多的要求,如要求速度更快、靈敏度更高、穩(wěn)定性更好、樣品量更少、遙感遙測更遠(yuǎn)距、使用更方便、成本更低廉、無污染等,同時也為儀器儀表科技與產(chǎn)業(yè)的發(fā)展提供了強(qiáng)大的推動力,并成了儀器儀表進(jìn)一步發(fā)展的物質(zhì)、知識和技術(shù)基礎(chǔ)。傳統(tǒng)的儀器儀表將仍然朝著高性能、高精度、高靈敏、高穩(wěn)定、高可靠、高環(huán)保和長壽命的“六高一長”的方向發(fā)展。新型的儀器儀表與元器件將朝著小型化(微型化)、集成化、成套化、電子化、數(shù)字化、多功能化、智能化、網(wǎng)絡(luò)化、計算機(jī)化、綜合自動化、光機(jī)電一體化;在服務(wù)上專門化、簡捷化、家庭化、個人化、無維護(hù)化以及組裝生產(chǎn)自動化、無塵(或超凈)化、專業(yè)化

5、、規(guī)?;摹岸钡姆较虬l(fā)展2。在這“二十化”中,占主導(dǎo)地位、起核心或關(guān)鍵的作用是微型化、網(wǎng)絡(luò)化、虛擬化、數(shù)字化和智能化。 數(shù)字電壓表的設(shè)計和開發(fā),已經(jīng)有各種各樣的類型和款式。傳統(tǒng)的數(shù)字電壓表不夠智能,適合人工手動現(xiàn)場測量,無法完成對遠(yuǎn)程測量數(shù)據(jù)的有效處理,這是在技術(shù)高度智能化的背景下無法滿足人們的測量需求。相反高智能的數(shù)字電壓表基于PC通信,不但可以將測量數(shù)據(jù)進(jìn)行存儲傳輸,而且可以借助計算機(jī)或內(nèi)置軟件對測量數(shù)據(jù)作進(jìn)一步地處理。因此未來數(shù)字電壓表的發(fā)展,無論在功能和實(shí)際應(yīng)用上,較傳統(tǒng)電壓表更具有搞性能,高性價比,高智能化,這使得智能數(shù)字電壓表有著良好的發(fā)展應(yīng)用前景。1.3 本課題的主要內(nèi)容本

6、課題的主要內(nèi)容如下:(1) 介紹數(shù)字電壓表的研究背景及意義,指出了CPLD的發(fā)展優(yōu)勢:編程靈活、集成度高、設(shè)計開發(fā)周期短、適用范圍寬、開發(fā)工具先進(jìn)、設(shè)計制造成本低、對設(shè)計者的硬件經(jīng)驗(yàn)要求低、標(biāo)準(zhǔn)產(chǎn)品無需測試、保密性強(qiáng)、價格大眾化。另外還介紹了數(shù)字電壓表的國內(nèi)外發(fā)展及應(yīng)用狀況。(2) 對數(shù)字電壓表進(jìn)行探討,首先介紹了數(shù)字電壓表的基本特點(diǎn),指出了其精確度高,微功耗,抗干擾能力強(qiáng),便于擴(kuò)展等特性。其次著重介紹了數(shù)字電壓表的基本結(jié)構(gòu)組成,簡述了其工作原理。(3) 提出系統(tǒng)總體設(shè)計方案。首先敘述本次設(shè)計的技術(shù)參數(shù),然后總體介紹了單片機(jī)在數(shù)字電壓表中的應(yīng)用,說明選取CPLD為控制核心設(shè)計電壓表的相對優(yōu)勢,

7、最后,確定了基于CPLD的智能數(shù)字電壓表總體設(shè)計方案,進(jìn)行了模塊化設(shè)計。(4) 系統(tǒng)硬件電路設(shè)計。敘述了電源電路、A/D轉(zhuǎn)換部分的電路(包括分壓電路,換擋電路和A/D轉(zhuǎn)換電路)、顯示電路的工作原理并進(jìn)行了電路設(shè)計。(5) 系統(tǒng)軟件設(shè)計。首先介紹了Quartus II設(shè)計平臺和DHL語言的應(yīng)用,然后針對本課題提出軟件編程方案:采用模塊化設(shè)計,整個程序的編寫分主程序、A/D轉(zhuǎn)換子程序、FIFO子程序、分頻子程序、BCD譯碼子程序和動態(tài)掃描子程序,并給出A/D轉(zhuǎn)換子程序的狀態(tài)機(jī),F(xiàn)IFO子程序和動態(tài)掃描原理。同時根據(jù)模塊化的設(shè)計方案,編寫出各部分程序的源代碼。(6) 總結(jié)了設(shè)計功能,指出了設(shè)計的不足

8、之處,并對系統(tǒng)的未來擴(kuò)展進(jìn)行了展望。2 系統(tǒng)總體設(shè)計數(shù)字電壓表簡稱DVM(Digital Voltmeter)。它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀器。智能化數(shù)字電壓表則是大規(guī)模集成電路(LSI)、數(shù)顯技術(shù)、計算機(jī)技術(shù)、自動測試技術(shù)(ATE)的結(jié)晶。2.1 數(shù)字電壓表的基本結(jié)構(gòu)隨著技術(shù)的發(fā)展,人們對測量技術(shù)的要求越來越搞,相對傳統(tǒng)的電壓表,數(shù)字電壓表主要有以下特點(diǎn):顯示清晰、直觀、讀數(shù)準(zhǔn)確,準(zhǔn)確度高,分辨力高,測量范圍寬,擴(kuò)展能力強(qiáng),測量速度快,輸入阻抗高,集成度高,微功耗,抗干擾能力強(qiáng)。下面介紹數(shù)字電壓表的基本結(jié)構(gòu),以及由它擴(kuò)展而成

9、的數(shù)字多用表DMM(Digital Multipler)的整機(jī)框圖。普通數(shù)字電壓表的基本結(jié)構(gòu)如圖2.1所示。主要包括8部分:輸入電路;A/D轉(zhuǎn)換器;基準(zhǔn)電壓源;計數(shù)器;邏輯控制器;譯碼驅(qū)動器;數(shù)字顯示器;電源??傠娐酚挚蓺w納成模擬與數(shù)字兩大部分,為模擬部分,是數(shù)字部分。圖2.1 數(shù)字電壓表的基本結(jié)構(gòu)輸入電路的作用是將基本量程變?yōu)閿U(kuò)展量程,以便構(gòu)成多量程數(shù)字電壓表,滿足各種測量的需要。當(dāng)擴(kuò)展量程高于基本量程時,需經(jīng)分壓器對輸入電壓進(jìn)行衰減,在送至A/D轉(zhuǎn)換器中。若擴(kuò)展量程低于基本量程,應(yīng)通過前置放大器將輸入電壓進(jìn)行放大。A/D轉(zhuǎn)換器是DVM的心臟,應(yīng)用它可以將模擬量轉(zhuǎn)換成數(shù)字量。邏輯控制器是儀表

10、的中樞,用以控制A/D轉(zhuǎn)換順序,保證測量正常進(jìn)行。A/D轉(zhuǎn)換結(jié)果就反應(yīng)在計數(shù)器中,并通過譯碼電路變換成筆段碼,最后驅(qū)動顯示器顯示出相應(yīng)的數(shù)值。數(shù)字電壓表中常用的顯示器件有輝光數(shù)碼管、熒光數(shù)碼管(VFD),液晶顯示器(LCD),發(fā)光二極管數(shù)碼顯示器(LED),CMOS-LED光電組合器件(CL),LED點(diǎn)陣顯示器4。目前,A/D轉(zhuǎn)換器的類型多達(dá)數(shù)十種:積分型、斜波型、比較型、脈寬型、復(fù)合型等。2.2 本設(shè)計技術(shù)參數(shù)(1)本設(shè)計最高量程為380V。(2)本設(shè)計分5個檔量程:05V,050V,0110V,0220V,0380V。可以通過調(diào)檔開關(guān)實(shí)現(xiàn)各檔位。量程為05V時,精確度約為0.02V。(3)

11、所測量的交流電壓的頻率要小于64KHZ。(4)本設(shè)計進(jìn)行四位有效數(shù)字顯示。2.3 單片機(jī)在智能數(shù)字電壓表中的應(yīng)用2.3.1 單片機(jī)簡介單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機(jī)系統(tǒng)9。單片機(jī)具有體積小、微型化、功耗低、擴(kuò)展靈活、控制功能強(qiáng)和使用方便等優(yōu)點(diǎn),得到廣泛的應(yīng)用。隨著技術(shù)的發(fā)展,各種單片機(jī)可供選擇。速度,穩(wěn)定性,兼容性,功能單元等是評價單片機(jī)性

12、能的重要依據(jù)。市面上主流單片機(jī)有AT89S與AVR單片機(jī),PIC單片機(jī),STC單片機(jī),Motorola單片機(jī),MSP430單片機(jī),GMS90系列單片機(jī)等。2.2 AT89C51單片機(jī)內(nèi)部結(jié)構(gòu)框圖單片機(jī)由運(yùn)算器、控制器、存儲器、輸入輸出設(shè)備構(gòu)成。有著明顯的硬件特性:(1)單片機(jī)集成度高;(2)系統(tǒng)結(jié)構(gòu)簡單,使用方便,實(shí)現(xiàn)模塊化; (3)單片機(jī)可靠性高,可工作到106 107小時無故障; (4)處理功能強(qiáng),速度快;(5)低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品;(6)控制功能強(qiáng);2.3.2基于單片機(jī)的智能電壓表基于以上優(yōu)點(diǎn),單片機(jī)在各種儀器儀表控制器件中得到廣泛的應(yīng)用,并且在智能電壓表中的應(yīng)用表現(xiàn)出良好

13、的性能。目前,由各種基于單片機(jī)控制的數(shù)字電壓表,在智能化各個測量領(lǐng)域得到廣泛應(yīng)用,并展現(xiàn)出良好的發(fā)展前景。與此同時,由DVM擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術(shù)提高到嶄新水平?;趩纹瑱C(jī)的數(shù)字電壓表一般包括單片機(jī)控制模塊、復(fù)位電路、電源電路、顯示模塊、A/D轉(zhuǎn)換模塊、校準(zhǔn)電路等。圖2.3 基于單片機(jī)的數(shù)字電壓表設(shè)計框圖單片機(jī)復(fù)位電路設(shè)計的性能,關(guān)系到整個系統(tǒng)工作的可靠性。復(fù)位電路的作用:在上電或復(fù)位過程中,控制CPU的復(fù)位狀態(tài),這段時間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。目前為止,單片

14、機(jī)復(fù)位電路主要有四種類型:(1)微分型復(fù)位電路;(2)積分型復(fù)位電路;(3)比較器型復(fù)位電路;(4)看門狗型復(fù)位電路。單片機(jī)系統(tǒng)電源設(shè)計是單片機(jī)應(yīng)用系統(tǒng)設(shè)計中的一項(xiàng)重要工作,電源的精度和可靠性等各項(xiàng)指標(biāo),直接影響系統(tǒng)的整體性能。電源電路一般可分為開關(guān)電源電路,穩(wěn)壓電源電路,穩(wěn)流電源電路,功率電源電路,逆變電源電路,DC-DC電源電路,保護(hù)電源電路等。有些場合需要隔離電源,將信號傳輸通路完全隔離,以提高系統(tǒng)的安全性和抗干擾性能。例如,光電耦合器輸入/輸出電路的供電,模擬信號隔離放大器輸入/輸出電路的電源。模數(shù)轉(zhuǎn)換包括采樣、保持、量化和編碼四個過程。A/D轉(zhuǎn)換模塊一般包括A/D轉(zhuǎn)換器。A/D轉(zhuǎn)換后

15、得到的是數(shù)據(jù),這些數(shù)據(jù)應(yīng)傳送給89C51單片機(jī)進(jìn)行處理。根據(jù)數(shù)據(jù)傳送確認(rèn)方式A/DC與單片機(jī)有下述三種連接方式:定時傳送方式、查詢傳送方式、中斷傳送方式。顯示模塊是人機(jī)交互的接口,使設(shè)計更直觀。常用的顯示器件比較多,有數(shù)碼管,LED點(diǎn)陣,1602液晶,12864液晶等。2.4 CPLD在智能電壓表中的應(yīng)用在數(shù)字技術(shù)蓬勃發(fā)展的今天,CPLD有著不可忽略的作用。2.4.1 CPLD相對優(yōu)勢傳統(tǒng)的數(shù)字電壓表采用模/數(shù)轉(zhuǎn)換器件和通用集成路邏輯器件來設(shè)計,這樣的設(shè)計不便于體統(tǒng)的修改和升級,缺少靈活性,接線復(fù)雜,體積大,故障率高。另外,以單片機(jī)為控制核心的數(shù)字電壓表的設(shè)計所用器件少,使用靈活,是目前使用最

16、為廣泛的一種設(shè)計方式。但是在設(shè)計和調(diào)試的過程中,也出現(xiàn)了一些問題,如工作速度較低,功能修改及調(diào)試都需要硬件電路的支持等,在一定程度上增加了功能修改及系統(tǒng)調(diào)試的困難,可編程邏輯器件(CPLD)設(shè)計的數(shù)字電壓表除了能完成數(shù)字邏輯的基本功能之外,更具有系統(tǒng)及設(shè)計的優(yōu)勢,用硬件描述語言決定系統(tǒng)功能,可以在硬件不變的情況下根據(jù)需要修改程序,以更新和擴(kuò)展功能,其靈活性和適用性顯著提高13。在控制領(lǐng)域,還有許多功能更為強(qiáng)大的控制器件,如DSP,ARM。但不論是在經(jīng)濟(jì)上還是開發(fā)難易程度上來說,都不是最佳選擇。因此本設(shè)計是以CPLD為控制核心進(jìn)行設(shè)計的。2.4.2 CPLD簡介及開發(fā)流程CPLD是一種用戶根據(jù)各

17、自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路,主要由可編程I/O單元、基本邏輯單元、布線池和其他輔助功能模塊構(gòu)成。圖2.4 CPLD結(jié)構(gòu)CPLD具有編程靈活、集成度高、適用范圍廣、入門容易、設(shè)計開發(fā)周期短、開發(fā)工具先進(jìn)、性價比高、可靠性高、保密性強(qiáng)等特點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路設(shè)計,因此其應(yīng)用深入儀器儀表、數(shù)控機(jī)床、航天測控設(shè)備、計算機(jī)網(wǎng)絡(luò)等方面。幾乎所有應(yīng)用中小規(guī)模通用數(shù)字集成電路的場合均可應(yīng)用CPLD器件。CPLD器件已成為電子產(chǎn)品不可缺少的組成部分,它的設(shè)計和應(yīng)用成為電子工程師必備的一種技能14-16。一般來說,CPLD設(shè)計流程包括:(1) 功能系統(tǒng)設(shè)計和CPLD芯片選擇等準(zhǔn)備工作。方案設(shè)計一般

18、采用自頂向下的設(shè)計方法,將系統(tǒng)單元化,劃分成多次層的基本單元,直到可以直接使用EDA元件庫為止。(2) 設(shè)計輸入,常用的方法是硬件描述語言和原理圖輸入方式。(3) 編譯。完成設(shè)計描述后即可通過編譯器進(jìn)行排錯編譯,變成特定的文本格式,為下一步的綜合做準(zhǔn)備。(4) 綜合優(yōu)化(synthesis),綜合優(yōu)化使軟件設(shè)計與硬件的可實(shí)現(xiàn)性掛鉤,將設(shè)計輸入翻譯成各種基本邏輯單元組成的邏輯網(wǎng)表,并根據(jù)目標(biāo)與要求(約束條件)優(yōu)化生成的邏輯網(wǎng)表,輸出edf和edn等文件,供CPLD廠家的布局布線器進(jìn)行實(shí)現(xiàn)。2.4.3 本系統(tǒng)的總體設(shè)計本系統(tǒng)采取模塊化設(shè)計思想,在降低系統(tǒng)復(fù)雜度的同時,使設(shè)計思路更清晰。硬件部分包括

19、電源電路,提供相應(yīng)電壓的電源;A/D轉(zhuǎn)換部分,包括調(diào)檔開關(guān),輸入電路和A/D轉(zhuǎn)換電路,將模擬量轉(zhuǎn)換成數(shù)字量;數(shù)碼管顯示部分,將測量結(jié)果以數(shù)字的形式傳給用戶。軟件部分包括主程序、A/D轉(zhuǎn)換子程序、分頻子程序、BCD譯碼子程序和動態(tài)掃描子程序。系統(tǒng)整體工作流程:調(diào)整調(diào)檔開關(guān),輸入電路將擴(kuò)展量程轉(zhuǎn)換成基本量程(05V),A/D轉(zhuǎn)換器以640KHZ的的頻率對其采樣,CPLD求采樣十次的平均值(因此,在測量交流量時,其變化頻率最好小于64KHZ),然后做相應(yīng)處理進(jìn)行四位數(shù)碼管動態(tài)有效顯示。圖2.5 系統(tǒng)框圖2.5 本章小結(jié)本章首先介紹了數(shù)字電壓表的特點(diǎn)及基本結(jié)構(gòu)原理,指出其發(fā)展趨向,接下來給出兩種總體設(shè)

20、計方案?;趩纹瑱C(jī)的智能數(shù)字電壓表:介紹單片機(jī)基本結(jié)構(gòu)及優(yōu)勢,給出其系統(tǒng)設(shè)計總體方案,指出各部分的結(jié)構(gòu)原理;基于CPLD的智能數(shù)字電壓表設(shè)計:首先指出CPLD的相對優(yōu)勢,以及CPLD基本介紹和開發(fā)流程,并說明本文是以CPLD為控制核心的,并給出設(shè)計方案。下一章進(jìn)行具體的硬件設(shè)計。3 硬件設(shè)計隨著電子產(chǎn)業(yè)的發(fā)展,越來越多的電子產(chǎn)品充斥在市場,對于電子工程師不可能掌握每一種芯片。那么了解一類器件的特點(diǎn)、優(yōu)勢、應(yīng)用領(lǐng)域就尤為重要。3.1 CPLD芯片的選擇經(jīng)過幾十年的發(fā)展,許多公司都開發(fā)出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權(quán)威公司的產(chǎn)品。Alt

21、era 公司是 90 年代以后發(fā)展最快、最大的可編程邏輯器件供應(yīng)商之一。主要產(chǎn)品 :MAX3000/7000,F(xiàn)LEX10K, APEX20K,ACEX1K,Stratix,Cyclone 等;Xilinx 公司是 FPGA 的發(fā)明者,也是全球最大的可編程邏輯器件的供應(yīng)商之一。產(chǎn)品種類較全,主要有:XC9500/4000,Coolrunner(XPLA3),Spartan,Virtex 等;Lattice 是 ISP 技術(shù)的發(fā)明者, ISP 技術(shù)極大的促進(jìn)了 PLD 產(chǎn)品的發(fā)展,主要產(chǎn)品有ispMACH4000,MACH4/5 , ispLSI2000/5000/8000等。Altera 公司

22、的產(chǎn)品在國內(nèi)占有很大的份額,其價格和性能得到工程師的普遍認(rèn)可。以下簡單介紹其系列產(chǎn)品。Classic系列是Altera公司最早的的產(chǎn)品系列、其集成度可達(dá)900可用門,引腳可達(dá)68個。工業(yè)標(biāo)準(zhǔn)的Classic系列由一個具有公共互聯(lián)邏輯的陣列構(gòu)成,適用于集成度不高、價格便宜的場合。該系列具有獨(dú)特的“0”功率模式,維持狀態(tài)的電流很小,應(yīng)用于低功耗的產(chǎn)品設(shè)計中。該系列基于EPROM工藝,編程信息不易丟失。Altera領(lǐng)先于市場的MAX系列CPLD是世界一流的低成本器件,幾乎可以實(shí)現(xiàn)所有的數(shù)字控制和某些模擬控制功能。作為非易失單芯片解決方案,MAX CPLD很很容易集成到用戶的系統(tǒng)中。采用這些器件后,可

23、以解決電路板級問題,例如處理器輸入輸出引腳不夠用,燈光、音響和移動模擬輸入輸出管理,組件之間采用電瓶轉(zhuǎn)換信號或者總線等問題;還能夠以低成本轉(zhuǎn)換成不兼容的接口。MAX CPLD可以使設(shè)計人員主要精力集中在更復(fù)雜的設(shè)計難題上。MAX CPLD系列的主要特征包括低成本、零功耗、超小型封裝、瞬時接通和非易失、在系統(tǒng)可編程(ISP)、免費(fèi)的Quartus II網(wǎng)絡(luò)版軟件支持和免費(fèi)的Modelsim-Alttera網(wǎng)絡(luò)版軟件支持。對于大批量應(yīng)用,Altera 3.3v MAX 3000A 器件是成本最低的,而5.0v、3.3v和2.5v MAX7000系列為多種應(yīng)用提供世界一流高性能方案。非易失、基于EE

24、PROM和MAX 3000A和MAX 7000系列具有瞬時接通能力,密度分布在32-512個宏單元之間。這些器件支持ISP,可直接在現(xiàn)場重新配置。面對琳瑯滿目的芯片產(chǎn)品,選擇哪種芯片對工程師來說很重要。一般依據(jù)以下準(zhǔn)則進(jìn)行選擇CPLD:(1) 選擇性價比最優(yōu)的芯片。盡管隨著技術(shù)的提高,各種CPLD芯片有了一定程度的降價,但價格然是限制CPLD應(yīng)用的重要因素之一,所以在滿足設(shè)計要求的同時,考慮價格因素。(2) 選擇產(chǎn)品設(shè)計性能升級有空間的??紤]但產(chǎn)品有更高要求時,所屬系列芯片有更加的選擇,由此可節(jié)省開發(fā)的成本和周期。(3) 選擇便于設(shè)計延續(xù)和擴(kuò)展的芯片。這樣有利于系列產(chǎn)品的開發(fā),減少部分設(shè)計,節(jié)

25、省開發(fā)投入。(4) 選擇提供免費(fèi)設(shè)計軟件廠家的芯片,免費(fèi)的軟件可以減少資本投入,降低成本。本設(shè)計選用MAX7000S系列器件。MAX7000S系列器件利用CMOS EEPROM單元來實(shí)現(xiàn)邏輯功能。用戶配置的MAX7000S結(jié)構(gòu)適用多種獨(dú)立的組合和時序邏輯功能。3.2 電源電路設(shè)計5V電源是應(yīng)用電路中常用的電源,許多芯片都會用到,如ADC0809.。穩(wěn)壓電源一般由整流器、整流器和穩(wěn)壓器三大部分構(gòu)成。電源變壓器:將電網(wǎng)提供的220V交流電壓轉(zhuǎn)換為各種電路設(shè)備所需的交流電壓。整流電路:利用單向?qū)щ娖骷⒔涣鼽c(diǎn)轉(zhuǎn)換成脈動直流電路。濾波電路:利用儲能元件把動脈直流電轉(zhuǎn)換成比較平坦的直流電。穩(wěn)壓電路:利用

26、電路調(diào)整作用使輸出電壓穩(wěn)定的過程稱為穩(wěn)壓。圖3.1 直流電源系統(tǒng)方框圖本電源設(shè)計中還有電源保護(hù)和指示燈。220V電壓經(jīng)過變壓器將其變?yōu)榈蛪航涣麟妷海?jīng)橋式全波整流變成直流電壓,再經(jīng)過雙T電容加集成穩(wěn)壓芯片(7805和7809)最終變成穩(wěn)壓的5V直流電壓。圖3.2 5V電源設(shè)計圖CPLD屬于低壓低耗器件,3.3V電壓是很常見的。很多情況下,一些器件的兼容性很強(qiáng),可以用3.3V電壓也可以用5V電壓。但電壓之間的相互轉(zhuǎn)換是很有必要的。解決電平匹配問題的方法有很多:最簡單的降低電平的方法是電阻分壓法,5V電平,經(jīng)1.6K+3.3K電阻分壓得到3.3V電壓;專用電平轉(zhuǎn)換芯片,如不僅可以用作升壓/降壓,而

27、且兩邊電源不同步,但此法不夠經(jīng)濟(jì);晶體管+上拉電阻法,就是一個雙極型三級管或MOSFET,C/D極接一個上拉電阻到正電源,輸入電平很靈活,輸出電平大致就是正電源電平。 圖3.3 5V轉(zhuǎn)3.3V電路 圖3.4 3.3V轉(zhuǎn)5V電路3.3 A/D轉(zhuǎn)換部分的電路設(shè)計模數(shù)轉(zhuǎn)換模塊的核心是模數(shù)轉(zhuǎn)換芯片。不同的芯片有著不同的應(yīng)用原理、性能、工作環(huán)境等。3.3.1 模數(shù)(A/D)轉(zhuǎn)換芯片的選擇在本設(shè)計中,模數(shù)(A/D)轉(zhuǎn)換模塊是一個重要的模塊,它關(guān)系到最后數(shù)電壓表電壓值的精確度。所以,A/D芯片的選擇是設(shè)計過程中一個很重要的環(huán)節(jié)。常用的A/D芯片有ADC0809,AD0832,TLC2543C等幾種。下面簡單

28、介紹一下這三種芯片。ADC0809是8位逐次逼近型A/D轉(zhuǎn)換器。多路開關(guān)可選通8個模擬通道,允許分時輸入8 路模擬量,共用A/DC進(jìn)行數(shù)據(jù)轉(zhuǎn)換。其主要特性:(1)8路輸入通道,分辨率為8位;(2)具有轉(zhuǎn)換起止控制端;(3)轉(zhuǎn)換時間短,100s(時鐘為640kHz時),130s(時鐘為500kHz時);(4)單個+5V電源供電;(5)模擬輸入電壓范圍0+5V,不需要零點(diǎn)和滿刻度校準(zhǔn);(6)低功耗,約15mW。如果輸入的模擬量變化大快,必須在輸入之前增加采樣電路。ADC0832也是8位逐次逼近型A/D轉(zhuǎn)換器,可支持致命傷個單端輸入通道和一個差分輸入通道。它易于和微處理器接口或獨(dú)立使用;可滿量程工作

29、;可用地址邏輯多路器選通各輸入通道。TLC2543C是12位開關(guān)電容逐次逼近A/D轉(zhuǎn)換,每個器件有三個控制輸入端,片選,輸入/輸出時鐘以及地址輸入端。它可以從主機(jī)高速傳輸轉(zhuǎn)換數(shù)據(jù)。它有高速的轉(zhuǎn)換,通用的控制能力,具有簡化比率轉(zhuǎn)換,刻度以及模擬電路與邏輯電路和電源噪聲隔離,耐高溫等特點(diǎn)。綜合上述幾種A/D轉(zhuǎn)換芯片的特點(diǎn),精度為8位的ADC0809芯片能夠滿足智能數(shù)字電壓表的設(shè)計需要,且資料充足,容易上手。3.3.2 模數(shù)(A/D)芯片ADC0809的手冊如圖3.5所示為ADC0809的內(nèi)部結(jié)構(gòu)框圖。ADC0809由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器、逐次逼近寄存器、

30、邏輯控制和定時電路組成。當(dāng)?shù)刂锋i存信號ALE有效時,地址鎖存器鎖存3位地址C、B、A,經(jīng)譯碼電路譯碼后選通8路模擬開關(guān)某一路信號,因此通道地址鎖存器和譯碼電路控制8路模擬開關(guān)。8位A/D轉(zhuǎn)換器為逐次逼近式,由256R電阻分壓器、電壓比較器、樹狀模擬開關(guān)(這兩部分組成一個D/A變換器)、邏輯控制、逐次逼近寄存器和定時電路組成。圖3.5 ADC0809的內(nèi)部結(jié)構(gòu)三態(tài)門輸出鎖存器用來保存A/D轉(zhuǎn)換結(jié)果,當(dāng)輸出允許信號OE有效時,打開三態(tài)門,輸出A/D轉(zhuǎn)換結(jié)果。因輸出有三態(tài)門,便于與單片機(jī)總線連接。圖3.6 ADC0809的引腳由引腳圖3.6所示,ADC0809共有28個引腳,采用雙列直插式封裝。AD

31、C0809 雖然有8路模擬通道可以同時輸入8路模擬信號,但每個瞬間只能轉(zhuǎn)換一路,各路之間的切換由軟件變換通道地址來實(shí)現(xiàn)。其主要引腳功能如下所示。D7D0:8位二進(jìn)制數(shù)字量輸出端。IN0IN7:8路模擬量輸入端。A、B、C:3位地址輸入線,用于選通8路模擬輸入中的一路。表3.1 ADC0809通道地址選擇表ALE:地址鎖存允許信號,在ALE的上升沿,將A、B、C上的通道地址鎖存到內(nèi)部的地址鎖存器。EOC: A/D轉(zhuǎn)換完成信號,此端輸出一個高電平表示A/D轉(zhuǎn)換結(jié)束。START: A/D轉(zhuǎn)換啟動信號,輸入,高電平有效。OE:數(shù)據(jù)輸出允許信號。此端輸入一低電平時,D7D0一般成高阻態(tài);A/D轉(zhuǎn)換結(jié)束后

32、,此端輸入一個高電平來打開輸出三態(tài)門,輸出轉(zhuǎn)換結(jié)果。REF(+)、REF(-):基準(zhǔn)電壓。 Vcc:單一5V電源。 GND:地。 CLK:脈沖信號輸入端。其時鐘頻率范圍在101200kHZ,典型值為640KHZ。ADC0809工作過程可根據(jù)其時序圖很容以理解。圖3.7 ADC0809的時序圖ADC0809的工作過程分為如下幾步。第一步:首先確定A、B、C三位地址,決定選擇哪一路模擬信號。第二步:使ALE端接收一正脈沖信號,使該路模擬信號經(jīng)選擇開關(guān)達(dá)到比較器的輸入端。第三步:使START端接收一正脈沖信號,START的上升沿將逐次逼近寄存器復(fù)位,下降沿啟動A/D轉(zhuǎn)換。第四步:EOC輸出信號變低,

33、指示轉(zhuǎn)換正在進(jìn)行。第五步:A/D轉(zhuǎn)換結(jié)束,EOC變?yōu)楦唠娖剑甘続D轉(zhuǎn)換結(jié)束。此時,數(shù)據(jù)已保存到8位鎖存器中。第六步:OE信號變?yōu)楦唠娖?,則8位三態(tài)鎖存緩沖器的三態(tài)門被打開,轉(zhuǎn)換好的8位數(shù)字量數(shù)據(jù)被輸出到數(shù)據(jù)線上。如上所述,EOC信號變?yōu)楦唠娖奖硎続/D轉(zhuǎn)換完成,EOC可作為中斷申請信號,通知:CPLD取走數(shù)據(jù)。在查詢傳送方式中,EOC可以作為CPLD查詢外設(shè)(ADC)的狀態(tài)信號。3.3.3 輸入電路設(shè)計由于輸入電壓不得高于5V,所以測量高電壓時,需要對輸入的電壓信號進(jìn)行分壓處理使其在05V之間,具體電路如圖3.8所示.。圖3.8 分壓電路因?yàn)榉殖龅碾妷簽?5V,所以當(dāng)輸入為50V時,電壓要衰

34、減10倍。轉(zhuǎn)換后的結(jié)果需要乘以衰減倍數(shù)才能得到真實(shí)測量值。設(shè)R取1K,由 (1)得R1為9K,同理得R2為21K,R3為43K,R4為75K。對于05V的電壓,可以直接輸入。五個量程檔的衰減倍數(shù)分別為1、10、22、44、76.。經(jīng)分壓電路后通過ADC0809的模擬通道進(jìn)行A/D轉(zhuǎn)換。如圖3.8將IN0、IN1、IN2、IN3、IN4與ADC0809的同名管腳相連??梢钥闯?個量程檔占用5個模擬通道,通過3個撥動開關(guān)(控制C、B、A管腳電平的高低)來選擇哪路模擬通道進(jìn)行轉(zhuǎn)換,即選擇相應(yīng)量程檔來測量。如選擇0220V的量程,則開關(guān)狀態(tài)為011,即選通IN3模擬通道進(jìn)行測量。3.3.4 ADC08

35、09與CPLD連接原理MAX7000S器件可以通過使用外部5.0V的上拉電阻使輸出引腳來設(shè)置滿足5.0V CMOS輸入電壓要求。若VCCIO為3.3V,則選擇開漏輸出將會關(guān)閉輸出上拉三極管,利用外部上拉電阻將輸出拉高以滿足5.0V的CMOS輸入電壓。若VCCIO為5.0V,因?yàn)楫?dāng)引腳輸出超過約3.8V時上拉三極管已經(jīng)關(guān)閉,外部上拉電阻可直接將輸出拉高來滿足5.0V CMOS輸入電壓的要求,所以不必選擇開漏輸出13。用三個撥動開關(guān)來表示ADC0809的三個輸入(ADDA、ADDB、ADDC),用來選擇測量哪路模擬量。ADC0809的Vref(-)管腳接地,Vref(+)管腳接5.0電壓,則其測量

36、的范圍是05.0V。其中AD0AD7、START、EOC、CLOCK、ALE、ADDA、ADDB、ADDC管腳與CPLD管腳相連;三個撥動開關(guān)一端與CPLD管腳相連,一端與1K電阻電壓相連。3.4 顯示模塊的設(shè)計顯示模塊主要是將數(shù)據(jù)直觀地反映給用戶,減少人為因素讀數(shù)誤差,是人機(jī)交互中的重要組成部分。3.4.1 常用顯示器簡介本次設(shè)計中有顯示模塊,而常用的顯示器件比較多,有數(shù)碼管,LED點(diǎn)陣,1602液晶,12864液晶等。數(shù)碼管是最常用的一種顯示器件,它是由幾個發(fā)光二極管組成的8字段顯示器件,其特點(diǎn)是價格非常的便宜,使用也非常的方便,顯示效果非常的清楚。小電流下可以驅(qū)動每光,發(fā)光響應(yīng)時間極短,

37、體積小,重量輕,抗沖擊性能好,壽命長。但數(shù)碼管只能是顯示0-9的數(shù)據(jù),不能夠顯示全部字符。這也是數(shù)碼管的不足之處。LED點(diǎn)陣顯示器件是由好多個發(fā)光二極管組成的。具有高亮度,功耗低,視角大,壽命長,耐濕,冷,熱等特點(diǎn),LED點(diǎn)陣顯示器件可以顯示數(shù)字,英文字符,中文字符等。但用LED點(diǎn)陣顯示的軟件程序設(shè)計比較麻煩。1602液晶是工業(yè)字符型液晶,能夠同時顯示16*2即32個字符。大小寫英文字母、阿拉伯?dāng)?shù)字、常用的符號、和日文假名等160個不同的點(diǎn)陣字符圖形存儲在1602液晶模塊內(nèi)部的字符發(fā)生存儲器,每一個字符都有一個固定的代碼。使用時直接編寫軟件程序按一定的時序驅(qū)動即可。它的特點(diǎn)是顯示字跡清楚,價格

38、相對便宜。12864液晶也是一種工業(yè)字符型液晶,它不僅能夠顯示1602液晶所可以顯示的字符,數(shù)字等信息,而且還可以顯示8*4個中文漢字和一些簡單的圖片,顯示信息也非常的清楚。使用時也直接編寫軟件程序按一定的時序驅(qū)動即可。不過它的價格比1602液晶貴了很多。在本設(shè)計中,我們只需要顯示最后電壓的數(shù)字值,綜合上面各種顯示器件的特點(diǎn):點(diǎn)陣顯示器件驅(qū)動顯示軟件程序編寫麻煩,占用的引腳相對也較多。也不是理想的顯示器件。液晶顯示器件, 12864液晶,1602液晶的功能強(qiáng),價格貴,在只顯示數(shù)字的設(shè)計中,數(shù)碼管能夠滿足需要。因此,在本設(shè)計實(shí)驗(yàn)我們選擇數(shù)碼管顯示器件。3.4.2 數(shù)碼管應(yīng)用資料我們最常用的是七段

39、式和八段式LED數(shù)碼管,八段比七段多了一個小數(shù)點(diǎn),其他的基本相同。所謂的八段就是指數(shù)碼管里有八個小LED發(fā)光二極管,通過控制不同的LED的亮滅來顯示出不同的字形。數(shù)碼管又分為共陰極和共陽極兩種類型,其實(shí)共陰極就是將八個LED的陰極連在一起,讓其接地,這樣給任何一個LED的另一端高電平,它便能點(diǎn)亮。而共陽極就是將八個LED的陽極連在一起。圖3.9 數(shù)碼管原理圖其中引腳圖的兩個COM端連在一起,是公共端,共陰數(shù)碼管要將其接地,共陽數(shù)碼管將其接正5伏電源。一個八段數(shù)碼管稱為一位,多個數(shù)碼管并列在一起可構(gòu)成多位數(shù)碼管,它們的段選線(即a,b,c,d,e,f,g,dp)連在一起,而各自的公共端稱為位選線

40、。顯示時,都從段選線送入字符編碼,而選中哪個位選線,那個數(shù)碼管便會被點(diǎn)亮。數(shù)碼管的8段,對應(yīng)一個字節(jié)的8位,a對應(yīng)最低位,dp對應(yīng)最高位。所以如果想讓數(shù)碼管顯示數(shù)字0,那么共陰數(shù)碼管的字符編碼為,即0x3f;共陽數(shù)碼管的字符編碼為,即0xc0??梢钥闯鰞蓚€編碼的各位正好相反。圖3.10 數(shù)碼管管腳共陽極的數(shù)碼管0f的段編碼是這樣的:unsigned char code table=0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,/070x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e /8f; 共陰極的數(shù)碼管0f的段編碼是這樣的:

41、unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,/070x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71/0f;3.4.3 顯示模塊電路原理在設(shè)計中使用的是一個四位一體、共陰極型七段數(shù)碼管。在設(shè)計時用來兩個同樣的數(shù)碼管,便于系統(tǒng)升級時精確度的擴(kuò)展。 顯示模塊電路原理如圖3.8.。3-8譯碼器的輸出與數(shù)碼管的公共端相連,用于位選,其同名段選端與CPLD通過驅(qū)動芯片相連。圖3.11 顯示模塊電路3.5 本章小結(jié)本章主要是系統(tǒng)硬件設(shè)計。首先介紹CPLD芯片介紹,選擇合適的CPLD芯片。5V電

42、源電路設(shè)計,給出電平匹配的方法;A/D轉(zhuǎn)換芯片的選擇,以及工作原理,控制方法,以及測量高電壓時分壓電路的設(shè)計;顯示電路的設(shè)計方法。4 程序設(shè)計CPLD利用DHL語言進(jìn)行編程開發(fā),相對硬件數(shù)字系統(tǒng)的設(shè)計來說,能夠縮短開發(fā)周期,降低開發(fā)成本,實(shí)現(xiàn)系統(tǒng)在線升級。4.1 開發(fā)環(huán)境介紹CPLD軟件都是由PLD/FPGA芯片廠家提供,基本都可以完成所有的設(shè)計輸入(原理圖或HDL),仿真,綜合,布線,下載等工作。Altera公司和Xilinx公司是PLD/FPGA最大的生產(chǎn)商。Xilinx公司的WebFITTER是免費(fèi)PLD開發(fā)軟件,不需下載,可在線編譯,結(jié)果用e-mail發(fā)送到信箱。使用簡單,但要求較快的

43、聯(lián)網(wǎng)速度。支持XC9500 和 CoolRunner系列;WebPACK ISE也是免費(fèi)PLD開發(fā)軟件,支持XC9500,oolrunner,Spartan/II,部分Virtex/E/II器件。Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計輸入形式,內(nèi)嵌綜合器以及仿真器,而且可以直接調(diào)用第三方的綜合器和仿真器進(jìn)行綜合與仿真,從而非常靈活地完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。本設(shè)計就是在Quartus II上進(jìn)行開發(fā)。Quart

44、us II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫。用戶使用成熟的模塊不僅降低了設(shè)計的復(fù)雜度、縮短了設(shè)計周期,而且增加了設(shè)計的靈活性。對第三方EDA工具的良好支持使得用戶發(fā)揮順手的工具,展現(xiàn)出軟件的友好性和兼容性,充分利用各種工具的優(yōu)勢。 Quartus II繼承了Maxplus II 友好的圖形界面及簡便的使用方法,支持更多的器件類型。Altera在Quartus II 中包含了許多設(shè)計輔助工具,如SignalTap II、Chip Editor和RTL Viewer集成了SOPC和HardCopy設(shè)計流程。Quartus II 作為一種可編程邏輯的設(shè)計環(huán)

45、境, 由于其強(qiáng)大的設(shè)計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計者的歡迎。4.2 DHL介紹Verilog HDL和VHDL是目前世界上最流行的兩種硬件描述語言,都是在20世紀(jì)80年代中期開發(fā)出來的。前者由Gateway Design Automation公司(該公司于1989年被Cadence公司收購)開發(fā)。兩種HDL均為IEEE標(biāo)準(zhǔn)。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式、描述風(fēng)格以及語法是十分類似于一般的計算機(jī)高級語言。一個VHDL程序由5部分組成,包括實(shí)體(ENTITY)、結(jié)構(gòu)(architecture)、配置(co

46、xnfiguration)、飽(package)和庫(library)。實(shí)體和結(jié)構(gòu)體兩大部分組成程序設(shè)計的最基本單元,最主要的是內(nèi)部邏輯功能和算法的實(shí)現(xiàn)。其他的設(shè)計可以直接調(diào)用已經(jīng)設(shè)計完成的實(shí)體。這種將設(shè)計實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點(diǎn)。VHDL具有以下特點(diǎn):功能強(qiáng)大、設(shè)計靈活;支持廣泛、便于修改維護(hù);強(qiáng)大的系統(tǒng)硬件描述能力;獨(dú)立于器件的設(shè)計、與工藝無關(guān);很強(qiáng)的移植能力;易于共享和復(fù)用,這些特點(diǎn)與其他語言相比展現(xiàn)出很大的優(yōu)勢。Verilog HDL作為一種硬件描述語言,有C語言的編程風(fēng)格。1983年,Moorby首創(chuàng)了Verilog HDL,并設(shè)計出第一個關(guān)于Verilog

47、HDL的仿真器。1987年Synonsys公司開始使用Verilog HDL行為語言作為綜合工具的輸入。OVI(Open Verilog HDL International)組織負(fù)責(zé)Verilog HDL的發(fā)展,OVI由Verilog HDL的使用和CAE供應(yīng)商組成,制定標(biāo)準(zhǔn)。 Verilog HDL的最大特點(diǎn)就是易學(xué)易用,適合將Verilog HDL內(nèi)容安排在與ASIC設(shè)計等相關(guān)課程內(nèi)部進(jìn)行講授,因?yàn)閾碛杏蠧語言的編程經(jīng)驗(yàn),可以在一個較短的時間內(nèi)很快的學(xué)習(xí)和掌握。這樣的課程安排不僅使學(xué)習(xí)者學(xué)習(xí)到Verilog HDL語言,而且同時獲得設(shè)計實(shí)際電路的經(jīng)驗(yàn),這是由于HDL語言本身是專門面向硬件與

48、系統(tǒng)設(shè)計的。與之相比,VHDL的學(xué)習(xí)要困難一些。本設(shè)計應(yīng)用Verilog HDL來設(shè)計。4.3 語言開發(fā)流程用語言開發(fā)PLD/FPGA的完整流程為:(1).文本編輯:即可以在專用的HDL編輯環(huán)境中編輯,也可以在熟悉的編輯器中編輯。不同的語言注意其文件后綴,通常Verilog文件保存為.v文件, VHDL文件保存為.vhd文件。4.4 程序設(shè)計流程及代碼根據(jù)ADC0809的時序圖,很容易寫出其狀態(tài)機(jī)。狀態(tài)機(jī)的最簡結(jié)構(gòu)一般由兩個進(jìn)程構(gòu)成,即主控時序進(jìn)程和主控組合進(jìn)程。一個進(jìn)程描述時序邏輯輸出,另一個進(jìn)程描述組合邏輯包括進(jìn)程問狀態(tài)值的傳遞邏輯以及狀態(tài)轉(zhuǎn)換值的輸出。數(shù)據(jù)單元和控制單元組成ADC0809

49、與CPLD的接口設(shè)計系統(tǒng)。復(fù)位信號和時鐘信號是數(shù)據(jù)單元和控制單元中兩個非常重要的信號。復(fù)位信號是系統(tǒng)初始狀態(tài)確定性的保證,時鐘信號則是時序系統(tǒng)工作的必要條件。復(fù)位信號有效是狀態(tài)機(jī)通?;謴?fù)到初始狀態(tài),內(nèi)部狀態(tài)隨時鐘信號的節(jié)拍發(fā)生變化。從ADC0809的初始狀態(tài)開始,根據(jù)其工作時序圖,建立狀態(tài)機(jī)。ADC0809狀態(tài)機(jī)功能描述與相應(yīng)引腳的取值如下:表4-1 ADC0809狀態(tài)機(jī)功能表狀態(tài)描述S0態(tài)初始狀態(tài),通道選擇,cba_out = cba_in,OE=0,ALE=0,START=0;S1態(tài)通道鎖存狀態(tài),OE=0,ALE=1,START=0 ;S2態(tài)啟動A/D轉(zhuǎn)換狀態(tài),ALE=0,START=1,

50、OE=0;S3態(tài)A/D轉(zhuǎn)換等待狀態(tài),ALE=0,START=0,OE=0;IF EOC=0保持當(dāng)前狀態(tài)不變,繼續(xù)等待A/D轉(zhuǎn)換,ELSE轉(zhuǎn)換結(jié)束,進(jìn)入下一狀態(tài);S4態(tài)數(shù)據(jù)輸出允許狀態(tài),A/D轉(zhuǎn)換完畢,開啟數(shù)據(jù)輸出允許信號,ALE=0,START=0,OE=1;S5態(tài)數(shù)據(jù)鎖存狀態(tài),開啟數(shù)據(jù)鎖存信號,將轉(zhuǎn)換結(jié)果送鎖存器鎖存,ALE=0,START=0,OE=1;S6態(tài)延時狀態(tài),為了保證數(shù)據(jù)可靠鎖存,延時一個時鐘狀態(tài)周期ALE=0,START=0,OE=1;其他狀態(tài)返回初始狀態(tài),ALE=0,START=0,OE=0ADC0809轉(zhuǎn)換控制代碼見附錄。圖4.1 A/D轉(zhuǎn)換系統(tǒng)電路圖 ADC0809以64

51、0KHZ的頻率對模擬電壓采樣一次,得到一個八位二進(jìn)制數(shù)。對于交流電的測量,將每次測量結(jié)果和前面九次測量結(jié)果的平均值作為最終測量結(jié)果,這一任務(wù)由FIFO子程序完成。定義一個有十個八位的存儲器,每次讀取采樣結(jié)果取代十個數(shù)值中最先讀取的那個數(shù)。求出十次采樣的平均數(shù)由dout輸出。圖4.FIFO子程序流程圖 FIFO子程序代碼如下:module fifo(clk, din, dout) ;inputclk ;input7:0din ;output7:0dout ;parameter DEPTH = 4, MAX_COUNT = 4b1001 ;reg 7:0dout ; reg 7:0 temp ;

52、/10個值中最先讀取的數(shù) reg 3:0 head; /定義寫指針reg11:0max ;reg11:0 average ;reg 7:0 fifomem0:MAX_COUNT; /定義fifomem存儲器108integer i ;initialbeginfor(i=0;i10;i=i+1)fifomemi = 8b ;head = 4b0 ;end always (posedge clk) begin if (head = 4b1001) begin head = 4b0000; end else begin head = head + 1; endtemp = fifomemhead ;

53、fifomemhead = din ;max = max + fifomemhead - temp ;average = max / 10 ;dout = average7:0 ;endendmoduleBCD碼一般由四位二進(jìn)制表示,在數(shù)碼管顯示相應(yīng)的十進(jìn)制需要進(jìn)行顯示。譯碼顯示如下:module seg_encoder(seg_led_eight,data_bcd);output 7:0 seg_led_eight;input 3:0 data_bcd;reg 7:0 seg_led_eight;always (data_bcd) begincase(data_bcd)4d0 : seg_l

54、ed_eight=8b;4d1 : seg_led_eight=8b;4d2 : seg_led_eight=8b;4d3 : seg_led_eight=8b;4d4 : seg_led_eight=8b;4d5 : seg_led_eight=8b;4d6 : seg_led_eight=8b;4d7 : seg_led_eight=8b;4d8 : seg_led_eight=8b;4d9 : seg_led_eight=8b;default : seg_led_eight=8b0000_0000;endcaseendendmodule其中data_bcd表示四位BCD碼,seg_led

55、_eight為八位控制數(shù)碼管段顯。在本設(shè)計中采用數(shù)碼管動態(tài)顯示。動態(tài)驅(qū)動是將所有數(shù)碼管的段選線(即a, b, c, d, e, f, g, dp)連在一起,每個數(shù)碼管的位選線由獨(dú)立的I/O線控制。顯示時,CPLD從段選線送出字符編碼,選中哪個位選線,相應(yīng)的數(shù)碼管就會點(diǎn)亮。所以我們想要哪位數(shù)碼管顯示,只需使其位選線有效,其他數(shù)碼管的位選線無效,同時送出字符編碼即可。通過分時輪流使各個LED數(shù)碼管的位選線有效,就使各個數(shù)碼管輪流受控顯示,這稱之為動態(tài)掃描。在動態(tài)掃描過程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為12ms,利用人的視覺缺陷,產(chǎn)生各個數(shù)碼管同時點(diǎn)亮的效果。動態(tài)顯示能夠產(chǎn)生靜態(tài)顯示一樣的視覺效果,不但能夠降低功耗,而且能夠節(jié)省有限的I/O口。在本設(shè)計中采用1KHZ的脈沖進(jìn)行掃描。應(yīng)用分頻子程序產(chǎn)生1KHZ的時鐘脈沖。在顯示之前,先對數(shù)據(jù)進(jìn)行處理。在此設(shè)計中進(jìn)行四位有效數(shù)據(jù)顯示,ADC0809輸出的數(shù)據(jù)在0255之間,需將其轉(zhuǎn)化到05.0,為便于取各個有效位的BCD碼,將數(shù)據(jù)轉(zhuǎn)化成四位整數(shù),即程序中的data_da*1000/51,然后取各位數(shù)的BCD碼。最高位的數(shù)碼管中的小數(shù)點(diǎn)是一直亮著的。代碼如下:module led_display ( clk ,sm_seg ,sm_bit ,data_da );input clk ; input 7:0 data

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論