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.

TMS320F28379D: (controlCARD)

Part Number: TMS320F28379D
Other Parts Discussed in Thread: AMC1200, AMC1300, TINA-TI

Hello,

I have some problems sensing Analog signals using ADC modules. The problematic signal is in ADC-D channel 0. It is a 1.65V DC signal with line frequency AC waveshape combined generated by AMC1300BDWV. When I provide only DC instead of AC, the data is correct which I see from the programming computer. When Any AC signal is provided, the measured signal non-linear and not monotonic. Can you please help me with the problem?

Below are some additional info I think you may need to answer my question.

I am using ADC-A, ADC-B and ADC-D modules and sensing three different signals. All these modules have same clock division.

AdcaRegs.ADCCTL2.bit.PRESCALE = 6;
AdcbRegs.ADCCTL2.bit.PRESCALE = 6;
AdcdRegs.ADCCTL2.bit.PRESCALE = 6;

I am using only SOC0 of all three modules. All these SOC's have same acquisition window of 15 cycles. I also tested increasing it up to 70 cycles which did not help.

These SOCs are triggered from EPWM1's SOCA. EOC0 in ADC-A triggers the interrupt where I check the sensed values.

.AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1;

 AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 0;

  • Hi Ratul, I apologize but the subject matter expect assigned to this thread is unexpectedly out of the office.  I have reassigned to another expert and you should hear back tomorrow.  Sorry for the inconvenience. 

    In the meantime, just to clarity- are the signals being sampled by ADC-A and ADC-B of similar amplitude and frequency as that sampled by ADC-D?  Are you able to swap the signals between ADC-A or B with ADC-D to confirm the issue remains on ADC-D?  Have you tried to disable ADC-A and B and sample only ADC-D with the SOC triggered by the EPWM?

  • Hello Joe,

    I am building a PFC rectifier. The signal sensed at ADC-A is the input current which has similar amplitude and frequency if the system works. The signal sensed at ADC-B is the stepped down output voltage from AMC1200 which has similar DC magnitude but no AC component. As my system depends on sensing the input voltage properly, I am not sure if the signals at ADC-A and ADC-B are correct unless I can sense the input voltage properly.

    While testing all these ADCs, I provide DC voltage at the input and check the loop, sensed current and output voltage. And at that time the sensed current and output voltage is correct.

    But, even at DC, I see that that my loop bandwidth is limited probably because of the sensing issue, however, still it works. When provided AC input voltage, the regulated current has odd shapes and I can tell checking the input voltage that it is non-linear. And I even checked this separating from the converter board.

    Somehow, I could not generate interrupt from ADC-D EOC0. However. I swapped the input voltage signal to ADC-A channel 2 and sensed by SOC2 of ADC-A and then triggering the interrupt from EOC3. But, the problem was still there. I think it is not specific to ADC-D. 

  • Ratul,

    We can come back to the ADC-D trigger issue and focus on the quality of the conversion of the ADC-A for now since that appears to be the bigger issue.

    It looks like the AMC1300 requires some filtering/driving on its output before going into an ADC based on its DS and some recommendations to this application note

    Can you comment on, or post the schematic of how this is connected to the C2000? Since your comment on the AC type signal having issues and the DC component is clean, I'm leaning toward a filtering or drive mis-match in the circuit.

    We have an application note that we wrote to accompany this device

    There are links to the input model of the the 16-bit ADC that we can import into our TINA-TI tool.  It should be possible to import a model of the AMC as well to see if we can duplicate the behavior you are seeing.  That may be the simplest path to debug what you are seeing.  Essentially we can optimize in the simulator; if that doesn't show the same behavior in the real world then we can look at some of the support signals of the C2000 ADC to make sure those are good.

    Best,

    Matthew

  • Hello,

    I have some additional updates. Sorry I could not post it earlier. The sensed signals are linear, I plotted the measured values and it was clear from there. The reason I thought about non-linearity is that providing only a DC voltage and an DC with AC envelope has huge difference in terms of measurement result. Such as, if I tune the multiplication factor to result 50V by measuring measure 50VDC, it provides >100V output for the peak of a 50V peak AC.

    With this additional update, the loop BW of the PFC rectifier is suffering from some other issues outside of the micro-controller. And the sensed voltage is fine for controlling the current. However, it is still surprising to me why there can be so much difference between pure DC voltage measurement and a DC with AC envelope measurement.

    After AMC1300, I have an addition amplifier to make differential voltages to single ended voltage and a R-C filter just close to the ADC PIN. Changing or removing those things does not change this phenomena. This is happening in the micro-controller.

    I am not familiar with charge sharing driving concepts you mentioned with the app note. Let me go through this. Meanwhile, my current problem is not non-linearity any more. Measurement difference between AC and DC, it is. Please let me know if you have any comment on this.

  • Ratul,

    Would it be possible to post an image of the AC vs DC ADC outputs to highlight the issue you are seeing, or even the ADC results/values vs what you would expect them to be.  I think this will give me a clearer picture of what is going on, esp if the input signal quality is taken care of.

    I'd also like to check the register settings of the ADCs to make sure we're talking apple to apples, i.e. ADC configured in 12-bit or 16-bit mode,  ACQ_PS values as well as the CPU clock rate and the intermediary dividers prior to the ADC.

    Best,

    Matthew