完整版高速公路ETC系统DSRC设备串行口通讯协议.docx
《完整版高速公路ETC系统DSRC设备串行口通讯协议.docx》由会员分享,可在线阅读,更多相关《完整版高速公路ETC系统DSRC设备串行口通讯协议.docx(18页珍藏版)》请在冰豆网上搜索。
![完整版高速公路ETC系统DSRC设备串行口通讯协议.docx](https://file1.bdocx.com/fileroot1/2022-12/17/7e56c49c-493f-4dcb-bfb9-8ffb3b1ceb40/7e56c49c-493f-4dcb-bfb9-8ffb3b1ceb401.gif)
完整版高速公路ETC系统DSRC设备串行口通讯协议
高速公路ETC系统DSRC设备串行口通讯协议
1串行通讯方式
串行口采用半双工的异步串行通讯方式,协议格式为“115200,N,8,1”,即波特率
115200bps,无奇偶校验,8位数据,1个停止位。
1.1串口通讯数据帧格式
RSU和PC通讯的数据帧格式如图1-1:
STX
RSCTL
DATA
BCC
ETX
图1-1
空应答如图1-2:
STX
RSCTL
BCC
ETX
图1-2
说明见表1-1:
表1-1RSU和PC通讯的数据帧格式说明
字段
描述
STX
帧开始标志,取值为FFFFH;
RSCTL
串口帧序列号,1个字节;
1)RSU发送的串口帧序列号的低半字节为8,高半字节一般为0〜7,
RSU上电时发送的串口帧序号高半字节为9;
2)PC发送的串口帧序列号是将收到的串口帧序号高低半字节互换;
:
3)RSU发送的串口帧序号为X8H,其中X为0,1,2,3,4,5,6,7,9;
:
4)PC发送的串口帧序号为8XH,其中X为0,1,2,3,4,5,6,7,9;
DATA
发送的数据;
BCC
异或校验值,从RSCTL到DATA所有字节的异或值;
ETX
帧结束标志,取值为FFH。
1.2特殊字节转义处理
数据帧开始标志为FFFFH,帧结束标志为FFH。
其他字段不能出现FFH,如果数据确实为FFH,需对其进行转义处理。
发送数据时,如果在待发送字段中出现FFH字节时,将FFH分解为FEH和01H这两个字节来发送;如果在待发送字段出现FEH字节时,需将FEH分解为FEH和00H这两个字节来发送。
接收数据时,如果出现“FE01”这样连续两个字节时将之合为一个字节FFH;如果
出现“FE00”这样连续两个字节时将之合为一个字节FEH。
RSU送上来的所有整型数据,未特定说明,其字节排序均为高位在前,低位在后。
1.3命令的应答要求
PC必须对RSU的命令作出应答,可以是携带应答也可以是空应答,RSU不一定对
PC的每个命令都要应答。
应答时,PC将接收到的命令帧的RSCTL的高半字节和低半字节交换,作为应答帧的RSCTL。
1■:
|«纤a矶
*化
".M►
USUi&>|iFiMFlCUl^liULll>咖W
itor氏甩;tiiq农门和岳代去雎
•检fijiim科凹勞啟笛》
K
<
RSL<
K^U上电
ft
V!
¥IJ1动世墜IAE号亦卄利泊“仃
賀?
宾拘。
唇lit回£*.軸旳马治肿F1
M賈上■団抿心尖歡
YhsizHiI:
:
1秒皆内无起冏框不去KJ
代利HiMiS冋立居濟•
UU
(J
ysi肢址nm
rl.^Cl+H些»
■U、L対丄知门.
VSL'lteUD411
4L:
-i|L也匕憎1争*
■StJULBM'.
代1盯骡砒■
■ItSIJ桩这滞冒]
1flWTJftH・
■fyUifi
h1
图1-3串口通讯流程
2RSU/PC通信帧数据结构
2.1PC发往RSU的指令:
指令名称
代码
功能说明
初始化指令
C0H
对RSU关键参数如功率、车道模式等进行初始化/设置
继续交易指令
C1H
对PC收到RSU发来的信息的应答,表示收到信息并要求继续
处理指定OBU
停止交易指令
C2H
对PC收到RSU发来的信息的应答,表示收到信息并要求当前不再继续处理指定OBU
消费并写站信息指令
C6H
对指定OBU的电子钱包扣费,并向指定的OBU写站信息
异常处理指令
C7H
电子钱包交易情形下的异常处理
开关天线指令
4CH
天线开关,00H表示关天线,
01H表示开天线
2.1.1初始化指令—CO
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
CMDType
指令代码,此处取值C0H,H代表十六进制;
2
4
Seconds
1970/1/10:
0:
0距离当前的秒数,高位在前
r\
6
7
Datetime
当前日期时间,yyyymmddhhmmss
13
1
LaneMode
车道模式3为入口车道、4为出口车道、8为合建站
14
1
WaitTime
最小重读时间
15
1
TxPower
功率级数
16
1
PLLChannelID
信道号
17
1
TransClass
0:
记账卡和储值卡都是传统交易
1:
记账卡和储值卡都是复合交易
2:
记账卡是传统交易,储值卡是复合交易
18
1
BCC
异或校验值
帧描述
1)CO指令为初始化指令,用于设置RSU的工作参数;
2)当RSU收到初始化指令后,应返回B0信息帧给PC。
2.1.2继续交易指令—C1
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
CMDType
指令代码,此处取值C1H
2
4
OBUID
OBU号
、
6
1
BCC
异或校验值
帧描述
1)C1指令为父易指令,表示
RSU可以继续正常对OBU进行下一步处理。
2.1.3停止交易指令—C2
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
CMDType
指令代码,此处取值C2H
2
4
OBUID
OBU号
、
6
1
StopType
1:
重新搜索OBU,不判断OBU号。
2:
重新发送当前帧,只对B3、B4有效。
7
1
BCC
异或校验值
帧描述
C2指令为拒绝交易指令,表示不对该OBU进行交易处理,RSU根据StopType确定是
否重新搜索OBU。
2.1.4消费指令—C6
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
CMDType
指令代码,此处取值C6H
2
4
OBUID
OBU号
6
4
ConsumeMoney
扣款额,咼位在前
10
40
Station
过站信息(0019文件,后40字节)
50
7
DateTime
BCD码yyyymmddhhmmss该时间由车道程序将出口
时间提供给RSU,RSU根据此时间计算TAC
57
1
BCC
异或校验值
帧描述
1)C6指令用于消费站、非消费站模式,由车道类型、扣款额是否为0来确定;
2)该指令只对RSU发送过来的正常B4帧信息的回应有效。
2.1.5异常处理指令—C7
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
CMDType
指令代码,此处取值C7H
2
4
OBUID
OBU号
6
7
DateTime
BCD码yyyymmddhhmmss该时间由车道程序将出口时间提供给RSU,RSU根据此时间计算TAC,该字段与之前C6中的DateTime须保持一致,以便获得有效的TAC
13
1
BCC
异或校验值
帧描述
1)C7指令为异常处理指令,适合于含有扣款操作的交易;
2)PC在再次读取到的IC卡信息中判断出IC卡余额已变,则发送C7指令给RSU;
3)该指令只对RSU发送过来的正常B4帧回应有效;
4)RSU收到C7后,应回复B5给PC。
2.1.6幵关天线指令—4C
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
CMDType
指令代码,此处取值4CH
2
1
Antennastatus
天线开关,00H表示关天线,01H表示开天线
3
1
BCC
异或校验值
帧描述
1)天线开关指令。
22RSU发往PC的信息帧:
帧名称
代码
功能说明
RSU设备状态信息帧
B0
RSU的设备状态信息,含PSAM卡号等
OBU系统信息帧
B2
主要包括OBU系统信息文件内容
OBU车辆信息帧
B3
主要包括车辆信息文件内容
IC卡信息帧
B4
主要包括IC卡关键信息文件内容
成功交易结束帧
B5
RSU与OBU交易完成后的结果信息
2.2.1RSU设备状态信息帧-BO
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
FrameType
数据帧类型标识,此处取值B0H
2
1
RSUStatus
RSU主状态参数;0x00表示正常,否则表示异常;
3
1
PSAMNUM
PSAM卡个数
4
6
RSUTerminalld1
PSAM卡1终端机编号
10
6
RSUTerminalld2
PSAM卡2终端机编号
16
1
RSUAlgId
算法标识
17
1
RSUManulD
RSU厂商代码,16进制表示
18
3
RSUIndividuallD
RSU编号,16进制表示
21
2
RSUVersion
RSU软件版本号,16进制表示
23
5
Reserved
保留字节。
28
1
BCC
异或校验值
帧描述
1)RSU在上电或收到PC初始化指令后发送该帧信息给PC;
2)如果RSCTL等于0x98,表示RSU刚刚上电,PC应发送初始化指令(C0指令)到
RSU,作为对收到信息的应答,同时设置RSU的工作参数;
3)如果RSCTL不等于0x98,PC则应答继续交易指令(C1指令)。
222OBU系统信息帧-B2
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
FrameType
数据帧类型标识,此处取值B2H
2
4
OBUID
OBU号
6
1
ErrorCode
OBU执行状态,取值为00H,才有后续数据内容。
7
8
ContractProvider
发行商代码
15
1
ContractType
协约类型
16
1
ContractVersion
协约版本
17
8
ContractSerialNumber
应用序列号,8个字节,BCD编码
25
4
ContractSignedDate
协议签署日期,yyyymmdd
29
4
ContractExpiredDate
协议过期日期,yyyymmdd
33
1
Equitmentstatus
OBU硬件版本
34
2
OBUStatus
OBU状态
36
1
BCC
异或校验值
帧描述
1)RSU在搜索到OBU后发送正常的B2帧给车道计算机,表示通讯区域内存在此OBU,同时ErrorCode为零;
2)RSU在其通信区域内始终搜索不到OBU的情况下,也需要定时向车道计算机发送
此帧,作为心跳信息使用,表示天线正常工作状态,同时ErrorCode非零,取值为
0x80,OBUID全为0;
3)当B2帧作为心跳信息帧使用时,其发送的频率间隔应大于3秒,小于1分钟。
车
道计算机对作为心跳信息使用的B2帧不进行应答。
其中,OBUStatus的定义如下:
字
节
字节位置
0
7IC卡存在(0),无
(1)
6
保留
5
X
接触式界面(0),非接触界面
(1)
4
X
逻辑加密卡
(1),CPU卡(0)
3
0
IC卡正常(0),岀错
(1)
2
0
OBU未锁(0),被锁
(1)
1
0
OBU未被拆动(0),被拆动
(1)
0
0OBU电池正常(0),电池电量低
(1)
1
拆卸状态,ESAM系统信息第27字节
223OBU车辆信息帧-B3
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
FrameType
数据帧类型标识,此处取值B3H
2
4
OBUID
OBU号
位置
字节数
数据元
数据内容
6
1
ErrorCode
执行状态代码,此处取值0x00
7
12
VehicleLicencePlateNumber
OBU记载的车牌号
19
2
VehicleLicencePlateColor
车牌颜色
21
1
VehicleClass
车辆类型
22
1
VehicleUserType
车辆用户类型
23
1
BCC
异或校验值
帧描述
1)此帧信息主要包含车辆信息;
2)PC应答C1指令,RSU继续对该OBU进行操作;
3)PC应答C2指令,RSU将重新搜索OBU。
224IC卡信息帧-B4
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
FrameType
数据帧类型标识,此处取值B4H
2
4
OBUID
OBU号
6
1
ErrorCode
执行状态代码,此处取值0x00
7
1
CardType
00h-国标CPU卡;其它-保留
8
4
CardRestMoney
卡余额,咼位在前,低位在后;
12
43
卡片发行基本数据
为0015文件
55
40
收费信息数据
为0019文件(0019文件,后40字节)
95
1
BCC
异或校验值
帧描述
1)此帧信息主要包含IC卡基本信息;
2)PC应答C6指令,RSU对该OBU进行扣款;
3)PC应答C2指令,RSU将重新搜索OBU。
225成功交易结束帧-B5
位置
字节数
数据元
数据内容
0
1
RSCTL
串口帧序列号
1
1
FrameType
数据帧类型标识,此处取值B5H
2
4
OBUID
OBU号
6
1
ErrorCode
执行状态代码
7
4
WrFileTime
写文件时间,UNIX格式
11
6
PSAMNo
PSAM卡终端号
17
7
TransTime
交易时间
24
1
TransType
交易类型:
CPU卡类型为9
25
4
TAC
TAC码
29
2
ICCPayserial
CPU卡交易序号,对于不涉及消费的交易填充0
31
4
PSAMTransSerial
PSAM卡交易序号
35
4
CardRestMoney
交易后卡余额,高位在前,低位在后(需要严格从IC卡
获取),读取卡余额失败,返回0xFFFFFFFF(16进制)
39
1
BCC
异或校验值
帧描述
1)RSU发送此帧内容,ErrorCode为0,表示交易成功;
2)交易成功后,PC应答C1指令;
3)RSU发送此帧内容,ErrorCode非0,表示扣款流程未能完成;
4)扣款未完成时,PC应答C1指令,如果搜索到同一OBU,则进入异常处理流程。
3流程控制
3.1初始化流程控制
当PC收到RSCTL等于0x98的B0帧,表示RSU刚刚上电,PC应发送初始化指令(C0指令)到RSU,作为对收到信息的应答,同时设置RSU的工作参数;RSU设置完工作参数后,
向PC发送RSCTL非0x98的B0帧,表示初始化完成;而后PC发送空应答,RSU开始
搜索OBU;
当车道软件开启后,主动向RSU发送C0帧,而后收到B0帧(RSCTL非0x98)后,发送空应答,RSU开始搜索OBU;
3.2入口流程控制
1)RSU搜索OBU,直到搜索到OBU为止;
2)RSU发送OBU号信息(B2帧)给PC,PC回应C1指令;
3)RSU读OBU属性,并发送OBU属性(B3帧)给PC,PC回应C1指令;
4)RSU读IC卡信息,并发送IC卡信息(B4帧)给PC,PC发送C6指令给RSU;
5)RSU对OBU写入口文件操作,并虚拟扣款,如果不成功,则转入第1步骤;
6)RSU发送成功交易结果信息(B5帧)给PC,此次交易结束。
3.3出口流程控制
1)RSU搜索OBU,直到搜索到OBU为止;
2)RSU发送OBU号信息(B2帧)给PC,PC回应C1指令;
3)RSU读OBU属性,并发送OBU属性(B3帧)给PC,PC回应C1指令;
4)RSU读IC卡信息,并发送IC卡信息(B4帧)给PC,PC发送C6指令给RSU;
5)RSU对OBU扣款并写出口文件,如果不成功,转入第7步骤;
6)RSU发送成功交易结果信息(B5帧)给PC,此次交易结束。
7)RSU重新搜索OBU,发送OBU号、OBU属性和IC卡信息给PC,PC根据IC卡信息进行分析处理:
PC将再次读取到的IC卡信息和第一次读取到的IC卡信息相比,有两种情况:
余额相同、余额不同。
以下根据两种不同的情况分别处理:
如果余额相同。
PC发送C6指令给RSU,转到第5步骤;
如果余额不同,则表示对IC卡扣款成功,此时PC发送C7指令给RSU,RSU发送
B5帧信息给PC,此次交易结束。
4流程图
开始
结束
ESU对CBU进行写入口文件操作
RSU搜索到OBIL并发送B2帧PC』
PC回应Cl指令
RSU发E5H帧给PCPC回应空指令
RSU读疋卡信息,并发送B4帧给
FC,PC回应C3指令
4.1入口站流程图
R別读OBU属性.并发送氏帧给P;PC回应
C1指令
—V攵到OEU正确响应
4.2出口站流程图