ADSP-21489 IIR QUESTION

Hi, I have a question for IIR Accelerator.

my sw flow is (input- > IIR Filter (1) for 20channel -> any audio processing -> IIR Filter (2) for 10channel -> any audio processing -> output), 

in this case, how to operate accelerator?

My psuedo code is below(accelerator section), TCBs are chaining for 20channel and 10channel each other.(IIR Filter(1) : TCB_1[20][13], IIR Filter(1) : TCB_2[10][13])

TCB_1 and TCB_2 are not chaining.

what's the problem below code?

while(1)

{

// IIR Filter (1) for 20channel 

if(pcount==0)

{

Init_IIR();

pcount++;

}

else

{

*pIIRCTL1&=~(IIR_EN | IIR_DMAEN);

*pCPIIR = (int) TCB _1 + 12;

*pIIRCTL1 = IIR_CH20 | IIR_EN | IIR_DMAEN;

}

while(acc_over==0);

acc_over=0;

//any pocessing

/*

*/

// IIR Filter (2) for 10channel 

*pIIRCTL1&=~(IIR_EN | IIR_DMAEN);

*pCPIIR = (int) TCB _2 + 12;

*pIIRCTL1 = IIR_CH10 | IIR_EN | IIR_DMAEN;

while(acc_over==0);

acc_over=0;

Best Regards.

  • Hi,

    Apologies for delay in response. I understand that you wish to perform IIR filtering twice(1st for 20 channel and the next for 10 channels). Is this correct? I have reviewed your code snippet and everything seems fine. I would suggest you to disable the accelerator before switching over to the next one. BTW, are you facing any issues regarding this? Meanwhile, you can also have a look at the attached IIR example project.

    Hope this helps.

    Regards,
    Lalitha S

    IIR_Test_Dual_TCB.zip