background image

A N 6 3 3

8

Rev. 0.7

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. After connecting one of the hardware platforms to the PC, WDS is able to
identify the connected boards by reading the EBID memories of the boards. The EZConfigPRO Setup GUI is part
of the WDS program. This setup interface provides an easy path to quickly selecting and loading the desired
configuration for the Si406x, Si4362, Si446x, and Si4438 device. The EZConfigPRO Setup allows four different
methods for device setup. After the desired configuration is selected, the program gives the option to configure
directly the EZRadioPRO chip of the connected hardware, or to modify a selected example code with the
configuration and download it to the connected hardware. It is possible to export and save the example projects
and radio configuration file (radio_config.h) from the WDS. Using the header file generated by the WDS is highly
recommended. Manual editing in the header file may cause problems and prevent the radio from working correctly.
For more complete information on WDS and EZConfigPRO usage, refer to the WDS User's Guide. Figure 4 is a
summary of the WDS configuration workflow.

Содержание EZRADIOPRO Si4060

Страница 1: ...bs 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...

Страница 2: ...Part Number Dev Kit 4060 868 PDK 4063 915 PDK 4461 868 PDK 4438 490 PDK 4463 915 PDK RF Pico Board 4060 PCE10B868 1 pc 4362 PRXB868 1 pc 4063 PCE20B915 1 pc 4362 PRXB915 1 pc 4461 PCE14D868 2 pcs 4438...

Страница 3: ...dware 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...

Страница 4: ...pins of the radio In addition there are SMA connectors for the GPIOs of the radio for test equipment connection A USB communication interface as well as a built in Silicon Labs USB to C2 debug adapte...

Страница 5: ...connecting 1 25 1 5 V supply voltage to the VBAT pin and removing external power from the VDC pin The MCU will provide 1 9 V in default setting on its VDC pin to all the other connected loads Since th...

Страница 6: ...19 20 GND 8 VDD Voltage Supply input 1 17 18 VDD 11 NIRQ Interrupt output active low 10 7 P0 1 1 SDN Shutdown input active high 3 8 P2 3 15 NSEL SPI select input 6 6 P1 4 12 SCLK SPI clock input 9 5...

Страница 7: ...d through the CON1 and CON2 connectors 2 Insert a UPPI 930 RF MCU pico board in the connectors J5 J6 J7 J8 on the WMB The dotted corner of the C8051F930 MCU has to point to the triangle symbol on the...

Страница 8: ...sy path to quickly selecting and loading the desired configuration for the Si406x Si4362 Si446x and Si4438 device The EZConfigPRO Setup allows four different methods for device setup After the desired...

Страница 9: ...Packet Reception Custom Packet Transmission Custom Packet Reception Empty Project Select active project Open Radio Configuration Application in WDS Frequency and Power RF Parameters Packet Interrupt...

Страница 10: ...HEX file either by hitting the Download code Alt D toolbar button or from the Debug Download object code menu item 13 Hit the Disconnect toolbar button or invoke the Debug Disconnect menu item to rel...

Страница 11: ...e of the SiLabs IDE Makefile can be generated with the wsp2make exe utility It is only recommended for advanced users since it may need manual editing 5 5 Supported Compilers The projects come with on...

Страница 12: ...able the radio and put the device into the lowest power consumption state The radio has an interrupt output pin NIRQ which can be used to promptly notify the host MCU of multiple events The NIRQ pin i...

Страница 13: ...more properties 0x12 GET_PROPERTY Retrieves the value of one or more properties 0x13 GPIO_PIN_CFG Configures the GPIO pins 0x15 FIFO_INFO Access the current byte counts in the TX and RX FIFOs and pro...

Страница 14: ...mage 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 th...

Страница 15: ...l down the NSEL pin to monitor the status of CTS over the SPI port The 0x44 command ID has to be sent and eight clock pulses have to be generated on the SCLK pin During the additional eight clock cycl...

Страница 16: ...STATUS group The interrupt flag has to be read by issuing a GET_CHIP_STATUS or GET_INTERRUPT_STATUS command to clear the pending interrupt and release the NIRQ pin No other action is needed to reset t...

