0 引言
近年来,随着国民经济的迅速发展,特别是高等级公路建设规模越来越大,公路货运周转量逐年增加。由于普遍的严重超限(超高、超宽、超长、超重)运输,给公路运输带来极大的危害,严重危及人民群众生命财产和国家财产安全,影响社会经济协调和公路运输的可持续发展,但是,治超是一项非常复杂而艰苦的工作,目前判别车辆长宽高是否超限的方法通常是依靠执法人员拦截,通过人工检测是否超限,在引导至停车场进行处理,执法效率低,很难做到全天候检测。
图1 原理框架图
1 系统设计
车辆外轮廓尺寸检测仪采用单片机作主控,使用ST 公司的STM32 系列的单片机[1],3 颗STM32 芯片[1]采用TCP/IP 协议[2]接受和解析3 台激光雷达设备实时数据;1 颗STM32 芯片使用RS232 与另外三颗STM32 芯片通讯,做融合计算;主控制箱通过串口与上位机通讯。图1 为车辆外轮廓尺寸检测仪原理框架图,图2 为检测原理流程图。
图2 检测原理流程图
2 硬件电路设计
2.1 DP83848以太网通信电路
该电路采用以太网DP83848 芯片以太网芯片,鲁棒性好、功能全、功耗低的10/100Mbps 单路物理层(PHY)器件。支持MII 和RMII,使设计更简单灵活;同时支持100BASE~T 和100BASE~T 以太网外设。电路图如图3。
图3 DP8348以太网通信电路
3 嵌入式软件设计
3.1 TC/IP数据接收与发送流程
激光雷达设备内部集成TCPSocket Server, 通过TCP SocketClient 端登录方式获取数据和发送指令信息。其中三颗STM32 芯片通过TCP/IP 方式[3],以客户端登录。
每隔一秒发送一次心跳数据以保证在线状态,激光雷达以50 Hz 的频率发送扫描数据到客户端,客户端根据协议解析出相应的命令。图4表示激光雷达发送扫描数据的流程。
3.2 串口数据流程
串口数据接收与发送分两部分,主控制箱内部STM32 芯片之间数据通信和主控制箱与上位机通信;三颗STM32 芯片在分别接收到三台雷达设备数据,根据网络数据协议解析数据包,解析出命令字,再根据命令字获取有效数据部分,考虑到TCP 神奇的40 ms,在接收数据包会出现数据粘包与分包现象,所以需对每笔数据包做处理,解析完得到有效的扫描数据再通过串口发送给主核心控制芯片,用于融合计算;在主核心控制芯片计算得到有效的长、宽、高信息,通过串口发送到上位机,上位机负责接受与显示。
图4 激光雷达发送扫描数据
4 结语
利用激光高速扫描的特点,能够精确检测到跟车驶入时两车的间隙位置,并对跟车的车辆进行准确的分离及准确的对应车辆的轮廓信息,保证检测数据与车辆的一一对应关系,保证车辆队列的正确性,不多车,不漏车;可广泛地应用于固定式治超站、高速公路入口治超站、非现场执法站的车辆长超宽超高检测。
参考文献:
[1] 李明,康静秋,贾智平.嵌入式TCP/IP协议栈的研究与开发[J].计算机工程与应用,2002,38(16):118-121.
[2] 黄克亚.ARM Cortex-M3嵌入式原理及应用——基于STM32F103微控制器[M].北京:清华大学出版社,2020.
[3] STEVENS W R.TCP/IP详解 卷1:协议[M].2版.译:范建华,等.北京:机械工业出版社,2000.