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