From a valued customer, Frank Mancuso
Hello, I am having difficulty in communicating with the nRF24AP1 Synchronous serial interface.
The nRF2AP1 seems to be responding to the Host -> ANT transactions but it does not respond back. The nRF24AP1 generates a clock signal when I enable the SMSGRDY signal (SMSGRDY = 0) so this is why I assume the nRF24AP1 is functional.
By the way the timing diagram in the 'Interfacing with ANT General Purpose Chipsets and Modules' document D00000794 Rev 1.3 suggests that the /SMSGRDY signal should be active for the first byte (page 13, Figure 3-5: Host -> ANT Transaction (Software SRDY ) but this is not true. I have to keep this signal active for the entire message otherwise the nRF24AP1 will not generate the clock when I raise the /SMSGRDY signal.
Here is a description of the microprocessor firmware communications with the nRF24AP1
Powerup and message sequence
1. On powerup the microprocessor enables the /SRDY signal (/SRDY =0) waits 500uS and then enables SMSGRDY (/SMSGRDAY = 0).
2. Both signals are then deactivated (/SRDY and /SMSGRDY = 1)
Microprocessor sends Assign Channel Command (0xA5,0x03,0x42,0x00,0x10,0x00,0xF4)
3. microprocessor enables /SMSGRDY (/SMSGRDY = 0)
4. nRF24AP1 responds by enabling /SEN (/SEN = 0)
5. microprocessor generates a pulse on /SRDY (~ 500 uS active low pulse)
6. nRF24AP1 generates the clock signal and sends byte 0xA5 on nRF24AP1 DOUT signal indicating it is a Host -> ANT transaction
7. microprocessor proceeds to generate a pulse on /SRDY (500 uS active low pulse)
8. nRF24AP1 generates the clock signal for the microprocessor to send the data to the nRF24AP1 DIN pin
9. microprocessor sends the "Assign Channel Command" bytes above on the nRF24AP1 DIN pin
10. steps 7-9 are performed until all bytes are read by the nRF24AP1.
11. microprocessor raises the /SMSGRDY signal
PROBLEM
After the sequence above the nRF24AP1 never responds to the "Assign Channel Command". I never see it lower the /SEN line as indicated in the timing diagrams or generate the clock signal when the micro pulses the /SRDY line.
It appears the nRF24AP1 is communicating since it generates the clock signal however I can't get it to respond to commands. I am sending the data with LSB first as indicated in the documentation and I have checked this with an oscilloscope.
Please provide insight into this matter. More detailed information is appreciated including software examples. The D00000794 Rev 1.3 document is not very clear in describing the serial synchronous interface.
Thank you for your assistance.