LINUX.ORG.RU

nrf24l01 сбрасывает PWR_UP при отправке

 


0

1

У меня такая ситуация:

  • выставляю адрес отправки (регистр TX_ADDR 0x10): 0x05 0x04 0x03 0x02 0x01
  • сбрасываю биты TX_DS и MAX_RT в статусе (регистр STATUS 0x07)
  • выставляю конфиг (регистр CONFIG 0x00): 0b00001010 (PWR_UP = 1, бит PRIM_RX = 0)
  • проверяю конфиг (регистр CONFIG 0x00), он по-прежнему равен 0b00001010
  • дергаю CE на 10 uS
  • проверяю регистр CONFIG, а там PWR_UP сброшен в 0: 0b00001000

Такое поведение наблюдается один раз из 10, может 20 случаев на всех чипах кроме одного. Я ведь правильно понимаю, что это не нормально? Бракованные чипы? В документации ничего не могу найти по этому поводу.


Кратковременная просадка напряжения при передаче. Добавьте на линюю питания конденсатор на 100 нФ как можно ближе к микросхеме, и 1-10 мкФ в непосредственной близости. Если источник питания далеко, то не помешает 47-100 мкФ low esr электролит или тантал.

anonymous
()
Ответ на: комментарий от anonymous

схему собирал на макетке, поэтому провода питания длинные, конденсатор между питанием и землей для nrf24l01 уже был, но он был маленький, поставил еще один на 4.7 мкф (какой был в наличии) и описанная выше проблема полностью ушла

еще раз спасибо!

ft232r
() автор топика
Ответ на: комментарий от I-Love-Microsoft

так стоял же у меня кондер, просто поскольку собирал на макетке - видимо не хватило емкости

ft232r
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.