Si4010-C2
C
R YS TA L
-
L E S S
S
O
C RF T
R A N S M I T T E R
Features
Crystal-less operation
Optional crystal oscillator input
High-Speed 8051 µC Core
Pipeline instruction architecture
70% of instructions in 1 or 2 clocks
Up to 24 MIPs with 24 MHz clock
4 kB RAM/8kB NVM
128 bit EEPROM
256 byte of internal data RAM
12 kB ROM embedded functions
8 byte low leakage RAM
Extensive Digital Peripherals
128 bit AES accelerator
5/9 GPIO with wakeup functionality
LED driver
Data serializer
High-speed frequency counter
On-chip debugging: C2
Unique 4 byte serial number
Ultra low-power sleep timer
Single Coin-Cell Battery Operation
Supply voltage: 1.8 to 3.6 V
Standby current < 10 nA
High-performance RF transmitter
Frequency range: 27–960 MHz
+10 dBm output power,
adjustable
Automatic antenna tuning
Symbol rate up to 100 kbps
FSK/OOK modulation
Manchester, NRZ, 4/5 encoder
Analog Peripherals
LDO regulator with POR circuit
Battery voltage monitor
Temperature range –40 to +85 °C
Automotive quality option,
AEC-Q100 (Pending final
qualification testing)
10-pin MSOP/14-pin SOIC
Ordering Information:
See page 15.
Applications
Garage and gate door openers
Remote keyless entry
Home automation and security
Wireless remote controls
Pin Assignments
GPIO0/XTAL 1
GND 2
10 GPIO1
9 GPIO2
Description
The Si4010 is a fully integrated crystal-less CMOS SoC RF transmitter with an
embedded CIP-51 8051 MCU. The device can operate over the –40 to 85 °C
temperature range without requiring an external crystal reference source reducing
board area and BOM cost. The device includes an 8 kB non volatile memory block
for programming the user's application along with a 12 kB ROM of embedded
support code for use in the user's application. The Si4010 includes Silicon
Laboratories' 2-wire C2 Debug and Programming interface, which allows
customers to download their code during the development stage into the on-board
RAM for testing and debug prior to programming the NVM.
The Si4010 is designed for low power battery applications with standby currents of
less than 10 nA to optimize battery life and features automatic wake on button
press support to efficiently move from the standby to active mode state with
minimal customer code support. Built in AES-128 hardware encryption along with
a 128-bit EEPROM can be used to create robust data encryption of the
transmitted packets. A unique 4-byte serial number is programmed into each
device ensuring non-overlapping device identifiers.
The RF transmitter features a high efficiency PA capable of delivering output
power up to +10 dBm and includes an automatic antenna tuning algorithm. This
algorithm adjusts the antenna tuning at the start of each packet transmission for
optimal output power minimizing the impact of antenna impedance changes due
to the remote being held in a user hand. The devices supports FSK and OOK
modulations and includes automatic output power shaping to reduce spectral
spreading and ease regulatory compliance. The output frequency can be adjusted
via software over the entire 27 to 960 MHz range. The output data rate is software
adjustable up to a maximum rate of 100 kbps.
Rev. 1.0 2/11
Copyright © 2011 by Silicon Laboratories
TXM 3
TXP 4
VDD 5
Si4010-GT
8 GPIO3
7 GPIO4
6 LED
10-Pin MSOP
GPIO9 1
VPP/GPIO0/XTAL 2
GND 3
TXM 4
TXP 5
VDD 6
GPIO7 7
14 GPIO8
13 GPIO1
12 GPIO2
Si4010-GS
11 GPIO3
10 C2DAT/GPIO4
9 C2CLK/LED
8 GPIO6
14-Pin SOIC
Patents pending
Si4010
Si4010-C2
Functional Block Diagram
VDD
LDO REGULATOR
CR2032
COIN CELL GND
1.8 – 3.6 V
Si4010
TXP
DIVIDER
FSK
PA
TXM
LOOP
ANTENNA
VDD
OOK
INTEGRATED 8051 MCU
LED
GPIO
PUSH
BUTTONS 4/8
I/O
INTERFACE
RAM/
ROM
NVM
8 Kbyte
EEPROM
128-bit
2
Rev. 1.0
Si4010-C2
T
ABLE
OF
C
ONTENTS
1. System Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2. Test Circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3. Typical Application Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
3.1. Si4010 Used in a 5-Button RKE System with LED Indicator . . . . . . . . . . . . . . . . . . . 14
3.2. Si4010 with an External Crystal in a 4-Button RKE System with LED Indicator . . . . 14
4. Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5. Top Markings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1. SOIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2. MSOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6. Pin Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.1. MSOP, Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.2. MSOP, Programming/Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.3. SOIC Package, Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.4. SOIC Package, Programming/debug Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7. Package Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
7.1. 10-Pin MSOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2. 14-pin SOIC Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8. PCB Land Pattern 10-Pin MSOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9. PCB Land Pattern 14-pin SOIC Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
10. Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
11. System Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11.2. Setting Basic Si4010 Transmit Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.3. Applications Programming Interface (API) Commands . . . . . . . . . . . . . . . . . . . . . . 35
12. Power Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.1. Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
13. Output Data Serializer (ODS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
13.1. Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
13.2. Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
13.3. Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
14. LC Oscillator (LCOSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
14.1. Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
15. Low Power Oscillator and System Clock Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
15.1. Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
16. Crystal Oscillator (XO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
16.1. Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
17. Frequency Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
17.1. Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
18. Sleep Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
19. Bandgap and LDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
20. Low Leakage HVRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
21. Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
22. CIP-51 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3
Rev. 1.0
Si4010-C2
22.1. Instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
22.1.1. Instruction and CPU Timing................................................................................ 56
22.2. CIP-51 Register Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
23. Memory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
23.1. Program Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
23.2. Internal Data Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
23.3. External Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
23.4. General Purpose Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
23.5. Bit Addressable Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
23.6. Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
23.7. Special Function Registers (SFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
23.8. Registers Mapped to XDATA Address Space (XREG) . . . . . . . . . . . . . . . . . . . . . . 67
23.9. NVM (OTP) Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
23.10. MTP (EEPROM) Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
24. System Boot and NVM Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
24.1. Startup Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
24.2. Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
24.3. Chip Program Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
24.4. NVM Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
24.5. Device Boot Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
24.6. Error Handling During Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
24.7. CODE/XDATA RAM Address Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
24.8. Boot Status Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
24.9. Boot Routine Destination Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
24.10. NVM Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
24.11. Retest and Retest Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
24.12. Boot and Retest Protection NVM Control Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
24.13. Chip Protection Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
25. On-Chip Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
25.1. Special Function Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
25.2. XREG Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
26. Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
26.1. MCU Interrupt Sources and Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
26.2. Interrupt Priorities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
26.3. Interrupt Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
26.4. Interrupt Register Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
26.5. External Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
27. Power Management Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
27.1. Idle Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
27.2. Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
28. AES Hardware Accelerator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
28.1. AES SFR Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
29. Reset Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
29.1. Device Boot Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
29.2. External Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
29.3. Software Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4
Rev. 1.0
Si4010-C2
30. Port Input/Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
30.1. GPIO Pin Special Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
30.2. Pullup Roff Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
30.3. Matrix Mode Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
30.4. Pullup Roff and Matrix Mode Option Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
30.5. Special GPIO Modes Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
30.6. LED Driver on GPIO[5]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
31. Clock Output Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
31.1. Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
32. Control and System Setting Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
33. Real Time Clock Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
33.1. RTC Interrupt Flag Time Uniformity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
33.2. Register Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
34. Timers 2 and 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
34.1. Interrupt Flag Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
34.2. 16-bit Timer with Auto Reload (Wide Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
34.3. 16-bit Capture Mode (Wide Mode). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
34.4. 8-Bit Timer/Timer Mode (Split Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
34.5. 8-Bit Capture/Capture Mode (Split Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
34.6. 8-Bit Timer/Capture Mode (Split Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
35. C2 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
35.1. C2 Pin Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
36. IDE Development Environment and Debugging Chain . . . . . . . . . . . . . . . . . . . . . . . . 151
36.1. Functionality Limitations While Using IDE Development Environment . . . . . . . . . 151
36.2. Chip Shutdown Limitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
36.3. LED Driver Usage while Using IDE Debugging Chain . . . . . . . . . . . . . . . . . . . . . . 152
37. Additional Reference Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Document Change List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Contact Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Rev. 1.0
5