资讯中心
资讯中心 当前位置:豪彩国际 > 资讯中心 >
时间:2019-01-17 14:48来源:豪彩国际(www.tdshhs.com)点击:

  目前城市公交系统飞速发展,且已基本都是无人售票▯▯▯,报站也由原来的售票员报站改为由司机手动控制报站。但是由于公交司机既要开车▯▯▯,又要兼顾手动按键报站,所以时常出现误报、漏报等现象,不能满足公交系统的要求;另外,由于司机开车时为报站分散精力▯▯,也对公交?的安全运行埋下了隐患▯。应用自动报站系统即可以节省员工开支▯▯▯,增强公司效益▯▯▯,又可以利用报站器播报标准的普通话站名,使各城市更利于交流和发展。

  GPS卫星定位语音报站系统具有定位精度高▯、语音自动播报等特点。目前市场上已有基于GPS的公交车自动报站系统的试用,但这些系统都是基于各种单片机为处理芯片的▯。

  车载设备安装于公交车上,其工作环境比较恶劣▯▯▯,因此对设备的结构也有一定的要求▯▯▯,本系统采用工作稳定可靠、抗干扰能力强的ARM9处理器。嵌入式系统固化于存储器中,其可靠性高▯▯▯、成本低、体积小、功耗低。鉴于此,本研究设计了一种基于GPS的嵌入式公交车自动报站系统▯▯▯,可以实现公交车到达站点后的实时报站▯▯▯,预报下一站的信息,播放语音▯▯、视频等信息,结合LCD进行报站显示,让乘客可以更方便地了解周边信息▯▯▯,也可以降低司机的劳动强度。

  全球定位系统GPS(Global Positioning System)是美国从20世纪70年代开始研制▯▯,历时20年,耗资200亿美元▯▯,具有海、陆、空全方位实时三维导航与定位能力的新一代高精度卫星导航与定位系统。GPS定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据▯▯,采用空间距离后方交会的方法,确定待测点的位置。假设t时刻在地面待测点上安置GPS接收机,可以测定GPS信号到达接收机的时间?驻t,再加上接收机所接收到的卫星星历等其他数据可以确定以下4个方程式,如图 1 所示▯。

  通常GPS模块支持两种格式▯▯:二进制消息格式和NMEA-0183 ASCII消息格式▯。前者的通信协!议为9 600 b/s、无校验、8 bit数据位、1 bit停止位;后者的通信协议为4 800 b/s、无校验、8 bit;数据位、1 bit停止位。由于NME。A-0183 ASCII格式直观、易于识别及应用, 因此本设备采用ASCII格式▯▯。目前GPS厂商遵循NMEA0183协议提供串行通信接口▯▯▯,串行通信参数为▯:波特率=4 800 b/s,数据位=8 bit,停止位=1 bit,无奇;偶校验。

  GPS与系统通”信时,通过串口发送数据。系统接收到的GPS数据主要由帧头、帧尾和帧内数据组成▯。根据数据帧的不同▯, 帧头也不相同, 主要有 GPGGA▯、 GPGSA、GPGSV以及 GPRMC等。各类数据帧分别包含了不同的信息。

  由于帧内各数据段由逗号分割, 因此在处理缓存数据时通过搜寻ASCII 码“ ”来判断是否是帧头。在对帧头的类别进行识别后, 再通过对所经历逗号个数的计数判断出当前正在处理的是哪一种定位导航参数, 并做出相应处理。

  在接收进程receive中收到▯▯“\n”之后,表示收到一条完整的信息▯▯▯。在gps_parse子程序中实现GPRMC格式数据的解析,show_gps子程序中实现数据的显示。

  从GPS原始采集的数据可以解析出年月日▯、时间、状态、纬度经度以及高度等信息,然后可以通过GPS的报站程序,按照设定的格式▯▯,只要条件满足就执行报站程序及数据的显示▯▯。

  串口设置:最基本的设置串口包括波特率设置、校验位和停止位设置。串口的设置主要是设置struct termios结构体的各成员值,关于该结构体的定义可以查看/arm2410s/kernel-2410s/include/asm/termios.h文件。

  读取串口数▯▯▯。据▯:使用文件操作read函数读取,如果设置为原始模式(Raw Mode)传输数据,那么read函数返回的字符数是实际串口收到的字符数。可以使用操作文件的函数来实现异步读取,如fcntl▯▯▯,或者select等操作。

  语音报站是基于GPS的自动报站系统的核心部分▯,只有实现了语音报站,整个系统才算完成。实验箱中的音频驱动程序和视频驱动程序都是一个独立的程序,要想在GPS的自动报站程序中使用音频驱动程序实现语音报站,就必须用一个函数来实现程序的调用▯▯▯。System函数就有这样的功能。System函数已经被收录在标准C库中,可以直接调用▯▯▯。

  语音报站程序主要是通过system函数调用音频驱动程序来实现的。如果采集信号的状态为▯▯▯“A”▯▯,就可以进行数据的对比▯▯,如果在站点范围内就用system函数调用一段语音,如果出了站点范围就调用另外一段语音。站点具体的经度和纬度可以用数组来定义▯▯,这样可以方便修改,也更▯▯▯,加直观、简单▯▯。站点的范围通过一个方框限定▯,经度和纬度在站点的100 m范围内。站点的范围也可以用一个圆来限定▯▯,即到站点的距离小▯▯,于d的范围,两个站点间的距离可以用公式计算。

  多线程程序作为一种多任务▯、并发的工作方式,有以下的优点:(1)提高应用程序响应;(2)使多CPU系统更加有效;(3)改善程序结构。LIBC中的pthread库提供了大量的API函数▯▯▯,为用户编写应用程序提供支持。在本程序的代码中大量使用了线程函数▯,如pthread_create(线程创建函数)▯▯▯、pthread_join(等待一个线程的结束)pthread_exit(一个线 系统总体设计及调试

  系统的软件部分主要是GPS数据的解析和报站子程序的设计。目前军用GPS接收机的

  定位精度只有10 m~20 m,而实际的公交车报站的精度只要在150 m范围内就可以,所以本次设计中的站点范围为100 m,完全可以达到设计的要求▯。如果是中小城市的话可以将定位的精度进行适当的调整。由于GPS采集信号的周期是每1 s采一次,而实际上公交车站点之间的距离较远,且报站的时间需提前一点,1 s进行一次数据对比比较麻烦▯▯▯,每隔5 s进行一次数据对比就可以了▯▯▯,所以程序中将数据对比的周期改成了5 s一次。公交车上还可以采用车轮计速的方法▯▯,每次车轮转够一定的圈数就进行一次数据▯“比对▯▯▯,这样可以防止公交车到站停车后继续执行报站程序。采集到的信号状;态为“A▯▯▯”时▯▯▯,执行相应的报站程,序,但是有时候会出现信号不好的情况,这时就要提醒司机临时将自动报站改成原来的手动报站▯▯,以防止乘客下错站。

  GPS公交自动报站系统包含硬件和软件两部分▯▯▯。硬件以ARM9S3c2410x处理器为核心, 配置存储器、I/O设备、通信模块等必要的外设;软件以嵌入式Linux操作系统为核心▯,提供应用编程接口API。嵌入式系统中,软件和硬件紧密配合,协调工作,共同完成系统预定的功能。自动报站的硬件原理图如图3所示▯。

  接入设备:关闭2410-S平台,将GPS天线连接到GPS/GPRS模块上,天线接收端置放在能良好接收室外信号的地方▯▯,将模块插入2410-S扩展,插槽。

  本研究根据公交车报站的实际需要▯▯▯,设计并实现了基于GPS的公交车自动报站系统。该系统利用嵌入式实验设备实现了公交车的自动报站,具有性能高、能耗低、体积小、播报准确的特点,便于在实际运行的公交车上使用;采用先进的卫星定位技术与语音播放技术相结合的方式,彻底改变了传统公交车语音报站器由司机手控的方式,进站▯▯▯、出站自动播报站名及服务用语,准确、及时▯▯,完全不需要人工介入。实验结果表明,该系统可以用于GPS信号的采集和自动报站,但采集到的数据与真实值之间有一定;的误差▯▯,并且有时由于树木、高楼的遮挡会导致有些路段接收GPS信号效果不佳。因此▯▯,采用数学方法(差分技术)消除数据间的误差▯▯,利用其他辅助定位系统与GPS 定位相结合进行定位来提高定位数据的精度,将是下一步研究的主要方向▯▯▯。

      豪彩国际
上一篇:新浪网友:公交车设计的极不合理 下一篇:北京无障碍环境建设国内一流半数公交车采用低踏板设计