CC1312R7: PWM timer interval match reload strange behaviour

Part Number: CC1312R7
Other Parts Discussed in Thread: CC1312R

Tool/software:

Hi,

for my project based on CC1312R7, simplelink_cc13xx_cc26xx_sdk_6_30_01_03, TI_RTOS7 I need to implement sound generation (to drive a Siren) with a repeating pattern, The patern consist of 20 frequencies from 2.8kHz to 2kHz as sound start from 2.8kHz going down to 2kHz changing frequency every 5ms and after 2kHz start again from 2.8kHz. The duty cylse value must be the same for all the frequencies, that means to change the frequence both period/load and match values have to be changed.  

To implement this sound deneration I use PWM driver from the SDK with two modifications: 

1. After PWM_open() I have set TxMRA.TxILD bit (in other words set mode to GPT_TAMR_TAILD_TOUPDATE) in order interval to be updated only at timer timeout.

2. Increase PWM_PERIOD_FOR_GLITCH_PROTECTION value from 16 to 960 (arround 20us).

The issue is that almost every time when a new interval and match values are set from 2kHz to 2.8kHz frequency there is something wrong with PWM output it is shown on the images below (first sigmal shows when set load and match value functions are called and second is PWM output). Additionaly a full file from logic analyzer for more information ia added (could be opened with Saleae application). 

Siren_PWM_Perior_load_Issue2_Out&Period_Match_Load.zip

The question is there any known issues regarding PWM/GPTimer load and match value set/reload and if not what could cause this behavior? 

Also any ideas how this could be solved are welcome.

Regards.

Dimitar