Страница 17: ...ew command is sent the radio keeps the response for the last request in the command buffer The host MCU can read the response several times in a new SPI transaction In such a case the response is alwa...

Страница 18: ...ter It is also possible to read out multiple FRRs in a single SPI transaction The NSEL pin has to be pulled low and one of the FRRs has to be addressed with the proper command ID Providing an addition...

Страница 19: ...e as many clock pulses on the SCLK pin as necessary for the radio to clock out the requested amount of bytes from the FIFO on the SDO pin Finally the host MCU should pull up the NSEL pin Figure 14 Rec...

Страница 20: ...essed the command i e resetting the TX_FIFO and it is ready to provide the response bytes of the FIFO_INFO command Therefore NSEL stays low and two dummy bytes are provided via SDI to read out the two...

Страница 21: ...l oscillator remains enabled reducing the time required to switch to TX or RX mode by eliminating the crystal start up time An automatic sequencer will put the chip into RX or TX from any state It is...

Страница 22: ...Response Time to TX RX 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 TX 130 s 132 s RX 120 s 108 s Note While the chip is in sle...

Страница 23: ...AN633 Rev 0 7 23 Figure 18 Supply Current versus Time Diagram from Shutdown to Standby State Figure 19 Supply Current versus Time Diagram from Shutdown to TX State...

Страница 24: ...AN633 24 Rev 0 7 Figure 20 Supply Current versus Time Diagram from Shutdown to RX State...

Страница 25: ...ow Once the reset is finished the radio sets the GPIO1 to the high state Next the radio device has to be sent to active mode by issuing a POWER_UP command via the SPI interface which takes approximate...

Страница 26: ...AN633 26 Rev 0 7 8 3 Radio Initialization with Generated Radio Configuration File 8 3 1 Radio Initialization with RF Parameters Figure 22 Radio RF Initialization Process...

Страница 27: ...ConfigPRO usage refer to the WDS User s Guide 8 3 2 Generated Radio Configuration File The configuration file is automatically generated by the Radio Control Application tool It is interpreted as a C...

Страница 28: ...mment lines describe how the C definition configures the dedicated API properties The C define line stands for the initialization command Set Multiple Properties starting with MODEM_MOD_TYPE Starting...

Страница 29: ...d structure is to build the appropriate format of the input parameter for the Si446x_configuration_init function The format of a line from the array is as follows Figure 25 One Element of the Radio Se...

Страница 30: ...hardware platform including the host microcontroller and also the radio chip it simply calls the hardware initial routine The radio chip initialization is started with a power on reset The radio modu...

Страница 31: ...e main directory bin Contains the SiLabs project files for Keil and SDCC compilers and the Makefile if the make tool is used instead doc Doxygen generated documentation based on comments inside the so...

Страница 32: ...lling various peripherals on modular HW platforms Registers can be initialized with pre configured settings and peripherals can be enabled to start stop their own processing The major tasks of these s...

Страница 33: ...d to initialize specific IO port for LED and PB Return Value None Note It has to be called from the initialization section Function Name void vCio_SetLed U8 biLedNum Description This function is used...

Страница 34: ...ut Parameter s biPrescaler Prescaler value of timer use predefined constants bTmr_Tmr2One_c bTmr_Tmr2Both_c wwiPeriod The duration of the timing biItEnable Enables timer IT if TRUE disables it if FALS...

Страница 35: ...are sequences of bytes the module has to be able to send and receive continuous byte stream There are some cases when either reading a single byte directly from the MISO or writing specified number o...

Страница 36: ...om SPI1 Input Parameter s biDataOutLength The length of the data Output Parameters s paboDataOut Pointer to the first element of the response Return Value None Function Name void vSpi_EnableSpi0 void...

Страница 37: ...ReadByteBitbangSpi0 void Description This function is used to read one byte from SPI0 using bitbang method Return Value Read byte Function Name U8 bSpi_ReadByteBitbangSpi1 void Description This functi...

Страница 38: ...id Description This function is used to initialize the Led handler Return value None Note Must be called from the initialization section Re initialization of LED Handler supported by the extended HMI...

Страница 39: ...of last pushed button s Function Name void vHmi_PbHandler void Description This function is used to handle push button management Return Value None Function Name void vHmi_ShowPbOnLeds void Descripti...

