采用CPLD來(lái)替代微處理器的6種方法
隨著(zhù)低功耗CPLD的出現,低功耗電子產(chǎn)品設計人員現在有新的選擇來(lái)實(shí)現以前由微控制器完成的多種功能。本白皮書(shū)討論什么時(shí)候適合采用CPLD替代微控制器,什么時(shí)候可以采用CPLD作為微控制器的輔助器件。
引言
如果告訴便攜式電子設計人員有一種低功耗數字器件能使他們利用軟件程序來(lái)重新配置硬件工作,他們中的十個(gè)會(huì )有九個(gè)認為這是某種微控制器。這是可以理解的。豐富的特性和封裝、大量的軟件開(kāi)發(fā)工具,以及龐大的應用代碼庫,無(wú)處不在的微控制器幾乎能夠用在所有便攜式應用中。然而,隨著(zhù)低功耗CPLD的出現,設計人員有了新的選擇來(lái)實(shí)現以前由微控制器完成的功能。
本白皮書(shū)討論什么時(shí)候適合采用CPLD來(lái)替代微控制器,什么時(shí)候可以采用CPLD作為微控制器的輔助器件。根據其功能和復雜程度,本白皮書(shū)中的例子可以分成三類(lèi)。第一類(lèi)是I/O管理,主要針對引腳級應用。第二類(lèi)是端口管理,重點(diǎn)是器件之間的各種接口。第三類(lèi)是系統管理,面向使用引腳或者端口來(lái)控制系統級功能的應用。
第一次接觸可編程邏輯的設計人員會(huì )發(fā)現CPLD設計在很多方面和傳統的微控制器設計類(lèi)似。下面簡(jiǎn)單說(shuō)明CPLD設計流程:
1 利用軟件開(kāi)發(fā)工具,采用Verilog或者VHDL等高級語(yǔ)言編寫(xiě)設計。
2 對設計進(jìn)行仿真,以驗證功能是否正確。
3 驗證是否滿(mǎn)足資源占用和時(shí)序通路等物理要求,將設計“適配”到CPLD中。
4 對設計進(jìn)行仿真,以驗證時(shí)序是否正確。
5 設計被編程至物理器件中。
一個(gè)主要不同是復雜的在電路仿真器功能,以驗證微控制器。然而,一旦理解了可編程技術(shù)的細微差別后,微控制器設計人員便能夠很好地進(jìn)行CPLD設計。
CPLD替代微控制器的實(shí)例
以下部分介紹了CPLD能夠有效替代微控制器的某些應用。
I/O管理
當考慮是使用CPLD還是微控制器來(lái)進(jìn)行I/O管理時(shí),所需要的I/O數量和類(lèi)型是兩個(gè)關(guān)鍵因素。微控制器的好處是體積小而且價(jià)格低,當然還有大量的小型低成本微控制器供設計人員選擇。然而,如果某一應用需要大量的通用I/O,那么CPLD在成本上通??梢院臀⒖刂破飨喔偁?。小型低成本微控制器一般受限于串口,它最多有幾個(gè)通用I/O引腳。
設計人員發(fā)現,I/O數量較多的微控制器體積也不小,而且價(jià)格也昂貴。而另一方面,CPLD趨于有較多的I/O;小外形封裝CPLD有50多個(gè)I/O是比較常見(jiàn)的。例如,5mm x 5mm封裝的Altera? MAX? IIZ EPM240Z CPLD有80個(gè)I/O。除了I/O數量?jì)?yōu)勢以外,一般情況下,CPLD要比微控制器更加靈活。除了某些例外,大部分CPLD I/O都能夠用于任意目的。
可編程電平轉換
很多產(chǎn)品都需要使用電壓不同的各種邏輯器件。為支持多電壓應用,設計人員要經(jīng)常連接不同電平的器件。而采用微控制器幾乎不可能實(shí)現這一切,因為微控制器的I/O資源數量有限,一般采用一個(gè)電壓源工作。而CPLD有大量的I/O,并分成多個(gè)塊。相應的為每個(gè)I/O塊分配一個(gè)電壓源。因此,開(kāi)發(fā)電平
圖1. 使用MAX IIZ CPLD來(lái)進(jìn)行電平轉換
評論