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