欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

ETC 电子不停车收费的基本流程和重新获取 TAC 代码的流程

最编程 2024-03-20 18:16:03
...

假设ETC车驶入车道,与车道前排RSU天线(记为天线1)交易,其基本流程参考如下:

此外,如果交易流程执行到消费确认返回中断,出现交易失败但实际OBU已扣费的情况。接着使用手持RSU天线(或后排RSU天线,记为天线2)扫该车发现车子已经被扣款,天线2可执行重取TAC流程,从而获取完整交易流水。

其中本案例中,首次交易过程执行到下发消费确认指令:但OBU没有应答消费确认返回帧,该帧原本是预期返回一个TAC码和MAC2。
示例如下:

消费确认(Transfer.rq)-40F79105010318010114805401000F0077433B20210125095628A24781CB
消费确认返回(Transfer.rs)-E077009118011901010AF3183336622083C89000

此处消费确认返回包含内容 TAC=F3183336 ,MAC2=622083C8。
该车再次接入天线2时,交易到读0019返回时,发现已经交易过,则下发取TAC初始化,取TAC码流程,获取到TAC码,与首次与天线1交易时的PSAM终端交易序号,交易时间,PSAM卡编号,IC卡序号等信息组成完成的流水。
示例如下:

取TAC初始化:Transfer2.rq↓03 BD 3E 15 40 77 91 05 01 03 18 01 01 10 80 50 03 02 0B 01 00 00 00 00 01 44 00 01 9C 8B 0B F7 
取TAC初始化返回:Transfer2.rs↑03 BD 3E 15 E0 F7 00 91 18 01 19 01 01 11 11 E1 A2 D9 00 28 00 00 00 01 00 C7 B1 37 22 90 00 00 15 7F 
取TAC码:Transfer2.rq↓03 BD 3E 15 40 F7 91 05 01 03 18 01 02 07 80 5A 00 09 02 00 28 05 00 84 00 00 08 76 D6 
取TAC码返回:Transfer2.rs↑03 BD 3E 15 E0 77 00 91 18 01 19 01 02 0A 04 10 38 5D 80 79 79 F8 90 00 0A C7 EA 7C 37 1A 7C 62 4E 90 00 00 3A 98 

此处取TAC码返回8字节内容为TAC+MAC2; 该TAC码即为第一次交易到交易扣款确认阶段未获取到的TAC码。

另外,注意到上述正常交易流程中,消费初始化后的PSAM计算MAC1和PSAM校验MAC2环节,在取TAC码流程中没有体现。主要是这里我并不明确取TAC吗流程中到底是否需要执行PSAM校验MAC2环节呢?如果有哪位知道请评论告知我一下~~
据了解,每当执行一次PSAM校验MAC2之后,PSAM终端交易序号就会加1;如果取TAC码流程中缺少PSAM校验MAC2环节,那么PSAM终端交易序号不会内部加1;如果取TAC码流程执行PSAM校验MAC2环节,是否跨天线取TAC码是不能校验的呢?
还是说应当区别对待,比如两次接入的是同一天线第二次的取TAC码流程可执行PSAM校验MAC2,而如果是跨天线取TAC码的流程则不执行PSAM校验MAC2?

原文地址:https://www.cnblogs.com/henrych/p/14354098.html