dwm_backhaul_xfer
写入下行链路数据并读取上行链路数据块. DWM 模块必须配置为网桥. 上行链路数据和下行链路数据被编码为 TLV 帧,并通过 SPI 接口进行传输,如上文所述. SPI 主站通过**downlink_byte_cnt**告诉从站要传输多少个下行链路字节. 从站在第一次 SPI 传输中读取**downlink_byte_cnt**. 从站在读取下行链路数据时,已经准备好向主站传输一些上行链路数据. 要同时从主站向从站传输下行链路数据和从站向主站传输上行链路数据,从站必须计算出需要多少字节和 SPI 传输量. 主站在第二次 SPI 传输中读取字节数和传输数. 最后,执行传输,同时传输上行链路和下行链路. 目前支持的最大传输次数为 5 次,最大有效载荷为 253 字节,即 255 -(TLV 标头的大小). 一次调用 dwm_backhaul_xfer 最多支持 5 个上行帧和 2 个下行帧.
-
void dwm_backhaul_xfer(uint16_t, uint8_t*)
- 参数
input – downlink_byte_cnt, {downlink_chunk}
downlink_byte_cnt – 16 位无符号整数(不含 TLV 标头的下行链路数据字节数,最大 506 字节)
downlink_chunk – 最大 253 字节(作为下行链路发送到从属设备的不透明数据,最多 2 个数据块)
output – {uplink_chunk} (最多 5 个上行链路数据块)
uplink_chunk – 最大253字节(不透明数据作为上行链路发送到主站)
C代码示例
用户应用程序不可用.
** UART 示例**
UART 接口不可用.
SPI示例(桥接除外)
TLV 请求 |
||
---|---|---|
类型 |
长度 |
价值 |
0x37 |
0x02 |
downlink_byte_cnt = 下行数据大小 (244 字节) |
0xF4 0x00 |
类型0x37 表示指令 dwm_backhaul_xfer
TLV 响应 |
||
---|---|---|
类型 |
长度 |
价值(参见错误代码) |
0x40 |
0x01 |
0x02 |
SPI 示例桥
TLV 请求 |
||
---|---|---|
类型 |
长度 |
价值 |
0x37 |
0x02 |
downlink_byte_cnt = 下行数据大小 (244 字节) |
0xF4 0x00 |
此调用在 TLV 请求之后,有数量不定的连续传输. 请参阅 SPI 接口上的 API 描述..
TLV下行链路编号1,2,3,4,5 |
||
---|---|---|
类型 |
长度**(244字节)** |
价值 |
0x64 |
0xF4 (244) |
下行数据块 1 |
0x65 |
0x00 |
空 |
0x66 |
0x00 |
空 |
0x67 |
0x00 |
空 |
0x68 |
0x00 |
空 |
TLV 上行链路编号 1,2,3,4,5 |
||
---|---|---|
类型 |
长度 (980 字节) |
价值 |
0x6E |
0xFD (253) |
上行链路数据块 1 |
0x6F |
0xFD |
上行链路数据块nr.2 |
0x70 |
0xFD |
上行链路数据块 nr.3 |
0x71 |
0xDD (22#. |
上行链路数据块 nr.4 |
0x72 |
0x00 |
空 |