学术咨询服务,正当时......期刊天空网是可靠的职称论文发表专业学术咨询服务平台!!!

车载信息终端在智能客流量系统中的应用研究

发布时间:2019-07-17所属分类:计算机职称论文浏览:1

摘 要: 摘要:为提高公交客流计数系统的实时性及准确性,本文分别对车载信息终端的控制器局域网络(controllerareanetwork,CAN)总线及RS485线协议进行研究。通过实时采集车载信息终端数据并解析,获取公交实时运行信息。将公交车上的CAN总线和RS485线的信号通过串口

  摘要:为提高公交客流计数系统的实时性及准确性,本文分别对车载信息终端的控制器局域网络(controllerareanetwork,CAN)总线及RS485线协议进行研究。通过实时采集车载信息终端数据并解析,获取公交实时运行信息。将公交车上的CAN总线和RS485线的信号通过串口转换器变为RS232信号,并基于Linux和Windows两种操作系统设计了两套数据分析系统,用户可以根据公交客流计数系统的基本需求,实时获取公交车的相关信息。实地测试结果表明,该设计能够实时精确的获取车辆的各项信息,达到预期目标,说明本文所采用的数据分析算法,准确率高、效率高、鲁棒性好,为公交客流计数系统提供了有效信息。该研究具有很好的实际应用价值。

  关键词:车载信息终端;CAN总线;RS485;客流计数

