This is a little tip for LDC Rx mode operation on Si446x that could possibly save you some frustration. When LDC Rx is running do not attempt to change the state of the radio without stopping the LDC Rx operation first. These attempts may lead to unexpected and funny behavior.
After LDC Rx is enabled the radio state machine will automatically enter into LDC Rx mode and will stay there until LDC Rx is disabled. No START_RX command is needed to start the operation, and it follows than that the automatic state transitions as defined by the START_RX command will not take place either.
If an action including a state change (i.,e Tx operation) is required upon either packet reception or a timeout event in LDC Rx mode, disable first LDC Rx and then proceed.
For enabling LDC Rx operation the WUT (Wake Up Timer) must be enabled too. As both bit fields that enable LDC Rx (WUT_LDC_EN) and the WUT (WUT_EN) reside in the same property (GLOBAL_WUT_CONFIG) one write to this property that enables both is a legitimate way of starting LDC Rx.
For disabling LDC Rx it is enough to disable LDC Rx only (in field WUT_LDC_EN) but disabling the WUT too (in field WUT_EN) will not make any harm either.
I am considering purchasing a standalone SEGGER J-Link Plus to develop my solution using a Silicon Labs Wireless MCU, but I see that your Wireless Starter Kit (WSTK) includes an on-board J-Link debugger that can be used to target an external target device (instead of the MCU mounted on the WSTK). What is the difference between these two J-Link variants?
Both options are highly capable solutions, and we've had many customers using one or the other successfully bring to market wireless projects. There are some differences however that may help inform your decisions as you establish your development platform:
Note: SWO is supported - using either J-Link option - within Simplicity Studio. The IDE comparison page at https://www.segger.com/jlink-ide-integration.html currently states that Simplicity Studio lacks this support - this is inaccurate and will be corrected soon.
What compilers are supported with Connect?
Silabs Wireless software is compiled using the IAR Integrated development environment and (in case of the EFR32 platfrom) GCC optimizing C/C++ compiler for ARM Cortex-M.
Also if GCC is supported, it should always work with the GCC version shipped with Simplicity Studio.
|Stack version||Compiler version||Compiler version|
|Connect SDK v2.0.0 for EFR32||EWARM 7.30.1||GCC 4.9.3|
|Connect SDK v2.0.0 for EZR32||EWARM 7.30.1||N.A.|
What is the selectivity and how could it be measured?
Selectivity tells how many dBs above the wanted signal level the receiver can tolerate a blocker signal while still maintaining the minimum sensitivity criterion.
Choosing the variable frame length algorithm is an option whereby the frame length information is available in the frame itself. This feature is especially valuable at the Rx side as frames with dynamically changing lengths can be received without any software intervention.
When variable frame length algorithm is selected various parameters must be configured on the packet tab.
In the IEEE 802.15.4 profile, the length byte is the first byte of the payload and it also covers the CRC length of the packet, which is 2 bytes.
In the Bluetooth LE Profile the length byte is the second byte of the payload.
How can I set up a one way link with the Si4010 Key Fob Development Kit (P/N 4010-KFOBDEV-xxx)? (xxx is the frequency band of the kit)
Setting up the Si4010 MSOP Key Fob Development Board (P/N 4010-DKPBxxx-BM) as the transmitting node of the link.
Note, that the Si4010 is an OTP device, but during this test it is used in debug mode, i.e. the example program is loaded in and run from the RAM of the device, so
fDesiredFreqFSK = f_433_RkeFreqFSK_c;
bFskDev = b_433_RkeFskDev_c;
The constants for the different bands are defined in the keyfob_demo_2.h file.
Setting up the Si4355 RFStick Receiver Board (P/N 4355-LED-xxx-SRX) as the receiving node of the link.
After power up the board is ready to receive the packets sent by the keyfob_demo_2 program.
The operating frequency is set by the receiver program automatically according to the content of the on-board EBID (board identification) memory.
Operating the link:
When a button is pressed on the 4010-DKPBxxx-BM transmitter board, LEDs flash on the 4355-LED-xxx-SRX receiver board according to which button was pressed. For details of the packet structure and RF parameters used in this demo, see the Si4010/Si4355 EZRadio® Remote Control Demo Kit User's Guide
Note that the LED on the transmitter board won't flash because of a debug mode limitation. See details in section 7. of the kit's quick start guide (AN690).