基于51單片機(jī)和CPLD的數(shù)字頻率計(jì)的設(shè)計(jì)
引言
在傳統(tǒng)的控制系統(tǒng)中,通常將單片機(jī)作為控制核心并輔以相應(yīng)的元器件構(gòu)成一個整體。但這種方法硬件連線復(fù)雜、可靠性差,且在實(shí)際應(yīng)用中往往需要外加擴(kuò)展芯片,這無疑會增大控制系統(tǒng)的體積,還會增加引入干擾的可能性。對一些體積小的控制系統(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(ATF1508AS) 和Atmel公司的單片機(jī)(AT89S52)相結(jié)合的數(shù)字頻率計(jì)的設(shè)計(jì)方法。該數(shù)字頻率計(jì)電路簡潔,軟件潛力得到充分挖掘,低頻段測量精度高,有效防止了干擾的侵入。獨(dú)到之處體現(xiàn)在用軟件取代了硬件。
CPLD開發(fā)環(huán)境簡介
1 VHDL語言
VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語言)是由美國國防部開發(fā)的一種快速設(shè)計(jì)電路的工具,目前已經(jīng)成為IEEE的一種工業(yè)標(biāo)準(zhǔn)硬件描述語言。相比傳統(tǒng)的電路系統(tǒng)設(shè)計(jì)方法,VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下和基于庫的設(shè)計(jì)的特點(diǎn),因此設(shè)計(jì)者可以不必了解硬件結(jié)構(gòu)。從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級用VHDL對電路的行為進(jìn)行描述,并進(jìn)行仿真和糾錯,然后在系統(tǒng)一級進(jìn)行驗(yàn)證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的CPLD器件中去,從而實(shí)現(xiàn)可編程的專用集成電路(ASIC)的設(shè)計(jì)。
2 Max+PlusⅡ開發(fā)工具
Max+PlusⅡ開發(fā)工具是美國Altera公司自行設(shè)計(jì)的一種CAE軟件工具。它具有全面的邏輯設(shè)計(jì)能力,設(shè)計(jì)者可以自由組合文本、圖形和波形輸入法,建立起層次化的單器件或多器件設(shè)計(jì)。利用該工具配備的編輯、編譯、仿真、綜合、芯片編程等功能,將設(shè)計(jì)的電路圖或電路描述程序變成基本的邏輯單元寫入到可編程芯片中(如CPLD、FPGA),做成ASIC芯片。
它支持FLEX、MAX及Classic等系列CPLD器件,設(shè)計(jì)者無須精通器件內(nèi)部的復(fù)雜結(jié)構(gòu) ,只需用自己熟悉的設(shè)計(jì)輸入工具,如高級行為語言、原理圖或波形圖進(jìn)行設(shè)計(jì)輸入,它便將這些設(shè)計(jì)轉(zhuǎn)換成目標(biāo)結(jié)構(gòu)所要求的格式,從而簡化了設(shè)計(jì)過程。而且 Max+PlusⅡ提供了豐富的邏輯功能庫供設(shè)計(jì)者使用。設(shè)計(jì)者利用以上這些庫及自己添加的宏功能模塊,可大大減輕設(shè)計(jì)的工作量。使用Max+PlusⅡ 設(shè)計(jì)CPLD器件的流程如圖1所示。
圖1 Max+PlusⅡ設(shè)計(jì)CPLD器件的流程圖
評論