用于電機(jī)控制的定時(shí)器和計(jì)數(shù)器新性能介紹
定時(shí)器和計(jì)數(shù)器可能是MCU設(shè)計(jì)中最普遍的外設(shè)。幾乎任何應(yīng)用程序都可以使用定時(shí)器或計(jì)數(shù)器來通過簡(jiǎn)單的定時(shí)器或計(jì)數(shù)器中斷替換重復(fù)或循環(huán)CPU操作來提高性能,降低功耗或簡(jiǎn)化設(shè)計(jì)。但是,您可能沒有使用過某些最新的計(jì)時(shí)器/計(jì)數(shù)器單元,現(xiàn)在可以使用的一些高級(jí)功能可以進(jìn)一步改善您的設(shè)計(jì)。本文將快速回顧一些可用于改進(jìn)設(shè)計(jì)的新定時(shí)器/計(jì)數(shù)器功能,其中包括來自流行MCU系列的說明性示例,特別強(qiáng)調(diào)自主操作和電機(jī)控制的功能。
定時(shí)器和計(jì)數(shù)器模式:從簡(jiǎn)單到高級(jí)
定時(shí)器和計(jì)數(shù)器以一些非常簡(jiǎn)單的操作模式開始,以替換用于計(jì)數(shù)外部事件的公共程序循環(huán),用于計(jì)時(shí)內(nèi)部和外部操作以及用于收集關(guān)鍵MCU的各種統(tǒng)計(jì)信息操作。 Maxim MAXQ612 MCU的功能說明了一些最常見的計(jì)數(shù)模式,下面的圖1顯示了一些示例。圖底部的表格顯示了定時(shí)器B的三種常見自主操作模式,MAXQ612定時(shí)器/計(jì)數(shù)器模塊:自動(dòng)重載,捕獲和pp/向下計(jì)數(shù)。右上角的圖顯示了自動(dòng)重載模式的框圖。定時(shí)器B的時(shí)鐘輸入可以來自時(shí)鐘預(yù)分頻器,可以通過8種不同的設(shè)置或外部引腳分頻系統(tǒng)時(shí)鐘??刂莆籘RB使能或禁止定時(shí)器B操作。定時(shí)器值寄存器(TVB)在計(jì)時(shí)時(shí)及其達(dá)到存儲(chǔ)在定時(shí)器B重載寄存器(TBR)中的值時(shí)計(jì)數(shù),并產(chǎn)生中斷并將TVB復(fù)位為零。這提供了一種創(chuàng)建延遲的簡(jiǎn)單方法,而不會(huì)占用寶貴的CPU周期來創(chuàng)建延遲。外部引腳也可用于將TVB重置為零,如果預(yù)期輸入未在預(yù)期的時(shí)間內(nèi)顯示,則此模式可用于創(chuàng)建超時(shí)。
圖1:Maxim MAXQ612 MCU示例計(jì)數(shù)器/定時(shí)器模式。 (由Maxim提供)
圖1右上方的框圖說明了捕獲模式的操作。在此模式下,時(shí)鐘預(yù)分頻器和啟用/禁用功能與自動(dòng)重載模式下的相同。當(dāng)TBV寄存器溢出并產(chǎn)生可選中斷時(shí),它會(huì)向上計(jì)數(shù)并復(fù)位為零。在外部引腳TBB的下降沿,TBV寄存器中的值被加載到捕獲寄存器TBR中,并且可以產(chǎn)生中斷EXFB。此模式可用于計(jì)算外部信號(hào)上升沿之間的時(shí)鐘數(shù),以確定信號(hào)頻率或信號(hào)延遲。因此,定時(shí)器可以使CPU免于進(jìn)行周期密集的計(jì)數(shù)操作,因此可以更有效地完成真正需要的任務(wù)。
MAXQ612支持其他幾種常見的定時(shí)器/計(jì)數(shù)器操作,例如up/down auto-reload,其中外部引腳控制計(jì)數(shù)器的方向。該模式有助于解碼各種脈沖寬度調(diào)制信號(hào),例如機(jī)電傳感器中使用的信號(hào)。時(shí)鐘輸出模式可用于使用系統(tǒng)時(shí)鐘,預(yù)分頻器和定時(shí)器B的終端計(jì)數(shù)創(chuàng)建簡(jiǎn)單的輸出時(shí)鐘。最后,脈沖寬度調(diào)制(PWM)輸出模式可以生成邊沿對(duì)齊信號(hào)用于常見的PWM應(yīng)用,如電機(jī)控制應(yīng)用。
用于電機(jī)控制的PWM計(jì)數(shù)器/定時(shí)器功能
一些最先進(jìn)的定時(shí)器/計(jì)數(shù)器功能用于電機(jī)控制的PWM應(yīng)用。這些計(jì)數(shù)器使用專用硬件實(shí)現(xiàn)盡可能多的與電機(jī)相關(guān)的PWM功能,以釋放處理器以執(zhí)行更高級(jí)別的功能。電機(jī)控制PWM計(jì)數(shù)器/定時(shí)器的基本操作在大多數(shù)制造商實(shí)施和NXP LPC 17xx PWM定時(shí)器之間是常見的,該定時(shí)器針對(duì)三相交流和直流電機(jī)控制應(yīng)用進(jìn)行了優(yōu)化,提供了一個(gè)很好的例子。如圖2所示,電機(jī)控制PWM模塊的功能看起來相當(dāng)復(fù)雜,直到您意識(shí)到基本PWM定時(shí)器通道有三個(gè)副本;一個(gè)在左邊,一個(gè)在中間,一個(gè)在右邊。具有三個(gè)通道使得可以使用單個(gè)定時(shí)器/計(jì)數(shù)器來控制三相電動(dòng)機(jī),從而實(shí)現(xiàn)非常有效的實(shí)施。每個(gè)通道控制一對(duì)輸出,這些輸出又可以控制芯片外的某些東西,就像電機(jī)中的一組線圈一樣。每個(gè)通道都包含一個(gè)定時(shí)器/計(jì)數(shù)器(TC)寄存器,該寄存器由處理器時(shí)鐘(定時(shí)器模式)或輸入引腳(計(jì)數(shù)器模式)遞增。
圖2:恩智浦LPC 17xx PWM定時(shí)器/計(jì)數(shù)器。 (由恩智浦提供)
每個(gè)通道都有一個(gè)限制寄存器,與TC值進(jìn)行比較,當(dāng)匹配發(fā)生時(shí),TC以兩種方式之一“復(fù)位”。在邊沿對(duì)齊模式下,TC復(fù)位為0,而在中心模式下,匹配將TC切換為每個(gè)處理器時(shí)鐘或輸入引腳轉(zhuǎn)換的遞減,直到達(dá)到0,此時(shí)它再次開始向上計(jì)數(shù)。
每個(gè)通道還包括一個(gè)匹配寄存器,其值小于限制寄存器。在邊沿對(duì)齊模式下,只要TC匹配匹配或限制寄存器,就切換通道的輸出,而在中心對(duì)齊模式下,只有當(dāng)它與匹配寄存器匹配時(shí)才切換。因此,限制寄存器控制輸出的周期,而匹配寄存器控制輸出在每個(gè)狀態(tài)中花費(fèi)的每個(gè)周期的多少。如果輸出被集成到電壓中,則限制寄存器中的值較小會(huì)使紋波最小化,并允許電機(jī)控制PWM定時(shí)器控制高速運(yùn)行的設(shè)備。
所有這些通道硬件元件一起工作控制兩個(gè)輸出A和B,它們可以驅(qū)動(dòng)一對(duì)晶體管在兩個(gè)電源軌之間切換控制點(diǎn)。大多數(shù)情況下,兩個(gè)輸出具有相反的極性,但是可以啟用死區(qū)時(shí)間功能(基于每個(gè)通道)以延遲兩個(gè)信號(hào)從被動(dòng)狀態(tài)到活動(dòng)狀態(tài)的轉(zhuǎn)換,從而晶體管永遠(yuǎn)不會(huì)同時(shí)開啟。每個(gè)輸出對(duì)的狀態(tài)可以被認(rèn)為是高,低,浮動(dòng)或上,下和中心關(guān)閉。每個(gè)通道從有源和無源到高和低的映射都是可編程的,每個(gè)通道都可以執(zhí)行邊沿對(duì)齊和中心對(duì)齊的脈沖寬度調(diào)制。圖3顯示了兩個(gè)輸出配置示例。左邊的那個(gè)是中心對(duì)齊的,沒有任何死區(qū)時(shí)間。右邊的那個(gè)插入死區(qū)時(shí)間(DT)以確保兩個(gè)輸出同時(shí)不活動(dòng)。
圖3:恩智浦LPC17xx電機(jī)控制PWM定時(shí)器/計(jì)數(shù)器示例輸出配置。 (由NXP提供)
電機(jī)控制PWM定時(shí)器還包括多個(gè)中斷源,以便于通知處理器需要更高級(jí)別的電機(jī)控制功能。這些中斷以通道為基礎(chǔ)進(jìn)行組織,可以指示TC何時(shí)匹配匹配寄存器,TC何時(shí)匹配限制寄存器,當(dāng)通道捕獲TC的值到其捕獲寄存器時(shí)或中止輸入變?yōu)橛行r(shí)。 LPC17xx還具有多個(gè)支持外設(shè),可簡(jiǎn)化更高級(jí)別的控制功能,包括正交編碼器接口,附加PWM模塊,中斷定時(shí)器和看門狗定時(shí)器。各種各樣的專用定時(shí)功能表明了基于MCU的設(shè)計(jì)時(shí)序功能的重要性。
其他專用定時(shí)功能
在許多現(xiàn)代MCU上,定時(shí)和計(jì)數(shù)功能已成為隨著制造商針對(duì)特定應(yīng)用領(lǐng)域而日益專業(yè)例如,飛思卡爾Kinetis K10系列(例如MK10DN512ZVLQ10)具有各種具有專用功能的定時(shí)和計(jì)數(shù)外設(shè)。這些外設(shè)包括:可編程延遲模塊,用于控制ADC和DAC操作,使處理器無需管理這些低級(jí)過程;靈活的定時(shí)模塊,提供多個(gè)定時(shí),計(jì)數(shù),輸入捕獲和輸出通道,支持照明和電動(dòng)機(jī)的電源管理和控制;周期性中斷定時(shí)器,可以自主管理外設(shè)中斷和DMA傳輸;一個(gè)非常低功耗的定時(shí)器,即使在MCU處于最低功耗狀態(tài)時(shí)也可以工作,以提供簡(jiǎn)單的周期性“喚醒”事件;和一個(gè)實(shí)時(shí)時(shí)鐘,可以保持準(zhǔn)確的時(shí)間,甚至可以在MCU完全斷電時(shí)關(guān)閉電池,使其成為系統(tǒng)操作和壽命數(shù)據(jù)的便捷。
K10系列還提供專用時(shí)鐘和定時(shí)功能,專用于特定模塊,因此不會(huì)消耗其他時(shí)序資源。例如,用于創(chuàng)建各種信號(hào)編碼方案(例如紅外通信中使用的協(xié)議)的載波調(diào)制器發(fā)送器塊具有其自己的專用定時(shí)和計(jì)數(shù)功能,非常類似于脈沖寬度調(diào)制計(jì)數(shù)器,管理與頻移鍵控編碼方案相關(guān)的脈沖寬度的變化。隨著MCU變得更具應(yīng)用和市場(chǎng)細(xì)分,這種專用定時(shí)和計(jì)數(shù)功能的趨勢(shì)有望繼續(xù)。
開發(fā)套件加快了產(chǎn)品上市時(shí)間
隨著MCU變得更具應(yīng)用性,制造商正在創(chuàng)建更多面向應(yīng)用的開發(fā)套件和參考設(shè)計(jì)。電機(jī)控制應(yīng)用可能是特定應(yīng)用套件的最常見示例之一。僅舉一個(gè)例子,瑞薩提供了一個(gè)完整的電機(jī)控制開發(fā)套件,如圖4所示的YMCRPRX62T,它甚至包括一個(gè)示例電機(jī)。該套件包含您在多種電機(jī)控制設(shè)計(jì)中評(píng)估瑞薩RX62T MCU所需的所有軟件和示例設(shè)計(jì)。 PC托管的演示圖形用戶界面顯示電機(jī)速度,電壓和電流,同時(shí)允許用戶調(diào)整參數(shù)和算法,以直接查看各種結(jié)果,以幫助調(diào)整電機(jī)運(yùn)行,從而在特定設(shè)計(jì)中獲得最佳結(jié)果。許多其他制造商也擁有與瑞薩RX62T具有一些類似功能的電機(jī)控制評(píng)估套件。尋找最適合您的目標(biāo)應(yīng)用和開發(fā)環(huán)境的套件,以利用大量工作制造商“捆綁”來幫助您加速您的下一個(gè)電機(jī)控制設(shè)計(jì)。
圖4:用于RX62T MCU系列的瑞薩電機(jī)控制開發(fā)套件。 (由Renesas提供)