C2000 F280049C ADC Modules
13 views (last 30 days)
Show older comments
I am using the C2000, F280049C DSP board to build a 3-phase inverter with a closed loop voltage control.
I am therefore taking measurements of each of the 3 phase voltages.
The F280049C has 3 ADC modules (A, B, and C) with up to 16 channels each, and I am wondering what the best practice is for choosing ADC channels. Should I try to pick channels within the same module or is there any advantage to using separate modules. What are the drawbacks/benefits of doing it one way or the other?
I know that you can use the Start of Conversion (SOC) trigger to declare the priority of which channel is recorded first, but I need all channels to complete their recordings for each execution of the control loop, so the order is not verry important to me.
Thank you verry much for your time!
0 Comments
Answers (1)
Shivam Gothi
on 22 Oct 2024
Hello @Lars
As per my understanding, you are trying to control a 3-phase inverter using “TMS320F280049” microcontroller and want to sample three phase voltage waveforms for closed loop control.
The “TMS320F280049c” microcontroller has 3 ADC modules. They are: “ADCa”, “ADCb” and “ADCc”. Each ADC module has 16 SOCs (Start Of Sequence) which trigger the start of conversion of an analog signal applied on a particular pin. Further, you can individually control the trigger source of each SOC and also the “channel” corresponding to it. (Here,”channel” refers to any of the ADC pins available on the microcontroller. Example: “ADCINA4”)
Refer to the technical reference manual of “TMS320F28004c” by Texas Instruments for a more detailed explanation:
You can configure the “ADCs” in many ways as given in the above Technical Reference manual, but I am summarising two of them, which might prove useful for your case.
1) Basic Synchronous Operation:
In this operation, three SOCs, each on “ADCa”, “ADCb” and “ADCc” are configured for same trigger source and “ACQPS” (Acquisition period) value. Whenever the trigger is recieved, all the three ADCs will simultaneously sample. In this way, all the ADC modules works in synchronism. You can select the trigger source as “CPU timer” interrupt or “SOC signal” generated by any of the “ePWM” module. As an example, you can assign the "SOC0" to "ADCINA1", "ADCINB1" and "ADCINC1" and configure the trigger signal for "SOC0" to be one of the ePWM sources.
2) Using only one ADC module:
Here, only one ADC module is used to sample all the analog signals. As an example, consider that you want to sample phase voltages ”Va”, “Vb” and “Vc”. Let the ADC pins measuring these signals be: “ADCINA1”, “ADCINA2” and “ADCINA3” and let us select their start of conversion (SOC) as “SOC0”, “SOC1” and “SOC2” respectively. In this case, all the “SOCs” should have the same trigger source. Here, in your case, the most suitable trigger source will be the instance when any of the “ePWM” counter resets to its “zero” count in every period.
Conclusions:
If you're dealing with a fast control loop that demands a minimal sampling time period, it's advisable to choose the first approach. This method will simultaneously convert the three-phase voltage present on the pins "ADCINA1," "ADCINA2," and "ADCINA3," and then store the results in the respective "ADCRESULTS" registers. This method can sample all the voltages in less number of clock cycles.
If your control loop does not require a small time step and you can tolerate the delay from sampling the three-phase signals consecutively, the first method is a suitable choice. Its primary advantage over other methods is its simplicity and ease of understanding.
To summarise the things from the Technical Reference Manual,
Which ever method you chose, it is advisable to operate all the ADC modules synchronously. To make sure synchronous operation, all ADCs on the device must operate in lockstep. This is accomplished by writing configurations to all ADCs that cause the sampling and conversion phases of all ADCs to be exactly aligned. The easiest way to accomplish this is to write identical values to the SOC configurations for each ADC for trigger select and “ACQPS”.
I hope it helps !
0 Comments
See Also
Categories
Find more on RF Blockset Models for Transceivers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!