0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RA6T2 IIR濾波器加速器應(yīng)用之配置IIRFA

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2023-05-08 17:51 ? 次閱讀

2. 配置IIRFA(下)

2.2 操作方法

2.2.2 處理方法

根據(jù)IIRFA的配置,有三種執(zhí)行通道處理的方法。它們在通道處理開始后從IIRCHnOUT寄存器讀取輸出數(shù)據(jù)的操作過程不同。從定義上來講,單數(shù)據(jù)處理是指對一個(gè)輸入值執(zhí)行通道處理,處理完成后不執(zhí)行其他通道處理。多數(shù)據(jù)處理則是指對多個(gè)輸入值連續(xù)執(zhí)行通道處理。

表3列出了每種方法的操作過程:

表3. 數(shù)據(jù)處理方法

e0cd0802-ed7e-11ed-90ce-dac502259ad0.jpg

方法1

方法1是不等待輸出數(shù)據(jù)準(zhǔn)備完成即可讀取輸出數(shù)據(jù)的過程。輪詢和中斷均禁用。一旦輸入值寫入IIRCHnINP寄存器,內(nèi)核執(zhí)行就會(huì)停止,直到在IIRFA處理結(jié)束時(shí)數(shù)據(jù)被寫入IIRCHnOUT寄存器。此方法在全部三種方法中速度最快,但它可能會(huì)在處理期間發(fā)生更高的全局中斷延遲。如果您的樣本處理是優(yōu)先級最高的任務(wù),則中斷延遲可以忽略不計(jì)。

圖4是采用方法1的通道處理操作過程流程圖示例。

e1353148-ed7e-11ed-90ce-dac502259ad0.jpg

圖4. 方法1操作過程流程圖

重要說明:

? 不需要進(jìn)行標(biāo)志確定處理,因此存儲(chǔ)器和時(shí)間開銷在所有方法中最小。

? 當(dāng)執(zhí)行對IIRCHnOUT寄存器的讀訪問時(shí),CPU將暫停,直到輸出數(shù)據(jù)準(zhǔn)備完成,這將使系統(tǒng)和PSBIU總線掛起。

? 注:在等待IIRCHnOUT時(shí),內(nèi)核不會(huì)處理任何中斷。對于單樣本處理,32級濾波器的最長等待時(shí)間可以達(dá)到約64個(gè)ICLK周期,對于多樣本處理,可以達(dá)到224個(gè)ICLK周期(隨著使用的級數(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)行通道處理的操作過程流程圖示例:

e15ae9ba-ed7e-11ed-90ce-dac502259ad0.jpg

圖5. 方法2操作過程流程圖

重要說明:

? 需要進(jìn)行標(biāo)志確定處理,因此開銷很大。

? 執(zhí)行對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的通道處理的操作過程流程圖示例。

e1760e66-ed7e-11ed-90ce-dac502259ad0.jpg

圖6. 方法3操作過程流程圖

重要說明:

? 由于在接受中斷時(shí)處理,因此開銷很大。

? 執(zhí)行對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è)濾波器級需要花費(fèi)2個(gè)ICLK周期來處理一個(gè)樣本,另外需要5個(gè)周期來將狀態(tài)值寫回寄存器。因此,單樣本操作每個(gè)級只需要2個(gè)周期,而多樣本操作則需要7個(gè)周期。加載和存儲(chǔ)每個(gè)樣本需要額外的開銷周期。

以下建議可能會(huì)提高性能:

? 使用函數(shù)R_IIRFA_Filter時(shí),選擇較大的數(shù)據(jù)塊大小。對于實(shí)時(shí)濾波,建議使用R_IIRFA_SingleFilter內(nèi)聯(lián)函數(shù)執(zhí)行單樣本處理。

注:函數(shù)R_IIRFA_SingleFilter沒有參數(shù)檢查,只處理一個(gè)樣本,并返回濾波后的樣本。此函數(shù)支持輪詢(如果已配置)。

? 如果您的濾波器僅使用1個(gè)雙二階級,請啟用軟件展開循環(huán)深度設(shè)置并提供大小為展開深度倍數(shù)的數(shù)據(jù)。

? 使用少量級時(shí)禁用輪詢可顯著提高性能;但是,它可能會(huì)在處理過程中產(chǎn)生更高的全局中斷延遲。

? 在優(yōu)化IIRFA處理時(shí)間時(shí),應(yīng)避免使用方法3,因?yàn)樘幚碇袛嗨璧臅r(shí)間遠(yuǎn)大于濾波數(shù)據(jù)所需的時(shí)間。對于大型數(shù)據(jù)集,使用中斷幾乎可以使總處理時(shí)間加倍。

2.3.2 限制

下面匯總列出了設(shè)計(jì)應(yīng)用程序時(shí)要考慮的主要限制:

? 所有配置的通道共有32個(gè)級可用。

? 使用DTC或DMA時(shí)無法保證IIRFA正確操作,因此不受支持。

? 禁用輪詢時(shí),內(nèi)核執(zhí)行在等待數(shù)據(jù)可用時(shí)會(huì)停止。當(dāng)內(nèi)核執(zhí)行暫停時(shí),無法處理任何中斷。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119211
  • 加速器
    +關(guān)注

    關(guān)注

    2

    文章

    785

    瀏覽量

    37154
  • 中斷處理
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    10933
  • IIR濾波器
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    11484

