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

圖1:使用PTG中斷執行代碼
如本例所示,PTG通過(guò)有效地對ADC和PWM的使用進(jìn)行排序來(lái)簡(jiǎn)化實(shí)現,從而在一個(gè)dsPIC33器件中實(shí)現電機控制和PFC。
照明控制
在光強度控制應用中,使用OC的PWM發(fā)生器可用于控制光的亮度。
在此應用中,使用了兩個(gè)OC外設,其占空比由來(lái)自?xún)蓚€(gè)獨立ADC通道的輸入控制。根據每個(gè)ADC值,更新占空比。PTG外設支持更簡(jiǎn)單的同步ADC和OC外設的方法。此外,PTG有助于避免外設死鎖,從而提高應用的安全性。
為了執行同步,電路首先會(huì )監視ADC并產(chǎn)生適當的中斷以改變OC占空比。然后,它會(huì )在不干擾CPU的情況下改變ADC通道,因為PTG可以獨立完成此操作。作為額外的安全功能,在發(fā)生意外故障時(shí),PTG外設具有專(zhuān)用的看門(mén)狗定時(shí)器,用于監視和執行必要的糾正措施。
該應用的框圖如圖2所示。

圖2:使用PTG的輸出比較占空比控制
PTG外設內的看門(mén)狗定時(shí)器將防止PTG在執行等待硬件觸發(fā)高電平-低電平狀態(tài)的命令時(shí)無(wú)限期地等待外部事件的情況。在此應用中,PTG將等待ADC轉換完成觸發(fā)信號。使能后,看門(mén)狗定時(shí)器會(huì )在命令執行開(kāi)始時(shí)開(kāi)始計數。命令完成執行時(shí)將禁止看門(mén)狗定時(shí)器。如果預期事件在看門(mén)狗定時(shí)器超時(shí)周期到期之前未到達,則PTG外設將中止正在進(jìn)行的失敗命令并停止定序器。然后,它會(huì )向CPU發(fā)出看門(mén)狗定時(shí)器錯誤中斷。
這可作為安全功能,用于從ADC或PTG外設停止工作的情況中恢復。這些外設可以在看門(mén)狗定時(shí)器錯誤中斷內重新初始化和重啟。
PTG通過(guò)切換ADC通道和監控外設使應用獨立于內核,而無(wú)需CPU外設的干預。這樣一來(lái),CPU便可以用于應用程序中的其他任務(wù)。
僅PTG將負責外設內的所有交互,這有助于降低軟件復雜性并保持模塊化。PTG外設的看門(mén)狗定時(shí)器有助于從任何災難性故障中恢復,從而提供更可靠的應用。
恒定頻率波形
PTG外設可用于產(chǎn)生恒定頻率信號,而此信號還可用作時(shí)鐘源。PTG觸發(fā)用作屏蔽輸入選擇的比較器。PTG的觸發(fā)脈沖寬度可以改變,PTG有自己的定時(shí)器。外設觸發(fā)信號也可用作運算放大器和比較器的屏蔽輸入選擇,如圖3所示。

圖3:用戶(hù)可編程的屏蔽功能
使用此功能,可以通過(guò)比較器外設實(shí)現PTG輸出。比較器配置為:反相輸入接地,同相輸入連接至內部參考電壓。
觸發(fā)脈沖將直接呈現為比較器輸出。只要PTG連續產(chǎn)生觸發(fā)信號,比較器就會(huì )產(chǎn)生恒定頻率波形。波形的脈沖寬度將是PTG時(shí)鐘的一個(gè)周期。
開(kāi)關(guān)時(shí)間可由PTG定時(shí)器和脈沖寬度位控制。輸出脈沖寬度將決定輸出波形的關(guān)斷時(shí)間,定時(shí)器將決定輸出波形的導通時(shí)間,即觸發(fā)比較器外設之間的延時(shí)。
根據比較器輸出極性,開(kāi)關(guān)時(shí)間將由定時(shí)器或脈沖寬度位控制。輸出頻率也可以由充當時(shí)鐘分頻器的寄存器控制。
通過(guò)改變比較器輸出極性,可以使用四個(gè)比較器外設產(chǎn)生互補波形??梢允褂妹}沖寬度位修改脈沖寬度,以便降低輸出頻率。因此,可以使用PTG和比較器外設產(chǎn)生恒定波形。
在該應用中使用PTG的優(yōu)點(diǎn)之一是輸出可以充當恒定時(shí)鐘源并且完全獨立于內核運行。使用更多比較器外設時(shí),可以生成偶互補波形。PTG還可以在空閑和休眠等節能模式下工作。
總結
憑借Microchip的dsPIC33數字信號控制器中的PTG外設,用戶(hù)能夠設計復雜的應用序列,并為時(shí)序關(guān)鍵型或功耗關(guān)鍵型應用提供更高的靈活性。PTG可在幾乎沒(méi)有CPU中斷的情況下支持各種外設彼此交互,并有助于增強現有外設的功能,從而擴展任何給定外設可以實(shí)現的功能。
使用PTG外設可提供更快的響應速度并減少軟件負擔。外設還提供內置功能(如專(zhuān)用的看門(mén)狗定時(shí)器)來(lái)提高功能安全性。
評論