Electronics > Beginners

CC1101 RF Transceiver Chip Issue

(1/5) > >>

Mechatrommer:
I bought several RF boards from ebay which is RF Transceiver Module. http://cgi.ebay.com.my/433MHz-RF-Transceiver-CC1101-Module-Antenna-/110498332778?cmd=ViewItem&pt=LH_DefaultDomain_0&hash=item19ba36c06a.

After weeks of coding i managed to transmit some binary/wave out of it. Using the same register setting in Receiver as the Transmitter, i think there should be no problem receiving the data by another RF module (same board), but... NO. i'm not receiving anything. some interrupt pin should go high when there is data, but it wouldnt do that, while data is transmitted from the next board.

So here i seek help from people who are familiar with RF system if there is/are issue i'm missing out. I saw alot of RF jargons in the CC1101 datasheet that disturb my brain so badly... such as  balun, synchronizer, RSSI, CCA, FEC etc. But i dont think i'll need the detail description on all those jargon. The only thing that i want to know... What is more likely goes wrong in my code/register setting? Is there any Frequency mismatch issue? timing or whatever? i dont know!

FYI: The RF Chip is using the same analog circuit (L and C) (balun?) to transmit and receive (Johanson Technology? i dont know, another jargon), so 2 same boards should have no hardware issue right? they should compatible and communicate as transmitter and receiver. And i'm interfacing the RF Module with pic16f690.

Any idea?
pls help.
thanx

TheDirty:
When I was going through RF transceivers I tested the CC2500, but I used TI's SimpliciTI stack.  Like you've found out, these are not simple transceivers.  They're meant for more advanced mesh networks.  If you want a nice RF transceiver that's much more simple to use, you should try out the HopeRF RFM12B's.

Nobody can help you since you didn't post your initial register setup for the CC1101.  Even then, I doubt I can help.

Try TI's SmartRF Studio.
http://focus.ti.com/docs/toolsw/folders/print/smartrftm-studio.html

mikeselectricstuff:
I recently did a project with the CC2500 - one thing that caused some confusion is the config data generated by the TI software puts some not-very-sensible default values in some of the registers - not the frequency/channel/datarate   stuff, but the operating modes, fifo config etc. - I don't recall the details, but check all the register settings very carefully against the datasheet.

They work fine as simple transceivers, although they also have some extra bells & whistles, and things get somewhat more complicated if you want to send packets longer than the fifo depth.
One thing that impressed me was the tx output power was completely constant down to a battery voltage of about 2.2v

Mechatrommer:
@mike.
i'm currently in early phase where i want to make the RF comm working properly. i only want to send a single byte. and i dont even bother about the data yet. even the receiver cannot detect any incoming preamble and synch word. (interupt pin should go high upon receive of preambles)

@dirty
even some registers jargon are strange to me. i only fine tune some register that i understand... others, i leave to SmartRF Studio to generate default value based on the 433MHz for the board design (by hardway i found out its actually 434MHz) its up to the point where i think i need the SmartRF04EB development board to test the signal out and in to see what RSSI level is at (another evil jargon i think). But the dev. board is nowhere to be found except from TI... and they are not selling it as single, they sell in one package ie 2 dev. boards, 2 rf boards etc at $499. enuf to make my eyeball start to fall from its socket.

ok here is my setting (value from SmartRF Studio). i've try GFSK, MSK, ASK/OOK, but the behaviour is still the same, i only change the Base Frequency from the existing template. this is one of the setting:

Mechatrommer:
default SmartRF Studio Setting:
refer to setRadioReg MACRO:

