我以德州儀器 (TI) 的UCD3138為例介紹了如何設計數(shù)字電源 ,并重點介紹了硬件設計。在本期中,我將解釋如何編寫固件以使其工作。
固件
與模擬電源轉換器設計通過硬件控制一切不同,固件是數(shù)字控制的“靈魂”;幾乎所有主要功能都是通過代碼實現(xiàn)的。由于代碼受到實時限制,中央處理器 (CPU) 帶寬有限,因此具有組織良好的固件結構非常重要。
我們可以將 CPU 處理的任務分為兩類:時間關鍵型和非時間關鍵型。時間關鍵任務包括 ADC 測量、環(huán)路控制、系統(tǒng)保護和狀態(tài)機。非時間關鍵任務通常包括 PMBus/通用異步接收器/發(fā)送器 (UART) 通信、故障記錄等。
基于這兩類,固件分為兩個主要部分:中斷循環(huán),處理時間關鍵的任務;以及處理非時間關鍵任務的后臺循環(huán)。圖 1 說明了固件結構:
圖 1:固件結構
后臺循環(huán)的框圖很簡單:系統(tǒng)初始化后,CPU進入無限循環(huán)。所有非時間關鍵的任務都在這個循環(huán)中執(zhí)行。同時,定時器會產(chǎn)生固定頻率的中斷。如果任何時候有中斷,CPU 會停止它正在做的事情,存儲所有相關數(shù)據(jù)并跳轉到中斷程序。一旦中斷例程完成,CPU 就會回到后臺循環(huán)并從它停止的地方繼續(xù)。
中斷循環(huán)更復雜。它測量 ADC 輸入、控制轉換器并負責系統(tǒng)保護。中斷循環(huán)的關鍵部分是狀態(tài)機,它指示轉換器的當前狀態(tài),轉換器在這個狀態(tài)下需要做什么,轉換器接下來應該做什么。圖 2 是一個簡單的狀態(tài)機示例:
圖 2:狀態(tài)機圖
CPU 繼續(xù)監(jiān)視輸入電壓。一旦輸入電壓超過預定義閾值,轉換器就會開啟并開始執(zhí)行軟啟動,而輸出電壓會線性增加,直到達到設定點。一旦輸出電壓達到該設定點,轉換器就會進入調節(jié)模式,它將一直停留到發(fā)生故障或被命令關閉。如果在任何時候發(fā)生故障,轉換器將關閉并鎖定,除非被命令重新啟動。
使用圖形用戶界面
TI 的 Fusion Digital Power Designer 圖形用戶界面 (GUI) 簡化了由UCD3138控制的電源轉換器設計。通過 PMBus 與 GUI 對話,我們可以實時監(jiān)控電源運行狀態(tài)、配置運行參數(shù)和調整控制回路。
GUI 支持最流行的拓撲結構,包括 PFC、LLC 和相移全橋。不同的拓撲將有不同的 GUI 界面。固件中的設置 ID 告訴 GUI 拓撲是什么,以便它打開一個接口來適應該拓撲。圖 3 顯示了 PFC 轉換器的 GUI:
Figure 3: UCD3138 GUI
溝通
數(shù)字控制器可以監(jiān)控轉換器并與主機通信;反過來,主機可以向轉換器發(fā)送命令,以執(zhí)行諸如輸出電壓調整、上電排序、遠程開/關控制等任務。在隔離式 AC/DC 應用中,PFC 后跟隔離式 DC /DC轉換器,UART用于PFC與DC/DC之間的通信,PMBus用于DC/DC與負載/主機之間的通信,如圖4所示。
圖 4:隔離 AC/DC 系統(tǒng)中的通信
對于PFC和DC/DC之間的UART通信,目前還沒有行業(yè)標準協(xié)議;但是,UCD3138團隊已經(jīng)開發(fā)了一個完整的主/次通信協(xié)議示例,可供使用。
希望現(xiàn)在我們對如何設計數(shù)字控制電源有了大致的了解。盡管我在本系列中給出的設計示例基于升壓轉換器,但同樣的設計原則也適用于其他拓撲。功率級與模擬解決方案相同,但控制實現(xiàn)不同:一個是通過代碼實現(xiàn),可以動態(tài)改變,另一個是硬件實現(xiàn),是固定的。固件開發(fā)在數(shù)字轉換器設計中需要大量工作。編寫代碼對模擬工程師來說可能是一個挑戰(zhàn),但是一旦你習慣了它,你就會享受到數(shù)字電源的優(yōu)勢。