串口通讯协议

来源:互联网 发布:centos pptp 无法连接 编辑:程序博客网 时间:2024/04/27 16:14
串口通讯协议
一.测试机向主机上传测试数据
1.测试数据上传格式
数据开始 命令测试项目 测试结果P+ P- U? 颜色1 颜色2
测试机上传的数据 BYTE0BYTE1 BYTE2BYTE3 BYTE4BYTE5 BYTE6-9BYTE10-13 ???? ?? ?? ?? ??
0X02 ??0X8? 0X8?0X8? 0X8??? ?? ?? ?? ???? ?? ??
解码后的上传数据 byte0byte1 byte 2byte 3 byte 4-5byte 6-7 ???? ??
0X02 ??0X?? 0X???? ?? ?? ?? ??


测试数据 元件名称其它 数据结束数据校验和 传输完成
测试机上传的数据 ?? ?? ……….. END-3 END-2 END-1 END
?? ??……….. 0X030X8? 0X8?0X0D
解码后的上传数据 ?? ?? ……….. end-2 end-1 end
?? ??……….. 0X030X?? 0X0D


说明:
除BYTE0,BYTE1,END-3,END 四个字节以外其他所有数据都需解码,每两个字节译码为一个字节(取每一个字节的低位),例如:0x80和 0x81得到0X01,BYTE15 到 END-4是否上传由测试项目和测试结果而定。
2.控制命令详解
1. 数据开始(byte0) :固定为0X02,表示数据块的开始。


2. 命令(byte1): 表示控制命令具体如下:
0X53 :  测试数据开始传输。
例:
测试机上传的数据 BYTE0BYTE1 ….END-3 END-2END-1 END
0X02 0X53…. 0x030X85 0X880x0D
解码后的上传数据 byte 0byte 1 ….end -2 end -1end
0X02 0X53…. 0x030X58 0x0D
                   
0X44 :  此次传输的为测试数据。
例:
测试机上传的数据 BYTE0BYTE1 ….END-3 END-2END-1 END
0X02 0X44数据块 0x03?? ?? 0x0D
解码后的上传数据 byte 0byte 1 …..end -2 end -1end
0X02 0X44数据块 0x03?? 0x0D
    
0X45 :  测试数据传输完成。
例:
测试机上传的数据 BYTE0BYTE1 BYTE2-9
(良品数) BYTE10-17
(不良品数) …. END-3 END-2 END-1 END
0X02 0X450X81,0X82,0X83,0X84,0X85,0X86,0X87,0X88 ?? …. 0x03?? ?? 0x0D
解码后的上传数据 byte 0byte 1 byte2-5byte6-9 ….end -2 end -1end
0X02 0X450X12,0X34,0X56,0X78 ??…. 0x03?? 0x0D
  注:此次传输的数据块为统计结果。
说明: 良品数和不良品数都为长整型数,占4个字节,例:良品数为0x12345678上传码BYTE2-9为0X81,0X82,0X83,0X84,0X85,0X86,0X87,0X88, 解码后byte2-5为0X12,0X34,0X56,0X78. 


2.测试项目(byte2): 表示测试项目具体如下:
代码 1 23 4 5 6 78 9 10
短断路 短断路导通 电阻 电容 二极管电压 电容极性 元件中的导通 二极管反向电流
代码 11 1213 14 15 16 1718 19 20
二极管正向电流 电感 元件中的DC耐压 元件中的DC绝缘 二分快速DC绝缘一对其他
DC绝缘 二分快速DC耐压 一对其他
DC耐压 二分快速AC耐压 一对其他
AC耐压
代码 21 2223 24 25 26 2728
瞬间导通 瞬间短断路点导通 二分快速AC耐压二分快速DC绝缘 二分快速DC耐压
注:项目2,26,27,28为HC3508系列的测试项目
3.测试结果(byte3) 表示测试结果
0表示良品,其他表示不良。
4.P+(byte4和byte5) 表示测试项目引脚P+端(两个字节合成一个字,byte4为高位byte5低位)
例:byte4= 0x01  byte5=0x02  P+ = 0x0102
5.P-(byte6和byte7) 表示测试项目引脚P-端(两个字节合成一个字,byte6为高位 byte7低位)。
例:byte6= 0x01  byte7=0x02  P- = 0x0102
6.  U?( byte?) : 表示第几个产品(HC3508系列)。
7.  颜色1( byte?):  表示线材颜色1. 
8.  颜色2( byte?):  表示线材颜色2.
代码 1 23 4 5 6 78 9 10 11 1213 14 15
颜色 绿
例:线材颜色为黑色,上传码为 0X80,0X83, 解码后:0X03.
8. 测试数据( byte?):  待测物的测试数据,由4个字节合成一个单精度浮点数。
例:测试值为1.0, 1.0对应的HEX值为 0X0000803F上传码为 0X80,0X80, 0X80,0X80, 0X88,0X80, 0X83,0X8F. 解码后:0X00, 0X00, 0X80, 0X3F.
9. 元件名称( byte?):  待测物中被动元件在测试机中设定的名字,解码后为6字节长的字符串。
    例:元件名称为“12345” 对应的HEX值为 0X31,0X32,0x33,0x34,0x35,0x00, 上传码为 0X83,0X81, 0X83,0X82, 0X83,0X83, 0X83,0X84, 0X83,0X85, 0X80,0X80.
