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 示例桥

下行链路字节数:244
上行链路字节数:980

TLV 请求

类型

长度

价值

0x37

0x02

downlink_byte_cnt = 下行数据大小 (244 字节)

0xF4 0x00

类型0x37 表示指令 dwm_backhaul_xfer

此调用在 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

类型0x64表示下行链路数据块nr.1
类型0x65表示下行链路数据块nr.2
类型 0x68 表示下行链路数据块nr.5
类型0x6E表示上行链路数据块nr.1
类型0x6F表示上行链路数据块nr.2
类型0x72表示上行链路数据块nr.5