Hello,
I'm currently working on a project using the CC1125. I want to transmit short data packages (upto 50bit) without any preamble or snyc word. I want to utilize the FSTXON state to ensure the frequency synthesizer is settled and allow me to send the data at a percise moment.
The flow I follow is as follows:
- Startup
- Setup CC1125 Registers (frequency, symbol rate ... etc.)
- Calibrate manually (according to errata)
- Load Packet specific settings to CC1125 (txpower, length ...)
- Flush TX-Queue
- Fill TX-Queue with new data
- Goto State: FSTXON
- Wait until timer issues Interrupt
- Goto State: TX
- When Finished: Goto State: Idle (or PowerDown)
- Restart from step 4
As long as I reset the CC1125 after the succesful transmit (by going to Power-Down in step 10), the CC1125 does not transmit anything until the TX strobe is issued. But when I go to Idle in step 10, the chip immediatly starts transmitting (something, I can't say what exactly) once the FSTXON strobe is issued for the next packet
This does not occur with the first package, as the chip has been "reset" before starting the flow.
To illustrate, I attached a picture:
- On the rising blue edge, the Queue is filled and the FSTXON strobe is issued.
- On the falling blue ednge, the TX strobe is issued
- The time in FSTXON in the first package is longer because the delay is optimized over time, but it does not make a difference to adjust this manually, the first package always works
- All othe packages later look exactly as the second one
Things I tried so far without any success:
- Compare all registers, basic and extended, they are identical in the first and second package
- Go to RX or IDLE right after successful transmit
- Check FIFO-Flush
- Add TX-FIFO-Flush right after successful transmission
- Check states
- ...
Maybe someone ran into the same issue and can provide any help.
Thanks,
best regards,
Johannes