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
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.
CC1101 Register dump:
Addr Reg Value
 unsigned char 0x06 (Hex) 0x4362  unsigned char 0x2E (Hex) 0x4363  unsigned char 0x07 (Hex) 0x4364  unsigned char 0x07 (Hex) 0x4365  unsigned char 0xD3 (Hex) 0x4366  unsigned char 0x91 (Hex) 0x4367  unsigned char 0xFF (Hex) 0x4368  unsigned char 0x04 (Hex) 0x4369  unsigned char 0x05 (Hex) 0x436A  unsigned char 0x00 (Hex) 0x436B  unsigned char 0x36 (Hex) 0x436C  unsigned char 0x0C (Hex) 0x436D  unsigned char 0x00 (Hex) 0x436E  unsigned char 0x22 (Hex) 0x436F  unsigned char 0xB1 (Hex) 0x4370  unsigned char 0x3A (Hex) 0x4371  unsigned char 0x2D (Hex) 0x4372  unsigned char 0x3B (Hex) 0x4373  unsigned char 0x3B (Hex) 0x4374  unsigned char 0x22 (Hex) 0x4375  unsigned char 0xF8 (Hex) 0x4376  unsigned char 0x62 (Hex) 0x4377  unsigned char 0x07 (Hex) 0x4378  unsigned char 0x3F (Hex) 0x4379  unsigned char 0x18 (Hex) 0x437A  unsigned char 0x1D (Hex) 0x437B  unsigned char 0x1C (Hex) 0x437C  unsigned char 0xC7 (Hex) 0x437D  unsigned char 0x00 (Hex) 0x437E  unsigned char 0xB0 (Hex) 0x437F  unsigned char 0x87 (Hex) 0x4380  unsigned char 0x6B (Hex) 0x4381  unsigned char 0xFB (Hex) 0x4382  unsigned char 0xB6 (Hex) 0x4383  unsigned char 0x11 (Hex) 0x4384  unsigned char 0xEF (Hex) 0x4385  unsigned char 0x2A (Hex) 0x4386  unsigned char 0x2C (Hex) 0x4387  unsigned char 0x1F (Hex) 0x4388  unsigned char 0x41 (Hex) 0x4389  unsigned char 0x00 (Hex) 0x438A  unsigned char 0x59 (Hex) 0x438B  unsigned char 0x7F (Hex) 0x438C  unsigned char 0x3C (Hex) 0x438D  unsigned char 0x88 (Hex) 0x438E  unsigned char 0x31 (Hex) 0x438F  unsigned char 0x09 (Hex) 0x4390  unsigned char 0x00 (Hex) 0x4391  unsigned char 0x00 (Hex) 0x4392  unsigned char 0x04 (Hex) 0x4393  unsigned char 0x00 (Hex) 0x4394  unsigned char 0x00 (Hex) 0x4395  unsigned char 0xF4 (Hex) 0x4396  unsigned char 0x0D (Hex) 0x4397  unsigned char 0x00 (Hex) 0x4398  unsigned char 0x00 (Hex) 0x4399  unsigned char 0x32 (Hex) 0x439A  unsigned char 0xFD (Hex) 0x439B  unsigned char 0x00 (Hex) 0x439C  unsigned char 0x7E (Hex) 0x439D  unsigned char 0x00 (Hex) 0x439E  unsigned char 0x00 (Hex) 0x439F  unsigned char 0xC6 (Hex) 0x43A0  unsigned char 0xA3 (Hex) 0x43A1  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?
Multitech Systems Inc
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!
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..
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.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.