2. 配置IIRFA(下)
2.2 操作方法
2.2.2 處理方法
根據(jù)IIRFA的配置,有三種執(zhí)行通道處理的方法。它們?cè)谕ǖ捞幚黹_始后從IIRCHnOUT寄存器讀取輸出數(shù)據(jù)的操作過程不同。從定義上來講,單數(shù)據(jù)處理是指對(duì)一個(gè)輸入值執(zhí)行通道處理,處理完成后不執(zhí)行其他通道處理。多數(shù)據(jù)處理則是指對(duì)多個(gè)輸入值連續(xù)執(zhí)行通道處理。
表3列出了每種方法的操作過程:
表3. 數(shù)據(jù)處理方法
方法1
方法1是不等待輸出數(shù)據(jù)準(zhǔn)備完成即可讀取輸出數(shù)據(jù)的過程。輪詢和中斷均禁用。一旦輸入值寫入IIRCHnINP寄存器,內(nèi)核執(zhí)行就會(huì)停止,直到在IIRFA處理結(jié)束時(shí)數(shù)據(jù)被寫入IIRCHnOUT寄存器。此方法在全部三種方法中速度最快,但它可能會(huì)在處理期間發(fā)生更高的全局中斷延遲。如果您的樣本處理是優(yōu)先級(jí)最高的任務(wù),則中斷延遲可以忽略不計(jì)。
圖4是采用方法1的通道處理操作過程流程圖示例。
圖4. 方法1操作過程流程圖
重要說明:
? 不需要進(jìn)行標(biāo)志確定處理,因此存儲(chǔ)器和時(shí)間開銷在所有方法中最小。
? 當(dāng)執(zhí)行對(duì)IIRCHnOUT寄存器的讀訪問時(shí),CPU將暫停,直到輸出數(shù)據(jù)準(zhǔn)備完成,這將使系統(tǒng)和PSBIU總線掛起。
? 注:在等待IIRCHnOUT時(shí),內(nèi)核不會(huì)處理任何中斷。對(duì)于單樣本處理,32級(jí)濾波器的最長(zhǎng)等待時(shí)間可以達(dá)到約64個(gè)ICLK周期,對(duì)于多樣本處理,可以達(dá)到224個(gè)ICLK周期(隨著使用的級(jí)數(shù)而線性遞減)。
方法2
方法2是設(shè)置數(shù)據(jù)準(zhǔn)備完成標(biāo)志后讀取輸出數(shù)據(jù)的過程。啟用輪詢并禁止IIR模塊上的中斷。一旦輸入值寫入IIRCHnINP寄存器,IIRFA驅(qū)動(dòng)程序?qū)⑤喸兺瓿蓸?biāo)志,這表明IIRCHnOUT寄存器中的數(shù)據(jù)可用。
下面給出了使用方法2進(jìn)行通道處理的操作過程流程圖示例:
圖5. 方法2操作過程流程圖
重要說明:
? 需要進(jìn)行標(biāo)志確定處理,因此開銷很大。
? 執(zhí)行對(duì)IIRCHnOUT寄存器的讀訪問時(shí),不會(huì)強(qiáng)制等待總線訪問。其他系統(tǒng)中斷可以在等待標(biāo)志置1的同時(shí)進(jìn)行處理。
方法3
方法3是在發(fā)生數(shù)據(jù)準(zhǔn)備完成中斷后讀取輸出數(shù)據(jù)的過程。禁用輪詢并使能中斷。一旦輸入值寫入IIRCHnINP寄存器,內(nèi)核就可以處理其他指令,直到數(shù)據(jù)準(zhǔn)備完成中斷發(fā)出IIRCHnOUT寄存器中的數(shù)據(jù)可用的信號(hào)。
圖6采用方法3的通道處理的操作過程流程圖示例。
圖6. 方法3操作過程流程圖
重要說明:
? 由于在接受中斷時(shí)處理,因此開銷很大。
? 執(zhí)行對(duì)IIRCHnOUT寄存器的讀訪問時(shí),不會(huì)強(qiáng)制等待總線訪問。
? 通道處理開始后,內(nèi)核可以執(zhí)行其他操作,直到發(fā)生輸出數(shù)據(jù)準(zhǔn)備完成中斷或通道處理完成中斷。
2.3 注意事項(xiàng)
2.3.1 最大程序提高性能
IIRFA的最佳配置取決于應(yīng)用程序,因此根據(jù)您的系統(tǒng)需求考慮可用設(shè)置和操作方法的影響非常重要。
每個(gè)濾波器級(jí)需要花費(fèi)2個(gè)ICLK周期來處理一個(gè)樣本,另外需要5個(gè)周期來將狀態(tài)值寫回寄存器。因此,單樣本操作每個(gè)級(jí)只需要2個(gè)周期,而多樣本操作則需要7個(gè)周期。加載和存儲(chǔ)每個(gè)樣本需要額外的開銷周期。
以下建議可能會(huì)提高性能:
? 使用函數(shù)R_IIRFA_Filter時(shí),選擇較大的數(shù)據(jù)塊大小。對(duì)于實(shí)時(shí)濾波,建議使用R_IIRFA_SingleFilter內(nèi)聯(lián)函數(shù)執(zhí)行單樣本處理。
注:函數(shù)R_IIRFA_SingleFilter沒有參數(shù)檢查,只處理一個(gè)樣本,并返回濾波后的樣本。此函數(shù)支持輪詢(如果已配置)。
? 如果您的濾波器僅使用1個(gè)雙二階級(jí),請(qǐng)啟用軟件展開循環(huán)深度設(shè)置并提供大小為展開深度倍數(shù)的數(shù)據(jù)。
? 使用少量級(jí)時(shí)禁用輪詢可顯著提高性能;但是,它可能會(huì)在處理過程中產(chǎn)生更高的全局中斷延遲。
? 在優(yōu)化IIRFA處理時(shí)間時(shí),應(yīng)避免使用方法3,因?yàn)樘幚碇袛嗨璧臅r(shí)間遠(yuǎn)大于濾波數(shù)據(jù)所需的時(shí)間。對(duì)于大型數(shù)據(jù)集,使用中斷幾乎可以使總處理時(shí)間加倍。
2.3.2 限制
下面匯總列出了設(shè)計(jì)應(yīng)用程序時(shí)要考慮的主要限制:
? 所有配置的通道共有32個(gè)級(jí)可用。
? 使用DTC或DMA時(shí)無法保證IIRFA正確操作,因此不受支持。
? 禁用輪詢時(shí),內(nèi)核執(zhí)行在等待數(shù)據(jù)可用時(shí)會(huì)停止。當(dāng)內(nèi)核執(zhí)行暫停時(shí),無法處理任何中斷。
審核編輯:劉清
-
寄存器
+關(guān)注
關(guān)注
31文章
5401瀏覽量
122808 -
加速器
+關(guān)注
關(guān)注
2文章
821瀏覽量
38791 -
中斷處理
+關(guān)注
關(guān)注
0文章
94瀏覽量
11171 -
IIR濾波器
+關(guān)注
關(guān)注
0文章
33瀏覽量
11623
原文標(biāo)題:RA6T2 IIR濾波器加速器應(yīng)用指南 [4] 配置IIRFA(下)
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [11] 配置RA6T2 ADC模塊 (8)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [11] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (8)](https://file1.elecfans.com/web2/M00/90/36/wKgaomTV4GWAZXBzAABvfHVzghw594.png)
請(qǐng)問21489的IIR加速器濾波參數(shù)設(shè)置應(yīng)該如何對(duì)應(yīng)起來?
21489的IIR加速器濾波參數(shù)設(shè)置如何對(duì)應(yīng)加速器的濾波參數(shù)?
IIR濾波器簡(jiǎn)介(上)
RA6T2 IIR濾波器的IIRFA模塊配置方法

RA6T2 IIR濾波器加速器應(yīng)用指南 [6] 濾波器設(shè)計(jì)方法(下)
![<b class='flag-5'>RA6T2</b> <b class='flag-5'>IIR</b><b class='flag-5'>濾波器</b><b class='flag-5'>加速器</b>應(yīng)用指南 [<b class='flag-5'>6</b>] <b class='flag-5'>濾波器</b>設(shè)計(jì)方法(下)](https://file1.elecfans.com/web2/M00/88/C5/wKgaomRx0duANztRAAADbu4X9Ec328.gif)
瑞薩MCU RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [4] 配置RA6T2 ADC模塊 (1)
![瑞薩MCU <b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [4] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (1)](https://file1.elecfans.com/web2/M00/8D/DA/wKgZomTA0P-ATvNiAAAhS9ol-Jc109.jpg)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [4] 配置RA6T2 ADC模塊 (1)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [4] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (1)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [5] 配置RA6T2 ADC模塊 (2)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [5] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (<b class='flag-5'>2</b>)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [6] 配置RA6T2 ADC模塊 (3)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [<b class='flag-5'>6</b>] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (3)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [7] 配置RA6T2 ADC模塊 (4)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [7] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (4)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [8] 配置RA6T2 ADC模塊 (5)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [8] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (5)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [9] 配置RA6T2 ADC模塊 (6)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [9] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (<b class='flag-5'>6</b>)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [10] 配置RA6T2 ADC模塊 (7)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [10] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (7)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [11] 配置RA6T2 ADC模塊 (8)
![<b class='flag-5'>RA6T2</b>的16位模數(shù)轉(zhuǎn)換<b class='flag-5'>器</b>操作 [11] <b class='flag-5'>配置</b><b class='flag-5'>RA6T2</b> ADC模塊 (8)](https://file1.elecfans.com/web2/M00/BB/1B/wKgZomWXtb6ACk_NAAARMuEl9ZA261.png)
評(píng)論