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-01606: TIDA-01606 using F28379D LaunchPad

Part Number: TIDA-01606
Other Parts Discussed in Thread: C2000WARE, AMC1306M05, TMDSCNCD28379D

Hi Team, we need your inputs about this implementation.

1. Tried to multiply 2 variables of 16 bits (defined Uint16 in the code) and receiving the result to a 32 bit variable (defined Uint32 in the code). The result I received in the 32 bit variable was only the 16 LSB bits of the multiplication result.
How can I get the full 32 bits result to my 32 bit variable? Should I define the 2 16bits variables also as 32 bits?

2. In TIDA-01606 design I receive from amplifier AMC1306 a PWM signal in a constant frequency with changing duty cycle. I need to find the current duty cycle using F28379D LaunchPad. I wanted to use Capture port in order to do it (eCAP port), but I didn't find any information regarding it.
Can you give me an example of using Capture port to find PWM duty cycle?
A code example will be very helpful but any other information will help as well.

3. Read about sigma delta modulator, and I didn't understand it quite well.
As I understand it in TIDA-01606 I need to read the information from some amplifiers using sigma delta modulator.
Can you elaborate about it in more details? Can you explain me what is the use of it and which amplifiers should work with it?
Can you give me a code example of using it?

4. Do you have code files to implement for TIDA-01606

Thank you very much in advance.

Regards, 

Mark

  • Hi Mark,

    Please find my reply below.

    1. Just make sure you cast the variables properly (Uint32). The cast is required on one or both operands. You can also try to use IQMath if casting does not help. Please refer to this link below as well

    2.  You could this example in C2000 ware specified in the following location (C:\ti\c2000\C2000Ware_3_02_00_00\driverlib\f2837xd\examples\cpu1\ecap) which uses ecap1 to capture time between rising and falling edges.

    3. AMC1306M05 is the sigma delta modulator amplifier which is used for sensing current from a shunt resistor. The output bitsream from AMC1306 is directly connected to the sigma delta peripheral of C2000. The AMC1306 requires a clock signal and the data stream from the modulator does directly into C2000 sigma delta filter module. You can refer TIDA-01606 schematic for the implemntation.

    4. We have the code for TIDA-01606 and it can be downloaded from the link "TIDA-01606 Software" on ti.com/tool/TIDA-01606 home page.

    Thank you

  • Hi,

    Thanks for your response.

    Questions 1,2,4 are clear to me.

    I'm having a big problem with question number 3.

    I spent the a full day to understand what is SDFM and how to use it.

    I read at least 7 documents (about F28379 LaunchPad, F28379D ControlCard, TIDA 01606, AMC1306 and so on) and didn't understand what is SDFM or how to use it.

    I saw a few diagrams, at least 3 different codes (I spent a few hours trying understand sdfm_pwm_sync_cpu_cpu01 project).

    I went over some similar cases in E2E on your website.

    To sum up - I didn't understand anything regarding SDFM and how to work with it.

    I have 2 new questions.

    I'll appreciate if you answer the question with a written explanation and NOT by sending me to some documents or codes because I already spent a full day on it before I decided to write you once again.

    1) About sdfm_pwm_sync_cpu_cpu01 example -

    There are way to many configurations and arrays and defines in order to understand something.

    What is the purpose of this code?

    What pins should I use and what is their purpose?

    In which variables or register should I see the results? (Filter1_Result? Filter2_Result? Filter3_Result? Filter4_Result?)

    Should I make any changes before I run it?

    2) About implementation in TIDA-01606 -

    As far as I understand, AMC1306 receives the current from the circuit and output PWM with changing duty cycle.

    This PWM signal is the input for my SDFM unit in F28379D LaunchPad.

    My purpose is to receive this PWM and find out its duty cycle.

    How can I use SDFM in order to receive the duty cycle?

    How should I config it?

    What pins should I work with (as SD_C and SD_D)?

    Best Regards,

    Ilan.

  • Hi,

    I will try to answer your question from the point of view of TIDA-01606 operation only. 

    In the following location where you have installed Digital Power SDK

    C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_00_01_00\c2000ware\boards\controlCARDs\TMDSCNCD28379D\R1_3

    you will find the pin mapping details for 180 pin F28377D control card. Pins named SD-D1, SD-C1.....SD-D3, SD-C3 can be configured to receive sigma delta bitstream from AMC1306. In TIDA-01606 Pin 75, (GPIO-24/ eCAP) is configured to generate a 20Mhz clock. This clock needs to be routed to SD-C1 and AMC1306 CLK pin and data from AMC1306 to SD-D1 pin and this uses Manchester encoding which is configured in C2000.

    The configuration of SDFM module including the filter settings, OSR etc. are available in the code for TIDA-01606.

    The SDFM does averaging on the current signal and the result should be available as counts in the SDFM_getFilterData register.

    Interpretation of DAC Analog Voltage Output and SDFM Digital Output

    Here we see how to interpret the DAC output analog voltage and how to calculate the expected SDFM digital output. For example,

    • Analog output voltage of the DAC = 190mV

    • Input voltage range of the SDM = -250mV to 250mV

    • Ratio of input voltage to the max voltage range of SDM = (190-(-250))/500 = 440/500 = 0.88 or 88% The output pulse stream of 1s and 0s from SDM will contain 88% 1s.

    For the below SDFM configuration, the output data range is (-32,768 to 32,767).

    • SDFM data filter type = Sinc3

    • Data filter Over Sampling Ratio = 256

    • Data representation = 16-bit

    Since the input to SDFM contains a pulse stream with 88% 1s, the expected output (x) can be calculated as

    (x-(-32768))/(32768*2) = 0.88

    The expected SDFM output = 24,903 . One can expect an error of around 1% or less in the digital output due to variations at the DAC output due to operations at such low voltages and due to the connections used

    Thank you