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.
工具/软件:Code Composer Studio
你(们)好。
我是第一次将 SDFM 与 AMC1024搭配使用。 我使用 ECAP 模块生成的 CLK 连接测试硬件:CLK 为20MHz 占空比50%。 ACM1024使用我可以在示波器上看到的位流来响应 DSP-CLK 激励。
我以这种方式配置了软件:
Sdfm_configurePins (); Sdfm_configureInputCtrl (SDFM2、filter1、MODE_0); Sdfm_configureInputCtrl (SDFM2、Filter2、mode_0); Sdfm_configureInputCtrl (SDFM2、FILTER3、MODE_0); Sdfm_configureInputCtrl (SDFM2、FILTER4、MODE_0); HLT = 0x7FFF;//过值阈值设置 LLT = 0x0000;//低于值阈值设置 //配置比较器模块的比较器滤波器类型和比较器的 OSR //值、更高的阈值、更低的阈值 Sdfm_configureComparator (SDFM2、filter1、SINC3、OSR_32、 HLT、LLT); Sdfm_configureComparator (SDFM2、Filter2、SINC3、OSR_32、 HLT、LLT); Sdfm_configureComparator (SDFM2、FILTER3、SINC3、OSR_32、 HLT、LLT); Sdfm_configureComparator (SDFM2、FILTER4、SINC3、OSR_32、 HLT、LLT); //启用主过滤器位:除非该位被置位,否则所有过滤器模块都没有 //可以启用。 当主滤波器时、所有滤波器模块都同步 在启用各个滤波器模块后、//位被启用。 所有滤波器 //模块在之前启用主过滤器位时异步 //启用单个过滤器模块。 Sdfm_enableMFE (SDFM2); //数据过滤器模块 // //配置数据过滤器模块过滤器类型、OSR 值和 //启用/禁用数据过滤器 Sdfm_configureData_filter (SDFM2、filter1、filter_enable、SINC3、 OSR_256、DATA_16_BIT、SHIFT_9_Bits); Sdfm_configureData_filter (SDFM2、Filter2、filter_enable、SINC3、 OSR_256、DATA_16_BIT、SHIFT_9_Bits); Sdfm_configureData_filter (SDFM2、FILTER3、FILTER_ENABLE、SINC3、 OSR_256、DATA_16_BIT、SHIFT_9_Bits); Sdfm_configureData_filter (SDFM2、FILTER4、FILTER_ENABLE、SINC3、 OSR_256、DATA_16_BIT、SHIFT_9_Bits); // Sdfm_configurePins -配置 SDFM GPIO // void Sdfm_configurePins (void) { GPIO_SetupPinOptions (26、GPIO_INPUT、GPIO_异 步); GPIO_SetupPinOptions (27、GPIO_INPUT、GPIO_异 步); GPIO_SetupPinMux (26、GPIO_MUX_CPU1、7); // DB - GPIO26 -> SD2-D2 PIN79板 GPIO_SetupPinMux (27、GPIO_MUX_CPU1、7); // DB - GPIO27 -> SD2-C2 PIN81-Board }
问题是:
1) 1)如果我在观察窗口中检查 SDDATA2寄存器、我可以看到 DATA32HI 字段发生变化、但 DATA16始终为0值。 在 Sdfm_configureData_filter 函数中有一个参数用于设置16b 二进制补码中的数据表示、那么为什么我要观察这种行为? 是否需要检查以应用软件更改并使应用程序正常工作?
2) 2)我对使用 TI 驱动程序/函数修改的 SDFM 寄存器执行一些检查:我报告一些寄存器的字段值、这些值在 TMR 汇总表中显示、因为我认为这一过程涉及到这些值。
2.1)在 SDCTLPARAM2寄存器中、我可以看到 MOD = 0、因为我发送了相同的 CLK AMC1024和 DSP;
2.2)在 SDDFPARAM2寄存器中、SST = 3、因为我想使用 Sinc3滤波器的结构->分辨率将为25b、因此需要9b 移位来恢复16b 数据。 FEN = 1、当我改变为0时、SSDATA2寄存器停止改变->这证明了滤波器接收到一个位流数据。 DOSR = 255、因此使用 Sinc3结构时、数据是25b 2的互补数据;此时、我有一个具体的问题:SDDATA2是否包含全部25b、或者它只是移动9个步长? 数据仅在 DATA32HI 中是否正常? 如果我更改 ADC 输入中的值、模拟值和数据之间显然存在线性度;
2.3)在 SDIPARAM2寄存器 SH = 9且 DR = 0中、因此数据将存储在16b 2的补码表示形式中、采用 Sinc3滤波器结构。 通过此设置、我如何在 SDDATA2寄存器中查看数据[如果我读取 TMR 页1532、则不能这样做]?
2.4) HLT 和 LLT 阈值将是一个次要问题、只有我确信 SDFM 运行良好;
最后,是否有人可以帮助我? 非常感谢。
迭戈