I have two cc1100 transceiver boards which are separated by over 6 ft (to prevent receiver saturation). They are
identically configured using the SmartRFV7 easy setup link to communicate in the 900MHz ISM band at 250kbs,
MSK modulation, 542kHz receiver BW, 4byte preamble, 30/32 bit sync bytes (0xd3,0x91), CRC enabled, and
append status bytes enabled. Both boards are identically configured with the exception of GPIO functions.
The transmitter's GPIO2 is config. as 0x06 (high on sync sent and low on end of packet). The GPIO2 line looks
correct (high for the expected transmission time of a 20 byte payload (19 data bytes + 1 length byte) and a
transmission rate of 250kbs (not including the 8 preamble/sync bytes).
On the receiver side, GPIO2 is config. as either 0x06 (high on sync detected and low on end of packet) or 0x07
(high on good CRC detected). Neither line goes high when sending packets from the transmitter. If the GPIO2
function is changed to 0x0e (carrier sense -- high if RSSI is above threshold) it goes high during the entire packet
transmission from the beg. of the preamble to the last status byte as measured against the transmitter pulse.
Further, if the GPIO2 function is changed to 0x16 (RX_HARD DATA[1]), one can see the recovered data (with
random noise on either side of the packet transmission pulse) that corresponds exactly to the payload data
(visually superimposing a clock train to latch the bits on the data line).
I've tried varying the frequency offset register (FSCTRL0) on one board to account for minor variances in the
reovery and generation clocks without success. I have also varied the CS_Mode between 00 (no carrier sensing
used) to 0x11 (RSSI below threshold) -- also to no avail.
On a side note: the SmartRF recommended setting for reg. TEST0 of 0x09, disables the VCO calib. selection
stage and will hangup the autocalib. routine unless it's changed back to the reset default of 0x0b.
Is there something obvious that I'm missing?
Regards,
Fred