Страница 40: ...tion is used to handle buzzer management Function Name U8 Comm_IF_RecvUART U8 byte Description This function is used to receive bytes from UART Output Parameters s byte Pointer to the first element of...

Страница 41: ...he project by defining the following switches TIMER_DRIVER_EXTENDED_SUPPORT SPI_DRIVER_EXTENDED_SUPPORT HMI_DRIVER_EXTENDED_SUPPORT UART_DRIVER_EXTENDED_SUPPORT The control_IO and PCA modules are quit...

Страница 42: ...s sizes Table 7 Size Comparison of Common Software Modules Common Software Module Module Code Size Byte Size Optimization Minimal Driver Extended Driver Control I O 60 Not supported Timer 60 146 58 PC...

Страница 43: ...with the chip including the check for the CTS signal and automatically reads the response from the chip Thanks to the layered approach it can be easily ported to other architectures and platforms as i...

Страница 44: ...beginning of the bsp h header file then only the basic features are used It is sufficient for all example projects to work The rest of the features can be added to the driver in two levels with the fo...

Страница 45: ...tus si446x_get_chip_status si446x_ircal_manual si446x_protocol_cfg si446x_request_device_state si446x_tx_hop si446x_rx_hop si446x_start_tx_fast si446x_start_rx_fast si446x_get_int_status_fast_clear si...

Страница 46: ...ration_init const U8 pSetPropCmd Description This function is used to load all properties with a list of NULL terminated set property commands Input Parameter s pSetPropCmd First element of the list t...

Страница 47: ...U8 GPIO0 U8 GPIO1 U8 GPIO2 U8 GPIO3 U8 NIRQ U8 SDO U8 GEN_CONFIG Description Send GPIO pin config command to the radio and reads the answer into Si446xCmd union Input Parameter s GPIO0 GPIO0 configur...

Страница 48: ...Description The function can be used to load data into TX FIFO Input Parameter s numBytes Data length to be load pTxData Pointer to the data U8 Return Value None Function Name void si446x_read_rx_fif...

Страница 49: ...t Response Registers starting with C register into Si446xCmd union Input parameter s respByteCount Number of Fast Response Registers to be read Return value None Function Name void si446x_frr_d_read U...

Страница 50: ...r s SEARCHING_STEP_SIZE SEARCHING_RSSI_AVG RX_CHAIN_SETTING1 RX_CHAIN_SETTING2 Return Value None Function Name void si446x_protocol_cfg U8 PROTOCOL Description Sets the chip up for specified protocol...

Страница 51: ...eral lines of comments that identify the patch it contains the patch data lines eight bytes in a line Each line has to be sent to the chip as an eight byte long command A CTS reply has to be read from...

Страница 52: ...loying an example project from WDS it includes the necessary patch commands Si446X_PATCH_CMDS in the RADIO_CONFIGURATION_DATA_ARRAY automatically according to the selected chip version The patch comma...

Страница 53: ...the required handlers before using them The radio related tasks prepare the radio for the communication The shutdown state may be entered by driving the SDN pin high When coming out of the shutdown st...

Страница 54: ...ustomize the RF parameters of the continuous wave transmission Having initialized the radio with the required RF parameters the vRadio_Start_Tx function can start the continuous wave mode Figure 35 Ac...

Страница 55: ...the TX FIFO entirely The TX modulation data is applied to an input pin of the chip Data is not stored in the TX_FIFO for transmission at a later time The host MCU sends data to the radio Data can be...

Страница 56: ...O 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 Data is not stored in the RX_FIFO after the recepti...

Страница 57: ...s 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 The payload is a pre defined content namely BUTTONx where x...

Страница 58: ...emonstrate 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 s...

Страница 59: ...OUT0 OUT3 represent the four LED outputs F0 F1 represents the function bits Output functions are controlled by the function bits Function bits operations are shown on the following table Table 11 Str...

Страница 60: ...ink communication By default the two devices are in receiver mode and waiting for either a request message or a pushbutton event from the user When the first pushbutton is pushed on one of the WMBs it...

Страница 61: ...AN633 Rev 0 7 61 Figure 43 Two way Packet Flowchart Table 17 Structure of the Reply Message PREAMBLE SYNC WORD Payload CRC 32 40 bits 2 bytes 3 bytes 2 bytes...

