HAL FACC模块提供8bit/16bit的卷积,FIR和IIR滤波的硬件加速。其中FIR和卷积还添加了对CMSIS-DSP的支持。
- Note
- 55x不支持本模块, 58x 在HCPU/LCPU各有一个FACC模块, 56x 仅在HCPU里面提供一个FACC模块。
详细的API说明参考 FACC
使用HAL FACC
uint32_t dsp_conv_conv_param = 0x200;
param->last_sel = 1;
HAL_FACC_SetCoeff(&hfacc, dsp_conv_conv_coef_b, (uint16_t)
sizeof(dsp_conv_conv_coef_b), NULL, 0, 0);
HAL_FACC_Start(&hfacc, dsp_conv_conv_input, facc_out,
sizeof(dsp_conv_conv_input));
uint32_t fir_fir_param = 0x0;
HAL_FACC_SetCoeff(&hfacc, fir_fir_coef_b, (uint16_t)
sizeof(fir_fir_coef_b), NULL, 0, 0);
NVIC_EnableIRQ(FACC1_IRQn);
...
uint32_t iir_iir_param = 0x42;
HAL_FACC_SetCoeff(&hfacc, iir_iir_coef_b, (uint16_t)
sizeof(iir_iir_coef_b), iir_iir_coef_a, (uint16_t)
sizeof(iir_iir_coef_a), 0);
HAL_FACC_Start(&hfacc, iir_iir_input, facc_out,
sizeof(iir_iir_input));