;////////////////////////////////////////////////////////////////////////////////////////////////
;// setRadioReg CC1101_@RN@, 0x@VH@
;////////////////////////////////////////////////////////////////////////////////////////////////
;// Deviation = 47.607422
;// Base frequency = 433.999969
;// Carrier frequency = 433.999969
;// Channel number = 0
;// Carrier frequency = 433.999969
;// Modulation format = ASK/OOK
;// Manchester enable = false
;// Sync word qualifier mode = No preamble/sync
;// Preamble count = 4
;// Channel spacing = 199.951172
;// Carrier frequency = 433.999969
;// Data rate = 249.939
;// RX filter BW = 203.125000
;// Data format = Synchronous serial mode
;// Length config = Infinite packet length mode
;// CRC enable = false
;// Packet length = 255
;// Device address = 0
;// Address config = No address check
;// CRC autoflush = false
;// PA ramping = false
;// TX power = 10

optimizeRF1100SE:
    call        optimizeSleep
    call        optimizeNonSleep
    call        optimizePatable
return

;saved registers after sleep
optimizeSleep:
    setRadioReg CC1101_IOCFG2, 0x0B
    setRadioReg CC1101_IOCFG1, 0x2E
    setRadioReg CC1101_FIFOTHR, 0x07
    setRadioReg CC1101_SYNC1, 0xD3
    setRadioReg CC1101_SYNC0, 0x91
    setRadioReg CC1101_PKTLEN, 0xFF
    setRadioReg CC1101_PKTCTRL1, 0x04
    setRadioReg CC1101_PKTCTRL0, 0x12
    setRadioReg CC1101_ADDR, 0x00
    setRadioReg CC1101_CHANNR, 0x00
    setRadioReg CC1101_FSCTRL1, 0x12
    setRadioReg CC1101_FSCTRL0, 0x00
    setRadioReg CC1101_FREQ2, 0x10
    setRadioReg CC1101_FREQ1, 0xB1
    setRadioReg CC1101_FREQ0, 0x3B
    setRadioReg CC1101_MDMCFG4, 0x8D
    setRadioReg CC1101_MDMCFG3, 0x3B
    setRadioReg CC1101_MDMCFG2, 0xB0
    setRadioReg CC1101_MDMCFG1, 0x22
    setRadioReg CC1101_MDMCFG0, 0xF8
    setRadioReg CC1101_DEVIATN, 0x47
    setRadioReg CC1101_MCSM2, 0x07
    setRadioReg CC1101_MCSM1, 0x30
    setRadioReg CC1101_MCSM0, 0x18
    setRadioReg CC1101_FOCCFG, 0x1D
    setRadioReg CC1101_BSCFG, 0x1C
    setRadioReg CC1101_AGCCTRL2, 0xC7
    setRadioReg CC1101_AGCCTRL1, 0x00
    setRadioReg CC1101_AGCCTRL0, 0xB0
    setRadioReg CC1101_WOREVT1, 0x87
    setRadioReg CC1101_WOREVT0, 0x6B
    setRadioReg CC1101_WORCTRL, 0xFB
    setRadioReg CC1101_FREND1, 0xB6
    setRadioReg CC1101_FREND0, 0x11
    setRadioReg CC1101_FSCAL3, 0xEA
    setRadioReg CC1101_FSCAL2, 0x2A
    setRadioReg CC1101_FSCAL1, 0x00
    setRadioReg CC1101_FSCAL0, 0x1F
    setRadioReg CC1101_RCCTRL1, 0x41
    setRadioReg CC1101_RCCTRL0, 0x00
return

;not saved after sleep
optimizeNonSleep:
    setRadioReg CC1101_FSTEST, 0x59
    setRadioReg CC1101_PTEST, 0x7F
    setRadioReg CC1101_AGCTEST, 0x3F
    setRadioReg CC1101_TEST2, 0x88
    setRadioReg CC1101_TEST1, 0x31
    setRadioReg CC1101_TEST0, 0x09
return

optimizePatable:
    call        openCommCCRadio
    sendRadio   CC1101_PATABLE | CC1101_BURST
    sendRadio   0xC0
    sendRadio   0xC0
    sendRadio   0x00
    sendRadio   0x00
    sendRadio   0x00
    sendRadio   0x00
    sendRadio   0x00
    sendRadio   0x00
    call        closeCommCCRadio
return

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version