10. 数据结束(end-2):  固定为0X03,表示数据块的结束
11. 数据校验和(end-1): 测试机上传数据块的校验和(BYTE0+BYTE1+BYTE2+ BYTE3………..END-3)。
12. 传输完成(end):    当前帧传输完成


测试数据详解
1.测试项目代码为1(短断路)
开始 命令项目 结果 P+ P- ….结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 ….END-3 END-2END-1 END
0X02 0X440X80 0X81?? ?? ?? …. 0X03?? ?? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 end-2 end-1 end
0X02 0X441 ?? ?? ?? ….0X03 ??0X0D
测试结果:
0:短断路测试OK
1:P+和P-短路
2:P+和P-开路
3:P+和P-开路,开路点为P-端
4:P+和P-开路  开路点为P+端
5:P+和P-错线  
7:P+开路(单边) 
8:P+错线(单边) 
2.测试项目代码为2(短断路)(HC3508系列)
开始 命令项目 结果 P+ P- U?…. 结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-15…. END-3END-2 END-1END
0X02 0X440X80 0X82?? ?? ?? 0x80,0x81 …. 0X03 ?? ?? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8 …. end-2 end-1 end
0X02 0X442 ?? ?? ?? 0x01…. 0X03?? 0X0D
测试结果:
0:短断路测试OK
1:U1 P+和P-短路 
2:U1 P+和P-开路
3:U1 P+和P-开路,开路点为P-端
4:U1 P+和P-开路  开路点为P+端
3.测试项目代码为3(导通)21(瞬间导通)
开始 命令项目 结果 P+ P- 测试数据…. 结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-21…. END-3END-2 END-1END
0X02 0X440X80 0X83?? ?? ?? ?? ….0X03 ???? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8-11…. end-2end-1 end
0X02 0X443 ?? ?? ?? ??…. 0X03?? 0X0D
说明:测试数据就是导通值,单位为欧姆,测试结果代码小于2时上传。
测试结果: 
0:P+到P-导通OK
1:P+到P-导通NG
2:P+到P-导通大于1.5欧姆
3:P+到P-导通大于6.0欧姆
4:P+到P-导通大于12.0欧姆
5:P+到P-导通大于50.0欧姆
6:P+到P-导通大于500.0欧姆


4.测试项目代码为4(电阻)、5(电容)、6(二极管电压)、7(极性)、8(元件中的导通)、10(二极管反向电流)、11(二极管正向电流)、12(电感).
开始 命令项目 结果 P+ P- 测试数据元件名称 ….结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-21BYTE22-33 ….END-3 END-2END-1 END
0X02 0X440X80 0X84?? ?? ?? ?? ….0X03 ???? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8-11byte12-17 ….end-2 end-1end
0X02 0X444 ?? ?? ?? ???? …. 0X03 ?? 0X0D
说明:测试数据就是被动元件的测试值,对应单位如下表。


项目 4(电阻) 5(电容) 6(二极管电压)7(极性) 8(元件中的导通)10(二极管反向电流) 11(二极管正向电流)12(电感)
单位 欧姆(Ω) 皮法(pF) 伏特(V) 伏特(V) 欧姆(Ω) 微安(µA) 毫安(mA) 微亨(µH)


测试结果: 
0:被动元件测试 OK
1:被动元件测试 NG 
2: 测试值大于50欧姆(仅当测试项目代码为 8(元件中的导通)),测试值大于200微安(仅当测试项目代码为 10(二极管反向电流))


5.测试项目代码为 13(元件中的DC耐压)、18(一对其他DC耐压)、20(一对其他AC耐压)
开始 命令项目 结果 P+ P- 测试数据…. 结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-21…. END-3END-2 END-1END
0X02 0X440X80 0X8D?? ?? ?? ?? ….0X03 ???? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8-11…. end-2end-1 end
0X02 0X4413 ?? ?? ?? ??…. 0X03?? 0X0D
说明:测试数据就是耐压的测试值,DC耐压对应单位为微安,AC耐压对应单位为毫安。
测试结果: 
0:P+ 耐压测试OK
1:P+ 耐压测试NG
2:P+ 耐压测试 HIGH T LIMIT
3:P+ 耐压测试 ACING
10:P+ 耐压测试 BREAK


6.测试项目代码为 14(元件中的DC绝缘)、16(一对其他DC绝缘)
开始 命令项目 结果 P+ P- 测试数据…. 结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-21…. END-3END-2 END-1END
0X02 0X440X80 0X8E?? ?? ?? ?? ….0X03 ???? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8-11…. end-2end-1 end
0X02 0X4414 ?? ?? ?? ??…. 0X03?? 0X0D
说明:测试数据就是DC绝缘的测试值,对应单位为兆欧。
测试结果: 
0:P+ DC绝缘测试OK
1:P+ DC绝缘测试NG
2:P+ DC绝缘测试 LOW  LIMIT
3:P+ DC绝缘测试 ACING
10:P+ DC绝缘测试 BREAK


