Skip to content

Commit 9e4e078

Browse files
PeterKietzmannjia200x
authored andcommitted
future considerations: cleanup, shorten
1 parent 31652c2 commit 9e4e078

File tree

1 file changed

+41
-53
lines changed

1 file changed

+41
-53
lines changed

doc/memos/rdm-draft-alamos-ieee802154-radio-hal.md

Lines changed: 41 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -848,59 +848,47 @@ typedef enum {
848848
A 802.15.4 HAL implementation MUST indicate all capabilities supported by the
849849
device and driver implementation.
850850

851-
# 7 Future proof considerations
852-
853-
The Radio HAL is designed to be agnostic to the 802.15.4 MAC version on top.
854-
However, it is important to mention that most radio devices are optimized for a
855-
single version of the standard. In practice, hardware accelerations are usually
856-
not interchangeable between different versions of 802.15.4. As an example,
857-
devices that support frame retransmissions for IEEE802.15.4 2006 don't support
858-
Enhanced Beacons required by the TSCH layer of the 2012 standard.
859-
860-
In order to implement future versions of the 802.15.4 standard, the radio HAL
861-
adapts some principles defined in the following sections
862-
863-
## Transmission modes
864-
865-
The HAL defines three transmission modes:
866-
- Direct transmission: the packet is sent immediately, without CCA or CSMA-CA
867-
- CCA transmission: the packet is sent using CCA
868-
- CSMA-CA transmission: the packet is sent using CSMA-CA
869-
870-
The "transmit" function provides a "mode" argument to specify which
871-
transmission mode should be used.
872-
873-
A HAL implementation can implement several TX modes, but MUST implement at
874-
least one.
875-
876-
It is recommended that a HAL implements the TX mode that fits best the internal
877-
capabilities. However, implementing "Direct Transmission" mode is desired for
878-
certain modes of the 802.15.4 MAC (slotted operation) or versions beyond the
879-
capabilities of the hardware.
880-
881-
As an example, radios that support frame retransmissions with CSMA-CA for
882-
IEEE802.15.4 2006 frames would benefit from a "CSMA-CA transmission" mode.
883-
However, a "Direct Transmission" implementation would be required to support
884-
TSCH (2012 standard) in those radios.
885-
886-
## PHY definition
887-
888-
PHY definitions are specific to a 802.15.4 version. Older standards use to
889-
define PHY channels with a channel number. In modern standards, channels are
890-
defined using a (`channel number`, `channel page` and `channel modulation`)
891-
tuple.
892-
893-
The `config_phy` function receives a pointer to a `ieee802154_phy_conf_t`
894-
structure that describes the PHY configuration. The proposed structure is
895-
compliant with the 2012 standard. In order to support the 2015 standard, a
896-
channel modulation member can be added at any time without breaking the Radio
897-
HAL API.
898-
899-
## Functionalities specific to modern standards
900-
901-
The Radio HAL ops can be extended to support certain functionalities present in
902-
newer standards, such as Listen Before Talk (supported by SubGHz radios).
903-
851+
# 7 Future Proof Considerations
852+
853+
The Radio HAL is designed to be agnostic to different versions of the
854+
IEEE802.15.4 standard. A single radio device typically implements hardware
855+
acceleration for only one standard, whereas different standards are not always
856+
compatible. As an example, IEEE802.15.4--2006 devices do not support Enhanced
857+
Acknowledgement packets which are required by the TSCH layer of
858+
IEEE802.15.4--2012. For compatibility, a software MAC can provide such
859+
functionality. The Radio HAL adapts considerations to enable different versions
860+
of the IEEE802.15.4 MAC on top of the abstraction layer.
861+
862+
### Transmission Modes
863+
864+
The Radio HAL interface defines three transmission modes to allow sending
865+
frames using (i) CSMA-CA, (ii) CCA, or (iii) directly without any protection.
866+
In that way, a MAC layer can easily send data frames benefiting from hardware
867+
accelerated CSMA-CA or Beacons that have to meet timing constraints and thus,
868+
require a direct send function.
869+
870+
A HAL implementation can provide several transmit modes, but it MUST implement
871+
at least one. It is recommended that the implementation provides modes that
872+
exploit the internal devices capabilities. Implementing a direct mode is
873+
desired for software MAC layers on top.
874+
875+
### PHY Definition
876+
877+
PHY definitions are specific to a IEEE802.15.4 version. As an example, older
878+
standards define PHY channels with a `channel number`. In modern standards,
879+
channels are represented using a (`channel number`, `channel page`, `channel
880+
modulation`) tuple. The `config_phy` function is called with a pointer to a
881+
`ieee802154_phy_conf_t` structure which describes the PHY configuration. In
882+
order to support newer versions, this structure can be extended without braking
883+
the Radio HAL.
884+
885+
### Future Radio Operations
886+
887+
The Radio Operations interface `radio_ops` can be extended to support
888+
functionalities of newer standards. As an example, most SubGHz radios support a
889+
Listen Before Talk feature that can be implemented as a new and optional
890+
operation
891+
.
904892
# 8 Acknowledgements
905893

906894
Thanks to Peter Kietzmann, Leandro Lanzieri and Martine Lenders for their

0 commit comments

Comments
 (0)