Silicon Laboratories EZRADIOPRO Si4060 Programming Manual

Silicon Laboratories EZRADIOPRO Si4060 Programming Manual

Devices

Advertisement

P
R O G R A M M I N G
1. Introduction
This document is intended to serve as a guide for application development with EZRadioPRO® radio ICs. It
introduces the major parts of the hardware platform, such as the RF Pico board, which contains the radio and the
necessary RF components required to operate the device according to a desired regulatory standard. It also
introduces the 8-bit wireless motherboard (WMB), which is required to control the radio, evaluate the RF
parameters, and develop custom application programs. Besides the hardware, it also describes the application
programming interface (API) that makes it possible for the WMB and RF pico board to communicate with each
other. Using the software tools provided by Silicon Labs and following this programming guide will make software
development as easy as possible, as these items will assist you in configuring the radio effectively. Additionally, the
first boot of the radio and the whole configuration process are clearly described so that software developers can
primarily concentrate on their own applications without experiencing time-consuming configuration problems.
Several example projects are also provided as good starting points for real applications. A layered software
approach is followed in all the source codes. The software modules are logically separated, and they focus on their
own specific tasks. The document refers to the corresponding data sheets, manuals, and application notes.
2. Supported Radio Types
This document provides programming guidance for the following EZRadioPRO RF ICs:

Si4060 Transmitter

Si4063 Transmitter

Si4362 Receiver

Si4438 Transceiver

Si4460 Transceiver

Si4461 Transceiver

Si4463 Transceiver

Si4464 Transceiver

Si4467 Transceiver

