This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F280049:SDFM 模块

Guru**** 2024750 points
Other Parts Discussed in Thread: TMS320F280049C, TMS320F280049
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/895680/ccs-tms320f280049-sdfm-module

器件型号:TMS320F280049

工具/软件:Code Composer Studio

大家好!我正在为自己学习新的 TMS320F280049PMSR。 有3个问题:
配置工程时、应选择哪个变体:TMS320F280049、TMS320F280049C、TMS320F280049M?
2在配置 SDFM 模块的示例中、使用了以下中断:INT_SD FM 1和 INT_SDFM1DR1。 我在数据表中找不到有关此中断的任何说明。 假设转换完成时触发 INT_SDFM1DR1、并且在发生错误或触发比较器时触发 INK_SD FM 1、我是否正确?
3.在配置 SD FM 模块的示例中、显示了以下中断处理程序:

_interrupt void sdfmDR1ISR (void)
{
静态 uint16_t loopCounter1 = 0;

SDFM_setOutputDataFormat (SDFM1_base、SDFM_filter_1、
SDFM_DATA_FORMAT_16_BIT);

//
//读取 SDFM 标志寄存器(SDIFLG)
//
if (loopCounter1 >= MAX_SAples)
{
loopCounter1 = 0;
}

while ((HWREG (SDFM1_base + SDFM_O_SDIFLG)& 0xF000U)!= 0xF000U)
{
}

滤波器1 Result[loopCounter1]=
(int16_t)(SDFM_getFilterData (SDFM1_base、SDFM_filter_1)>> 16U);
filter2Result[loopCounter1]=
(int16_t)(SDFM_getFilterData (SDFM1_base、SDFM_filter_2)>> 16U);
滤波器3 Result[loopCounter1]=
(int16_t)(SDFM_getFilterData (SDFM1_base、SDFM_filter_3)>> 16U);
filter4Result[loopCounter1++]=
(int16_t)(SDFM_getFilterData (SDFM1_base、SDFM_filter_4)>> 16U);


//
//清除 SDFM 标志寄存器(SDIFLG)
//
SDFM_clearInterruptFlag (SDFM1_base、SDFM_MASTER_INTERRUPT_FLAG |
SDFM_FILTER_1_NEW _DATA_FLAG |
SDFM_FILTER_2_new_data_FLAG |
SDFM_FILTER_3_NEW _DATA_FLAG |
SDFM_FILTER_4_NEW _DATA_FLAG);

//
//确认此中断以接收来自组5的更多中断
//
interrupt_clearACKGroup (interrupt_ack_group5);
} 

如何使中断仅在滤波器4中的转换结束后工作?
(与 ADC 一样:SOIC 0 ->SOC1 ->SOC2->SOC 3->中断)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    弗拉基米尔

    [引述]1. 配置项目时、我应该选择哪个变体:TMS320F280049、TMS320F280049C、TMS320F280049M?[/QUERP]

    使用 TMS320F280049

    [引用] 2在配置 SDFM 模块的示例中、使用了以下中断:INT_SD FM 1和 INT_SDFM1DR1。 我在数据表中找不到有关此中断的任何说明。 假设转换完成时触发 INT_SDFM1DR1、并且在发生错误或触发比较器时触发 INK_SD FM 1、我是否正确? [/报价]

    17.7 SDFM 一章中的中断单元解释了这些中断。 INT_SDFM 实际上是 SDy_ERR 中断。

    [引用]如何使中断仅在滤波器4中的转换结束后才起作用? [/报价]

    假设所有4个滤波器的数据速率相同、所有4个滤波器通道处于同一相位(意味着所有4个滤波器通道同时获取新的滤波器数据)、则可以使用 INT_SDFM1DR4中断并禁用 INT_SDFM1DRx (1、2、3)中断源。

    此致、

    曼诺伊