3. MAC
Mac Layer规定需实现以下功能:
——信标的收发处理
——网络关联与取消关联
——设备安全认证
——CSMA-CA机制
3.1 MAC 软件模型
MAC被抽象成两个功能块:MCPS和MLME
3.1.1 MCPS功能块解析
<MAC PDUs generation>
分为DATA FRAME、Check FRAM和BEACON FRAM。
<AES-128 CCM encryption mode>
加密。
<CSMA/CA mechanism>
冲突避让机制。QOS根据退避的次数计算。具体避让流程,参考IEEE 802.15.4-2006.pdf 小节7.5.1.4 CAMA-CA algorithm。
<ACK mechanism>
应答机制。
<PAN addressing>
网络寻址。
<Device addressing(Long/Short)>
设备寻址。
3.1.2 MLME功能块解析
<Action scan>
网络查找、加密认证等流程。G3网络的组网基本上都在此进行实现。
<MAC PIB management>
MAC 网络基本信息管理。
<MAC/PHY reset>
重置MAC/PHY。
3.2 MAC PDUs generation分析
3.2.1 General MAC Frame Format(通用MAC帧格式)
值得注意的是G3的MAC帧与IEEE 802.15.4-2006标准的通用MAC帧存在差异。不同点在于MHR前面增加了3个字节长度的Segment Control(段控制)。
IEEE 802.15.4-2006 MAC帧格式
G3-PLC MAC帧格式
3.2.1.1 Segment Control(段控制)
TMR:子载波映射请求,关于子载波和子带宽的选择适应问题,此处不讨论。
LSF:结束端标志位,应用于底层自动分包
3.2.1.2 Frame Control
Frame Type:表明当前帧是Beacon、数据或命令帧。参考Table 79。
Security Enabled:认证帧使能
Frame Pending:挂起帧标识
Ack Request:应答帧请求
PAN ID Compression:压缩PANID,在G3 PLC中,很少使用跨PAN的通讯,因此正常通讯时该 bit = 1
Dest Addressing Mode/Soure Addressing Mode:长短地址或提供PanID的选择,参考Table 80。
3.3 入网流程分析
G3的网络是一个自下而上的组网结构,它以功能的方式把网络设备分成了3种类型:
LBS(LoWPAN BootStrapping Server):即G3网络的路由、中央协调器或者说主节点。负责网络的建立、管理和维护。
LBA(LoWPAN BootStrapping Agent):入网代理节点,已入网的节点皆可成为代理节点,可看作为中继器。该节点可以中继其他未入网节点的入网请求。
LBD(LoWPAN BootStrapping Device):待入网设备。
LBD只要符合以下条件即可加入到任意一个G3网络。
条件1:存在PAN,换而言之有一个LBS设备创建了网络。
条件2:LBD和LBS拥有相同的PSK。
3.3.1 入网流程图
简要说明:
- LBD发送Beacon Request
- 接收到LBD请求的并已入网的LBA响应Beacon
- LBD选择合适的Pan向LBS发送入网请求
- LBD与LBS关联完成后,LBS和LBD之间的通讯使用加密通讯
我认为想要获得合格入网效率,以下几点需要在应用上多加思考和尝试。
- LBD接受到的Beacon可能存在多个Pan,可以理解为我们现场的台区串扰,如何选择到你想要的Pan
- 相同Pan之下如何选择合适的LBA
- 当网络上规模之后,如何保证入网效率和成功率。可简单的理解为Beacon、BeaconReq和Message之间如何避免冲突。