?
ADC時(shí)序考慮因素
以PWM周期同步采樣事件對于精確電流反饋而言非常重要。ADCC采用PWM周期工作的概念時(shí)序如圖6所示。下列事件序列由PWM SYNC脈沖觸發(fā)。
1. PWM sync脈沖觸發(fā)定時(shí)器,以便啟動。
2. ADCC不斷將事件信息中的采樣時(shí)間與定時(shí)器時(shí)間比較。
3. 完成定時(shí)器匹配,ADCC計(jì)劃ADC操作。
4. ADC變?yōu)榭捎煤?,ADCC便使用事件信息選擇適當(dāng)?shù)耐ǖ馈?/p>
5. ADCC觸發(fā)ADC轉(zhuǎn)換序列,ADC采樣并轉(zhuǎn)換數(shù)據(jù)。
6. 數(shù)據(jù)回流至ADCC。
7. ADCC將數(shù)據(jù)通過DMA傳輸至存儲器位置(LSB優(yōu)先)。
8. 產(chǎn)生中斷(IRQ),提醒CPU數(shù)據(jù)樣本可用。
圖6. ADCC操作序列
ADCC事件時(shí)序
控制器管理最多24個(gè)采樣事件的配置和時(shí)序。這些事件的時(shí)序受觸發(fā)限制,該觸發(fā)會啟動兩個(gè)定時(shí)器(TMR0或TMR1)中的其中一個(gè),并在定時(shí)器啟動后啟動一個(gè)事件時(shí)間。
如圖7所示,觸發(fā)源可從一系列外設(shè)或處理器事件中選取,如PWM SYNC脈沖、定時(shí)器或I/O引腳中斷。每次事件都與一個(gè)事件號碼(以Event x表示)、一個(gè)事件時(shí)間(以TIMEx表示)、控制信息(以CTLx表示)及其結(jié)果數(shù)據(jù)相關(guān)聯(lián)。事件控制信息(圖7中以CTLx表示)包含每個(gè)采樣事件的信息,如ADC接口和通道號、所用的ADC定時(shí)器、同步采樣選擇,以及相關(guān)事件ADC數(shù)據(jù)的存儲器失調(diào)。ADCC使用該信息對正確的ADC通道(CHx)進(jìn)行多路復(fù)用處理、初始化ADC轉(zhuǎn)換(CVST0/CVST1信號)并將正確的數(shù)據(jù)傳輸至適當(dāng)?shù)氖录?shù)據(jù)寄存器中。
然后,可設(shè)置DMA傳輸,將每次事件的ADC數(shù)據(jù)移入SRAM中。完成所有事件和后續(xù)DMA傳輸之后,便產(chǎn)生一個(gè)中斷,通知主應(yīng)用代碼新ADC數(shù)據(jù)可用。
圖7. ADCC模塊功能框圖
例如,圖8顯示與ADC定時(shí)器0有關(guān)的3個(gè)采樣事件。PWM sync脈沖觸發(fā)定時(shí)器,事件時(shí)間與每一次事件相關(guān)聯(lián)。
事件0和事件1是同步采樣事件,事件時(shí)間寄存器中的事件時(shí)間置零。事件2稍后發(fā)生,并同樣由事件2時(shí)間寄存器確定,表示為ADC時(shí)鐘周期(tACLK)的倍數(shù)。若事件2是與定時(shí)器0關(guān)聯(lián)的最終事件,則定時(shí)器將在事件處理完成后停止運(yùn)行,以降低功耗。
圖8. 事件時(shí)序
ADC操作時(shí)序
ADCC控制器觸發(fā)采樣事件后,ADC操作本身具有一個(gè)轉(zhuǎn)換時(shí)間延遲。圖9顯示單次ADC事件與每個(gè)ADC接口相關(guān)聯(lián),且使能兩次事件同步采樣的情況。
有三個(gè)獨(dú)立的轉(zhuǎn)換周期與ADC操作有關(guān)。
1. 寫入8位控制字,選擇ADC讀取通道(ADCC_EVTCTL.CTLWD)。
2. 置位轉(zhuǎn)換脈沖,使能ADC采樣和轉(zhuǎn)換。
3. 讓16位ADC數(shù)據(jù)回流至ADCC。
ADCC提供這3個(gè)事件相位的片選和選通時(shí)鐘信號。ADCC與ADC的接口為串行接口,采用雙通道位操作。因此,每個(gè)CS脈沖期間提供的最小時(shí)鐘周期數(shù)(ADCC時(shí)序控制寄存器的NCK段)為8。其他重要的設(shè)置有:ADC時(shí)鐘頻率、轉(zhuǎn)換周期片選信號之間的最小延遲(tCSCS)(ACLK周期內(nèi)),以及CS邊沿和ACLK邊沿之間的最小延遲(tCSCK和tCKCS)。因此,單個(gè)同步采樣信號對的ADC轉(zhuǎn)換周期時(shí)間tCONV_ADC可表示為:
其中,fACLK表示ADCC時(shí)鐘頻率。
ADCC時(shí)鐘由處理器系統(tǒng)時(shí)鐘(fSYSCLK)通過ACKDIV分頻(在時(shí)序控制寄存器ADCC_TCA中)在內(nèi)部產(chǎn)生,計(jì)算如下:
其結(jié)果是系統(tǒng)時(shí)鐘來源于處理器內(nèi)核時(shí)鐘(fCORECLK)。當(dāng)fCORECLK為fSYSCLK的整數(shù)倍時(shí),獲得最佳系統(tǒng)性能。完成ADC轉(zhuǎn)換后,額外延遲是因?yàn)锳DC數(shù)據(jù)通過DMA傳輸至數(shù)據(jù)存儲器,并最終由中斷請求服務(wù)將數(shù)據(jù)幀準(zhǔn)備就緒,供主應(yīng)用程序使用。因此,在應(yīng)用中,從觸發(fā)(例如,PWM SYNC脈沖)到數(shù)據(jù)可用的總時(shí)間為:
tCONV_TOTAL = tCONV_ADC + tDMA + tIRQ
其中:
tDMA是DMA傳輸?shù)钠骄鶗r(shí)間。
tIRQ是中斷請求服務(wù)的平均時(shí)間。
圖9. 單次事件同步采樣的轉(zhuǎn)換時(shí)間
典型時(shí)序設(shè)置見表2。表中還列出了對時(shí)序的一些約束條件。獲得正確ADC性能的絕對約束條件是,允許的ADC采樣和轉(zhuǎn)換周期(tCONV_ADC/3)必須至少為380 ns。單個(gè)同步采樣事件的時(shí)序結(jié)果如圖10所示,該結(jié)果與電機(jī)繞組電流的采樣有關(guān)(注意,該圖為了突出示例而略為夸大)。
圖10. 采樣延遲時(shí)間
評論