ZHCADU5 February 2024 MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1
该子系统演示了如何使用 MSPM0G 系列器件中的内部 ADC 和数学加速器 (MATHACL) 模块对模拟信号实施简单的流式 IIR 滤波器。在此配置中,使用单极 IIR 滤波器对模拟信号上的噪声进行滤波。可以调整定义的 β 值以控制 IIR 滤波器随频率的衰减。
该应用需要一个集成式 ADC、MathACL 和 DAC12 模块。
子块功能 | 外设使用 | 注释 |
---|---|---|
模拟信号捕获 | 1 个 ADC | 在代码中显示为 ADC12_0_INST |
IIR 滤波器 | 1 个 MathACL | 在代码中显示为 MATHACL |
模拟信号输出(可选) | 1 个 DAC12 | 在代码中显示为 DAC12_0_INST |
volatile bool gCheckADC;
/* Filtered Result */
uint32_t gResult = 0;
/* ADC Value Output */
uint32_t gADCResult = 0;
/* Scaling Factor, Q8 value (0-255) */
uint32_t gBeta = 16;
const DL_MathACL_operationConfig gMpyConfig = {
.opType = DL_MATHACL_OP_TYPE_MAC,
.opSign = DL_MATHACL_OPSIGN_SIGNED,
.iterations = 0,
.scaleFactor = 0,
.qType = DL_MATHACL_Q_TYPE_Q8};
int main(void)
{
SYSCFG_DL_init();
NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN);
gCheckADC = false;
DL_ADC12_startConversion(ADC12_0_INST);
/* Configure MathACL for Multiply and Accumulate */
DL_MathACL_configOperation(MATHACL, &gMpyConfig, 0, 0 );
DL_MathACL_enableSaturation(MATHACL);
while (1) {
while (false == gCheckADC) {
__WFE();
}
gCheckADC = false;
/* Calculate IIR Filter Output */
gADCResult = DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);
/* Set Operand One last */
DL_MathACL_setOperandTwo(MATHACL, gADCResult - gResult);
DL_MathACL_setOperandOne(MATHACL, gBeta);
DL_MathACL_waitForOperation(MATHACL);
gResult = DL_MathACL_getResultOne(MATHACL);
DL_DAC12_output12(DAC0, gResult);
}
}
/* Set the ADC Result flag to trigger our main loop to process the new data */
void ADC12_0_INST_IRQHandler(void)
{
switch (DL_ADC12_getPendingInterrupt(ADC12_0_INST)) {
case DL_ADC12_IIDX_MEM0_RESULT_LOADED:
gCheckADC = true;
break;
default:
break;
}
}
请访问 TI 的 E2E 支持论坛,查看讨论并发布新主题,以获得在设计中使用 MSPM0 器件的技术支持。
TI 均以“原样”提供技术性及可靠性数据(包括数据表)、设计资源(包括参考设计)、应用或其他设计建议、网络工具、安全信息和其他资源,不保证其中不含任何瑕疵,且不做任何明示或暗示的担保,包括但不限于对适销性、适合某特定用途或不侵犯任何第三方知识产权的暗示担保。
所述资源可供专业开发人员应用TI 产品进行设计使用。您将对以下行为独自承担全部责任:(1) 针对您的应用选择合适的TI 产品;(2) 设计、验证并测试您的应用;(3) 确保您的应用满足相应标准以及任何其他安全、安保或其他要求。所述资源如有变更,恕不另行通知。TI 对您使用所述资源的授权仅限于开发资源所涉及TI 产品的相关应用。除此之外不得复制或展示所述资源,也不提供其它TI或任何第三方的知识产权授权许可。如因使用所述资源而产生任何索赔、赔偿、成本、损失及债务等,TI对此概不负责,并且您须赔偿由此对TI 及其代表造成的损害。
TI 所提供产品均受TI 的销售条款 (http://www.ti.com.cn/zh-cn/legal/termsofsale.html) 以及ti.com.cn上或随附TI产品提供的其他可适用条款的约束。TI提供所述资源并不扩展或以其他方式更改TI 针对TI 产品所发布的可适用的担保范围或担保免责声明。IMPORTANT NOTICE
邮寄地址:上海市浦东新区世纪大道 1568 号中建大厦 32 楼,邮政编码:200122
Copyright © 2024 德州仪器半导体技术(上海)有限公司