原文標(biāo)題:RA6T2 IIR濾波器加速器應(yīng)用指南 [4] 配置IIRFA(下)

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [11] 配置RA6T2 ADC模塊 (8)

    2?配置RA6T2 ADC模塊 2.2 以16位深度操作ADC 2.2.6 數(shù)字濾波器功能 數(shù)字濾波器功能是獲得高精度和高分辨率16位深度A
    的頭像 發(fā)表于 08-11 12:15 ?889次閱讀
    <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)

    請問21489的IIR加速器濾波參數(shù)設(shè)置應(yīng)該如何對應(yīng)起來?

    目前在用21489內(nèi)部的IIR加速器去做一個(gè)低通濾波器,在例程的基礎(chǔ)上修改參數(shù)。通過Matlab的FDAtool去設(shè)計(jì)參數(shù),但是設(shè)計(jì)出來的參數(shù)不知道如何對應(yīng)加速器
    發(fā)表于 11-09 09:40

    21489的IIR加速器濾波參數(shù)設(shè)置如何對應(yīng)加速器濾波參數(shù)?

    目前在用21489內(nèi)部的IIR加速器去做一個(gè)低通濾波器,在例程的基礎(chǔ)上修改參數(shù)。通過平板的fda 工具工具去設(shè)計(jì)參數(shù),但是設(shè)計(jì)出來的參數(shù)不知道如何對應(yīng)加速器
    發(fā)表于 11-30 08:11

    IIR濾波器簡介(上)

    本系列文章簡要介紹了數(shù)字濾波器及其設(shè)計(jì)注意事項(xiàng)。內(nèi)容涵蓋MCK-RA6T2IIR濾波器加速器 (IIR
    的頭像 發(fā)表于 05-04 10:53 ?2071次閱讀

    RA6T2 IIR濾波器IIRFA模塊配置方法

    本節(jié)介紹IIRFA模塊的用戶可配置設(shè)置。其中詳細(xì)說明了所有限制并討論了各種操作方法之間的差別,以指導(dǎo)您為您的應(yīng)用選擇最佳配置。
    的頭像 發(fā)表于 05-08 09:33 ?710次閱讀
    <b class='flag-5'>RA6T2</b> <b class='flag-5'>IIR</b><b class='flag-5'>濾波器</b>的<b class='flag-5'>IIRFA</b>模塊<b class='flag-5'>配置</b>方法

    RA6T2 IIR濾波器加速器應(yīng)用指南 [6] 濾波器設(shè)計(jì)方法(下)

    ,設(shè)計(jì)與IIRFA模塊(具有以100Hz為中心的通帶)兼容的帶通濾波器的過程。 打開MATLAB。在 Command Window (命令窗口)中鍵入命令filterbuilder,然后按 Enter
    的頭像 發(fā)表于 05-12 23:35 ?888次閱讀
    <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ì)方法(下)

    瑞薩MCU RA6T2的16位模數(shù)轉(zhuǎn)換操作 [4] 配置RA6T2 ADC模塊 (1)

    2?配置RA6T2 ADC模塊 RA6T2 MCU包含兩個(gè)噪聲整形SAR型A/D轉(zhuǎn)換單元,二者采用混合式架構(gòu),兼具SAR型和ΔΣ調(diào)制型的特
    的頭像 發(fā)表于 07-24 17:45 ?1.4w次閱讀
    瑞薩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)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [4] 配置RA6T2 ADC模塊 (1)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [4] 配置RA6T2 ADC模塊 (1)
    的頭像 發(fā)表于 03-29 08:05 ?224次閱讀
    <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)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [5] 配置RA6T2 ADC模塊 (2)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [5] 配置RA6T2 ADC模塊 (2)
    的頭像 發(fā)表于 04-04 08:05 ?235次閱讀
    <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>)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [6] 配置RA6T2 ADC模塊 (3)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [6] 配置RA6T2 ADC模塊 (3)
    的頭像 發(fā)表于 04-12 08:06 ?198次閱讀
    <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)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [7] 配置RA6T2 ADC模塊 (4)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [7] 配置RA6T2 ADC模塊 (4)
    的頭像 發(fā)表于 04-20 08:06 ?202次閱讀
    <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)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [8] 配置RA6T2 ADC模塊 (5)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [8] 配置RA6T2 ADC模塊 (5)
    的頭像 發(fā)表于 04-29 08:08 ?198次閱讀
    <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)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [9] 配置RA6T2 ADC模塊 (6)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [9] 配置RA6T2 ADC模塊 (6)
    的頭像 發(fā)表于 05-08 08:06 ?230次閱讀
    <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>)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [10] 配置RA6T2 ADC模塊 (7)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [10] 配置RA6T2 ADC模塊 (7)
    的頭像 發(fā)表于 05-15 08:06 ?201次閱讀
    <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)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [11] 配置RA6T2 ADC模塊 (8)

    RA6T2的16位模數(shù)轉(zhuǎn)換操作 [11] 配置RA6T2 ADC模塊 (8)
    的頭像 發(fā)表于 05-24 08:06 ?190次閱讀
    <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)