Hi,
I'm a beginner of TMS570, and developing on this platform now. On page1237 in PDF file "TMS570LS Series Microcontroller Technical Reference Manual (TRM), Literature Number: SPNU489, March 2010", there is this description:
Changing the duty cycle of a PWM, generated by a ECMP instruction, can lead to a missing pulse if the data
field of the instruction is updated directly. This can happen when it is changed from a high value to a lower
value, while the CNT instruction has already passed the new updated lower value. To avoid this a
synchronous duty cycle update can be performed with the use of an additional instruction (MOV32). This
instruction is only executed when the compare of the ECMP matches. For this the cond_addr of the ECMP
needs to point to the MOV32. On execution of the MOV32, it moves its data field into the data field of the
ECMP. The update of the duty cycle has to be made to the MOV32 data field instead of the ECMP data field.
I didn't understand :
why it will missing pulse if the data field of the instruction is updated directly?
Why it can be avoid using MOV32 instrution?
Could you please give more comments and use a example to demonstrate this. Thanks a lot.