Hello everyone,
I am using a TI C2000 controller together with an RT Box in external mode. The PWM signals generated by the controller are sent through the following path:
single_phase_pv_inverter_PI_c2000_2.plecs (237.2 KB)
PWM output → PWM Capture → Switch → Demux → S1 ~ S4
The inverter is configured as a full-bridge (H-bridge). However, shoot-through occurs only when the Switch block is included in the signal path.
From the gate signals, everything appears to be correct:
- S1 and S2 are complementary
- S2 = NOT S1
- S3 and S4 are complementary
- S4 = NOT S3
When I observe S1 to S4 individually, the waveforms appear correct and I do not see any obvious wiring issue.
However, once the Switch block is connected, shoot-through occurs in the full-bridge. If I remove the Switch block, the problem disappears.
This issue only occurs in external mode using RT Box and TI C2000.
Is there a recommended way to safely switch between gate signal paths in a full-bridge inverter without causing shoot-through in external mode?
Thank you.
Hi Seoyoung,
I am unable to reproduce the issue with the model you provided when running it as is. I am using the following software versions:
- RT Box TSP: v4.0.4
- PLECS: v5.0.3
- TI TSP: v2.3.2
I am seeing a maximum CPU utilization of 35%, with the average around 22%.
That said, I would recommend not connecting any signals between the PWM Capture block output and the Power Module inputs.
As noted in the documentation
( Running Simulations on the FPGA — RT Box Target Support Online Help ):
Power Modules must be connected directly to PWM capture blocks.
Additionally, one improvement you can make to your model is to use the Nanostep Full-Bridge Inverter component instead of the Power Module. This allows the specialized FPGA-based solver to handle the inductor current calculations, reducing the computational burden on the CPU. While your current CPU utilization already has significant margin, this approach gives you more headroom to add functionality later as the model complexity grows.
I would also recommend an alternative approach for implementing the turn-on functionality. This can be done on the controller side using the TI C2000 PWM module.
You have two options:
-
Use the PWM Enable port
In the PWM module, go to the Options tab and change the Enable port parameter from Hide to Show. This will expose an input port on the block, allowing you to send a control signal to enable or disable the PWM module.
-
Use the Powerstage Protection block
Since you are already using a Powerstage Protection block, you can also use it in a similar way to disable PWM outputs. However, please note the following from the documentation:
The effect that the Powerstage Protection block has on the individual PWM signals is not represented in an offline simulation and needs to be separately implemented by the user.
Please refer to the TI C2000 demo model “Dual-core Control of an On-Board Charger” for an example of how this can be configured.
Hope this helps.