7.测试项目代码为 15(二分快速DC绝缘)
开始 命令项目 结果 P+ P- 测试数据…. 结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-21…. END-3END-2 END-1END
0X02 0X440X80 0X8F?? ?? ?? ?? ….0X03 ???? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8-11…. end-2end-1 end
0X02 0X4415 ?? ?? ?? ??…. 0X03?? 0X0D
说明:测试数据就是DC绝缘的测试值,对应单位为兆欧。
测试结果: 
0: 二分快速DC绝缘测试OK
1: 二分快速DC绝缘测试NG
2: 二分快速DC绝缘测试 LOW  LIMIT
3: 二分快速DC绝缘测试 ACING
10:二分快速DC绝缘测试 BREAK


8.测试项目代码为 17(二分快速DC耐压)19(二分快速AC耐压)
开始 命令项目 结果 P+ P- 测试数据…. 结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-21…. END-3END-2 END-1END
0X02 0X440X81 0X81?? ?? ?? ?? ….0X03 ???? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8-11…. end-2end-1 end
0X02 0X4417 ?? ?? ?? ??…. 0X03?? 0X0D
说明:测试数据就是耐压的测试值,DC耐压对应单位为微安,AC耐压对应单位为毫安。
测试结果: 
0: 二分快速耐压测试OK
1: 二分快速耐压测试NG
2: 二分快速耐压测试 HIGH  LIMIT
3: 二分快速耐压测试 ACING
10:二分快速耐压测试 BREAK


9.测试项目代码为22(瞬间短断路)
开始 命令项目 结果 P+ P- ….结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 ….END-3 END-2END-1 END
0X02 0X440X81 0X86?? ?? ?? …. 0X03?? ?? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 end-2 end-1 end
0X02 0X4422 ?? ?? ?? ….0X03 ??0X0D
测试结果:
0:瞬间短断路测试OK
1:P+和P-瞬间短路
2:P+和P-瞬间开路
3:P+ 点瞬间开路
4:瞬间开路测试OK 


10.测试项目代码为23(点导通)
开始 命令项目 结果 P+ P- 颜色1颜色2 测试数据…. 结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-15BYTE16-17 BYTE18-25…. END-3END-2 END-1END
0X02 0X440X81 0X87?? ?? ?? …. 0X03?? ?? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8 byte9 byte10-13end-2 end-1end
0X02 0X4423 ?? ?? ?? ….0X03 ??0X0D
说明:测试数据就是导通值,单位为欧姆,测试结果代码小于2时上传。
测试结果: 
0:P+到P-导通OK
1:P+到P-导通NG
2:P+到P-导通大于1.5欧姆
3:P+到P-导通大于6.0欧姆
4:P+到P-导通大于12.0欧姆
5:P+到P-导通大于50.0欧姆
6:P+到P-导通大于500.0欧姆


11.测试项目代码为 26(二分快速AC耐压)28(二分快速DC耐压)(HC3508系列)
开始 命令项目 结果 P+ P- U?测试数据 ….结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-15BYTE16-23 ….END-3 END-2END-1 END
0X02 0X440X81 0X8A?? ?? ?? ?? ??…. 0X03?? ?? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8 byte9-12 …. end-2 end-1 end
0X02 0X4426 ?? ?? ?? ???? …. 0X03 ?? 0X0D
说明:测试数据就是耐压的测试值,DC耐压对应单位为微安,AC耐压对应单位为毫安。
测试结果: 
0: U? 二分快速耐压测试OK, 当U?等于0xff时表示所有产品耐压测试OK.
1: U? 二分快速耐压测试NG
2: U? 二分快速耐压测试 HIGH  LIMIT
3: U? 二分快速耐压测试 ACING
10:U? 二分快速耐压测试 BREAK


12.测试项目代码为 27(二分快速DC绝缘)(HC3508系列)
开始 命令项目 结果 P+ P- U?测试数据 ….结束 校验和 完成
上传数据 BYTE0 BYTE1 BYTE2-3 BYTE4-5 BYTE6-9BYTE10-13 BYTE14-15BYTE16-23 ….END-3 END-2END-1 END
0X02 0X440X81 0X8A?? ?? ?? ?? ??…. 0X03?? ?? 0X0D
解码
数据 byte0 byte1 byte2 byte3 byte4-5 byte6-7 byte8 byte9-12 …. end-2 end-1 end
0X02 0X4426 ?? ?? ?? ???? …. 0X03 ?? 0X0D
说明:测试数据就是DC绝缘的测试值,对应单位为兆欧。
测试结果: 
0: U? 二分快速绝缘测试OK, 当U?等于0xff时表示所有产品绝缘测试OK.
1: U? 二分快速绝缘测试NG
2: U? 二分快速绝缘测试 LOW  LIMIT
3: U? 二分快速绝缘测试 ACING
10:U? 二分快速绝缘测试 BREAK
原创粉丝点击