The Host Controller Interface protocol is designed
to expose the firmware services to an external host controller.
A detailed feature description is given in corresponding HCI specification.
HCI minimizes transmission and processing time due to its binary character in comparison
to an ASCII based protocol.
The communication between host and the radio is based on HCI messages which can be sent
through a UART interface.
The HCI protocol defines three different types of messages:
1.
Command Messages: always sent from the host controller to the radio module to trigger
a function.
2.
Response Messages: sent from the radio module to the host controller to answer a preceding
HCI request message.
3.
Event Messages: can be sent from the radio module to the host controller at any time
to indicate an event or to pass data which was received over the radio
over the radio link from a peer device.
An HCI message consists of a “Destination Endpoint Identifier” and a ”Message Identifier”.
The “Destination Endpoint Identifier” is used to separate between groups of functionalities,
like “Device Management” or “LoRaWAN Radio Services”.
The functionalities within a group are distinguished by “Message Identifiers” followed by the
payload of the corresponding message.
The HCI messages are protected by a 16 bit Frame Check Sum.
Afterwards the binary bit stream
is SLIP (Serial Line Interface Protocol) encoded.
There are 2 endpoint identifier:
- Device Management Endpoint Identifier - LoRaWAN Endpoint Identifier
Message Identifier identifies a specific type of message and is used to trigger a corresponding
service function or to indicate a service response or event when sent to the host controller.
This example shows the output of a request for Get Firmware Information,
which corresponds to the Device Management Endpoint Identifier 0x05.
The downlink message contains the following information:
- Endpoint and Message ID. - Status byte.
- Firmware information field which contains:
- FW version: In this case 1.16 which correspond with 1001
- Build counter: 72 which correspond with 4800 in Hex.
Then the date of this version, the Name of Firmware integrated LoRaWAN radio stack
band support and application, separated by semicolon
All of these parameters are defined in WiMOD LoRaWAN EndNode Modem HCI Specification.