博大精深 细致入微
WirelessHART数据链路层简介
2025-07-15
概述
数据链路层检测和校正物理层中可能发生的错误,从而为网络节点之间提供可靠的数据传输。数据链路层的主要任务是创建和管理数据帧,其通常被细分为2个子层:逻辑链路控制(LLC)子层和介质访问控制(MAC)子层。逻辑链路控制子层为网络层定义服务,而介质访问控制子层定义多个节点如何分享通信介质。
数据链路层规范包括:
1. 数据链路层为网络层提供的服务。这些服务构成了一个数据链路层要求的黑盒模型。
2. 逻辑链路控制子层的要求包括:HART帧格式、HART设备地址结构、用于信息完整性的安全服务和错误检测代码。
3. 介质访问控制子层定义的规则确保了众多设备都能有序地发送数据。换句话说,介质访问子层规定了设备什么时候被允许发送一个数据
4. 满足介质访问控制子层正确操作的实际时间值。这些实际时间值直接反应了些物理层性能特征(如信道评估时间、发送/接收状态机转换时间)。
数据链路层服务
· 报文服务原语
报文服务原语提供了支持设备间基本数据传输的服务。数据链路层也必须允许报文队列。协议也支持自动重传以确保准确的数据交换。
1.发送服务原语
TRANSMIT.request(handle, payload, priority, timeout, graph),设备的网络层使用此服务原语,将数据传输到另一台设备
TRANSMIT.confirm(handle,localStatus),该服务原语传达之前发出的请求的结果。
TRANSMlT.indicate(localStaus, priority, sourceAddress, payload),该服务原语由数据链路层调用,以通知网络层已成功接收了寻址到设备的有效载荷。
FLUSH.request(handle),删除指定的数据包。
FLUSH.confirm(handle,localStatus),表示数据包是否删除以及何时被删除。
2.网络事件服务原语
PATH FAILUER.indicate(localStaus, SourceAddress),通知与此设备连接的另一台设备的路径已失效。
ADVERTISE.indicate(localStatus, AdvertisePayload),此服务原语在接收到广告包时产生。
NElGHBOR.indicate(localStatus, souceAddress, packetRSL),每当设备从未列在邻居表中的设备接收数据包时,应生产此服务原语。
3.接收服务原语
RECEIVE.indicate(localStatus, packetRSL, payloadDLPDU),该服务原语表示收到了一个未寻找到该设备的帧。
· 管理服务原语
管理服务原语即可用于配置数据链路层,也可以用于访问数据链路层的统计信。
LOCAL_MANAGEMENT.request(service,[data]),此服务用于配置数据链路层属性。
LOCAL_MANAGEMENT.confirm(service,status, [data]),该服务用于返回之前请求的结果。
LOCAL_MANAGEMENT.indicate(service,status,[data]),该服务用于向 LOCAL MANAGEMENT通知未请求的MAC子层事件。
逻辑链路控制
· DLPDU
每个数据链路层数据报文(DLPUD)都包含以下一些字段
· 定值为0x41的单字节
· 1个字节的地址说明符
· 1个字节的序列号
· 2个字节的网络号
· 2个字节或8个字节长度的目标地址和源地址
· 1个字节的DLPDU说明符
· 数据链路层载荷
· 4个字节的消息完整性代码(MIC)
· 2个字节的CRC校验
图1 DLPDU帧结构
1.DLPDU分类符
DLPDU分类符规定了优先级、报文类型、是否使用网络密钥或公共密钥认证报。
图2 DLPDU分类符定义
2.加密的消息完整性代码
加密的消息完整性代码(MIC)用于数据链路层的DLPDU认证。设备仅响应通过认证的单播和非确认DLPDU。
· DLPDU优先级和流控制
DLPDU分类符定义了4种优先级。具有最高命令优先级的网络管理数据报文总是优先被传送,以便网络管理器维护网络的运作。为了防止报警泛滥破坏网络的运行,报警报文在网络中的流动被进行了严格的限制。由于报警总是以时间标记,所以相关信息(如故障时序)不会丢失。最后,当缓冲空间和网络带宽允许时,所有其他网络数据都可以在网络中流通。在这些网络流量中,过程数据有一定的优先级。过程操作和控制的优先级仅次于防止网络通信中断操作的优先级。
· 错误检测代码和安全
加密的MIC用于确保DLPDU来源于一个被授权和认证过的设备。DLPDU本身是不加密的,但是它的内容是通过MIC来认证的。
公共密钥和网络密钥是数据链路层的2种密钥。公共密钥用于广播和新设备入网的时候使用,而网络密钥用于所有其他的数据交换。
介质访问控制
介质访问控制子层的主要目标是维护时隙同步、识别出必须被服务的时隙、侦听来自于邻居设备的数据、相应地将网络层传递来的数据转发出去。
· 时隙
时隙内的所有操作都需要满足规定的时间要求。下图所示为一个通信时隙,同时也概述了时隙内通信的事务时序。
图3 通信时隙
表1 时隙内通信的时序符号
· 通信表和缓冲区
所有设备都维护着一系列通信表。这些通信表用于控制所有设备的通信和收集这些通信的统计信息。此外,数据报文在接收、处理和转发的过程中可能需要被缓冲起来。
控制通信行为的表包括:
1. 超帧表: 网络管理器可能配置多个超帧。
2. 链路表: 与某个设备相关的所有链路的列表。超帧中的每个链路都被配置成用来与某个特殊邻居设备通信,或者广播给所有在这个链路中处于侦听状态的设备。
3. 邻居表: 邻居表是某个设备所有邻居设备的列表。
4. 图表: 图用于源设备到目标设备之间的数据包路由。设备并不知道整个路由路径。然而,图指明了下一跳目标设备,这样数据就可被依次传递至最终目标设备,
· 链路调度
所有设备都必须维护一个链路调度以识别下一个时隙所对应的服务。时隙所对应的服务既包括侦听一个新数据包,又包括通过网状网络转发一个数据包。当一个时隙同时要被用于发送一个数据包和接收一个数据包的时候,发送数据包比接收数据包的优先级高。
链路调度表面上看起来简单。然而,由于事务优先级、链路变换、超帧的使能或不使能等诸多原因,链路调度实际上很复杂。每个影响链路调度的事件都可能会引起大范围的链路重新分配。
中科博微的智能无线产品采用专注于过程自动化的WirelessHART无线技术,具备自组网、自修复、低功耗、数据加密等特点,确保可靠的运行以及灵活和快速的安装。通过我们的无线模块、无线网关、无线适配器、无线温度变送器等产品可快速实现复杂工业现场的数据采集、过程监控、设备运维与诊断。中科博微的智能无线产品已成为国内终端客户的首选工业无线通信方案,国际知名企业也纷纷加入合作的行列中,已经在石油化工、电力、冶金、机械制造等领域得到广泛应用。
工业互联网接入点
中科博微致力于工业物联网产品的研发、生产、销售和集成应用。
拥有国内第一、国际第三个通过国际认证的现场总线协议栈,国内第一个通过国际认证的现场总线仪表,国内第一个网络化控制系统示范应用,国内第一个通过国际认证的功能安全仪表,国内第一个通过国际认证的无线HART产品等。
中科博微是工业物联网、工业自动化领域国家重要科技计划项目的主要承担单位之一,多年来承担了多个国家科技重大专项,国家高技术研究发展计划(863计划),智能制造装备发展专项等国家科技计划项目。
公司在技术能力、技术成果及技术储备方面积累了丰富的经验,拥有一批实力雄厚的研发团队,为公司产品的持续发展保驾护航。
<< 上一页
下一页 >>