過(guò)去,人們認(rèn)為“可編程邏輯”并不意味著“低功耗" title="低功耗">低功耗”。不過(guò),零功耗" title="零功耗">零功耗CPLD" title="CPLD">CPLD的出現(xiàn)改變了這一觀點(diǎn),這一技術(shù)使得低功耗電子產(chǎn)品設(shè)計(jì)人員能夠充分利用可編程邏輯的諸多優(yōu)勢(shì)?,F(xiàn)在,除了具備CPLD在一般應(yīng)用中已得到認(rèn)可的杰出性能外,零功耗CPLD還能夠降低便攜式" title="便攜式">便攜式產(chǎn)品的總功耗。
通用CPLD應(yīng)用
第一組應(yīng)用介紹了CPLD所勝任的功能。雖然這些功能不是專門(mén)針對(duì)降低功耗的,但是,利用低功耗CPLD來(lái)實(shí)現(xiàn)這些功能對(duì)功耗有積極的影響。例如,一個(gè)常見(jiàn)的CPLD功能是合并分立邏輯。這可以節(jié)省PCB空間,降低材料(BOM)成本,并減小總體功耗。下面討論一些常見(jiàn)的通用CPLD應(yīng)用。
1. 上電排序
在許多產(chǎn)品中,各種器件的上電順序非常重要,這使得上電排序成為一個(gè)關(guān)鍵的功能。CPLD在系統(tǒng)上電的幾個(gè)毫秒內(nèi)就開(kāi)始工作,因此成為控制系統(tǒng)中各種器件(包括微處理器或微控制器)上電排序的最佳選擇(圖1)。上電排序僅僅是低功耗CPLD能夠?qū)崿F(xiàn)的多種系統(tǒng)功能的其中之一??删幊踢壿嫷淖畲髢r(jià)值在于可將多種功能在一個(gè)器件中實(shí)現(xiàn)。
圖1:利用CPLD進(jìn)行上電排序。
2. 電壓轉(zhuǎn)換
很多產(chǎn)品都需要使用電壓不同的各種邏輯器件。為支持多電壓應(yīng)用,設(shè)計(jì)人員需要頻繁連接不同電壓的器件。CPLD擁有大量的I/O,它們被分組成多個(gè)塊。每個(gè)I/O塊被依次分配一個(gè)特有的電壓電源。因此,開(kāi)發(fā)電壓轉(zhuǎn)換器只需要將某一電壓的所有I/O分組在一個(gè)塊中,并將相關(guān)的電壓基準(zhǔn)連接到這些I/O所需的電源上(圖2)。使用CPLD不但能夠很好地完成電壓轉(zhuǎn)換,它更大的優(yōu)勢(shì)在于和電壓轉(zhuǎn)換相結(jié)合的可編程能力。例如,如果某一應(yīng)用要求的LCD顯示器不被主處理器所支持,且兩者電壓不同,那么可以利用CPLD來(lái)實(shí)現(xiàn)主處理器和LCD顯示器之間的電壓轉(zhuǎn)換時(shí)序控制。
圖2:利用Altera MAX IIZ CPLD進(jìn)行電壓轉(zhuǎn)換。
3. 通用I/O引腳擴(kuò)展
在很多情況下,CPLD是微控制器、ASSP和ASIC優(yōu)異的輔助器件。例如,在一個(gè)常見(jiàn)的通用I/O(GPIO)引腳擴(kuò)展應(yīng)用中,設(shè)計(jì)人員可以把小型低成本微控制器的可編程能力和CPLD的GPIO資源結(jié)合起來(lái)。CPLD構(gòu)建一組內(nèi)部寄存器,微控制器通過(guò)I2C或SPI等串口來(lái)訪問(wèn)這些寄存器(圖3),這使得微控制器能夠利用現(xiàn)有的串口來(lái)擴(kuò)展其I/O總數(shù)。CPLD擴(kuò)展I/O也可以用于實(shí)現(xiàn)電壓轉(zhuǎn)換,從而提高了CPLD的實(shí)用性。
圖3:GPIO引腳擴(kuò)展。
雖然上述例子采用的是微控制器,但同樣也適用于采用ASSP和ASIC的情況。例如,很多設(shè)計(jì)人員發(fā)現(xiàn)用小規(guī)模ASIC通過(guò)串口來(lái)驅(qū)動(dòng)CPLD這種方案的成本要比具有相同I/O能力的大規(guī)模ASIC方案低得多。
過(guò)去,人們認(rèn)為“可編程邏輯”并不意味著“低功耗”。不過(guò),零功耗CPLD的出現(xiàn)改變了這一觀點(diǎn),這一技術(shù)使得低功耗電子產(chǎn)品設(shè)計(jì)人員能夠充分利用可編程邏輯的諸多優(yōu)勢(shì)?,F(xiàn)在,除了具備CPLD在一般應(yīng)用中已得到認(rèn)可的杰出性能外,零功耗CPLD還能夠降低便攜式產(chǎn)品的總功耗。
通用CPLD應(yīng)用
第一組應(yīng)用介紹了CPLD所勝任的功能。雖然這些功能不是專門(mén)針對(duì)降低功耗的,但是,利用低功耗CPLD來(lái)實(shí)現(xiàn)這些功能對(duì)功耗有積極的影響。例如,一個(gè)常見(jiàn)的CPLD功能是合并分立邏輯。這可以節(jié)省PCB空間,降低材料(BOM)成本,并減小總體功耗。下面討論一些常見(jiàn)的通用CPLD應(yīng)用。
1. 上電排序
在許多產(chǎn)品中,各種器件的上電順序非常重要,這使得上電排序成為一個(gè)關(guān)鍵的功能。CPLD在系統(tǒng)上電的幾個(gè)毫秒內(nèi)就開(kāi)始工作,因此成為控制系統(tǒng)中各種器件(包括微處理器或微控制器)上電排序的最佳選擇(圖1)。上電排序僅僅是低功耗CPLD能夠?qū)崿F(xiàn)的多種系統(tǒng)功能的其中之一??删幊踢壿嫷淖畲髢r(jià)值在于可將多種功能在一個(gè)器件中實(shí)現(xiàn)。
圖1:利用CPLD進(jìn)行上電排序。
2. 電壓轉(zhuǎn)換
很多產(chǎn)品都需要使用電壓不同的各種邏輯器件。為支持多電壓應(yīng)用,設(shè)計(jì)人員需要頻繁連接不同電壓的器件。CPLD擁有大量的I/O,它們被分組成多個(gè)塊。每個(gè)I/O塊被依次分配一個(gè)特有的電壓電源。因此,開(kāi)發(fā)電壓轉(zhuǎn)換器只需要將某一電壓的所有I/O分組在一個(gè)塊中,并將相關(guān)的電壓基準(zhǔn)連接到這些I/O所需的電源上(圖2)。使用CPLD不但能夠很好地完成電壓轉(zhuǎn)換,它更大的優(yōu)勢(shì)在于和電壓轉(zhuǎn)換相結(jié)合的可編程能力。例如,如果某一應(yīng)用要求的LCD顯示器不被主處理器所支持,且兩者電壓不同,那么可以利用CPLD來(lái)實(shí)現(xiàn)主處理器和LCD顯示器之間的電壓轉(zhuǎn)換時(shí)序控制。
圖2:利用Altera MAX IIZ CPLD進(jìn)行電壓轉(zhuǎn)換。
3. 通用I/O引腳擴(kuò)展
在很多情況下,CPLD是微控制器、ASSP和ASIC優(yōu)異的輔助器件。例如,在一個(gè)常見(jiàn)的通用I/O(GPIO)引腳擴(kuò)展應(yīng)用中,設(shè)計(jì)人員可以把小型低成本微控制器的可編程能力和CPLD的GPIO資源結(jié)合起來(lái)。CPLD構(gòu)建一組內(nèi)部寄存器,微控制器通過(guò)I2C或SPI等串口來(lái)訪問(wèn)這些寄存器(圖3),這使得微控制器能夠利用現(xiàn)有的串口來(lái)擴(kuò)展其I/O總數(shù)。CPLD擴(kuò)展I/O也可以用于實(shí)現(xiàn)電壓轉(zhuǎn)換,從而提高了CPLD的實(shí)用性。
圖3:GPIO引腳擴(kuò)展。
雖然上述例子采用的是微控制器,但同樣也適用于采用ASSP和ASIC的情況。例如,很多設(shè)計(jì)人員發(fā)現(xiàn)用小規(guī)模ASIC通過(guò)串口來(lái)驅(qū)動(dòng)CPLD這種方案的成本要比具有相同I/O能力的大規(guī)模ASIC方案低得多。
4. 接口橋接
便攜式應(yīng)用設(shè)計(jì)人員經(jīng)常需要連接具有不同I/O接口的器件。這一功能被稱為橋接,因?yàn)镃PLD被用來(lái)構(gòu)成不同接口之間的“橋”。圖4所示為采用CPLD來(lái)橋接兩種不同的串口:I2C和SPI。該設(shè)計(jì)可以在Altera MAX IIZ EPM240Z CPLD中實(shí)現(xiàn),使用約43%的可用邏輯和6個(gè)I/O引腳。
圖4:利用MAX IIZ CPLD橋接I2C與SPI。
圖5所示為一個(gè)主處理器與SPI主機(jī)的接口,這是一個(gè)利用CPLD來(lái)實(shí)現(xiàn)串并轉(zhuǎn)換接口的實(shí)例。這個(gè)例子創(chuàng)建了一個(gè)主處理器總線接口和一個(gè)完整的SPI主機(jī),可以在MAX IIZ EPM240Z CPLD中實(shí)現(xiàn),占用約30%的可用邏輯和25個(gè)I/O引腳。
在圖6中,CPLD被用于橋接兩種不同的并口。這一設(shè)計(jì)實(shí)例實(shí)現(xiàn)了PXA310主處理器總線與Compact FLASH+器件的接口,可采用MAX IIZ EPM240Z CPLD實(shí)現(xiàn),使用約17%的可用邏輯及59個(gè)I/O引腳。
降低功耗的應(yīng)用
上述應(yīng)用展示了利用低功耗CPLD來(lái)實(shí)現(xiàn)便攜式應(yīng)用中的多種常見(jiàn)功能。下一組應(yīng)用將介紹利用零功耗CPLD的獨(dú)特功能來(lái)降低便攜式應(yīng)用功耗的途徑。
圖5:利用MAX IIZ CPLD實(shí)現(xiàn)主處理器至SPI接口。
1. 自關(guān)斷和自上電
MAX IIZ CPLD是一種可實(shí)現(xiàn)超低待機(jī)功耗的零功耗CPLD。例如,EPM240Z器件在待機(jī)時(shí)僅消耗29μA電流。不過(guò),為達(dá)到絕對(duì)最低功耗,理想的狀態(tài)是器件在不工作時(shí)不消耗能量。令人吃驚的是,這確實(shí)可以做到,因?yàn)榕c傳統(tǒng)的宏單元CPLD不同,MAX IIZ器件具有內(nèi)部振蕩器,可實(shí)現(xiàn)自動(dòng)關(guān)斷功能。
圖6:利用MAX IIZ CPLD實(shí)現(xiàn)主處理器至CF+接口。
該操作十分簡(jiǎn)單。MAX IIZ CPLD的所有輸入被用于控制計(jì)數(shù)器。任意輸入被激活后,計(jì)數(shù)器保持復(fù)位。當(dāng)所有輸入進(jìn)入非激活狀態(tài)后,計(jì)數(shù)器開(kāi)始計(jì)數(shù),直到達(dá)到用戶指定的時(shí)間長(zhǎng)度。如果在這一時(shí)間段所有輸入仍處于未激活狀態(tài),則發(fā)送一個(gè)信號(hào)以禁用MOSFET,這樣可以關(guān)斷MAX IIZ器件的電源。當(dāng)任意輸入再次被激活時(shí),內(nèi)部計(jì)數(shù)器復(fù)位、通電,MAX IIZ CPLD上電(圖7)。
圖7:輸入處于非激活狀態(tài)時(shí)可實(shí)現(xiàn)自動(dòng)關(guān)斷和自動(dòng)上電。
2. 多輸入時(shí)的上電
MAX IIZ CPLD能夠輕松地監(jiān)視其輸入,可以自停止或者自啟動(dòng),這些功能都可以直接應(yīng)用在降低便攜式應(yīng)用的功耗上。在許多便攜式產(chǎn)品中,通過(guò)按下電源開(kāi)關(guān)實(shí)現(xiàn)上電。如果產(chǎn)品在一段時(shí)間內(nèi)空閑,可啟用關(guān)斷或者待機(jī)模式來(lái)延長(zhǎng)電池使用壽命。對(duì)于這一點(diǎn),許多便攜產(chǎn)品設(shè)計(jì)人員希望用戶來(lái)重新激活產(chǎn)品,例如,開(kāi)蓋、按下任意鍵、插入存儲(chǔ)器卡等(圖8)。但是,大多電源管理設(shè)計(jì)都只支持一個(gè)控制輸入。在這種情況下,可以采用CPLD來(lái)監(jiān)控輸入。當(dāng)產(chǎn)品在設(shè)計(jì)人員指定的一段時(shí)間都處于空閑,CPLD向電源管理邏輯發(fā)出關(guān)斷信號(hào)。當(dāng)任意輸入使其激活后,CPLD上電并向電源管理邏輯發(fā)出系統(tǒng)上電信號(hào)。
圖8:利用MAX IIZ CPLD可根據(jù)輸入工作狀態(tài)來(lái)啟動(dòng)或者停止系統(tǒng)供電。
3. 將CPLD用作低功耗協(xié)處理器
可以把很多系統(tǒng)功能從耗電的大型主系統(tǒng)處理器中卸載到節(jié)電的小型CPLD中。大量的系統(tǒng)“管理”功能必須周期性地完成。在下面的例子中,系統(tǒng)處理器可保持在節(jié)能模式,而低功耗MAX IIZ CPLD利用其內(nèi)部振蕩器來(lái)周期性地執(zhí)行任務(wù)。如果需要的話,MAX IIZ CPLD的內(nèi)部振蕩器可與外部振蕩器進(jìn)行校準(zhǔn)。校準(zhǔn)后,外部振蕩器關(guān)斷,以進(jìn)一步降低功耗(圖9)。
圖9:CPLD內(nèi)部振蕩器可與外部振蕩器進(jìn)行校準(zhǔn)。
監(jiān)控系統(tǒng)狀態(tài):CPLD周期性地檢查系統(tǒng)狀態(tài)。如果一切正常,則繼續(xù)保持關(guān)斷,但如果出現(xiàn)問(wèn)題,則CPLD記錄下問(wèn)題并喚醒主處理器。驅(qū)動(dòng)藍(lán)牙LED:在很多便攜式應(yīng)用中,驅(qū)動(dòng)藍(lán)牙LED對(duì)于CPLD而言是非常普遍的應(yīng)用。替代方案需要喚醒主處理器以及足夠的其它系統(tǒng)部件才能實(shí)現(xiàn)這一功能,相比采用CPLD要消耗更多的能量。監(jiān)控電池電量:當(dāng)主處理器保持待機(jī)時(shí),CPLD周期性地讀取電池電量。如果電源降到規(guī)定的電壓以下,則CPLD喚醒主處理器,隨即系統(tǒng)正常關(guān)斷。
利用CPLD來(lái)構(gòu)建低功耗媒體協(xié)處理器提供了另一種大幅降低功耗的途徑。在這類應(yīng)用中,采用CPLD來(lái)替代主處理器向編解碼器傳送媒體文件,而主處理器處于休眠狀態(tài)。通常,用CPLD實(shí)現(xiàn)該功能只需要幾個(gè)微安的電流,而用主處理器卻需要幾個(gè)毫安。這種節(jié)能方法直接延長(zhǎng)了電池使用壽命。
本文小結(jié)
過(guò)去,低功耗便攜產(chǎn)品設(shè)計(jì)人員并不能充分利用可編程邏輯的諸多優(yōu)勢(shì)。不過(guò),待機(jī)電流只有幾微安的零功耗CPLD的出現(xiàn)使得可編程器件成為低功耗設(shè)計(jì)人員可以選用的器件。
本文介紹了利用CPLD來(lái)實(shí)現(xiàn)通用系統(tǒng)功能的實(shí)例,展示了MAX IIZ CPLD中自停止和自啟動(dòng)電路的獨(dú)特功能。這一功能可以降低便攜式應(yīng)用的功耗。此外,本文還介紹了怎樣將周期性的系統(tǒng)監(jiān)控和媒體傳送等任務(wù)從主處理器卸載到低功耗CPLD協(xié)處理器中。由于采用了零功耗CPLD,便攜式電子產(chǎn)品設(shè)計(jì)人員現(xiàn)在進(jìn)一步提高了開(kāi)發(fā)低功耗、多功能創(chuàng)新產(chǎn)品的能力。