Hi Aldohr.
Maybe I can add some more info to io-homecontrol and I need some help to calculate frequency from CC1021 from a old velux KUX100. I use a logic analyzer to sniffing the SPI infomation between mcu and CC1021.
I think there are 6 channels. 3 Rx and 3 Tx channels and each Rx channel is connected to each Tx channel. mcu/cc1021 scan every Rx channel for 2.7 ms if there is data on an Rx channel the mcu/cc1021 changes to predetermined Tx channel.
Frequency register A is use for RX
Frequency register B is use for TX
AA = Configuration Registers addresse
DD = Data
W/R = Write to CC1021 / Read from CC1021
Init CC1021
AA DD W/R
04 3A W Frequency register 2A
08 3A W Frequency register 2B
01 4F W Interface control register
02 FF W Digital module reset register
03 8F W Automatic power-up sequencing control register
07 27 W Clock generation register A
0B 27 W Clock generation register B
0C 44 W VCO current control register
0D 53 W Modem control register = 5: ADC frequency = XOSC frequency / 12 – Transparent asynchronous UART operation, set DCLK=1
0E 3B W TX frequency deviation register
0F C6 W RX AFC control register
10 22 W Channel filter / RSSI control register
11 65 W VGA control register 1
12 57 W VGA control register 2
13 2E W VGA control register 3
14 2E W VGA control register 4
16 76 W Front end bias current control register
17 87 W Analog modules control register
18 50 W LO buffer and prescaler swing control register
19 25 W LO buffer and prescaler bias current control register
1A AE W PLL loop bandwidth / charge pump current control register
1C 00 W Power amplifier output power register
1D F0 W Match capacitor array control register, for RX and TX impedance matching
1E 00 W Phase error compensation control register for LO I/Q
1F 00 W Gain error compensation control register for mixer I/Q
20 00 W Power-down control register
15 23 W Lock control register
00 11 W Main control register
00 01 W Main control register
05 28 W Frequency register 1A
06 A3 W Frequency register 0A
00 11 W Main control register
1B B4 W LO buffer and prescaler swing control register
40 07 R Status information register (PLL lock, RSSI, calibration ready, and so on)
40 07 R Status information register (PLL lock, RSSI, calibration ready, and so on)
40 27 R Status information register (PLL lock, RSSI, calibration ready, and so on)
40 07 R Status information register (PLL lock, RSSI, calibration ready, and so on)
40 07 R Status information register (PLL lock, RSSI, calibration ready, and so on)
CC1021 up and running.
scan every channel for 2.7 ms
CC1021 RX channel 1
AA DD
04 3A = Frequency register 2A
05 1C = Frequency register 1A
06 7D = Frequency register 0A
wait 2.7 ms before changes to new Rx kanal
if data on Rx channel changes Tx channel in CC1021 to
CC1021 TX channel 1
08 3A = Frequency register 2B
09 21 = Frequency register 1B
0A D1 = Frequency register 0B
CC1021 RX channel 2
04 3A = Frequency register 2A
05 28 = Frequency register 1A
06 A3 = Frequency register 0A
wait 2.7 ms before changes to new Rx kanal
if data on Rx channel changes Tx channel in CC1021 to
CC1021 TX channel 2
08 3A = Frequency register 2B
09 2D = Frequency register 1B
0A F9 = Frequency register 0B
CC1021 RX channel 3
04 3A = Frequency register 2A
05 38 = Frequency register 1A
06 43 = Frequency register 0A
wait 2.7 ms before changes to new Rx kanal
if data on Rx channel changes Tx channel in CC1021 to
CC1021 TX channel 3
08 3A = Frequency register 2B
09 3D = Frequency register 1B
0A 99 = Frequency register 0B
start over
Maybe someone can calculator the Rx/Tx frekvens from the hex code in Frequency register A/B from cc1021 datasheet. CC1021 use 14.7456 MHz Crystal oscillator.