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 flag is set" problem on SDFM Interrupt register

Part Number: TIDA-00080
Other Parts Discussed in Thread: AMC1306EVM, C2000WARE, CDCE906, AMC1306M25

Good morning. 

I was wondering if I can get some advice about the problem I meet with. 

The final goal is to operate the TIDA-00080 reference design. 

First, I tried to investigate the performance with AMC1306EVM. 

I used the clock signal that I made from PWM in MCU(F280049). 

I also used the modified example code for the SDFM (C2000Ware_4_01_00_00\driverlib\f28004x\examples\sdfm\sdfm_ex1_filter_sync_cpuread.c)

In this case, I could see the clock signal, data signal, and filter results on CCS debug. 

Second, I have investigated the TIDA-00080 design. I got the PCB from the file, and most of the components were assembled(not including the FPGA part)

Also reconfigured the CDCE906 register and I could get the clock signal from there. 

At this moment, I could see the clock signal as an input of the AMC1306, and the Data signal as an output of the AMC1306 ic chip.

Here is the waveform that I get. 

The green pulse is the clock signal on pin 7(CLKIN on AMC1306M25), 10[MHz]

The blue pulse is the data signal on pin 6(DOUT on AMC1306M25)

In the summary, I can get the proper signal on the SDFM side. 

The problem is on the MCU side. I couldn't get the filter result on debug session. It is shown that the value of all 0. 

So I investigated the code and then I could get the flag on MF1 is set.

In the technical reference manual, it is said that "Modulator failures (MFx) are generated when SD-Cx goes missing." 

I checked the GPBDAT/GPIO49 which I assigned as a SD1_C1, and I could see the alternating value(0 to 1) in real-time. 

So I thought "the clock is not missing". But still, the MF1 bit is set and stuck at that(Line 329 on the code I attached) point. 

I could find the thread related to this problem on "e2e.ti.com/.../tms320f28379d-using-sdfm-with-amc1305-evm"

But the author of that thread used the PWM as a clock signal. But I have used an external signal so I couldn't follow the solution on that thread. 

In this case, what can I check for the proper interrupt of SDFM? 

I attached the code below for your information. I didn't use the GUI and Firmware for the TIDA-00080 cause I don't need that function. 

Thank you for your help. 

Regards.

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