如今的嵌入式應用非常復雜,需要通過單個單片機處理多個功能。這些應用需要增強安全性、支持實時響應的最佳執行時間以及無縫同步各個功能。從具有集成功率因數校正的電機控制到光強度處理,復雜應用需要在各個模塊之間輕松切換。處理器驅動的定時和排序解決方案受固有延時的影響,這種延時無法始終準確預測。這種方法還占用了寶貴的CPU帶寬,導致其功能未得到充分利用,而通過卸載這些功能可優化應用程序性能。Microchip的16位dsPIC33數字信號控制器(DSC)中的外設觸發信號發生器(PTG)是獨立于內核的外設(CIP),可以協調復雜應用中功能的精確定時和排序,同時減輕CPU的負擔。我們詳細介紹了幾個示例,以展示PTG如何幫助簡化時序關鍵應用(例如,采用功率因數校正的電機控制、光強度控制或生成還可用作獨立于內核的時鐘源的恒定頻率信號)的外設排序。由于PTG與內核無關,因此可以在CPU休眠時完成此項工作以實現節能或專注于其他關鍵任務。
顧名思義,PTG是一個用戶可編程序列發生器,可生成具有復雜輸入信號序列的觸發信號,以協調其他片上外設的操作。使用PTG的應用會通過其他外設(例如模數轉換器(ADC)、輸出比較(OC)、脈寬調制器(PWM)、定時器和中斷控制器)共同執行此操作,以實現復雜的觸發和響應序列。PTG不僅降低了應用程序對內核的依賴性,還能單獨處理模塊交互,從而有助于降低軟件復雜性及保持模塊化。
PTG外設支持向PTG隊列寄存器傳送8位命令(稱為step命令)。每個8位step命令由一個4位命令代碼和一個4位選項字段組成。這些命令定義了一系列事件,用于輸出觸發信號到外設。step命令還可用于生成對內核的中斷請求。
功率因數和電機控制
在集成功率因數校正(PFC)和電機控制應用中,單個DSC使用磁場定向控制(FOC)方案以及PFC轉換器控制永磁同步電機。該應用需要三個PWM通道來控制電機功能,另外還需要一個PWM來控制PFC操作。輸出比較(OC)外設可用于增加應用可用的PWM通道數量,甚至會超出器件上可用的高速PWM通道數量。
可同時使用PWM外設與OC外設來產生電機控制和PFC操作所需的信號。但是,在PFC等應用中,執行時序非常重要,因此必須在最佳執行時間內完成各種任務。其中包括同步電機控制和PFC PWM、觸發ADC進行轉換以及切換用于電機控制的ADC通道和PFC反饋信號。
使用PTG外設可以有效地實現這些要求,PTG外設可以同步高速PWM和OC外設,并通過監視高速PWM外設邊沿來產生ADC外設觸發信號。它還可監視“ADC轉換完成”中斷并產生適當的中斷,執行FOC和數字PFC控制代碼。它減少了CPU干預,使外設處理獨立于內核進行。這可降低應用的總體功耗,同時釋放CPU以執行更多關鍵功能。選擇電機控制和PFC PWM的開關頻率時應確保其為整數倍。
dsPIC® DSC中的ADC能夠進行四通道同步采樣。FOC和PFC算法都有自己的模擬通道需要同時采樣,因為這些信號的相位關系是實現有效控制的關鍵。
選擇電機控制和PFC的反饋信號時應確??赏ㄟ^改變ADC通道選擇對電機控制和PFC信號進行采樣。在基于PWM邊沿觸發ADC之前,可將電機控制和PFC信號連接到采樣保持(S&H)電路。通道應配置為:在四通道采樣和轉換序列結束時,可從FOC或PFC各自對應的ADC緩沖寄存器中獲得其轉換結果。
在設置通道選擇位以將PFC反饋信號連接到ADC的采樣保持電路后,對于每個PFC PWM周期,都必須生成觸發信號。同樣,對于每個電機控制PWM周期,必須在設置通道選擇位以將電機控制反饋信號連接到ADC的S&H電路之后生成ADC觸發信號。因此,將PTG外設配置為通過監視電機控制和PFC PWM脈沖的邊沿來生成ADC觸發信號。此外,還會生成兩個PTG中斷來執行FOC和PFC的代碼,如圖1所示。
圖1:使用PTG中斷執行代碼
如本例所示,PTG通過有效地對ADC和PWM的使用進行排序來簡化實現,從而在一個dsPIC33器件中實現電機控制和PFC。
照明控制