Hi,
I have MSP430F5529 development board and CC1101-CC1190 915 MHz Evaluation module that when configured for 912.8 MHz does not receive packets. I validated the transmitter is sending packets on 912.8 MHz. The RSSI reads 0xF4, channel is 0x36, marcstatus is 0xd and pktstat reads 0x32.
I dumped the CC1101 registers and they don't show any problems that I can see. I dumped the registers while waiting for a packet in Code Composer. I used Smart RF Studio to configure the CC1101.
Base Freq = 901.999969 MHz
Channel number 54
Channel spacing 199.951172 KHz
Carrier Freq 912.796936 MHz
Xtal Freq 26.000000 MHz
Data Rate 249.939 kBaud
RX filter BW 541.6666667 KHz
Manchester enabled
Modulation format ASK/OOK
Deviation 126.953125 KHz
I am only concerned with Rx mode.
I do not have a second TI development board to test this out
The Transmitter is a electric meter from GE. I have another device that sees the electric meter packets, so I know the RF packets are present in my work space.
Any help is greatly appreciated.
Regards,
Ed
CC1101 Register dump:
Addr Reg Value
(dec) (hex)
[0] unsigned char 0x06 (Hex) 0x4362 [1] unsigned char 0x2E (Hex) 0x4363 [2] unsigned char 0x07 (Hex) 0x4364 [3] unsigned char 0x07 (Hex) 0x4365 [4] unsigned char 0xD3 (Hex) 0x4366 [5] unsigned char 0x91 (Hex) 0x4367 [6] unsigned char 0xFF (Hex) 0x4368 [7] unsigned char 0x04 (Hex) 0x4369 [8] unsigned char 0x05 (Hex) 0x436A [9] unsigned char 0x00 (Hex) 0x436B [10] unsigned char 0x36 (Hex) 0x436C [11] unsigned char 0x0C (Hex) 0x436D [12] unsigned char 0x00 (Hex) 0x436E [13] unsigned char 0x22 (Hex) 0x436F [14] unsigned char 0xB1 (Hex) 0x4370 [15] unsigned char 0x3A (Hex) 0x4371 [16] unsigned char 0x2D (Hex) 0x4372 [17] unsigned char 0x3B (Hex) 0x4373 [18] unsigned char 0x3B (Hex) 0x4374 [19] unsigned char 0x22 (Hex) 0x4375 [20] unsigned char 0xF8 (Hex) 0x4376 [21] unsigned char 0x62 (Hex) 0x4377 [22] unsigned char 0x07 (Hex) 0x4378 [23] unsigned char 0x3F (Hex) 0x4379 [24] unsigned char 0x18 (Hex) 0x437A [25] unsigned char 0x1D (Hex) 0x437B [26] unsigned char 0x1C (Hex) 0x437C [27] unsigned char 0xC7 (Hex) 0x437D [28] unsigned char 0x00 (Hex) 0x437E [29] unsigned char 0xB0 (Hex) 0x437F [30] unsigned char 0x87 (Hex) 0x4380 [31] unsigned char 0x6B (Hex) 0x4381 [32] unsigned char 0xFB (Hex) 0x4382 [33] unsigned char 0xB6 (Hex) 0x4383 [34] unsigned char 0x11 (Hex) 0x4384 [35] unsigned char 0xEF (Hex) 0x4385 [36] unsigned char 0x2A (Hex) 0x4386 [37] unsigned char 0x2C (Hex) 0x4387 [38] unsigned char 0x1F (Hex) 0x4388 [39] unsigned char 0x41 (Hex) 0x4389 [40] unsigned char 0x00 (Hex) 0x438A [41] unsigned char 0x59 (Hex) 0x438B [42] unsigned char 0x7F (Hex) 0x438C [43] unsigned char 0x3C (Hex) 0x438D [44] unsigned char 0x88 (Hex) 0x438E [45] unsigned char 0x31 (Hex) 0x438F [46] unsigned char 0x09 (Hex) 0x4390 [47] unsigned char 0x00 (Hex) 0x4391 [48] unsigned char 0x00 (Hex) 0x4392 [49] unsigned char 0x04 (Hex) 0x4393 [50] unsigned char 0x00 (Hex) 0x4394 [51] unsigned char 0x00 (Hex) 0x4395 [52] unsigned char 0xF4 (Hex) 0x4396 [53] unsigned char 0x0D (Hex) 0x4397 [54] unsigned char 0x00 (Hex) 0x4398 [55] unsigned char 0x00 (Hex) 0x4399 [56] unsigned char 0x32 (Hex) 0x439A [57] unsigned char 0xFD (Hex) 0x439B [58] unsigned char 0x00 (Hex) 0x439C [59] unsigned char 0x7E (Hex) 0x439D [60] unsigned char 0x00 (Hex) 0x439E [61] unsigned char 0x00 (Hex) 0x439F [62] unsigned char 0xC6 (Hex) 0x43A0 [63] unsigned char 0xA3 (Hex) 0x43A1 [64] unsigned char 0x00 (Hex) 0x43A2
I believe the SYNC pattern has to match before the CC1101 will recognize a packet using SmartRF Studio. Are you sure the GE device sends a packet structure that is compatible with the CC1101?
Tim Barr
Multitech Systems Inc
Hi Timothy,
I have not technical information on the GE Meter. I asked for GE for help in this area today. I hope I can get a technical document describing the GE packet format and RF settings? I did use the SmartRF Studio for all the register settings. I used the non-expert mode (Quick-easy mode). Do I set the sync pattern in the expert mode?
To change the sync word you have to change the SYNC1 and SYNC0 registers. For this you have to have the register view ticked.
You should be able to to see what sync word the transmitter is using by setting 0xAA as a sync word on the receive side. Then the first bytes in the RX FIFO will be the sync word. Note that it is easy to get false sync using preamble as sync word.
--PS. Thank you for clicking Verify Answer if this answered your question!
Hi TER,
When I load 0x0a0a in Sync word then I should see the sycnc word from the transmitter in the Rx FIFO:
Rx FIFO: <length><0x0a0a><sync word>...
I am not sure this is correct since preamble is not 16 bits? If I read the Rx FIFO where would the Transmitter sycnc word be?
This will depend a bit on where in the bit stream the receiver finds sync. Lets say that the transmitter sends 10 byte preamble before the sync word. The receiver needs some of these to settle the AGC and get bit sync so it could be that the receiver sees byte 4 and 5 (random numbers for the example) as a valid sync word. Than the RX FIFO will contain 5 bytes of 0xAA before the sync word. It is also likely that the RX FIFO will not be byte aligned. You basically have to look in the RX FIFO for the first 16 bits following a 0101 pattern that does not look like preamble..
TER,
Something must be fundamentally wrong with my setup or settings. I tried the sync byte change and did not receive a single RF packet. I dumped the Sync bytes to make sure the CC1101 Sync registers were programmed with 0xAAAA. I read the RSSI register and get 0xF4, marstat=0xd, pktstat=0x32. This information is dumped to the display while waiting for an interrupt on P1IFG<4:3> (GDO2:GDO0).
I have a 3rd party USB dongle that is reading my meter with no problem. I swapped antennas and made no difference.
Any suggestions is much appreciated.
Sorry I mis-typed, the interrupts are on P2IFG not P1IFG.
I put Logic Analyzer on the P2.3 (GDO0) and on P2.4 (GDO2) and did not receive a trigger.
If you put the receiver in cont RX do you see the RSSI value go up when you turn on the sender?
Yes currently the CC1101 is in Rx mode and the RSSI value reads 0xF4. The transmitter is frequency hopping and the CC1101 is tuned to 912.8 MHz. The CC1101 RSI reads about the same value of 0xF4 from while loop waiting for a RF packet.
What do you think about the power available from the TI MPS430 JTAB debugger, does it supply enough power to the RF Module to operate successfully? I have a AC-DC (5V 2Amp) converter that I can solder to the MSP430 Development board. Can this make the receiver sensitivity better?
Do you have a SmartRF 04 board you could connect the CC1101-CC1190 EM to?
Unfortunately I don't have this SmartRF 04 board. What are your thoughts about this board?
I can look into the cost of buying one.
I get the impression from what you write that you try to control the CC1101-CC1190 with your own software. By using a SmartRF04 you could have controlled the board with SmartRF Studio enabling you to have known software to debug with.
But first: Have you routed control signals to the CC1101-CC1190 to control the CC1190? Please check that LNA_EN='1' and PA_EN='0'.
I am using the CC1100 reference code that I integrated into the MSP-EXP430F5529 development board's User Experience base software. I modified the code to read CC1101 registers and display them to the on board display for debug. I used SmartRF Studio to configure the CC1101 and I copy the CC1101 register writes to the software code.
I had already modified the code to set HGM=1, LNA_EN=1 and PA_EN=0.
Yesterday I tried setting Whitening and set the data Baud rate to 50 KBaud while keeping the sync byte at 0xaaaa; I received an RF packet but I can't make any sense out of it. I am trying to identify my meter SN "53930681". In CC I displayed memory in binary. I converted the meter SN value characters from ASCII to binary and searched the data with no success. I am not sure if I am making any progress. I will try to turn off Whitening and see if I can receive packets.
There are a lot of issues with what you are trying to do:
Ed LombardoThe Transmitter is a electric meter from GE. I have another device that sees the electric meter packets, so I know the RF packets are present in my work space
If you don't know anything about the packet format, data rate, or modulation then you will not be very successful receiving packets using a CC1101. Or any CCxxxx part for that matter.
Ed LombardoThe transmitter is frequency hopping and the CC1101 is tuned to 912.8 MHz.
SmartRF Studio does not understand frequency hopping at all, so the chances of receiving a frequency hopping packet will be practicaly nil. For code you wrote yourself you need to know the frequencies being used and the hop rate for starters.
Ed LombardoI have a 3rd party USB dongle that is reading my meter with no problem.
If you can't get info from GE, maybe the maker of this third party dongle can supply it.
BTW are you trying to connect to the Zigbee compatible GE Smart Meter? The cc1101 supports a pretty limited IEEE802.15.4g operation. See this forum topic of more info.
http://e2e.ti.com/support/low_power_rf/f/156/t/170010.aspx