2015-06-11 01:10 PM
Hi Gaetano,
I'm currently working with the SPIRIT1 on a my own board. An external clock signal is used on XIN coming from my MCU (STM32F4) at 26 MHz. And the central frequency is set to 868.3 MHz. Sometimes, I get an error after a StrobeRX command. In this case, I read the status in order to understand what is going on.Here's what
I get
: MC_STATE: 0x28 XO_ON: 0x0 ERROR_LOCK: 0x1 I checked the external clock: it's ON and stable. Could you explain the meaning of this status ? Thanks in advance. Christopher #lock #state #xo #spirit12015-06-11 11:47 PM
Hello,
The MC_STATE is a register of 2 bytes. If as MC_STATE You mean the bitfield STATE, then 0x28 is not a possible value, most probably You have read the value during a bit changing.XO_ON means that You are operating without XO, while ERROR_LOCK refers to a bad calibration of the RCO oscillator (used for auto wake up during LDC operation or CSMA). The problem is clearly the XO_ON (if the value read is correct). When You write ''sometimes'' do You mean that sometimes the radio goes in RX state and sometimes not? Because in that case seems to be a hardware problem, maybe a soldering issue in the board. I guess, You are not using our reference board, is it?Do You have tried doing a TX operation? Similar issue?To be sure, may You show me the registers setting (only the registers changed) before RX operation? Thank You,S2015-06-15 11:59 PM
Hello,
Thank you for your fast answer to my message. I checked all the hardware and I found nothing. Finally, as you implicitly suggested, I decided to check if the value read was really correct. And I found that, in some sporadic cases, the SPI commands failed because the chip select goes high before the end of transmission due to my SPI driver implementation. It works now ! Thank you for your help. Christopher