文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>与硬件通信的协议文稿模板

与硬件通信的协议文稿模板

时间:2011-05-07  来源:跨越网络工作室

一、   通信方式

1、 采用3线简易RS-232半双工方式。

2、 通讯波特率为38400b/s

3、 通讯数据帧格式:8位数据位、无校验位、1位停止位、如“38400,N,8,1”。

 

二、   基本帧格式定义

 

1、基本帧格式为发送方和接收方双方通用的帧格式,格式为

 

起始字

帧控制字

帧长度

目的地址

源地址

有效数据

XOR校验

结束字

1 Byte

(BB)H

1 Byte

1 Byte

2 Bytes

2 Bytes

N Bytes

1 Byte

1 Byte

(EE)H

 

起始字

       固定为0xBB,占用1字节

帧控制字

          

帧类型

包连续标记

应答请求标志

包序号

bit 7,6

bit5

bit4

bit3- 0

其中,

帧类型 (bit7,6)  =  00  数据帧

                        01 命令帧

                        10  数据应答帧

                        11  命令应答帧

帧连续标记 (bit5) =1  表示此帧后面还有连续的帧,

=0 表示单独一帧或连续帧的最后一帧

应答请求标志(Bit4)=0   不需要应答

=1 需要应答

包序列号(Bit3-0) = 0~F 包序号相互独立,第一帧的序列号为0,从0~F递增,当序列号为F时,下一帧的序列号为0,以此循环。

根据帧控制字可以有以下类型的帧:

(“|”表示或,如0x30|包序列号,表示0x30和包序列号相或)

数据帧

连续数据帧

需要应答

00110000 (0x30) | 包序列号

不需要应答

00100000 (0x20) | 包序列号

单独数据帧或连续帧的最后一帧

需要应答

00010000 (0x10) | 包序列号

不需要应答

00000000 (0x00) | 包序列号

命令帧

连续命令帧

需要应答

01110000 (0x70) | 包序列号

不需要应答

01100000 (0x60) | 包序列号

单独命令应答帧或连续帧的最后一帧

需要应答

01010000 (0x50) | 包序列号

不需要应答

01000000  (0x40) | 包序列号

数据应答帧

连续数据应答帧

需要应答

10110000 (0xB0) | 包序列号

不需要应答

10100000 (0xA0) | 包序列号

单独数据应答帧或连续帧的最后一帧

需要应答

10010000 (0x90) | 包序列号

不需要应答

10000000 (0x80) | 包序列号

命令应答帧

连续命令应答帧

需要应答

11110000 (0xF0) | 包序列号

不需要应答

11100000 (0xE0) | 包序列号

单独数据帧或连续帧的最后一帧

需要应答

11010000 (0xD0) | 包序列号

不需要应答

11000000 (0xC0) | 包序列号

       

帧长度

      从起始字到结束字所有有效字节数

目的地址

帧发送的目的地址,即接收方的地址,2字节

源地址

帧发送方地址,即本机地址,2字节

 

系统为每台设备分配一个从机地址,地址范围从0-255,其中地址0保留,地址255用于广播命令包。每台设备只处理地址和自己内部设定的地址相同的命令包,地址不等当作无效命令包。

从机接收到命令包以后,首先验证命令包的“目的地址”是否与本机地址相符,如果不相符,则当作无效命令包;如果与本机地址相符,则给主机发送“命令接收成功”应答包,将本机地址发送给主机,并开始执行命令,此时主机处于等待状态;

 

有效数据

    主要有以下几种数据:

由主机向从机发送的命令类型,命令参数

        从机给主机返回的命令应答、测点数据

        各种错误处理

校验字

采用XOR校验码,从“起始字”开始,到“帧控制字”“帧长度”“目的地址”“源地址”“有效数据”,以及“结束字”进行XOR校验。校验码错误的报文作为无效报文丢弃。占用1字节。

      

结束字

    固定为0xEE,占用一个字节

 

2、帧类型说明

 

本协议采用的帧类型由“帧控制字”的高2位(bit7、6)确定,分为三种帧类型:

 

u  数据帧

数据帧用于设备向XX系统返回测点数据,分为单个测点、多测点数据;以及当XX系统向设备发出查询类指令时,设备向XX系统发送的状态信息。

u  命令帧

命令帧是XX系统向设备发出指令的帧,主要有查询类命令和控制类命令。

u  应答帧

对于接收到的命令帧或者数据帧,接收方在接收后都应该给一个应答帧作为反馈,表明此帧已经成功接收。应答帧的作用是控制通信的启动、过程、结束以及出错处理等。应答帧分为命令应答帧和数据应答帧。

应答帧主要有:

ACK(Acknowledge): 接收确认,由接收方发出的作为对正确接收到报文的响应。

NAK(Negative Acknowledge):  接收否认,由接收方发出的作为对未正确接收的报文的响应,并带有错误类型信息。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载