系統(tǒng)中斷
根據(jù)處理器的最終應(yīng)用,有多種外部器件可以中斷處理器。這些中斷信號(hào)包括數(shù)據(jù)采集和數(shù)據(jù)處理兩種請(qǐng)求,F(xiàn)在,通過分離對(duì)微處理器的數(shù)據(jù)處理請(qǐng)求,可以由外部 CPLD 來處理數(shù)據(jù)采集請(qǐng)求。利用 CPLD 來處理數(shù)據(jù)采集中斷可以卸載對(duì)微處理器的中斷請(qǐng)求,從而降低功耗。
是否可將數(shù)據(jù)采集中斷類型劃歸 CPLD 取決于最終應(yīng)用。可以將要求對(duì)輸入數(shù)據(jù)予以響應(yīng)的外設(shè)或輸入數(shù)據(jù)劃為數(shù)據(jù)采集中斷請(qǐng)求類型。數(shù)據(jù)采集中斷包括:
存儲(chǔ)器存取中斷
I2C、UART、SPI 和 ISA 等通信接口
通用 I/O 中斷
LCD 接口中斷
這并非可由 CPLD 處理的中斷的完整列表,只是為系統(tǒng)設(shè)計(jì)提供一個(gè)起點(diǎn)。
操作流程
圖 5 所示為 CPLD 設(shè)計(jì)的主要操作流程。CPLD 一旦識(shí)別出有效的外部中斷,就會(huì)自我判斷是否具有處理該中斷的功能。CPLD 處理該中斷之后,會(huì)向處理器發(fā)出一個(gè)中斷申請(qǐng),請(qǐng)求其進(jìn)行所要求的數(shù)據(jù)處理。CPLD 如果不能處理該中斷,則將其傳遞給處理器。CPLD 還負(fù)責(zé)監(jiān)測處理器的操作狀態(tài)。
功能
低功耗 CPLD 設(shè)計(jì)由處理中斷請(qǐng)求的中斷接口和控制器、處理中斷的功能以及處理器接口組成。下面分別詳述 CPLD 的各主要功能:
系統(tǒng)器件的中斷接口
中斷控制器
用于中斷處理的外設(shè)接口
微處理器中斷接口
微處理器操作模式接口
中斷接口
CPLD 的中斷接口接收經(jīng)過微處理器識(shí)別的所有外部器件的中斷請(qǐng)求。該中斷接口判斷 CPLD 是否有能力處理相應(yīng)的中斷請(qǐng)求。CPLD 對(duì)請(qǐng)求數(shù)據(jù)接收和存儲(chǔ)功能的數(shù)據(jù)采集中斷進(jìn)行處理。CPLD 如果不能處理該中斷,則將其傳遞給微處理器。
CPLD 的中斷接口為所有中斷源提供屏蔽功能,并且具有判斷中斷源的能力?删幊踢壿嬆軌蜢`活地改變觸發(fā)模式,包括高低電平敏感觸發(fā)模式和升降沿敏感觸發(fā)模式。CPLD 的中斷控制寄存器與微處理器中的寄存器相似。
中斷控制器
CPLD 的中斷控制器模擬系統(tǒng)微處理器中的功能。該中斷控制器判斷數(shù)據(jù)采集中斷來自哪個(gè)器件,然后啟動(dòng)中斷處理。CPLD 處理本該由微處理器處理的數(shù)據(jù)采集中斷請(qǐng)求。
中斷控制器啟動(dòng)處理請(qǐng)求的操作。由 CPLD 從遠(yuǎn)程器件接收數(shù)據(jù)的應(yīng)用就是這樣的例子。該器件請(qǐng)求將所傳送的數(shù)據(jù)寫入存儲(chǔ)器。CPLD 的中斷控制器識(shí)別出有效中斷,然后啟動(dòng)存儲(chǔ)器接口來解譯數(shù)據(jù)。
外設(shè)接口
CPLD 提供處理中斷請(qǐng)求所需的系統(tǒng)器件接口。所需器件接口取決于最終應(yīng)用。如果外部器件向 CPLD 發(fā)出中斷請(qǐng)求,要求對(duì)存儲(chǔ)元件進(jìn)行數(shù)據(jù)讀寫操作,則 CPLD 設(shè)計(jì)中就需具備該存儲(chǔ)器的接口。所需接口類型可以為存儲(chǔ)器接口、LCD 接口以及 PCI、UART、SPI 和 ISA 等通信接口。
微處理器中斷接口
像請(qǐng)求處理器提供服務(wù)的所有外部器件一樣,CPLD 也具有向微處理器發(fā)出中斷的功能。CPLD 必須能夠在完成數(shù)據(jù)采集操作之后向微處理器發(fā)出中斷。設(shè)計(jì)人員可以為來自 CPLD 的中斷請(qǐng)求設(shè)置優(yōu)先級(jí),并可選擇該中斷是否喚醒處于斷電狀態(tài)的處理器。
微處理器操作模式接口
CPLD 是否能識(shí)別處理器的操作狀態(tài)取決于系統(tǒng)微處理器。有些微處理器提供表示當(dāng)前操作模式的外部引腳。CPLD 可能會(huì)識(shí)別出處理器的當(dāng)前操作狀態(tài),并且確定是否向處理器發(fā)出執(zhí)行等待中斷的請(qǐng)求,這取決于 CPLD 和微處理器的設(shè)計(jì)。例如,如果 CPLD 接收到低優(yōu)先級(jí)中斷,而處理器無需從低功耗狀態(tài)轉(zhuǎn)至其他狀態(tài),則 CPLD 可以創(chuàng)建一個(gè)寄存器以指示將中斷掛起。然后,當(dāng)處理器蘇醒時(shí),可由微處理器讀取掛起中斷的寄存器。
優(yōu)點(diǎn)
圖 6 和圖 7 所示為可在一種典型電池供電器件中實(shí)現(xiàn)的節(jié)電效果;其中圖 7 所示為使用先進(jìn)的低功耗 CPLD,圖 6 所示為使用獨(dú)立的微處理器設(shè)計(jì)。與通過延長微處理器低功耗模式所實(shí)現(xiàn)的節(jié)電效果相比,CPLD 的功耗要求微不足道。典型低功耗 CPLD 的待機(jī)電流約為 100μA。操作功耗取決于應(yīng)用和時(shí)鐘頻率。對(duì)于充滿 16 位計(jì)數(shù)器和 50MHz 時(shí)鐘的 64 宏單元的 CPLD 來說,ICC 約為 10mA。請(qǐng)注意,所實(shí)現(xiàn)的實(shí)際節(jié)電效果取決于系統(tǒng)設(shè)計(jì),包括微處理器類型和 CPLD 設(shè)計(jì)。
隨著用 CPLD 獲得節(jié)電效果,中斷響應(yīng)時(shí)間也縮短了。外設(shè)不必再等待微處理器從節(jié)電狀態(tài)蘇醒的延遲時(shí)間?梢詫(shí)現(xiàn)的其他設(shè)計(jì)節(jié)省項(xiàng)包括:
減少對(duì)處理器的中斷請(qǐng)求數(shù)
減少一定時(shí)長上的處理器喚醒周期數(shù)
在不影響吞吐量的情況下降低時(shí)鐘頻率
進(jìn)行數(shù)據(jù)處理操作時(shí)以較低頻率運(yùn)行處理器
進(jìn)行數(shù)據(jù)采集操作時(shí)以較高頻率運(yùn)行 CPLD
結(jié)論
設(shè)計(jì)功耗敏感型應(yīng)用不僅涉及使用軟件進(jìn)行電源管理,還涉及運(yùn)用硬件設(shè)計(jì)技巧。通過設(shè)計(jì)低功耗 CPLD 來延長微處理器的低功耗操作狀態(tài),可以顯著降低系統(tǒng)功耗。當(dāng)今市場上的最新 CPLD 可以為任何最終應(yīng)用提供低功耗和高速度的靈活組合應(yīng)用。
參考文獻(xiàn)
《Intel StrongARM SA-1110 微處理器開發(fā)手冊(cè)》,2000 年 6 月。
《摩托羅拉半導(dǎo)體應(yīng)用指南》之“DragonBall 電源管理”,摩托羅拉公司,1998 年。
《Geode GX1 處理器系列低功耗集成 x86 解決方案》,National Semiconductor 公司,2000 年 10 月。
《微處理器報(bào)告》,1999 年 9 月。
《第 27 期微處理器/控制器年度報(bào)告》之“EDN 訪問”,2000 年 9 月。