Si4468 Transceiver
Rev. 0.7 10/16
G
E Z R
U I D E F O R
Copyright © 2016 by Silicon Laboratories
P R O ® S i 4
A D IO
AN633
6
D
X
X
E V I C E S
AN633

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the EZRADIOPRO Si4060 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Silicon Laboratories EZRADIOPRO Si4060

  • Page 1  Si4060 Transmitter  Si4063 Transmitter  Si4362 Receiver  Si4438 Transceiver  Si4460 Transceiver  Si4461 Transceiver  Si4463 Transceiver  Si4464 Transceiver  Si4467 Transceiver  Si4468 Transceiver Rev. 0.7 10/16 Copyright © 2016 by Silicon Laboratories AN633...
  • Page 2: Development Kits

    AN633 3. Development Kits The EZRadioPRO development kits contain two complete RF nodes of different radio ICs. See Table 1. Table 1. EZRadioPRO Development Kit Content Description Part Number Dev Kit 4060-868-PDK 4063-915-PDK 4461-868-PDK 4438-490-PDK 4463-915-PDK RF Pico 4060-PCE10B868 4063-PCE20B915 4461-PCE14D868 4438-PCE20D490 4463-PCE20C915...
  • Page 3: The Wireless Motherboard Hardware Platform

    AN633 4. The Wireless Motherboard Hardware Platform The wireless motherboard platform is a demo, evaluation, and development platform for EZRadioPRO radio ICs. It consists of a wireless motherboard and interchangeable MCU and RF pico boards. Figure 1. 8-bit Wireless Motherboard Platform Rev.
  • Page 4 AN633 4.1. The Wireless Motherboard MCU Pico Board RF Pico Board Communication Current and Debug Measurement Interface Pins External Power Supply Radio Connection Test Sensor Pins Module Connector Power Supply Switch Radio GPIO MCU DC/DC Connectors Converter Switch MCU Test Pins Potentiometer Push Buttons...
  • Page 5 AN633 4.2. Power Scheme The power source of the platform can be selected with the power supply selector switch “SUPPLY SELECT” on the WMB board. If this switch is in the “USB” position, supply voltage is provided by the PC that is connected to the “J16”...
  • Page 6 AN633 Table 2. Connections between the WMB Board and the RF Pico Board Si446x, Si4362, Si406x, Si4438 C8051F930 Pin Number Pin Name Pin Function RF Pico board J1 WMB Con2 Pin Name connector connector EP,18 Ground 1,2,19,20 Voltage Supply input 17,18 NIRQ Interrupt output...
  • Page 7 AN633 A schematic of an RF Pico Board can be found in the EZRadioPRO Development Kit User's Guide. A complete CAD design pack of all boards is also available at www.silabs.com. 4.4. Setting up and Connecting the WMB to the PC Steps for connecting the platform to the PC: 1.
  • Page 8: Software Development Tools

    AN633 5. Software Development Tools 5.1. Wireless Development Suite Silicon Labs provides two software tools to help with EZRadioPRO software development: the wireless development suite (WDS) and the Silicon Labs integrated development environment (IDE). Both software tools are available at www.silabs.com. The recommended starting point for Si406x, Si4362, Si446x, and Si4438 development is the WDS software tool.
  • Page 9 AN633 Open Radio Configuration Application in WDS Select active project Unmodulated Carrier Pseudo Random Transmission Direct Transmission (sync) Direct Reception (sync/async) Standard Packet Transmission Standard Packet Transmission Standard Packet Reception Custom Packet Transmission Custom Packet Reception Empty Project Configure Active Project Frequency and Power RF Parameters Packet...
  • Page 10 AN633 5.2. Silicon Labs IDE The Silicon Laboratories integrated development environment (IDE) is a standard tool for program development for any Silicon Labs 8-bit MCUs, including the C8051F930 that is used on the hardware platforms described in this document. The Silicon Laboratories IDE integrates a project manager, a source-code editor, source-level debugger, and an in-system flash programmer.
  • Page 11  Silicon Laboratories IDE—Used to open the preconfigured project files and manage the build process.  Keil C51 v9.0+ or SDCC v3.0+—Compilers to use with the Silicon Laboratories IDE to manage build process.  Silicon Labs Flash Programming Utility (optional)—Needed only if programming outside the Silicon Labs IDE is necessary.
  • Page 12: Radio Hardware Interface

    AN633 6. Radio Hardware Interface The EZRadioPRO devices can be controlled by the host MCU over an SPI bus and six additional signals. The user has access to the radio's API via the SPI bus. Table 3. Serial Peripheral Interface Signals Signal Description SCLK...
  • Page 13: Application Programming Interface

    AN633 7. Application Programming Interface The programming interface allows the user to do the following:  Send commands to the radio.  Read status information.  Set and get radio parameters.  Handle the Transmit and Receive FIFOs. The API commands are listed in Table 4. The following sections describe the SPI transactions of sending commands and getting information from the chip.
  • Page 14 AN633 Table 4. Command Summary (Continued) Command ID Name Description IR_CAL_COMMANDS 0x17 IRCAL Image rejection calibration. 0x19 IRCAL_MANUAL Image rejection calibration. TX_COMMANDS 0x31 START_TX Switches to TX state and starts transmission of a packet. 0x37 TX_HOP Hop to a new frequency while in TX. 0x66 WRITE_TX_FIFO Writes data byte(s) to the TX FIFO.
  • Page 15 AN633 to send (CTS) signal shows the actual status of the command buffer of the radio. It can be monitored over the SPI or on GPIOs, or the chip can generate an interrupt if it is ready to receive the next command. These three options are detailed below.
  • Page 16 AN633 7.2.2. GPIO Checking Method Any GPIO can be configured for monitoring the CTS. GPIOs can be configured to go either high or low when the chip has completed the command. The function of the GPIOs can be changed by the GPIO_PIN_CFG command. By default, GPIO1 is set as "High when command completed, low otherwise"...
  • Page 17 AN633 NSEL CTS = 0xFF Response Byte 0 Response Byte n 0x44 SD I SCLK Figure 9. Read the Response from Radio If the CTS is polled over the SPI bus, first the host MCU should pull the NSEL pin low. This action should be followed by sending out the 0x44 Read command ID and providing an additional eight clock pulses on the SCLK pin.
  • Page 18 AN633 7.4. Using Fast Response Registers There are several types of status information that can be read out from the radio faster. The FRR_CTL_x_MODE (where x can be A, B, C or D) properties define what status information is assigned to a given fast response register (FRR).
  • Page 19 AN633 7.5. Write and Read the FIFOs There are two 64-byte FIFOs for RX and TX data in the Si4x6x. To fill data into the transmit FIFO, the host MCU should pull the NSEL pin low and send the 0x66 Transmit FIFO Write command ID followed by the bytes to be filled into the FIFO.
  • Page 20 AN633 7.6. SPI Communication Capture Example Figure 15 shows an actual SPI communication capture taken by a logic analyzer. The signals being monitored are SDI, SDO, and NSEL between the radio IC and the host MCU. The first command being sent is FIFO_INFO (command ID 0x15) with an input parameter of 0x01, which will reset the TX FIFO.
  • Page 21: Radio Initialization

    AN633 8. Radio Initialization 8.1. State Transitions of the EZRadioPRO Devices Ready state is designed to give a fast transition time to TX or RX state with reasonable current consumption. In this mode the crystal oscillator remains enabled reducing the time required to switch to TX or RX mode by eliminating the crystal start-up time.
  • Page 22 AN633 Table 5. Switching Times between Radio States State/Mode Response Time to Shutdown 15 ms 15 ms Sleep* 500 µs 500 µs SPI Active 340 µs 340 µs Ready 110 µs 120 µs TX Tune 60 µs 125 µs RX Tune 120 µs 84 µs 130 µs...
  • Page 23 AN633 Figure 18. Supply Current versus Time Diagram from Shutdown to Standby State Figure 19. Supply Current versus Time Diagram from Shutdown to TX State Rev. 0.7...
  • Page 24 AN633 Figure 20. Supply Current versus Time Diagram from Shutdown to RX State Rev. 0.7...
  • Page 25 AN633 8.2. Radio Chip Waking Up First, the radio is in the off state. After the SDN pin is pulled low, the radio wakes up and performs a Power on Reset which takes a maximum of 6 ms (900 µs typical at room temperature) until the chip is ready to receive commands on the SPI bus.
  • Page 26 AN633 8.3. Radio Initialization with Generated Radio Configuration File 8.3.1. Radio Initialization with RF Parameters Figure 22. Radio RF Initialization Process Rev. 0.7...
  • Page 27 The structure of the header file is shown in Figure 23. Figure 23. Radio_config.h File Structure The "License of the Active Project" section consists of numerous commented lines about the license. * Copyright 2012 Silicon Laboratories, Inc. * http://www.silabs.com * @file radio_config.h * H File Description: * @brief Radio configuration macros and definitions.
  • Page 28 AN633 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Page 29 AN633 The commented lines explain which API property/properties will be overwritten with new value(s). For example, this definition is responsible for initializing three API properties of the radio at one time, "MODEM_MOD_TYPE", "MODEM_MAP_CONTROL", and "MODEM_DSM_CTRL". The format of the definition is as follows: ...
  • Page 30: Example Projects And Software Layers

    AN633 9. Example Projects and Software Layers 9.1. Software Layers In all of the sample projects, the layered software approach is followed. There is a distinct scope for each software module, and all modules can communicate through each other's API functions. The software modules are separated and focused to cover one specific task.
  • Page 31 AN633 Figure 27. Function Calls During the Radio Initialization 9.3. Directory Structure of the Example Project All sample source code has a common directory structure with separated source and project files to ease the understanding of the individual modules. For every sample project, the following directories and files can be found in the main directory: ...
  • Page 32 AN633  Cleanup.bat—Batch file used to delete all files generated during build process. Figure 28. Directory Structure of the Example Project The individual software modules are separated into several source files. The sample projects contain one header file (bsp.h) that is included in the source files and collects the individual headers that need to be included. Under “src”...
  • Page 33 AN633 9.4.1. Common Software Modules Location Figure 29. Location of the Common Software Modules 9.4.2. Input/Output Control Module The Input/Output (I/O) control-related source files, called control_IO.h and control_IO.c, are located in the /src/drivers/ folder. The module handles the port initializations for the physical HW platform such as LEDs, push- buttons, or buzzer.
  • Page 34 AN633 9.4.3. Timer Peripheral Module The timer-related source files, called timer.h and timer.c, are located in the /src/drivers/ folder. This module handles two 16-bit timers, timer2 and timer3. The most accurate timing interval can be calculated from the frequency of the system clock, which is generally 24.5 MHz.
  • Page 35 AN633 9.4.4. Programmable Counter Array Module The programmable counter array (PCA)-related source files, called pca.h and pca.c, are located in the /src/driver/ folder. This module initializes the PCA, which creates beeping sounds from the buzzer. The time-base source of the PCA can be selected. Interrupts can be generated when the lower byte of the counter overflows. PWM-mod cycle length also can be selected to modify the frequency of the tweeting sound.
  • Page 36 AN633 Function Name: void vSpi_WriteDataSpi1(U8 biDataInLength, U8 *pabiDataIn) Description: This function is used to send data over SPI1 no response expected. Input Parameter(s): biDataInLength : The length of the data. *pabiDataIn : Pointer to the first element of the data. Return Value: None void vSpi_ReadDataSpi0(U8 biDataOutLength, U8 *paboDataOut)
  • Page 37 AN633 Function Name: void vSpi_ClearNselSpi1(U8 biSelectDevice) Description: This function is used to pull down nSEL of the selected device on SPI1. Input Parameter(s): biSelectDevice Selected device 0 - DUT 2 - EEPROM 3 - MCU2 Return Value: None Function Name: void vSpi_SetNselSpi0(U8 biSelectDevice) Description: This function is used to pull up nSEL of the selected device on SPI0.
  • Page 38 AN633 9.4.6. Human Machine Interface Module The human machine interface (HMI)-related source files, called hmi.h and hmi.c, are located in the /src/driver/ folder. In order to use this module, the required handlers need to be initialized at the very beginning of the program. The status of the various hardware components must be checked in order to have a common cyclic mechanism.
  • Page 39 AN633 Function Name: BIT gHmi_PbIsPushed(U8 *boPbPushTrack, U16 *woPbPushTime) Description: This function is used to check if any of the push-buttons are pushed. Output Parameters(s): *boPbPushTrack : Read value of pushed button. *woPbPushTime : Push time of pushed button. Return Value: Pushed state of push-buttons Function Name: BIT gHmi_IsPbUnHandled(void)
  • Page 40 AN633 Function Name: void vHmi_BuzzHandler(void) Description: This function is used to handle buzzer management. 9.4.7. UART interface Module The UART related source files, called uart.h and uart.c, are located in the /src/driver/ folder. In order to use this module, the functionality needs to be initialized at the very beginning of the program. Bytes can be sent and received as well and the functionality uses the uart interrupt service routine.
  • Page 41 AN633 9.4.8. Size Optimization of the Common Software Modules To optimize the code size of the common software modules and consequently the example source codes, software switches must be introduced in almost every module. By enabling these switches, new functions can be added to the whole project to compile.
  • Page 42 AN633 Table 7 shows the comparison between the modules’ sizes: Table 7. Size Comparison of Common Software Modules Common Software Module Code Size [Byte] Size Optimization Module Minimal Driver Extended Driver Control I/O Not supported — Timer Not supported — 1295 UART Rev.
  • Page 43 AN633 9.5. Radio Driver The radio driver module resides in a low-level driver software layer. It is intended to provide a user-friendly and easy-to-use API to the radio functionality. It contains API functions and macro definitions for all radio commands. Constants can be found in the "EZRadioPRO API Documentation"...
  • Page 44 AN633 9.5.2. Size Optimization of the Radio Driver In order to optimize the code size of the common software modules and consequently the example project as well, software switches must be introduced in the radio driver. By activating the switches, new functions can be added to the radio driver.
  • Page 45 AN633 RADIO_DRIVER_EXTENDED_SUPPORT RADIO_DRIVER_FULL_SUPPORT RADIO_DRIVER_EXTENDED_SUPPORT Default – No switch Full Radio Driver Extended Radio Driver Minimal Radio Driver si446x_reset(...) si446x_reset(...) si446x_reset(...) si446x_power_up(...) si446x_power_up(...) si446x_power_up(...) si446x_configuration_init(...) si446x_configuration_init(...) si446x_configuration_init(...) si446x_part_info(...) si446x_part_info(...) si446x_part_info(...) si446x_start_tx(...) si446x_start_tx(...) si446x_start_tx(...) si446x_start_rx(...) si446x_start_rx(...) si446x_start_rx(...) si446x_get_int_status(...) si446x_get_int_status(...) si446x_get_int_status(...) si446x_gpio_pin_cfg(...) si446x_gpio_pin_cfg(...) si446x_gpio_pin_cfg(...) si446x_set_property(...) si446x_set_property(...)
  • Page 46 AN633 9.5.3. Minimal Radio Driver Function Name: void si446x_reset(void); Description: This functions is used to reset the si446x radio by applying shutdown and releasing it. After this function si446x_boot should be called. You can check if POR has com- pleted by waiting 4 ms or by polling GPIO 0, 2, or 3. When these GPIOs are high, it is safe to call si446x_boot.
  • Page 47 AN633 Input Parameter(s): CHANNEL : Channel number. CONDITION : Start RX condition. RX_LEN : Payload length (exclude the PH generated CRC). NEXT_STATE1 : Next state when Preamble Timeout occurs. NEXT_STATE2 : Next state when a valid packet received. NEXT_STATE3 : Next state when invalid packet received (e.g., CRC error). Return Value: None Function Name:...
  • Page 48 AN633 9.5.4. Extended Radio Driver Function Name: void si446x_nop(void) Description: Sends NOP command to the radio. Can be used to maintain SPI communication. Return Value: None Function Name: void si446x_fifo_info(U8 FIFO) Description: Send the FIFO_INFO command to the radio. Optionally resets the TX/RX FIFO. Reads the radio response back Si446xCmd uniom.
  • Page 49 AN633 9.5.5. Full Radio Driver Function Name: void si446x_func_info(void) Description: Sends the FUNC_INFO command to the radio, then reads the response into Si446xCmd union. Return Value: None Function Name: void si446x_frr_a_read(U8 respByteCount) Description: Reads the Fast Response Registers starting with A register into Si446xCmd union. Input Parameter(s): respByteCount : Number of Fast Response Registers to be read.
  • Page 50 AN633 Function Name: void si446x_get_ph_status(U8 PH_CLR_PEND) Description: Gets the Packet Handler status flags. Optionally clears them. Input Parameter(s): PH_CLR_PEND Flags to clear. Return Value: None Function Name: void si446x_get_modem_status( U8 MODEM_CLR_PEND ) Description: Gets the Modem status flags. Optionally clears them. Input Parameter(s): MODEM_CLR_PEND : Flags to clear.
  • Page 51 AN633 Function Name: void si446x_request_device_state(void) Description: Requests the current state of the device and lists pending TX and RX requests Return Value: None Function Name: void si446x_rx_hop(U8 INTE, U8 FRAC2, U8 FRAC1, U8 FRAC0, U8 VCO_CNT1, U8 VCO_CNT0) Description: While in RX state this will hop to the frequency specified by the parameters and start searching for a preamble.
  • Page 52 AN633 Figure 33. PATCH bit in the POWER_UP API Command 9.6.3. Patch Support in WDS If a patch is necessary for a selected radio chip version, WDS will apply it automatically without any user interaction. When deploying example project from WDS, includes necessary...
  • Page 53: Example Projects

    AN633 10. Example Projects The general structure of an example can be seen in Figure 34. All the tasks are separated into two groups: the Hardware Initialization part and the Main Process part. The Host MCU related tasks initialize the physical interface between the radio and the controller unit including the SPI lines (SCLK, SDI, SDO, NSEL) and general I/O ports (SDN, NIRQ).
  • Page 54 AN633 All example projects described in this document are configurable for radio parameters and available from within WDS (Wireless Development Suite). 10.1. Un-modulated Carrier (Continuous Wave) The Radio Configuration Application provides the opportunity to configure the radio to continuous un-modulated transmit mode.
  • Page 55 AN633 10.3. Direct Transmission (Synchronous) For legacy systems that perform packet handling within the host MCU or other baseband chip, it may not be desirable to use the FIFO. The direct transmission example code bypasses the TX FIFO entirely. The TX modulation data is applied to an input pin of the chip.
  • Page 56 AN633 10.4. Direct Reception (Synchronous and Asynchronous) For legacy systems that perform packet handling within the host MCU or other baseband chip, it may not be desirable to use the FIFO. The direct reception example code bypasses the RX FIFO entirely. The RX modulation data is provided by an output pin of the RF chip to the host MCU.
  • Page 57 AN633 10.5. Standard Packet Transmission The purpose of the standard packet transmission example code is to demonstrate how the radio can send packets in FIFO mode. If any of the four push buttons are pressed on the wireless motherboard then the host MCU will load the appropriate packet content in TX_FIFO and after that will send it.
  • Page 58 AN633 10.6. Standard Packet Reception The purpose of the standard packet reception example code is to demonstrate how the radio can receive packets in FIFO mode. Additionally, the receivers and the transceivers are compatible with Si4010 transmitters used in other development kits. Therefore, it supports several packet types: ...
  • Page 59 AN633 10.6.1. Packet with Fixed Content The payload has its pre-defined content, namely “BUTTONx” where x can be 1, 2, 3, or 4. The used packet can be seen below: Table 11. Structure of the Packet with Fixed Content Preamble Sync Word Payload 32–40 bits...
  • Page 60 AN633 10.6.3. Key Fob Packet (Type B) The following development kits use also this type of packet:  Si4010/Si4355 Key Fob Development Kit  Si4010/Si4355 One-Way AES Development Kit  Si4010/Si4355 One-Way Sub-GHz Key Fob to LED Receiver Stick  Si4455 Two-Way Sub-GHz Key Fob to LED Receiver Stick The used packet can be seen below: Table 14.
  • Page 61 AN633 Table 17. Structure of the Reply Message PREAMBLE SYNC WORD Payload 32–40 bits 2 bytes 3 bytes 2 bytes Figure 43. Two-way Packet Flowchart Rev. 0.7...
  • Page 62 AN633 10.10. 802.15.4g Bidirectional Project This example project demonstrates how to use the Si446x radio IC for 15.4g packets in regular boot mode. Just like the standard Bidirectional code (Section 10.9 Two-Way Packet), it implements a two-way communication link. Pushing a button on one side results in sending a packet to the other side; the incoming packet is acknowledged by sending back an ACK packet (see Figure 44 below).
  • Page 63 AN633 PSDU (payload + CRC). The PHR contains fields to select between 2– and 4–byte CRCs (FCS field), data whitening enable/disable (DW field), and length (Length field). The mode switching field (MS field) is disabled (not supported by the radio). The packet feature and the naming convention of the standard and the radio IC are shown in Figure 45.
  • Page 64 AN633 The standard requires the data bytes being sent in an LSB manner, which is taken care of by the radio IC. The data, i.e., PHR + payload, is being put into the TX FIFO in MSB, but sent over the air in LSB. On the receive side, the payload is being read out from the RX FIFO in MSB, but the PHR will be in LSB (!).
  • Page 65 AN633 10.11. Custom Packet Reception Containing Variable Length Field This example code works the same way as the standard packet reception with the exception that the content of the payload fields in the packet is customizable. It is possible to receive a packet whose payload data field length is not known in advance.
  • Page 66 AN633 Figure 47. Structure of Invalid Variable-Length Packet The field containing the variable packet length information can be 1 byte or 2 bytes long. Length field can be configured as either little endian, where the least significant byte occurs first, or big endian, where the most significant byte occurs first.
  • Page 67 AN633 Figure 48. Variable Length Packet Reception Flowchart Rev. 0.7...
  • Page 68 AN633 10.12. Custom Packet Reception with Matching Capability The purpose of the packet match reception example code is to demonstrate how the radio can filter packets that are intended for one receiver. The Radio ICs of Si4x6x family provide for fully configurable matching functionality on up to 4 data bytes in the data fields (field1 to field5) of the packet.
  • Page 69 AN633 Figure 50. Packet Matching Reception Flowchart Rev. 0.7...
  • Page 70 AN633 10.13. Packet Reception with Automatic Hopping Capability The purpose of the standard packet reception with automatic hopping feature example code is to demonstrate how the radio can receive packets in FIFO mode and how rapidly it scans frequency channels to search for signals. Once the device is configured into the RX state, it automatically starts hopping through the pre-configured channels on different frequencies.
  • Page 71 AN633 Figure 52. Observation of the Automatic RX Hopping There are three configurable hop conditions that can be used to determine whether to continue hopping or to stay on a particular channel. These conditions are as follows:  RSSI timeout: After the receiver chain is settled, a timer is started and the RSSI is averaged within this time (if the average is enabled).
  • Page 72 AN633 After the radio is configured to the receiver state, the PLL will be settled within 50 µs, followed by the RX settling time. Depending on whether the AFC is used or not, the RX settling time can last an extra 8 or 16 bits time. If the RSSI detection method is used, please consider the RSSI settling time which is an additional 4 bits time.
  • Page 73 AN633 Figure 54. Packet Reception with Automatic RX Hopping Flowchart Rev. 0.7...
  • Page 74 AN633 10.14. Packet Reception with Manual Hopping Capability The purpose of the standard packet reception with manual hopping feature example code is to demonstrate how the radio can receive packets in FIFO mode and how rapidly it scans frequency channels to search for signals. Once the device is configured into the RX state, it automatically starts hopping through the pre-configured channels on different frequencies.
  • Page 75 AN633 Figure 56. Packet Reception with Manual Rx Hopping Rev. 0.7...
  • Page 76 AN633 10.15. Continuous Transmission of Custom Amount of Standard Packets The purpose of the standard packet transmission example code is to demonstrate how the radio can send packets in FIFO mode continuously. If the first button is pressed on the Wireless Motherboard then the host MCU will load the pre-defined content, namely “BUTTON1”...
  • Page 77 AN633 Figure 58. General Usage of the Continuous Transmission In order to calculate the minimum number of packets to be transmitted, it is necessary to know how the different time periods, such as the “Transmit Time”, the “RX Time” and “Sleep Time” relate to one another in the worst case scenario.
  • Page 78 AN633 Figure 59. Standards Packet Reception with Low Duty Cycle Flowchart 10.17. Long Packet Transmission Applications requiring packet length greater than the TX/RX FIFO sizes (64 bytes) may use the long packet feature of the radio. In such a case, TX FIFO Almost Empty interrupt should be monitored for proper timing to fill the TX FIFO.
  • Page 79 AN633 Figure 60. Occurrence of the TX FIFO Almost Empty Interrupt 10.18. Long Packet Reception Applications requiring packet length greater than the RX FIFO sizes (64 bytes) may use the long packet feature of the radio. In such a case, RX FIFO Almost Full interrupts should be monitored for proper timing to read the RX FIFO.
  • Page 80 AN633 Figure 62. Long Packet Transmission Workflow Rev. 0.7...
  • Page 81 AN633 Figure 63. Long Packet RX Flowchart Rev. 0.7...
  • Page 82 AN633 10.19. Cooperation Between the Example Projects Since several example projects based on packet-related communication are introduced in the Wireless Development Suite, it is essential to know which projects can communicate with each other in order to create a working one way-link. They are customizable in RF perspective such as by modulation type, data rate, deviation, etc.
  • Page 83 AN633 Table 19. Projects’ Cooperation Description Projects’ Cooperative Activity Standard Packet TX Manual Hop RX LDC TX LCD RX Long TX Long RX       Rev. 0.7...
  • Page 84 AN633 10.20. Empty Project The empty project is created to help users write custom firmware. The project follows the convention for directory structure introduced in the sample projects. It contains driver modules for the radio and MCU peripherals as well as a default MCU initialization procedure.
  • Page 85: Additional Resources

    AN633 11. Additional Resources  AN104: Integrating Keil 8051 Tools into Silicon Labs IDE  AN796: Wireless Development Suite General Description  AN632: WDS User's Guide for EZRadioPRO® Devices  Si406x Data Sheet  Si4362 Data Sheet  Si4464/63/61/60 Data Sheet ...
  • Page 86 Trademark Information Silicon Laboratories Inc.® , Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, USBXpress®...

Table of Contents