计算机工程与应用

  目前,公交车车载信息终端[1-2]的通信方式主要分为RS485[3-4]和CAN总线[5-6]两种。车载信息终端同时具有远程定位、实时通信、车况信息采集、自动报站等多种功能,并且能够和公交车的其他设备相关联,方便管理者对公共交通的实时调度。因此,将这些实时信息应用到智能客流量统计系统,能够丰富系统的功能,提高系统的实用性[7-8]。

  公交车载信息终端通过通用分组无线服务技术(generalpacketradioservice,GPRS)通信单元,将全球定位系统(globalpositioningsystem,GPS)模块获取的实时位置信息等发送到后台,实现公交的定位功能以及语音播报,促进城市公交的智能化发展[9]。

  目前,CAN总线在公交上的应用日趋成熟。其中,安连华等人[10]通过CAN总线实时获取公交油耗信息,防止偷油行为的同时,可以有效监测驾驶员行车规范;赵祥模等人[11]采用基于视频的客流统计方法,能够有效监测公交客流量,但客流数据没有与站点信息相结合。公交车的车站名称信息能够直接反映当前站点的客流量统计信息,减少智能客流量统计系统对车站信息获取的信息量。

  2018年初,青岛新进一批比亚迪纯电动公交车,其中有400多辆安装了智能客流量统计系统,因此加强对公交车的实时信息采集、分析及应用具有重要意义。基于此,本文主要对车载信息终端的CAN总线及RS485线协议进行研究,通过对车载信息终端数据进行采集与分析,并基于Linux和Windows两种操作系统,设计了两套数据分析系统,用户可以根据公交客流计数系统的基本需求,实时获取公交车的相关信息,提高了系统的准确性,减轻了系统的工作负担。该研究提高了公交等智能化水平,在公交客流统计方面具有广阔的应用前景。

  1硬件设计与软件实现

  1.1硬件设计

  车载CAN总线采用RS232转CAN模块[12],RS485线采用RS232转RS485模块[13],其中每个模块分为有源和无源两种型号,用户可以根据情况进行选择。本文采用RS232转CAN模块。

  其中,主要包括RS232串行接口驱动器、CAN线控制器和驱动器。该模块具有数据透明转换功能,其中CAN总线波特率支持5kBd/s~1MBd/s,串口波特率支持1200~460800Bd/s,适应范围广,而且支持CAN2.0A和CAN2.0B协议,支持标准帧和扩展模式。RS232转RS485模块分为有源和无源两种,RS232转RS485电路原理图如图2所示,DB9端的2脚和3脚分别是接收端和发送端,经过TTL转232电路和TTL转485电路,该模块可将RS232信号转换为平衡差分的RS485信号,从而实现双向通信功能。其工作方式为异步半双工,波特率支持范围是9600~115200Bd/s。

  1.2软件实现

  1.2.1CAN总线协议分析

  车载信息终端与其他设备进行数据通信时,一般采用250kBd/s的CAN波特率和57600Bd/s串口波特率。CAN接口协议分为ID域和数据域两部分。报文ID域是报文的唯一标识,其中SA源地址和DA目标地址表示该报文的发送方和接收方,FN报文帧序号代表当前报文在当前会话中的位置。报文数据域由版本号、流水号、消息帧、校验值4部分组成,其中消息帧由消息帧类型、消息帧长度及数据帧集合组成。每个数据帧由数据帧类型、数据帧长度和数据元素组成。校验值是从版本号开始到校验值之前所有字节的异或值[14-15]。

  一个完整的报文数据需要分包发送,每包发送8字节数据和4字节的ID域,直到所有数据发送完为止,最后一包数据如果不足8字节,则补0。

  1.2.2RS485协议分析

  设定RS485车载信息终端与外部设备通讯接口参数为串口波特率19200Bd/s,8位数据位,1位停止位,无奇偶检验位。RS485为了提高协议的兼容性,由数据帧灵活组合构成的消息帧可适应不同的需求,避免严格的固定长度消息帧造成冗余,从而减少资源浪费。RS485数据报文由开始符、目标地址、源地址、消息帧、校验值和结束符组成。通过对车载信息终端数据的采集与分析,可获得公交车的实时位置信息、当前时速信息、到站离站信息及当前站点名称信息等。

  1.2.3技术方案

  该系统的主要功能是实现对车载信息系统的数据采集到解析输出的全过程。该部分的核心思想是通过串口通信,即串口编程实现CAN总线和RS485的数据接收,然后根据协议标准对接收到的数据解析处理,并根据消息帧的类型,提取客流统计系统所需要的站点相关的报文信息,去除冗余数据,同时根据报文的编码规则,作出相对应的解码方案,将十六进制数据翻译成常人能看懂的站点信息。

  具体实现方法及步骤:

  (1)Linux系统。1)调用open()函数打开串口/dev/ttyS0,并设置串口的读写模式。

  2)对termios结构指针进行相关配置,修改控制模式,设置波特率、数据位、校验位、停止位,修改输入输出模式,然后进行超时设置。

  3)调用read()函数对串口进行读操作。

  4)调用getCompleteFrame()函数对数据进行分析处理,获得当前公交车的站点信息、到站离站信息等。

  5)write()函数可上传数据到车载信息终端。6)调用函数close()关闭串口。

  (2)Windows系统。

  1)调用CreateFile()函数打开串口COM*。

  2)调用SetCommState()函数配置串口基本参数,SetCommTime-outs()函数对串口进行超时设置,调用SetupComm()函数定义了输入输出缓冲区的大小。

  3)调用ReadFile()函数对串口进行读操作。

  4)调用getCompleteFrame()函数对数据进行分析处理,获取车辆实时信息。

  5)调用WriteFile()函数可以将获得的数据实时上传到车载信息终端。

  6)调用CloseHandle()函数关闭串口。由于串口每次接收的数据长度不固定,而且每个完整的报文数据可能分多次发送[18]。因此,getComplete-Frame()函数首先需要将接收到的数据保存在队列内,然后从队列头开始对数据解析处理,发现报文结束标志后,根据报文数据的长度及校验值确定该报文数据是否完整。

  如果当前队列内没有完整数据帧时,则继续接收新的数据。每当解析出一个完整的报文数据,就清空当前队列内的所有数据,重新接收下一报文。此外,如果队列长度超出内存长度的0.66,抛弃队列的前0.66部分,既能防止有效信息丢失,还能避免内存溢出造成的系统崩溃。同时,采用多线程串口通信[19-20],提高处理效率。

  2实验结果

  CAN总线在Linux下测试,RS485在Windows下测试。实验结果表明,该设计能够实时精确的获取车辆的各项信息,达到预期目标。其中CompleteDate表示当前接收到的报文数据域部分,所有数字为十六进制表示。

  以南庄二为例:20表示版本号,14表示流水号,该数字随机产生,03表示该消息帧代表进站离站信息,0025表示消息帧总长度为十进制37,01表示具体的数据帧类型是什么,0004表示该数据帧内容的长度为4字节,后面紧跟4字节的数据帧内容00001774,后面的05000101也是一组完整数据帧,以此类推,最后的49表示校验位,如果该值与前面所有的数字异或值相同,则表示该报文接收无误。

  根据消息帧类型、数据帧类型以及数据帧的内容部分,解析当前车辆线路是上行下行、当前站点是终点站还是其他站点、进站离站、站点编号及站点中文名。以团岛进站信号为例:7e代表会话包的开始,最后的7f代表会话包的结束,ff01表示目标地址和源地址,03表示该会话包的消息帧类型为服务播报,07是随机产生的流水号,0023表示后面所有的数据帧总长度,02000101表示数据帧类型为02,内容长度为0001,内容为01的一个完整数据帧,以此类推,结束符前的2f表示校验位,该值应与从包头开始到校验位之前所有数字异或值相同。

  当车辆进站时,发出到站信号,显示当前站点类型,获得当前站点编号及站点中文名;当车辆离站时,发出离站信号,显示当前站点类型,获得下一站的站点编号及站点中文名。这样可以将每站的客流量信息对应加在每个站点上,并且可以与电子站牌相结合,让公共交通更加智能化。

  3结束语

  本文主要对车载信息终端在智能客流量系统中的应用进行研究。分析了CAN总线和RS485协议标准,并对现场环境进行实验测试。测试结果表明,本文所设计的两套分析系统,能够精准的采集并解析车载信息终端的数据,结合公交客流计数系统的需求特点,实时获取公交车的线路类型、站点编号、站点名称、进站离站等信息;长时间的测试结果表明,本系统的鲁棒性高、算法稳定,为客流统计系统的发展提供了技术支持,大大提高公共交通的智能化水平,其应用前景广阔。此外,当信号环境极差时,GPS对公交车定位会出现偏差,间接影响车辆位置信息的精准度,后期应对该问题进行优化改进,提高系统的鲁棒性。

  参考文献:

  [1]吴建芳.嵌入式车载信息终端的实现研究[D].哈尔滨:哈尔滨工程大学,2010.

  [2]韩敏艳.车辆监控系统研究与设计[D].哈尔滨:哈尔滨工程大学,2007.

  [3]许燕萍,杨代华.RS485串行总线可靠性的研究[J].电子科技,2009,22(2):8-10,22.

  [4]冯子陵,俞建新.RS485总线通信协议的设计与实现[J].计算机工程,2012,38(20):215-218.

  [5]曹万科.CAN协议车载网络若干关键理论研究[D].沈阳:东北大学,2008.

  相关计算机刊物知识:计算机工程与应用是什么级别

  投稿《计算机工程与应用》期刊,首先要了解期刊的级别,明白期刊的等级才能有所准备的投稿,经过查询,这本期刊是计算机类的核心刊物,投稿计算机类核心刊物要从分了解期刊的简介以及投稿要求,对于投稿时间有限或者没精力准备的作者可寻找网站代理发表。

  

2023最新分区查询入口

SCISSCIAHCI