I’ve been having a problem on a board of mine where the nRF seems to reset whenever CE is pulled low; because of that, I haven’t been able to use it to transmit. Here’s what I’ve been doing to test:
Initialize the nRF, with the CE pin high, and dump the register values to the serial port. All register values match what they were set to.
If I then pull the CE pin low and dump the register values, the registers are now back to their default values.
If I re-initialize all the registers with CE still low, it works as it should (they keep the values I put in them), but if I pull CE up and then back down, the registers all have their default values again.
It can receive just fine (with CE kept high). At first I thought it might be something like a solder bridge between CE and something else, but I assembled a second board and it’s having exactly the same problem. Does anyone have any idea of what might be causing this problem? I really don’t understand what could be causing the nRF to reset, but only when CE transitions from high to low.
If the device is resetting when CE goes high, there is a very high likelyhood that CE is shorted to ground (or some other ground-level signal). You should probably start by checking for continuity between CE and all the other signals on your board (particularly GND) with a multimeter.
I thought at first that it was probably a short, but I have doubts now… first of all, I didn’t find any when I probed with a multimeter. But in addition to that, the reset only happens when CE transitions from high to low; when it’s kept high or kept low, everything is fine. And I also measured the current the board draws; when CE is high it draws only about 7mA more than when CE is low (which is about what I’d expect if there’s not a short, since when CE is high the nRF is in receive mode rather than standby, and a lot less than I’d expect if it were shorted). So I’m really baffled! I appreciate your reply, though; it did remind me to check everything more carefully for a short!
If you have access to an oscilloscope, you might try probing the CE signal and VCC as close to the 24L01 as possible (also get ground as close in as you can). Watch for the high-to-low transition on CE and observe what is happening at VCC. That would probably rule out either a short or a power supply issue. I’m not really sure what else to do other than that. You might also try probing the IREF pin, as it can act as a reset under certain conditions, IIRC.
mrwright, are you using a generic NRF modules ? I mean those found on ebay for almost no money ?
I am fighting with two of those ( from ebay ) and I have errors if I switch to RX to TX mode with CE transition - sounds like your problem, but in TX when CE toggles, there is no problem, the devices are communicating.
Anyways, just curious what kind of modules you’re using… since those I have are quite “interesting” to work with ( in the negative form of interesting )…
Since brennen has a lot of knowledge of those NRF chips, I will give a try in my case with an oscilloscope, hope it helps…
lamerx: these are boards I did myself (so some sort of hardware/soldering problem is quite likely; I was just wondering if my specific symptoms rang a bell for anyone so I could narrow down where it was! It seems like a slightly different problem from yours, though…). And no worries; it’s not spamming if it’s relevant, which your post certainly was!
brennen: I’ll try doing that. Thanks for the advice!