CYW4343X
13. WLAN Software Architecture
13.1 Host Software Architecture
The host driver (DHD) provides a transparent connection between the host operating system and the CYW4343X media (for exam-
ple, WLAN) by presenting a network driver interface to the host operating system and communicating with the CYW4343X over an
interface-specific bus (SPI, SDIO, and so on) to:
■
Forward transmit and receive frames between the host network stack and the CYW4343X device.
Pass control requests from the host to the CYW4343X device, returning the CYW4343X device responses.
■
The driver communicates with the CYW4343X over the bus using a control channel and a data channel to pass control messages
and data messages. The actual message format is based on the BDC protocol.
13.2 Device Software Architecture
The wireless device, protocol, and bus drivers are run on the embedded ARM processor using a Broadcom-defined operating sys-
tem called HNDRTE, which transfers data over a propriety Broadcom format over the SDIO/SPI interface between the host and
device (BDC/LMAC). The data portion of the format consists of IEEE 802.11 frames wrapped in a Broadcom encapsulation. The host
architecture provides all missing functionality between a network device and the Broadcom device interface. The host can also be
customized to provide functionality between the Broadcom device interface and a full network device interface.
This transfer requires a message-oriented (framed) interconnect between the host and device. The SDIO bus is an addressed bus—
each host-initiated bus operation contains an explicit device target address—and does not natively support a higher-level data frame
concept. Broadcom has implemented a hardware/software message encapsulation scheme that ignores the bus operation code
address and prefixes each frame with a 4-byte length tag for framing. The device presents a packet-level interface over which data,
control, and asynchronous event (from the device) packets are supported.
The data and control packets received from the bus are initially processed by the bus driver and then passed on to the protocol
driver. If the packets are data packets, they are transferred to the wireless device driver (and out through its medium), and a data
packet received from the device medium follows the same path in the reverse direction. If the packets are control packets, the proto-
col header is decoded by the protocol driver. If the packets are wireless IOCTL packets, the IOCTL API of the wireless driver is
called to configure the wireless device. The microcode running in the D11 core processes all time-critical tasks.
13.3 Remote Downloader
When the CYW4343X powers up, the DHD initializes and downloads the firmware to run in the device.
Figure 46. WLAN Software Architecture
DHD Host Driver
SPI/SDIO
BDC/LMAC Protocol
Wireless Device Driver
D11 Core
13.4 Wireless Configuration Utility
The device driver that supports the Cypress IEEE 802.11 family of wireless solutions provides an input/output control (IOCTL) inter-
face for making advanced configuration settings. The IOCTL interface makes it possible to make settings that are normally not pos-
sible when using just the native operating system-specific IEEE 802.11 configuration mechanisms. The utility uses IOCTLs to query
or set a number of different driver/chip operating properties.
Document No. 002-14797 Rev. *H
Page 63 of 128