使用C2000??內(nèi)部比較器替外部比較器
1. 介紹
本文引用地址:http://m.butianyuan.cn/article/202310/451837.htmC2000系列芯片在數(shù)字電源和電機(jī)控制中有著廣泛的應(yīng)用,在這些應(yīng)用中,過流過壓保護(hù)是必不可少的。傳統(tǒng)的方法是使用外部比較器,但是會(huì)存在濾波電路不好設(shè)計(jì),不同版本需要不同的BOM來提供不同的保護(hù)點(diǎn)等問題。本文針對(duì)所有第三代C2000芯片,比如F2807x/37x,F(xiàn)28004x,F(xiàn)28002x等,介紹C2000內(nèi)部比較器的具體實(shí)踐方法,并提供了與傳統(tǒng)的外部比較器方法的比較,結(jié)果表明,使用C2000內(nèi)部比較器的方法在效率和成本上都具備明顯的優(yōu)勢(shì)。
2. C2000 內(nèi)部比較器的介紹
TI 第三代C2000芯片全系列集成了帶DAC的片內(nèi)比較器,通過DAC設(shè)定閾值,與采樣信號(hào)分別送到片內(nèi)比較器的正負(fù)輸入端做比較,由于DAC的集成,用戶可以方便地修改比較的電壓值。同時(shí),C2000比較器內(nèi)部集成數(shù)字濾波器,可以實(shí)現(xiàn)高性能的濾波。生成保護(hù)信號(hào)給到PWM模塊封鎖PWM輸出,從而實(shí)現(xiàn)快速的過流過壓保護(hù),無需額外再加比較器和基準(zhǔn)電壓。另外,C2000內(nèi)部的比較器響應(yīng)速度快,以F280049 為例(可參考datasheet上Comparator Electrical Characteristics這一章節(jié)),從比較器輸入的電平異常到比較器產(chǎn)生輸出信號(hào),延遲最多60ns, 而通用比較器的延遲一般要1us左右,使用與C2000內(nèi)部比較器相似規(guī)格的比較器成本又會(huì)比較高。
比較器子系統(tǒng) (CMPSS) 模塊由模擬比較器和支持組件組成它們組合成一種拓?fù)浣Y(jié)構(gòu),可用于功率應(yīng)用,例如峰值電流模式控制,開關(guān)電源、功率因數(shù)校正和電壓跳閘監(jiān)控。 每個(gè)CMPSS 模塊包括兩個(gè)模擬比較器、兩個(gè)可編程 12 位DAC、一個(gè)斜坡發(fā)生器和兩個(gè)數(shù)字濾波器。CMPSS有兩個(gè)輸出,一個(gè)是CTRIPH,送到芯片內(nèi)部,可以和PWM模塊同步,配合使用。一個(gè)是CTRIPOUTH,可以通過OUTPUTXBAR 送到外部GPIO和系統(tǒng)其他模塊搭配使用。簡(jiǎn)化的示意圖如圖1所示:
圖1 比較器子系統(tǒng) (CMPSS)簡(jiǎn)圖
3. 比較器滯回功能的使用
為了避免噪聲波動(dòng)引起的比較器輸出的反復(fù)跳變,我們一般都會(huì)配置滯回比較。 C2000比較器的滯環(huán)是可以設(shè)定的,COMPHYSCTL的COMPHYS位可以設(shè)定滯環(huán)的環(huán)寬,當(dāng)環(huán)寬設(shè)定為0時(shí)也就意味著沒有滯環(huán)。注意在規(guī)格書中,滯環(huán)的單位是LSB,所以它和CMPSS模塊內(nèi)部的DAC的參考有關(guān)。如果內(nèi)部DAC的參考電壓是3V,1LSB對(duì)應(yīng)3V/4096=0.7mV。 以F28004x,F(xiàn)2807x,F(xiàn)2837x為例,其滯環(huán)可以在12LSB, 24LSB, 36LSB, 48LSB中選擇。具體可以在datasheet的電氣參數(shù)中看到。
CMPSS內(nèi)部DAC的參考可以看TRM (Technical Reference Manual) 中關(guān)于參考的介紹,可以在VDDA和VDAC中選擇:
設(shè)置滯回的寄存器是COMPHYS, 設(shè)置滯回也可以調(diào)用driverlib中的函數(shù)CMPSS_setHysteresis(uint32_t base, uint16_t value)。設(shè)置值和滯回環(huán)寬的關(guān)系可以看具體型號(hào)C2000的Technical Reference Manual中寄存器的解釋。
4. 數(shù)字濾波器的使用
當(dāng)外部輸入的濾波電路設(shè)計(jì)不當(dāng)時(shí),會(huì)導(dǎo)致比較器被誤觸發(fā)的情況,C2000內(nèi)部比較器還集成了可配置的數(shù)字濾波器,CMPSS數(shù)字濾波器的時(shí)鐘來源是系統(tǒng)時(shí)鐘, 預(yù)分頻(CLKPRESCALE)決定了濾波器的采樣率,濾波器的FIFO在每個(gè)分頻后時(shí)鐘采樣一次。數(shù)字濾波器在從輸入端采集的FIFO采樣(SAMPWIN)窗口上工作。濾波器輸出為采樣窗口內(nèi)的多數(shù)值,其中多數(shù)由閾值(THRESH)定義。如果不滿足閾值,則濾波器輸出保持不變。具體的工作邏輯可以參考TRM(Technical Reference Manual)的Digital filter behavior,如圖2。
這里以F280049為例,需要注意的是,THRESH的值必須被設(shè)置為大于SAMPWIN/2并且小于或等于SAMPWIN。同時(shí),F(xiàn)IFO中的舊數(shù)據(jù)將被丟棄。在用寄存器配置的情況下,對(duì)于SAMPWIN、THRESH和CLKPRESCALE,數(shù)字濾波器使用的內(nèi)部數(shù)字在所有情況下都是+1。也就是說,samples=SAMPWIN+1,threshold=THRESH+1,pre scale=CLKPRESCALE+1。
圖2 比較器濾波子模塊功能
也可以用driverlib函數(shù)配置,即在函數(shù)中配置相應(yīng)的分頻值,采樣窗和閾值。
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等其他內(nèi)部外設(shè)配合使用,但是有些應(yīng)用中,也需要把內(nèi)部比較器的信號(hào)鎖存起來,比如傳給外部的IPM模塊等。CMPSS也支持這種模式,用戶可選擇穿透模式,和鎖存(Latch)模式,在鎖存模式下,可以將瞬間的過壓過流給到外部,保護(hù)外部的模塊不被損壞。
同時(shí),也可以在比較器的輸出源中選擇通過或門的鎖存信號(hào),也就是高低兩個(gè)寄存器的COMPCTL.CTRIPOUTLSEL和用COMPCTL.CTRIPOUTHSEL ,第三個(gè)輸入選項(xiàng)就是經(jīng)過濾波器后的鎖存信號(hào),也可以選擇0-異步模式或是和1-CPU時(shí)鐘同步,或是2-經(jīng)過濾波器但是不鎖存的信號(hào),具體選項(xiàng)和對(duì)應(yīng)關(guān)系,可以參考圖3。
同樣的,也可以用Driverlib函數(shù)配置,在void CMPSS_configOutputsHigh(uint32_t base, uint16_t config)和void CMPSS_configOutputsLow(uint32_t base, uint16_t config)函數(shù)里面的config增加一個(gè)參數(shù)CMPSS_TRIPOUT_LATCH即可,TRIPOUT代表是將這個(gè)信號(hào)通過OUTPUTXBAR送到芯片外部GPIO。
圖3 比較器子系統(tǒng)完整信號(hào)框圖
6. 和PWM配合使用的實(shí)際應(yīng)用
傳統(tǒng)的保護(hù)方式是使用外部比較器,本文介紹的使用C2000內(nèi)部的窗口比較器(ADC與比較器pin 腳共用)的方式,可以節(jié)省物料成本和布板空間。具體配置方法如下(完整代碼參考TIDM-02002
針對(duì) HEV/EV 車載充電器的雙向 CLLLC 諧振、雙有源電橋 (DAB) 參考設(shè)計(jì)):
第一步,選擇合適的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的高和低兩個(gè)比較器的結(jié)果,映射到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, 當(dāng)輸出為高時(shí),可以觸發(fā)PWM動(dòng)作。
7. 總結(jié)
在本文中,我們討論了通過 C2000內(nèi)部集成的模擬比較器功能,在增加系統(tǒng)功能的同時(shí)減少外部組件的需求,同時(shí)提供了更多的數(shù)字編程控制的靈活性,這種實(shí)現(xiàn)還可以幫助節(jié)省成本和電路板空間,本文還通過幾個(gè)具體案例詳細(xì)介紹了集成模擬比較器的使用方法。更多相關(guān)應(yīng)用、硬件和軟件的示例,請(qǐng)參閱 TI 官網(wǎng)提供的C2000開發(fā)工具、應(yīng)用手冊(cè)、設(shè)計(jì)指南、硬件原理圖和軟件示例。
評(píng)論