>
图9所示为调度器的模块示意图。调度器负责及时修正 PHY 和快速数据路径 (Fast User Data Path) 的控制。调度器接收的信息来自网络分配向量 (network allocation vector, NAV)、指令表、时序计算器和定时器等额外模块。时序计算器模块计算帧的大小和调度器请求的持续时间。通过 ARM 外设总线 (APB) 可访问寄存器和指令表,在自动模式下,从指令表加载调度器指令。指令表包含了每一个 MAS 的行为,比如 TX 或 RX操作、突发模式或应答模式。
图10所示为单个MAS帧的发送示图。在发送周期开始时,调度器会发出命令启动该无线设备。软件必须确定帧够小,才有足够的空间留给保护时隙 (Guard Time) 和短帧间隔 (Short Inter Frame Spacing, SIFS)。
图11 所示为一个突发交易,两个帧在一个MAS时隙中被发送。这两个帧必须根据速率被帧间间隔 (IFS) 分开,至于MAS之末的SIFS和保护时隙,则上面的规则同样适用。
图12所示为一个即时应答交易。在交易之后,帧从 RX 切换到 TX 接收即时应答 (I-ACK)。如果 I-ACK 成功,在TX端点的帧便会清除掉。如果没有接收到I-ACK,调度器将暂停工作,帧将被标注为未发送。
MAC固件
UWB MAC固件执行三个协议层:链路控制层、MAC层和硬件访问层。
链路控制层
由于固件负责控制实时处理,故消息队列是必需的。消息队列按照循环链表执行,而置放 (Put) 和取得 (Get) 操作是独立进行的。链路控制层根据链路控制请求产生一个DRP信息单元 (IE) 请求。两个设备间的链路有固定的带宽。DRP 信息单元 (IE) 会描述保留的MAS (数据率等),并由MAC层控制。带宽大小取决于MAS数目、数据率、突发模式和应答策略。由于一个 MAS 内能发送的最大数据率依赖于接收到的信号强度,因此链路层需要调节保留的 MAS 数目,而链路层之间的通信会通过链路反馈IE完成。
MAC层
MAC 层负责资源管理。不同MAC间通过信标彼此通信,接收到的信标被解释,并创建一个自有的发送信标。信标周期占用 MAP (Beacon Period Occupancy MAP) 和 MAS 可用 MAP (MAS Availability MAP) 必须不断更新,及时反映出网络的分配状态。
硬件访问层
该硬件通过寄存器编程来配置。信标通信至少需要一个 RX 和一个 TX 端点。RX 端点必须接收所有信标帧,而这些信标会被存储在存储器中,因此可由固件处理。由于寄存器被存储器映像,故MAC的配置工作很容易。对于信标接收,需要对存储器中的一个环形缓冲器进行管理。当新的自有信标出现时,TX端点 0 必需被更新。
固件执行
图13阐释了在信标周期结束时该程序是如何执行的。在程序执行之后,一个新的自有信标就准备好被发送。固件处理通过 “信标周期中断” (‘Beacon Period Interrupt”) 的结束与超级帧同步。
图14显示了固件的主要任务,分为三部分:信标产生之前 (预),信标产生期间和信标产生之后 (后)。在信标产生期间,接收到的信标将被解释。首先,设备状态会被更新;然后,请求队列中的新请求就会被加载。设备只有在连接时才产生自己的信标。
固件支持的信息单元
迄今,下列的信息单元都可以由固件支持:
总结
本文介绍的原型产品配备了Realtek的RTU7010 UWB PHY评估模块。在320Mb的原始数据率和3m距离时,位误差率仅为0 - 1.5%。此外,传输还能够穿透30cm厚的砖墙而不会衰减。由于该设计是专门为医疗应用而开发的,故每年需求量小于1万。这样的批量规模不足以支持定制的无线电设计,所以在生产中采用了AboCom 公司基于RTU7010的UWB无线电模块:UWY6500。