Abhinay Patil
在我之前的文章中,我談到了設備消耗太少的功率——是的,有這樣的事情——給我帶來了麻煩。但這種情況很少見。我處理的更常見的情況是客戶抱怨零件消耗的功率超過他們的數據手冊要求。
我記得有一個例子,當一位客戶帶著他的處理器板走進我的辦公室時,他說他消耗了太多的電量并耗盡了電池電量 - 由于我們自豪地聲稱該處理器是超低功耗處理器,因此我們有責任證明這一點。當我準備進行通常的磨練,一個接一個地切斷板上不同設備的電源,直到找到真正的罪犯時,我想起了不久前的一個類似案例,我發現罪魁禍首是一個 LED 獨自懸掛在電源軌和接地之間,沒有公司限流電阻器。我不能確定是過流還是純粹的無聊最終殺死了 LED,但我跑題了。從那次經歷來看,我做的第一件事就是在板上的某個地方尋找一個燃燒明亮的 LED。然而,這一次沒有這樣的希望。此外,事實證明處理器是板上唯一的設備,因此,我沒有其他設備可以嘗試將責任歸咎于此。當客戶漏出另一條信息時,我的心進一步沉了下去:當他在實驗室進行測試時,他發現功耗和電池壽命處于預期水平,但是當系統部署在現場時,電池很快就會耗盡。這些是最難調試的問題,因為它們首先很難重現。這為數字世界問題增加了一種模擬的不可預測性和挑戰,而數字世界問題通常存在于可預測和舒適的1和0世界中。
在最簡單的層面上,處理器消耗功率有兩個主要領域:內核和 I/O。在控制內核功耗方面,我會考慮PLL配置/時鐘速度、內核電源軌以及內核繁忙的計算活動量等因素。有一些方法可以最大限度地降低內核功耗,例如,降低內核時鐘速度或執行某些指令,迫使內核停止或進入睡眠/休眠狀態。如果我懷疑是I/O占用了所有電力,我會注意I/O電源、I/O切換的頻率以及它們驅動的負載。
這是我唯一可以探索的兩條途徑。事實證明,在核心方面,我沒有什么可以真正懷疑的。它必須與 I/O 有關。此時,客戶透露他使用處理器純粹是為了計算功能,并且 I/O 活動非常少。事實上,他沒有使用設備上大多數可用的 I/O 接口。
“等等!您沒有使用某些 I/O。你的意思是那些 I/O 引腳未使用。你是如何將它們聯系起來的?
“當然,我沒有在任何地方連接它們!”
“啊哈!”
那是我的尤里卡時刻。雖然我沒有尖叫著跑到街上,但我確實花了一點時間讓它沉入其中,然后才坐下來解釋。
典型的CMOS數字輸入如下所示:
圖1.典型的CMOS輸入電路(左)和CMOS電平邏輯(右)。
當該輸入以推薦的高電平(1)或低電平(0)驅動時,PMOS和NMOS FET一次導通一個,但絕不會同時導通。輸入驅動電壓中存在一個稱為閾值區域的不確定區域,PMOS和NMOS可以同時部分導通,從而在電源軌和接地之間形成泄漏路徑。當輸入保持浮動并拾取雜散噪聲時,可能會發生這種情況。這既解釋了客戶電路板上的高功耗,也解釋了為什么它是隨機發生的。
圖2.PMOS和NMOS都部分開啟,在電源和接地之間形成泄漏路徑。
在某些情況下,這可能會導致類似閂鎖的情況,即設備繼續消耗過多的電流并燒壞。有人可能會說這是一個更容易識別和調試的問題,因為你面前有一把冒煙的槍。我的客戶報告的問題更難處理,因為當您在實驗室的涼爽范圍內進行測試時,它不會引發很大的危險信號,但當它在現場時會引起很多悲傷。
現在我們知道了問題的根本原因,顯而易見的解決方案是將所有未使用的輸入驅動到有效的邏輯電平(高或低)。但是,您需要注意細則中的某些內容。讓我們再看一些處理不當的CMOS輸入可能會給您帶來麻煩的場景。我們需要擴大范圍,不僅包括完全開放/浮動的輸入,還包括那些似乎與適當的邏輯水平相關的輸入。
如果選擇簡單地通過電阻將引腳連接到電源軌或接地,請注意您使用的上拉或下拉電阻的大小。這與引腳的源/灌電流相結合,可能會將引腳看到的實際電壓電平移動到不希望的水平。換句話說,您需要確保上拉或下拉足夠強。
如果選擇主動驅動引腳,則應始終確保驅動強度足以滿足手頭的CMOS負載。否則,電路周圍的噪聲可能足夠強,足以覆蓋驅動信號并迫使引腳進入不需要的狀態。
讓我們研究幾個場景:
在實驗室中工作正常的處理器可能會在現場無緣無故地開始重新啟動,因為噪聲耦合到沒有足夠強上拉的RESET線路中。
您可以想象,如果CMOS輸入屬于控制高功率MOSFET/IGBT的柵極驅動器,則可能會在不應該打開時無意中打開!確實是嚴峻的消息。
圖4.噪聲覆蓋弱驅動CMOS輸入柵極驅動器,導致高壓總線短路。
另一個相關但不那么明顯的問題場景是當驅動信號的上升/下降時間非常慢時。在這種情況下,輸入可以在有限的時間內停留在中間電壓電平上,這可能會導致各種麻煩。
圖5.CMOS輸入端的緩慢上升和下降時間在過渡期間造成瞬時短路。
既然我們已經研究了一般適用于CMOS輸入的一些潛在問題,那么值得注意的是,一些器件在設計上處理這些問題方面比其他器件更好。例如,具有施密特觸發器輸入的器件本質上更擅長處理噪聲或邊沿較慢的信號。
我們的一些最新一代處理器也注意到了這一點,并在設計中采取了特殊的預防措施或明確的指導方針,以確保一切順利進行。例如,ADSP-SC58x/ADSP-2158x數據手冊清楚地突出顯示了具有內部端接或其他邏輯電路的引腳,以確保引腳永不浮動。
圖6.ADSP-SC58x/ADSP-2158x數據手冊快速參考。
最后,正如他們常說的那樣,最好將所有松散的末端捆綁起來,尤其是CMOS數字輸入。
圖3.通過弱上拉耦合到RESET引腳的噪聲會導致處理器重新啟動。
審核編輯:郭婷
-
電源
+關注
關注
184文章
17586瀏覽量
249501 -
處理器
+關注
關注
68文章
19165瀏覽量
229138 -
led
+關注
關注
242文章
23136瀏覽量
658508
發布評論請先 登錄
相關推薦
評論