![]() |
WL865E4-P
36.07.001
|
The WL865E4-P module is a fully integrated dual-band, dual-mode, combo Wi-Fi (802.11 a/b/g/n) / Bluetooth Low Energy (BLE) 5.0 module, that provides an easy and cost-effective way for the users to add wireless connectivity to their products. The WL865E4-P module is based on an integrated tri-core system-on-chip, with dedicated CPU’s for IoT application, Wi-Fi and BLE to maximize performance. The module delivers advanced features from the Network IoT Connectivity Platform, including virtually seamless coexistence across technologies with pre-integrated support for AWS IoT Software Development Kit (SDK) and for Microsoft Azure IoT Devices SDK to connect with Azure IoT Hub.
The SoC integrates a ARM Cortex-M4 processor for application processing, Cortex M0 for network stack processing, and a separate processor for Wi-Fi stack designed to enable a highly concurrent multiple radio solution. Also, incorporated in the SoC are a Real-Time-Clock (RTC), flash memory controller (for on-module flash memory), and a number of peripherals which can be controlled via: UART, SPI, SDIO, PWM, GPIO, I2S and I2C.
The WLAN CPU controls the 802.11 radio transceiver and implements the 802.11 PHY and MAC protocols, including quality-of-service and encryption/decryption. WL865E4-P APP CPU software architecture is designed to work with ThreadX Real Time Operating System (RTOS). The RTOS manages CPU resource allocation to multiple simultaneous tasks, using semaphores, message queues, and other standard RTOS capabilities. The third-party network stack is also used to provide standard network sockets and functions. The Embedded Platform Software runs on top of the RTOS and provides the User Application with a number of API functions and structures to greatly simplify access to the various capabilities of the SoC.
WL865E4-P module's architecture is organized into seven basic service groups:
WL865E4-P modules provide a variety of helpful functions that enable the User Application to take advantage of the various capabilities of the SoC, including versatile power management, interaction with the 802.11 radio functions, and networking over the 802.11 link or a serial connection. 36.07.000 is designed as an object-oriented environment. Since, C does not provide native support for classes and instantiation, each object's properties are explicitly defined as a structured type, the handle for that object, with specific instances of the handle representing object instances. A specific instance of the object structure can be passed into asynchronous function calls, so that when an operation is completed and the callback function is called, it is associated with the appropriate instance of the calling object.
On power ON, the primary boot loader in the ROM code starts executing. This code executes the secondary boot loader in the serial flash and does basic hardware initialization and ThreadX RTOS initialization. Once this is done a thread is created and app_start API is called from this thread context. User must start implementing its functionalities on this API. It is recommended to create a new thread for the user application. The module makes use of the real-time-operating system (RTOS), and the network stack socket utilities.
A firmware consists of images for each core. The module consists of two firmware blocks, one is for current and the other is for the Firmware Upgrade. The first two flash sectors consists of the FW Descriptors which provides details about the images in the firmware and the location of the firmware. During the Firmware upgrade, the new firmware is copied to the location other than the current firmware location. If the newly loaded firmware is determined to be functional, it may be promoted, so that it becomes the “Current” Firmware.