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.

[参考译文] TIDA-00080:"MF1标志被置位"SDFM 中断寄存器上的问题

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

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1127753/tida-00080-mf1-flag-is-set-problem-on-sdfm-interrupt-register

器件型号:TIDA-00080
主题中讨论的其他器件: AMC1306EVMC2000WARECDCE906AMC1306M25

早上好。  

我想知道我是否能获得一些关于我遇到的问题的建议。  

最终目标是运行 TIDA-00080参考设计。  

首先、我尝试使用 AMC1306EVM 研究了性能。  

我使用了我在 MCU (F280049)中从 PWM 生成的时钟信号。  

我还使用了 SDFM 的修改示例代码(C2000Ware_4_01_00_00\driverlib\f28004x\examples\sdfm\sdfm_ex1_filter_sync_cpuread.c)

在本例中、我可以在 CCS 调试中看到时钟信号、数据信号和滤波器结果。  

第二、我已经研究了 TIDA-00080设计。 我从文件中获取了 PCB、并且组装了大多数组件(不包括 FPGA 器件)

也重新配置了 CDCE906寄存器、我可以从那里获取时钟信号。  

此时、我可以看到时钟信号作为 AMC1306的输入、而数据信号作为 AMC1306 IC 芯片的输出。

这是我得到的波形。  

绿色脉冲是引脚7上的时钟信号(AMC1306M25上的 CLKIN)、10[MHz]

蓝色脉冲是引脚6上的数据信号(AMC1306M25上的 DOUT)

总之、我可以在 SDFM 侧获得正确的信号。  

问题出在 MCU 侧。 我无法在调试会话中获取滤波器结果。 显示了所有0的值。  

因此、我研究了代码、然后可以设置 MF1上的标志。

在技术参考手册中、有人说"当 SD-CX 丢失时会生成调制器故障(mfx)。"  

我检查了分配为 SD1_C1的 GPBDAT/GPIO49、我可以实时看到交替值(0到1)。  

因此我认为"时钟不会丢失"。 但仍然、MF1位被置位并停留在那个(我连接的代码上的第329行)点上。  

我可以在 e2e.ti.com/.../tms320f28379d-using-sdfm-with-amc1305-evm"上找到与此问题相关的主题

但该线程的作者使用 PWM 作为时钟信号。 但我使用了一个外部信号、因此我无法遵循该线程的解决方案。  

在这种情况下、我可以检查 SDFM 的正确中断是什么?  

我随附了以下代码以供您参考。 我没有使用 TIDA-00080的 GUI 和固件、因为我不需要该功能。  

感谢你的帮助。  

此致。

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//###########################################################################
//
// FILE: sdfm_ex1_filters.c
//
// TITLE: SDFM Filter sync CPU Example.
//
//! \addtogroup driver_example_list
//! <h1> SDFM Filter Sync CPU</h1>
//!
//! In this example, SDFM filter data is read by CPU in SDFM ISR routine. The
//! SDFM configuration is shown below:
//! - SDFM used in this example - SDFM1
//! - Input control mode selected - MODE0
//! - Comparator settings
//! - Sinc3 filter selected
//! - OSR = 32
//! - HLT = 0x7FFF (Higher threshold setting)
//! - LLT = 0x0000(Lower threshold setting)
//! - Data filter settings
//! - All the 4 filter modules enabled
//! - Sinc3 filter selected
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

     您好!

    configureSDFMPins 函数已定义、但未在程序中使用。 尝试 在 Interrupt_enable (INT_SD2)之后调用 configureSDFMPins 函数;并查看问题是否消失。

    此致、

    曼诺伊

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

    感谢您的解决方案。  

    问题得到了解决。