基于單片機(jī)和CPLD的數(shù)字頻率計(jì)的設(shè)計(jì)doc_第1頁(yè)
基于單片機(jī)和CPLD的數(shù)字頻率計(jì)的設(shè)計(jì)doc_第2頁(yè)
基于單片機(jī)和CPLD的數(shù)字頻率計(jì)的設(shè)計(jì)doc_第3頁(yè)
基于單片機(jī)和CPLD的數(shù)字頻率計(jì)的設(shè)計(jì)doc_第4頁(yè)
基于單片機(jī)和CPLD的數(shù)字頻率計(jì)的設(shè)計(jì)doc_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、引言    在傳統(tǒng)的控制系統(tǒng)中,通常將單片機(jī)作為控制核心并輔以相應(yīng)的元器件構(gòu)成一個(gè)整體。但這種方法硬件連線復(fù)雜、可靠性差,且在實(shí)際應(yīng)用中往往需要外加擴(kuò)展芯片,這無(wú)疑會(huì)增大控制系統(tǒng)的體積,還會(huì)增加引入干擾的可能性。對(duì)一些體積小的控制系統(tǒng),要求以盡可能小的器件體積實(shí)現(xiàn)盡可能復(fù)雜的控制功能,直接應(yīng)用單片機(jī)及其擴(kuò)展芯片就難以達(dá)到所期望的效果。     復(fù)雜可編程邏輯器件(CPLD)具有集成度高、運(yùn)算速度快、開發(fā)周期短等特點(diǎn),它的出現(xiàn),改變了數(shù)字電路的設(shè)計(jì)方法、增強(qiáng)了設(shè)計(jì)的靈活性。基于此,本文提出了一種采用Altera公司的CPLD(

2、ATF1508AS和Atmel公司的單片機(jī)(AT89S52相結(jié)合的數(shù)字頻率計(jì)的設(shè)計(jì)方法。該數(shù)字頻率計(jì)電路簡(jiǎn)潔,軟件潛力得到充分挖掘,低頻段測(cè)量精度高,有效防止了干擾的侵入。獨(dú)到之處體現(xiàn)在用軟件取代了硬件。     CPLD開發(fā)環(huán)境簡(jiǎn)介     1 VHDL語(yǔ)言    VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語(yǔ)言)是由美國(guó)國(guó)防部開發(fā)的一種快速設(shè)計(jì)電路的工具,目前已經(jīng)成為IEEE的一種工業(yè)標(biāo)準(zhǔn)硬件描

3、述語(yǔ)言。相比傳統(tǒng)的電路系統(tǒng)設(shè)計(jì)方法,VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下和基于庫(kù)的設(shè)計(jì)的特點(diǎn),因此設(shè)計(jì)者可以不必了解硬件結(jié)構(gòu)。從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級(jí)用VHDL對(duì)電路的行為進(jìn)行描述,并進(jìn)行仿真和糾錯(cuò),然后在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證,最后再用邏輯綜合優(yōu)化工具生成具體的門級(jí)邏輯電路的網(wǎng)表,下載到具體的CPLD器件中去,從而實(shí)現(xiàn)可編程的專用集成電路(ASIC)的設(shè)計(jì)。     2 Max+Plus開發(fā)工具     Max+Plus開發(fā)工具是美國(guó)Altera公司自行設(shè)計(jì)的一種CAE軟件工具。

4、它具有全面的邏輯設(shè)計(jì)能力,設(shè)計(jì)者可以自由組合文本、圖形和波形輸入法,建立起層次化的單器件或多器件設(shè)計(jì)。利用該工具配備的編輯、編譯、仿真、綜合、芯片編程等功能,將設(shè)計(jì)的電路圖或電路描述程序變成基本的邏輯單元寫入到可編程芯片中(如CPLD、FPGA),做成ASIC芯片。     它支持FLEX、MAX及Classic等系列CPLD器件,設(shè)計(jì)者無(wú)須精通器件內(nèi)部的復(fù)雜結(jié)構(gòu) ,只需用自己熟悉的設(shè)計(jì)輸入工具,如高級(jí)行為語(yǔ)言、原理圖或波形圖進(jìn)行設(shè)計(jì)輸入,它便將這些設(shè)計(jì)轉(zhuǎn)換成目標(biāo)結(jié)構(gòu)所要求的格式,從而簡(jiǎn)化了設(shè)計(jì)過(guò)程。而且Max+Plus提供了豐富的邏輯功能庫(kù)供設(shè)計(jì)者使用。設(shè)計(jì)者利

5、用以上這些庫(kù)及自己添加的宏功能模塊,可大大減輕設(shè)計(jì)的工作量。使用Max+Plus設(shè)計(jì)CPLD器件的流程如圖1所示。     本系統(tǒng)采用等精度測(cè)頻的原理來(lái)測(cè)量頻率,其原理如圖2所示。    圖2中的門控信號(hào)是可預(yù)置的寬度為Tpr的一個(gè)脈沖。CNT1和CNT2是兩個(gè)可控計(jì)數(shù)器。標(biāo)準(zhǔn)頻率信號(hào)從CNT1的時(shí)鐘輸入端FS輸入,其頻率為Fs;被測(cè)信號(hào)經(jīng)整形后從CNT2的時(shí)鐘輸入端FIN輸入,設(shè)其實(shí)際頻率為Fxe,測(cè)量頻率為Fx。     當(dāng)門控信號(hào)為高電平時(shí),被測(cè)信號(hào)的上沿通過(guò)D觸發(fā)器的Q端同時(shí)啟動(dòng)計(jì)數(shù)器CNT1和CNT2。對(duì)

6、被測(cè)信號(hào)Fx和標(biāo)準(zhǔn)頻率信號(hào)Fs同時(shí)計(jì)數(shù)。當(dāng)門控信號(hào)為低電平時(shí),隨后而至的被測(cè)信號(hào)的上沿將使這兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉。設(shè)在一次門控時(shí)間Tpr中對(duì)被測(cè)信號(hào)計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)頻率信號(hào)的計(jì)數(shù)值為Ns,則: Fx/Nx=Fs/Ns(標(biāo)準(zhǔn)頻率和被測(cè)頻率的門寬時(shí)間Tpr完全相同就可以得到被測(cè)信號(hào)的頻率值為: Fx=(Fs/Ns×Nx     系統(tǒng)硬件電路設(shè)計(jì)     1 系統(tǒng)總體設(shè)計(jì)      本系統(tǒng)的硬件電路包括鍵盤控制模塊、顯示模塊、輸入信號(hào)整形模塊以及單片機(jī)主控和CPLD模塊。鍵盤控制模塊設(shè)置5

7、個(gè)功能鍵和3個(gè)時(shí)間選擇鍵,鍵值的讀入采用一片74LS165來(lái)完成,顯示模塊用8只74LS164完成LED的串行顯示。     系統(tǒng)由一片CPLD完成各種測(cè)試功能,對(duì)標(biāo)準(zhǔn)頻率和被測(cè)信號(hào)進(jìn)行計(jì)數(shù)。單片機(jī)對(duì)整個(gè)測(cè)試系統(tǒng)進(jìn)行控制,包括對(duì)鍵盤信號(hào)的讀入與處理;對(duì)CPLD測(cè)量過(guò)程的控制、測(cè)量結(jié)果數(shù)據(jù)的處理;最后將測(cè)量結(jié)果送LED顯示輸出。被測(cè)信號(hào)整形電路主要對(duì)被測(cè)信號(hào)進(jìn)行限幅、放大、再經(jīng)施密特觸發(fā)器整形后送入CPLD。用50MHz的有源晶振作為CPLD的測(cè)試標(biāo)準(zhǔn)頻率。單片機(jī)由外接12MHz標(biāo)準(zhǔn)晶振提供時(shí)鐘電路。系統(tǒng)組成原理如圖3所示。     根

8、據(jù)等精度測(cè)頻原理,利用VHDL實(shí)現(xiàn)的測(cè)頻頂層電路模塊邏輯結(jié)構(gòu)如圖4所示。     該模塊由4個(gè)子模塊構(gòu)成。其中CONTROL1為測(cè)頻或測(cè)周期控制模塊;CONTROL2為測(cè)脈寬和占空比控制模塊;CHOICE為自校與測(cè)量選擇模塊;COUNT為基準(zhǔn)頻率和被測(cè)頻率計(jì)數(shù)器模塊。     被測(cè)信號(hào)脈沖經(jīng)CHOICE選擇后,從控制模塊CONTROL1的FX1端輸入,基準(zhǔn)頻率信號(hào)從FS端輸入,CLR是初始化信號(hào)。在進(jìn)行頻率或周期測(cè)量時(shí),完成如下步驟: (1在CLR端加正脈沖信號(hào)完成測(cè)試電路狀態(tài)的初始化。     (2由預(yù)

9、置門控信號(hào)將STROBE置高電平,預(yù)置門開始定時(shí),此時(shí)由被測(cè)信號(hào)的上沿打開計(jì)數(shù)器COUNT,同時(shí)對(duì)基準(zhǔn)頻率信號(hào)和被測(cè)信號(hào)進(jìn)行計(jì)數(shù)。     (3頂置門定時(shí)結(jié)束信號(hào)把STROBE置為低電平(由單片機(jī)來(lái)完成,在被測(cè)信號(hào)的下一個(gè)脈沖的上沿到來(lái)時(shí),COUNT停止計(jì)數(shù)。     (4計(jì)數(shù)結(jié)束后,ED1端輸出低電平來(lái)指示測(cè)量計(jì)數(shù)結(jié)束,單片機(jī)得到此信號(hào)后,即可利用SS0,SS1進(jìn)行選擇,四次分別讀回COUNT中基準(zhǔn)頻率信號(hào)和被測(cè)信號(hào)計(jì)數(shù)值,并根據(jù)上述測(cè)量公式進(jìn)行運(yùn)算,計(jì)算出被測(cè)信號(hào)的頻率或周期值。     系統(tǒng)軟件設(shè)計(jì)     本系統(tǒng)的單片機(jī)主控及其外圍電路模塊用Keil C語(yǔ)言編寫,軟件模塊對(duì)應(yīng)于硬件電路的每一個(gè)部分,還包括部分?jǐn)?shù)據(jù)計(jì)算和轉(zhuǎn)換模塊。CPLD模塊用VHDL語(yǔ)言編寫,并在Max+Plus平臺(tái)上,完成CPLD的軟件設(shè)計(jì)、編譯、調(diào)試、仿真和下載。系統(tǒng)初始化后,主程序不斷掃描鍵盤子程序,當(dāng)其鍵按下時(shí),程序跳轉(zhuǎn)到相應(yīng)的子程序執(zhí)行其功能,然后返回繼續(xù)執(zhí)行鍵盤掃描主程序。其主程序流程圖如圖5所示。     試驗(yàn)測(cè)試的結(jié)果如表1所示。  

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論