cancel
Showing results for 
Search instead for 
Did you mean: 

I have to develop a project using ST microelectronics 868MHz S2LP device and Texas Instruments CC1101. They have to communicate on 7th channel (868,3MHz) with baud rate 19200 bps.

SGior.1
Associate

I’m not RF expert and I know that my question is very very general.

I have to communicate with RF S2LP device using a not ST microcontroller, but at the moment my firmware can read and write the S2LP registers by SPI. It works correctly.

The RF CC1101 is mounted on BIT08RMx 800-929 MHzboard and it's used by our customer. We want to communicate with it using S2LP device.

Anyway S2LP receives data not when RF CC1101 device sends them, but casually and the RX FIFO contains data that haven’t any meaning for me. Often S2LP receives data when the second RF device is OFF. It's all very stange. S2Lp should receive a packet of this type:

  1. preamble: 8 bytes,
  2. sync (0xD31): 2 bytes
  3. network address: 1
  4. payload: its length should be constant.
  5. CRC

I attached a pdf file where you can see my S2LP configuration steps: I followed an ST example.

I know that for you is very difficult help me, but any suggestion is welcome.

Many thanks in advance for your support.

Kind Regards,

Stefano

2 REPLIES 2
Winfred LU
ST Employee

Hi Stefano,

I generated a register configurations according to information provided by you, please doubly check.

Some of the settings are not clear:

  • XTAL freq is 50 MHz, right?
  • Channel filter, not sure about your setting?
  • Sync word: shall be 0xD391 according to your source?
  • Data whitening and FEC are both enabled, right?
    • Note that address, payload, and CRC are going to be whitened
  • CRC will use 16-bit Poly 0x1021? in your source code it is disabled?

0693W000000UxTNQA0.png

S2-LP registers:

00:0A
01:A2
02:A2
03:A2
05:62
06:2B
07:B6
08:46
09:2F
0A:C2
0C:3F
0D:00
0E:92
0F:A2
10:A6
11:03
12:A3
13:13
14:C8
15:18
16:25
17:E3
18:28
19:80
1A:54
1B:10
1C:22
1D:59
1E:8C
1F:55
20:00
21:58
2B:40
2C:10
2D:08
2E:00
2F:00
30:71
31:00
32:14
33:91
34:D3
35:00
36:00
37:01
38:00
39:40
3A:01
3B:08
3C:30
3D:30
3E:30
3F:30
40:41
41:00
42:00
43:00
44:00
45:00
46:01
47:00
48:01
49:00
4A:01
4B:00
4C:4C
4D:00
4E:04
4F:00
50:00
51:00
52:00
53:00
54:28
5A:02
5B:0C
5C:18
5D:24
5E:30
5F:48
60:60
61:00
62:07
63:01
64:89
65:D0
68:03
69:88
6A:40
6B:40
6C:45
6D:30
6E:70
6F:4D
75:17
76:20
77:00
78:39
79:42
8D:52
8E:07
8F:00
90:00
94:70
95:00
99:00
9A:00
9C:00
9D:00
9E:00
9F:00
A0:00
A2:00
A4:00
A5:00
A6:00
A7:00
A8:00
A9:00
AA:00
AB:00
EF:00
F0:03
F1:C1

Best Regards,

Winfred

Hi Winfred,

Thank you for your answer.

Here you are my answers:

1. The XTAL frequency is 50MHz;

2. The channel filter is 100kHz;

3. Data whitening and FEC are both enabled. In my code I disabled the CRC check to do some tests. Anyway the CRC should be on 16 bits, with Poly 0x8005.

Please note that to communicate with CC1101, I’m using the ST evaluation board and it gives me CRC error any time and I don’t know why.

P.S: About the CC1101 I know only this parameters setting:

1. charater recetion 32;

2. package length: 52

3. destination address: 1;

4. channel number: 7;

5. baudrate: 19.2 kbps;

6. Rx filter bandwidth: 100kHz;

7. Modulation: GFSK;

8. Frequency base: 868MHz;

9. Preamble 8 bytes (0xAA);

10. Sync 2 bytes (0xD391);

11. CRC (I think evaluate on 16 bits with poly 0x8005).

Please note that I configured my S2LPDK in the same way showen in your picture, but it didn't solve the problem. I changed only the preamble length and the CRC type (0x8005).

Do you think that S2LP and CC1101 are incompatible and unable to communicate with one another?

Many Thanks in advance for any support.

Kinds Regards,

Stefano.