Страница 62: ...boot mode for the MAC Figure 44 802 15 4g Bidirectional Example Code Functional Flowchart Some of the controls in WDS are limited or defaulted to certain values in order to have the right radio config...

Страница 63: ...e RX side will receive the packet and send back the ACK accordingly That is to say if a project is configured to send a packet with 16 bit CRC DW disabled it is still able to receive a packet with 32...

Страница 64: ...D LSB transmitted first Data from the RX FIFO 18 05 02 00 6A 3 3 byte payload CRC 32 DW disabled Data to the TX FIFO 00 E0 02 00 6A MSB PPDU 55 55 55 55 90 4E 00 07 40 00 56 5D 29 FA 28 LSB transmitte...

Страница 65: ...ever the receiver must obviously know in advance which byte s of the received packet represents the length value Furthermore these length byte s must be located in the packet before the variable lengt...

Страница 66: ...will be stored into the RX_FIFO or stripped off and not stored in the RX_FIFO In order to evaluate the capability of receiving variable length packets on the receive side the appropriate payload has t...

Страница 67: ...AN633 Rev 0 7 67 Figure 48 Variable Length Packet Reception Flowchart...

Страница 68: ...be located within the first 32 bytes following the end of the Sync Word It is also necessary that the offset of the match bytes be in ascending order The offset location of match 1 byte must be less t...

Страница 69: ...AN633 Rev 0 7 69 Figure 50 Packet Matching Reception Flowchart...

Страница 70: ...and hops in sequence from the top of the hop table to the bottom It stays on that particular channel for receiving a packet If no receiving packet arrives upon given conditions it will calculate a ne...

Страница 71: ...e then the radio starts to fill the payload into the RX_FIFO If the timer timeouts without detecting the sync word then the radio will hop to the next channel automatically The sync timeout is not con...

Страница 72: ...receive the packet independently on whichever channel it is transmitted The required minimum preamble length can be calculated as follows 1 If the RSSI timeout method is used 2 If the Preamble timeout...

Страница 73: ...AN633 Rev 0 7 73 Figure 54 Packet Reception with Automatic RX Hopping Flowchart...

Страница 74: ...ovide the pre calculated synthesizer arguments for the radio such as the integer divide and fractional number of the fractional N PLL the host MCU needs to handle manually how much time the radio will...

Страница 75: ...AN633 Rev 0 7 75 Figure 56 Packet Reception with Manual Rx Hopping...

Страница 76: ...g the button once prompts the radio to send the specified number of the same packets sequentially Figure 57 Continuous Transmission Flowchart This project is the transmitter side of the low duty cycle...

Страница 77: ...state If a valid preamble is not detected or an entire packet is not received the receiver returns to the Sleep state and remains in that mode until the beginning of the next RX state If a valid pream...

Страница 78: ...shold level can be set As for the TX side of the link the TX FIFO Almost Empty and Packet Sent interrupts has to be enabled during initialization Upon a button push the first 64 bytes are filled into...

Страница 79: ...hould actually occur a threshold level can be set As for the RX side of the link the RX FIFO Almost Full and Packet Sent interrupts have to be enabled during initialization After sending a START_RX co...

Страница 80: ...AN633 80 Rev 0 7 Figure 62 Long Packet Transmission Workflow...

Страница 81: ...AN633 Rev 0 7 81 Figure 63 Long Packet RX Flowchart...

Страница 82: ...y modulation type data rate deviation etc The payload is also customizable due to 5 configurable fields provided by the packet handler AN632 can provide information about the projects behavior and the...

Страница 83: ...ation Description Projects Cooperative Activity Standard Packet TX Manual Hop RX LDC TX LCD RX Long TX Long RX Standard Packet TX N A X X X X Manual Hop RX N A X X X X LDC TX X X N A X X LCD RX X X N...

Страница 84: ...ady state Figure 64 Structure of the Empty Project The porting of an example project to an MCU of choice can be done easily thanks to the layered approach of the project structure This reduces the eff...

Страница 85: ...es 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...

Страница 86: ...not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits The products are not designed or authorized to be used within any Life Support System without...

Отзывы: