開發(fā)者社區(qū)
匠芯創(chuàng)M6800系列芯片內(nèi)置EPWM快速保護(hù)模塊,鍛造高精度電機(jī)控制安全保護(hù)鎖
匠芯創(chuàng)M6800系列芯片是用于高精度電機(jī)控制任務(wù)的微控制器,可廣泛應(yīng)用于工業(yè)、汽車和消費(fèi)電子領(lǐng)域。M6800系列芯片中的EPWM(脈沖寬度調(diào)制)快速保護(hù)功能是為了實(shí)現(xiàn)電機(jī)控制和電源轉(zhuǎn)換應(yīng)用中的系統(tǒng)可靠性。EPWM快速保護(hù)模塊通常用來在檢測到錯(cuò)誤或者潛在危險(xiǎn)操作條件時(shí),迅速關(guān)閉輸出,從而保護(hù)電路免受損害。
一、特點(diǎn)與功能
M6800系列芯片中EPWM快速保護(hù)模塊的特點(diǎn)和功能通常包括:
Trip-Zone 輸入:這些是專用的輸入,可以連接到外部故障信號。當(dāng)檢測到故障(比如過流、過壓、溫度超限等)時(shí),Trip-Zone輸入會(huì)觸發(fā)保護(hù)機(jī)制。
模擬信號比較器:比較器可以用來實(shí)時(shí)監(jiān)控模擬信號(比如電流或電壓),當(dāng)這些信號超出預(yù)設(shè)的閾值時(shí),比較器輸出信號可以直接觸發(fā)EPWM的快速保護(hù)。
數(shù)字邏輯:可以將來自多個(gè)源的保護(hù)信號通過數(shù)字邏輯電路進(jìn)行組合,以實(shí)現(xiàn)復(fù)雜的保護(hù)策略。
死區(qū)控制:在不同的EPWM信號之間提供時(shí)間延遲,以防止如電橋中的上下管同時(shí)導(dǎo)通導(dǎo)致的短路。
自動(dòng)斷開:在檢測到故障時(shí),EPWM輸出會(huì)自動(dòng)斷開,防止錯(cuò)誤傳播,減少系統(tǒng)損傷。
軟件干預(yù)和恢復(fù):一旦觸發(fā)保護(hù)并自動(dòng)斷開EPWM輸出后,系統(tǒng)可以通過軟件干預(yù)來判斷故障情況,執(zhí)行必要的故障處理流程,并在問題解決后恢復(fù)正常工作。
保護(hù)模式配置:用戶可以配置快速保護(hù)反應(yīng)的行為,例如立即關(guān)閉EPWM通道或設(shè)置成特定的狀態(tài)。
這些特性使得M6800系列芯片的EPWM快速保護(hù)模塊非常適合用在需要高可靠性和快速響應(yīng)故障保護(hù)的場合,比如電動(dòng)機(jī)驅(qū)動(dòng)器、開關(guān)電源、逆變器等。
二、實(shí)現(xiàn)路徑
由外部故障硬件信號連接到EPWM_FLTx引腳,用戶配置錯(cuò)誤聯(lián)防操作,外部信號保護(hù)事件輸入,觸發(fā)EPWMxA/B動(dòng)作,關(guān)斷控制的MOSFET橋臂,實(shí)現(xiàn)限流與跳閘保護(hù)。
三、原理圖與詳細(xì)說明
故障指示輸入,包括可恢復(fù)故障指示輸入和不可恢復(fù)故障指示輸入。故障指示的輸入源來自管腳GPIO、內(nèi)部比較模塊CPM和內(nèi)部SDFM模塊,具體如下圖所示,這三類的輸入信號經(jīng)過OR邏輯可以得到EPWM_RFLT_ALL和EPWM_NRFLT_ALL信號,分別觸發(fā)進(jìn)入可恢復(fù)故障模式和不可恢復(fù)故障模式。
① EPWM可恢復(fù)故障指示輸入:
②EPWM不可恢復(fù)故障指示輸入:
EPWM_FLTx可以配置或高或低,需注意CPM的故障輸入以及SDFM的故障輸入信號,固定為高電平有效,不可配置。
③故障操作:
當(dāng)故障指示輸入有效,那么EPWM強(qiáng)制執(zhí)行故障操作,EPWM輸出信號的故障操作包括:
EPWM強(qiáng)制輸出高電平
EPWM強(qiáng)制輸出低電平
EPWM強(qiáng)制輸出高阻態(tài)
④無操作:
另外,軟件可以通過寄存器設(shè)置,強(qiáng)制EPWM輸出執(zhí)行故障操作。
⑤故障模式:
EPWM快速保護(hù)模塊可以同時(shí)支持兩種類型的故障模式,一種為可恢復(fù)的故障模式,另一種為不可恢復(fù)的故障模式。
⑥可恢復(fù)故障模式:
此模式下,當(dāng)EPWM_RFLT_ALL有效,EPWM模塊立即執(zhí)行故障操作,如果有使能中斷模式,則產(chǎn)生EPWM_RC_FALT_INT中斷。當(dāng)計(jì)數(shù)器計(jì)數(shù)復(fù)位至0,若EPWM_RFLT_ALL信號變回?zé)o效狀態(tài)嗎,那么EPWM的故障操作解除,EPWM可以繼續(xù)正常工作。
⑦不可恢復(fù)故障模式:
此模式下,當(dāng)EPWM_NRFLT_ALL有效,EPWM快速保護(hù)模塊立即執(zhí)行故障操作,如果有使能中斷模式,則產(chǎn)生EPWM_NRC_FALT_INT中斷。當(dāng)出現(xiàn)不可恢復(fù)的故障,那么此時(shí)EPWM一直處于故障操作的狀態(tài),不能修改。不可恢復(fù)故障的消除,只能通過軟件寫寄存器消除此狀態(tài),才可以使得EPWM再次正常工作。
⑧故障中斷:
故障中斷,由可恢復(fù)故障中斷EPWM_RC_FALT_INT與不可恢復(fù)中斷EPWM_NRC_FALT_INT進(jìn)行或邏輯所得EPWM_FALT_INT信號。
⑨設(shè)計(jì)舉例:
程序初始化:
//配置GPIOA02輸入引腳 Fault2
gpio_enable(GPIO_GRP_A, 2, 1, GPIO_FUN_6);
//EPWM 初始化:初始化PWMA/B的GPIO管腳
epwm_pinmux_init(num);
//EPWM時(shí)鐘初始化配置
pwmcs_cmu_init();
//內(nèi)部供電配置使能
glb_hpwm_dll_ldo_en();
//使能EPWM時(shí)鐘
epwm_clk_en(num);
//不用HPWM模塊
epwm_hpwm_bypass(num);
//配置EPWM輸出
PWM_OUT_CNF(num,4999,2500);
#ifdef REC_FAULT //可恢復(fù)故障
FAULT_REC_INIT(num);
#endif
#ifdef NON_REC_FAULT //不可恢復(fù)故障
FAULT_NREC_INIT(num);
//故障中斷
epwm_fault_irq_register(FAULT_IRQ);
void FAULT_NREC_INIT(u32 num)
{
(*EPWM[num]).PWM_FAULT_IN.bit.FAULT2_POL = FAULT_HIGH; //故障信號極性,高電平有效
(*EPWM[num]).PWM_FAULT_IN.bit.NREC_FAULT2_EN = P_ENABLE; //使能不可恢復(fù)的故障信號2
(*EPWM[num]).PWM_FAULT_INT.bit.NREC_FAULT_INT_EN = P_ENABLE; //不可恢復(fù)故障中斷使能
}
void FAULT_NREC_INIT(u32 num)
{
(*EPWM[num]).PWM_FAULT_IN.bit.FAULT2_POL = FAULT_HIGH; //故障信號極性,高電平有效
(*EPWM[num]).PWM_FAULT_IN.bit.NREC_FAULT2_EN = P_ENABLE; //使能不可恢復(fù)的故障信號2
(*EPWM[num]).PWM_FAULT_INT.bit.NREC_FAULT_INT_EN = P_ENABLE; //不可恢復(fù)故障中斷使能
歡迎通過我司對外郵箱(sales@artinchip.com)獲取官方文檔、技術(shù)手冊與應(yīng)用筆記等,深入了解M6800系列芯片EPWM快速保護(hù)模塊的架構(gòu)、編程方法、使用案例以及配置工具的操作指導(dǎo),獲取更多產(chǎn)品有效信息。