USBdongle协议.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
USBdongle协议

USB dongle与PC程序之间的通信例子说明 简介 USB dongle和PC之间使用USB相连,并在PC上虚拟成一个串口。PC程序通过使用相应的协议读写该串口,从而操作USB dongle。 USB dongle在PC之间起到收发数据的功能: USB dongle接收来自PC的数据发送命令,从中解析出目的地址和数据内容后,将数据发送到该地址的USB dongle; USB dongle在接受来自其他USB dongle的数据包后,从中解析出目的地址、源地址、数据内容等信息,并将这些信息发送到PC 串口通信协议 通信模式 USB dongle和PC之间以包的形式进行通信。这是通过在原始的基于字节流读取和写入的串口的基础上,使用特定的组包结构,对串口中所传输的数据进行封包,使用包的方式进行串口两端设备之间的数据传输。 这种基于串口包的数据传输方式将串口两端的设备(此处分别为PC程序和USB dongle)看做一个拥有唯一地址标识(PAN和短地址)的通信设备,并在串口包中携带该串口包所对应的目标地址和源地址。 使用串口包的通用格式,PC程序和USB dongle之间可以进行各种数据的交互(数据被存放在有效载荷中),从而实现相应的功能: 通信协议 串口包格式 串口包的包格式如下: 字段 名称 前导 字符 包 长度 序 号 目标 PAN 目标 短地址 源 PAN 源 短地址 包 类型 端 口 有效 载荷 CRC 校验 字节 长度 2 1 1 2 2 2 2 1 2 n 2 各个字段的说明如下: 前导字符:用于标识一个包的开始,内容为0xF0F0 包长度:包括从“序号”到“有效载荷”的长度 序号:取值0到255,总是递增(255?0除外) 目标PAN/目标短地址:串口包的目的地址 固定为0xFFFF / 0xFFFF 源PAN/源地址:串口包的源地址 PC发包到USB dongle时,总是填写 0 / 0 USB dongle到PC的串口包中,该两字段为USB dongle的地址 包类型:固定填写0x11(不会收到包类型不是0x11的串口包) 端口: 发送串口包到USB dongle时固定填写8080(10进制) 接受串口包时,过滤(忽略)端口不是8080的串口包 CRC校验:从“序号”到“有效载荷”的CRC16校验。该CRC校验代码可在Demo程序中找到。 节点功能 USB dongle和PC之间的通信协议主要包括如下三个功能: 获取USB dongle的节点地址 使用USB dongle发送数据 USB dongle将接收到的其他节点的数据发送到PC 下面所述的USB dongle和PC程序所发送的各种信息,都是指在串口包中的有效载荷中的内容,而串口包本身的结构式固定的。必须先将命令和串口包的包头等额外内容一起打包成串口包,并通过串口发送。 获取USB dongle的节点地址 通信过程: PC端发送:’ga’(2个字节) USB dongle回复:’100 PanId 短地址’ 注意事项: PC程序应该在启动后就获取节点的PANID和短地址,从而获知自己的地址,并且相互之间进行通信 命令和回复都是以字符串的形式发送和返回,其中PanId和短地址以16进制表示 USB dongle的回复分为以空格分隔的3个部分,其中: 第一个值为错误码,’100’代表命令执行正确(参见PPT末尾的错误码列表) PanId为USB dongle的PanId 短地址为USB dongle的短地址 使用USB dongle发送数据 通信过程: PC端发送:发送命令包 USB dongle解析并进行发送 USB dongle将发送结果返回到PC 发送命令包结构: 发送结果返回:‘100’ 注意事项: 无法确定对方是否成功接收 使用USB dongle接收数据 USB dongle在接收到数据时,就将所收包的信息发送到PC。 USB dongle发送到PC的数据回显包结构: 注意事项: 数据回显中没有源PAN的字段,无法得到发送者的PANID 串口编程 需要使用串口库进行串口的读写。Demo程序中有现成的一个串口库。 如何连接串口 首先需要安装USB dongle的驱动 按照如下配置打开串口 串口号:查看设备管理器获得 波特率:230400 数据位:8 校验位:无 停止位:1 如何发送串口包 将发送命令、获取地址命令等有效载荷封装在串口包中,然后通过串口操作函数发送到串口 必须保证串口包中字段的正确性 参考前面的“通信协议-串口包格式” 如何接受串口包 程序必须解析来自串口的字符流,从而读取串口包 注意事项 不能保证一个串口包的数据在一次串口消息(串口读取)中全部获得 程序必须过滤端口不是8080的串口包,因

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档