SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By gkulik
#25557
Hello everybody,

Since couple of days I am trying to access internal registers of nRF24Z1 chip. Due to design constrains I was obligated to choose I2C access method, using SSDA and SSCL pins of the device, connected to LPC2148 uC. Device is hardwired as ATX (MODE = 1).

Main problem with I2C communication is random NACK-s received as a response from Z1 send after start sequence followed with device address and R/-W bit, independently if further communication was write or read register access.

I don't suspect my I2C routines problem, because there is only one device which behaves strange actually: on the same I2C bus there are AT24C16 as well as TLV320AIC23B codec connected. I can communicate with them without any problems.

To be more precise: SDA and SCL are pulled up with 10k to VDD, I2C bus speed is 100kHz (I was trying to spedd it up or slow down - no better results). I2C access routine have enough timeout (now it's over 1 second) to be sure that Z1 will have enough time to process internally.

On the same board there is also nRF24L01 device present: I had similar problems with it (registers were accesible over SPI, reading was possible, but there were problems during writing new values). Finally the criminal was MAX856 step-up power converter which generates a lot of noise on the VDD line. Now devices are supplied from USB connector, using LDO regulator.

Could anybody please provide his own feedback with this device configured over I2C bus? I was also looking on the example code avaliable on Nordic, but I have no encounter any special differences in accessing of nRF24Z1 internal registers.

Best regards,
Grzegorz