ZHCABQ7A May 2022 – June 2022 TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , UCD7138
如圖 1-1 所示,通常大多數(shù)現(xiàn)有產(chǎn)品會根據(jù) SR 鉗位模式下理想的諧振回路參數(shù)定義 SR 鉗位寬度的固定值。然而,由于諧振電容器和電感器的值必須因器件而異,并可能在生命周期內發(fā)生變化。通常根據(jù)諧振回路參數(shù)的可能變化范圍為 SR 鉗位模式選擇最小諧振周期,以避免出現(xiàn)意外的負電流。這意味著,由于 SR MOSFET 關斷過早,大多數(shù)產(chǎn)品無法在大規(guī)模生產(chǎn)中以最佳效率工作。如果在制造過程中實施諧振槽的校準過程,這對所需的時間和成本也是一種挑戰(zhàn)。
為了補償諧振回路的元件變化并實現(xiàn)最佳的 SR 關斷邊沿控制,將 C2000 器件內的 CLB 模塊與 UCD7138 的 DTC 反饋配合使用。
如圖 3-1 所示,將來自 UCD7138 的 DTC 信號饋送到 C2000,作為 CLB 模塊的輸入信號之一。其基本思路是在 SR 鉗位模式下, 使用 CLB 并借助 DTC 信號計算體二級管的導通時間,以便延長 SR 導通時間以及增加關斷沿,直至采集的 DTC 低電平事件的持續(xù)時間在目標值范圍內,如圖 3-1 所示。
詳細步驟如下。
如果“RESET”(復位)輸入始終為高電平,計數(shù)器將始終復位為 0,因此可使用 IN 信號在下降沿后觸發(fā)計數(shù)器開始計數(shù)。然后,反相 DTC 信號將設置為 MODE_0 輸入(高電平有效啟用計數(shù))。通過將 MODE_1 設置為 1,可以獲取 DTC 低電平事件的持續(xù)時間。
以下代碼片段提供了 SR 鉗位導通時間調整的示例,其中通過 CLB 的高級控制器 (HLC) 中的 R0 寄存器獲取 CLB 計數(shù)器值,SR_clamp_mode 指的是 SR 鉗位工作模式,clamp_ajust_flag 用于指示調整完成,例如,如果 SR 關閉后,體二級管導通時間在 50ns 之內。
if(clamp_ajust_flag && SR_clamp_mode)
{
counter1_low = CLB_getRegister(CLB1_BASE, CLB_REG_HLC_R0);
if(counter1_low>5)
{
SR_clamp_time=SR_clamp_time+2;
}
else
{
clamp_ajust_flag=0;
}
}