使用C2000內部比較器替外部比較器
C2000系列芯片在數字電源和電機控制中有著廣泛的應用,在這些應用中,過流過壓保護是必不可少的。傳統的方法是使用外部比較器,但是會存在濾波電路不好設計,不同版本需要不同的BOM來提供不同的保護點等問題。本文針對所有第三代C2000芯片,比如F2807x/37x,F28004x,F28002x等,介紹C2000內部比較器的具體實踐方法,并提供了與傳統的外部比較器方法的比較,結果表明,使用C2000內部比較器的方法在效率和成本上都具備明顯的優(yōu)勢。
本文引用地址:http://2s4d.com/article/202303/444371.htm1. 介紹
C2000系列芯片在數字電源和電機控制中有著廣泛的應用,在這些應用中,過流過壓保護是必不可少的。傳統的方法是使用外部比較器,但是會存在濾波電路不好設計,不同版本需要不同的BOM來提供不同的保護點等問題。本文針對所有第三代C2000芯片,比如F2807x/37x,F28004x,F28002x等,介紹C2000內部比較器的具體實踐方法,并提供了與傳統的外部比較器方法的比較,結果表明,使用C2000內部比較器的方法在效率和成本上都具備明顯的優(yōu)勢。
2. C2000 內部比較器的介紹
TI 第三代C2000芯片全系列集成了帶DAC的片內比較器,通過DAC設定閾值,與采樣信號分別送到片內比較器的正負輸入端做比較,由于DAC的集成,用戶可以方便地修改比較的電壓值。同時,C2000比較器內部集成數字濾波器,可以實現高性能的濾波。生成保護信號給到PWM模塊封鎖PWM輸出,從而實現快速的過流過壓保護,無需額外再加比較器和基準電壓。另外,C2000內部的比較器響應速度快,以F280049 為例(可參考datasheet上Comparator Electrical Characteristics這一章節(jié)),從比較器輸入的電平異常到比較器產生輸出信號,延遲最多60ns, 而通用比較器的延遲一般要1us左右,使用與C2000內部比較器相似規(guī)格的比較器成本又會比較高。
比較器子系統 (CMPSS) 模塊由模擬比較器和支持組件組成它們組合成一種拓撲結構,可用于功率應用,例如峰值電流模式控制,開關電源、功率因數校正和電壓跳閘監(jiān)控。 每個CMPSS 模塊包括兩個模擬比較器、兩個可編程 12 位DAC、一個斜坡發(fā)生器和兩個數字濾波器。CMPSS有兩個輸出,一個是CTRIPH,送到芯片內部,可以和PWM模塊同步,配合使用。一個是CTRIPOUTH,可以通過OUTPUTXBAR 送到外部GPIO和系統其他模塊搭配使用。簡化的示意圖如圖1所示:
圖1 比較器子系統 (CMPSS)簡圖
3. 比較器滯回功能的使用
為了避免噪聲波動引起的比較器輸出的反復跳變,我們一般都會配置滯回比較。 C2000比較器的滯環(huán)是可以設定的,COMPHYSCTL的COMPHYS位可以設定滯環(huán)的環(huán)寬,當環(huán)寬設定為0時也就意味著沒有滯環(huán)。注意在規(guī)格書中,滯環(huán)的單位是LSB,所以它和CMPSS模塊內部的DAC的參考有關。如果內部DAC的參考電壓是3V,1LSB對應3V/4096=0.7mV。 以F28004x,F2807x,F2837x為例,其滯環(huán)可以在12LSB, 24LSB, 36LSB, 48LSB中選擇。具體可以在datasheet的電氣參數中看到。
CMPSS內部DAC的參考可以看TRM (Technical Reference Manual) 中關于參考的介紹,可以在VDDA和VDAC中選擇:
設置滯回的寄存器是COMPHYS, 設置滯回也可以調用driverlib中的函數CMPSS_setHysteresis(uint32_t base, uint16_t value)。設置值和滯回環(huán)寬的關系可以看具體型號C2000的Technical Reference Manual中寄存器的解釋。
4. 數字濾波器的使用
當外部輸入的濾波電路設計不當時,會導致比較器被誤觸發(fā)的情況,C2000內部比較器還集成了可配置的數字濾波器,CMPSS數字濾波器的時鐘來源是系統時鐘, 預分頻(CLKPRESCALE)決定了濾波器的采樣率,濾波器的FIFO在每個分頻后時鐘采樣一次。數字濾波器在從輸入端采集的FIFO采樣(SAMPWIN)窗口上工作。濾波器輸出為采樣窗口內的多數值,其中多數由閾值(THRESH)定義。如果不滿足閾值,則濾波器輸出保持不變。具體的工作邏輯可以參考TRM(Technical Reference Manual)的Digital filter behavior,如圖2。
這里以F280049為例,需要注意的是,THRESH的值必須被設置為大于SAMPWIN/2并且小于或等于SAMPWIN。同時,FIFO中的舊數據將被丟棄。在用寄存器配置的情況下,對于SAMPWIN、THRESH和CLKPRESCALE,數字濾波器使用的內部數字在所有情況下都是+1。也就是說,samples=SAMPWIN+1,threshold=THRESH+1,pre scale=CLKPRESCALE+1。
圖2 比較器濾波子模塊功能
也可以用driverlib函數配置,即在函數中配置相應的分頻值,采樣窗和閾值。
Void CMPSS_configFilterHigh(uint32_t base, uint16_t samplePrescale, uint16_t sampleWindow, uint16_t threshold);
Void CMPSS_configFilterLow(uint32_t base, uint16_t samplePrescale, uint16_t sampleWindow, uint16_t threshold);
5. 利用鎖存模式和外部模塊配合使用
CMPSS可以很方便地和PWM等其他內部外設配合使用,但是有些應用中,也需要把內部比較器的信號鎖存起來,比如傳給外部的IPM模塊等。CMPSS也支持這種模式,用戶可選擇穿透模式,和鎖存(Latch)模式,在鎖存模式下,可以將瞬間的過壓過流給到外部,保護外部的模塊不被損壞。
同時,也可以在比較器的輸出源中選擇通過或門的鎖存信號,也就是高低兩個寄存器的COMPCTL.CTRIPOUTLSEL和用COMPCTL.CTRIPOUTHSEL ,第三個輸入選項就是經過濾波器后的鎖存信號,也可以選擇0-異步模式或是和1-CPU時鐘同步,或是2-經過濾波器但是不鎖存的信號,具體選項和對應關系,可以參考圖3。
同樣的,也可以用Driverlib函數配置,在void CMPSS_configOutputsHigh(uint32_t base, uint16_t config)和void CMPSS_configOutputsLow(uint32_t base, uint16_t config)函數里面的config增加一個參數CMPSS_TRIPOUT_LATCH即可,TRIPOUT代表是將這個信號通過OUTPUTXBAR送到芯片外部GPIO。
圖3 比較器子系統完整信號框圖
6. 和PWM配合使用的實際應用
傳統的保護方式是使用外部比較器,本文介紹的使用C2000內部的窗口比較器(ADC與比較器pin 腳共用)的方式,可以節(jié)省物料成本和布板空間。具體配置方法如下(完整代碼參考TIDM-02002
針對 HEV/EV 車載充電器的雙向 CLLLC 諧振、雙有源電橋 (DAB) 參考設計):
第一步,選擇合適的CMPSS輸入的腳,查看TRM 的Table 15-2. Analog Pins and Internal Connections,并通過CMPSS的DAC 子模塊,配置合適的值; 這邊需要注意,比較器模塊的高低比較器的Positive input必須是外部AIO引腳,negative input 可以說DAC 的輸出或外部AIO引腳。
// set CMPSS H and L Positive input pins
ASysCtl_selectCMPHPMux(CLLLC_IPRIM_CMPSS_ASYSCTRL_CMPHPMUX,
CLLLC_IPRIM_CMPSS_ASYSCTRL_MUX_VALUE);
ASysCtl_selectCMPLPMux(CLLLC_IPRIM_CMPSS_ASYSCTRL_CMPLPMUX,
CLLLC_IPRIM_CMPSS_ASYSCTRL_MUX_VALUE);
// set DAC H and L values
CMPSS_setDACValueHigh(CLLLC_ISEC_TANK_CMPSS_BASE,
CLLLC_ISEC_TANK_DACHVAL);
CMPSS_setDACValueLow(CLLLC_ISEC_TANK_CMPSS_BASE,
CLLLC_ISEC_TANK_DACLVAL);
第二步,配置輸出,通過XBAR 將CMPSS的高和低兩個比較器的結果,映射到XBAR_TRIP5和XBAR_TRIP7;
XBAR_setEPWMMuxConfig(XBAR_TRIP5,
CLLLC_IPRIM_TANK_H_PWM_XBAR_MUX_VAL);
XBAR_enableEPWMMux(XBAR_TRIP5,
CLLLC_IPRIM_TANK_H_XBAR_MUX);
XBAR_setEPWMMuxConfig(XBAR_TRIP7,
CLLLC_IPRIM_TANK_L_PWM_XBAR_MUX_VAL);
XBAR_enableEPWMMux(XBAR_TRIP7,
CLLLC_IPRIM_TANK_L_XBAR_MUX);
第三步,PWM trip配置,將XBAR_TRIP5和XBAR_TRIP7分別配置給Digital Trip Event A2和B2, 當輸出為高時,可以觸發(fā)PWM動作。
7. 總結
在本文中,我們討論了通過 C2000內部集成的模擬比較器功能,在增加系統功能的同時減少外部組件的需求,同時提供了更多的數字編程控制的靈活性,這種實現還可以幫助節(jié)省成本和電路板空間,本文還通過幾個具體案例詳細介紹了集成模擬比較器的使用方法。更多相關應用、硬件和軟件的示例,請參閱 TI 官網提供的C2000開發(fā)工具、應用手冊、設計指南、硬件原理圖和軟件示例。
參考文獻
TMS320F28002x Real-Time Microcontrollers Technical Reference Manual (Rev. A)
TMS320F28004x Real-Time Microcontrollers Technical Reference Manual (Rev. D)
Design Guide: TIDM-02002 Bidirectional CLLLC Resonant Dual Active Bridge (DAB) Reference Design for HEV/EV Onboard Charger
來源:TI
作者:Emma Wang
評論