Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

CC430 - Single byte read of a radio register does not work

$
0
0

We're working on the CC430F5137 and we came across a problem with the single byte reading.

Here's a detailed descriptions one of our developers wrote:

Abstract

Single byte read of a radio register does not work.

Description

When trying to perform a single byte read from a radio register using RF1A library ReadSingleReg() implementation, the radio interface data out interrupt flag (RFDOUTIFG) in RF1AIFCTL1 register sometimes fail to set. When the RFDOUTIFG flag fail to set it will cause the internal while statement to loop forever hence stalling the application.

Scenario

The radio is configured to MCSM1 = 0x0F. The firmware application transmits and receives messages to/from clients over the air. When trying to read current RSSI value from the radio RSSI status register, while clients transmit to the application, then there is a good chance that after a finite number of iteration the read operation won't work. If no client traffic exists (no message to be received by the application radio) then the operation would work.

Conclusion

We suspect that pooling the radio interface (reading RF1AIFCTL1 register in a loop) while in RX mode and simultaneously receiving an incoming message accounts for this failure. It may be related specifically to RSSI register or to its internal update mechanism.

Work around

We are looking for a work around and also considering the following:

  1. Limiting the number of iterations that ReadSingleReg() while statement would perform.
  2. Checking error flags.

Viewing all articles
Browse latest Browse all 262198

Trending Articles