毕业设计(论文)-基于Nios II的出租车北斗GPS定位管理系统.doc_第1页
毕业设计(论文)-基于Nios II的出租车北斗GPS定位管理系统.doc_第2页
毕业设计(论文)-基于Nios II的出租车北斗GPS定位管理系统.doc_第3页
毕业设计(论文)-基于Nios II的出租车北斗GPS定位管理系统.doc_第4页
毕业设计(论文)-基于Nios II的出租车北斗GPS定位管理系统.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

泉 州 师 范 学 院毕业设计论文 题 目 基于Nios II的出租车北斗/GPS定位管理系统 物理与信息工程 学 院 电信信息科学与技术 专 业 2013 级 二 班学生姓名 学 号 指导教师 职 称 完成日期 20017.04 教务处 制基于Nios II出租车北斗/GPS定位管理系统【摘 要】为了使出租车的空驶率降低,并改善出租车的在一定区域的数量过多与收益分配不均等问题。本文介绍以FPGA嵌入Nios II处理器为核心的出租车管理系统中的车载终端,与出租车管理系统的后台数据管理系统与手机运营端。以低功耗的UM220-III北斗/GPS双模定位模块接收导航电文,利用NIOS II的指定中断处理函数完成对导航电文的信息处理。通过串口发送AT指令至SIM900A无线通信模块使用UDP协议将车载的位置信息与一些必要信息发送到指定网络服务器。网络服务器将全市的出租车信息汇总,形成可用信息。管理人员操作后台数据管理系统,进行数据管理与发送出租车的调度信息。手机运营端接收调度信息,出租车司机根据调度信息执行运营。该通过实际测试该出租车管理系统具有较好的应用效果,具有一定的改善出租车目前的发展状况的价值。【关键词】出租车;空驶率;Nios II;UM220-III;SIM900A;UDP;导航电文;全套图纸加扣 30122505820 引言出租车作为一种方便人们出行的交通工具,是公共汽车的运行不足一种补充,但全国很多城市出现一定区域的数量过多与收益分配不均等问题,即“打车难”、打车需要等待很长时间这类等问题1。近几年“滴滴出行”模式的竞争之下,出租车乘客量减少。主要是“滴滴出行”模式相比出租车有两大优点,是更少的等待时间和更低的打车费。2016年12月21日,北京市正式对外发布网约预约出租车经营服务管理细则2。标志网约车的正式合法,但由于网约车平台的个人和车辆必须审核,具备相关运营资格后方可营运。并且目前只有北京、上海、天津和杭州有相关的营业资格认证,导致认证数量不及需求量。在这个时期是出租车进行变革的有利时期,减少出租车客人的等待时间是出租车变革的重中之重。利用便捷的网络优势与北斗/GPS的精确定位是解决减少出租车客人的等待时间的关键点。使用UM220-III北斗/GPS双模定位模块进行定位,NIOS II处理器接收定位信息并处理信息、出租车计费系统控制和控制SIM9000A无线通信模块使用UDP协议发送处理之后信息至指定的网络服务器。网络服务器收集城市交通情况信息、车载终端信息和网上车辆预约信息。全部信息进行综合分析,得出合理化的车辆调度信息,利用UDP通信协议技术将车辆调度信息发送到各个出租车司机的手机端。这种嵌入式Nios II处理为核心设计出租车定位管理系统的的优点是解决了等车时间过长,收益分配不均等这类问题。1.系统设计 1.1 系统总设计概况图1-1 系统设计整体结构图1-1为整个系统设计整体结构图,包括三大部分,分别为车载终端、网络服务器和UDT通信的手机端三大部分。图中的网络服务器属于一个平台,为UDP接收模块、Mysql数据库和后台数据管理系统提供载体支撑。车载终端主要任务为车费、车程和位置等记录并上传到网络服务器中的后台UDT接收功能模块。后台UDT接收模块将车载终端信息的接收与处理并存入Mysql数据库中。收集对应城市道路信息,综合信息得出合理的车辆对应调度信息。UDT通信的手机端接收来自后台数据管理系统的调度信息,根据调度信息运营。2.车载终端设计 2.1 车载终端硬件设计2.1.1 Nios II系统构建Nios II处理器是SOPC技术的RISC处理器内核,而SOPC技术是以FPGA芯片硬件为基础的嵌入式系统,可通过单个芯片完成一个系统的逻辑处理3。使用SOPC技术使得整个车载系统的故障率进一步降低、系统可得到最新的版本的更新。使用Quartus II中的Qsys设计工具构建Nios II系统3 。其主要包括Nios II处理器、JTAG_Uart、System ID、UART、PIO、DARAM和EPCS控制器等外设,PIO外设有几十个I/O口,连接出租车的计费系统和利用SPI接口连接LCD屏幕4 。在Qsys工具中添加各个必要的外设之后、每个外设的clk、reset和各种的数据口都要与Nios II处理器进行了相连。规定了有中断性质的外设的中断优先级与100MHz的系统时钟。整个Nios II系统的配置图如图1-2。图1-2 Nios II系统的配置图在保证Qsys工具界面的Messages栏里显示0错误与0警告,就可以生成Nios II系统。在顶层原理图的例化的Nios II系统正确连接各个引脚,并锁定引脚。正确全编译之后就完成了完整Nios II系统在FPGA芯片上的构建。2.1.2 UM220-III定位模块UM220-III是和芯星通第三代针对车辆监控、手持设备、电力授时、气球探空等应用推出的北斗/GPS双系统低功耗和集成度高模块5。其低成本与复杂条件下的快速捕获跟踪和可靠的精确定位能力适合在我国大规模的应用与推广。图1-3 UM220-III定位模块部分原理图由图1-3的UM220-III定位模块部分原理图可知UM220-III芯片有两种输出导航电文的接口,分别为SPI接口和3.3V的UART接口。其中UART接口有两个,这两个UART可同时输出导航电文。为可以更好的满足实际的使用需求,将其中的UART接口1通过MAX232A芯片将3.3V的电平转换为5V电平。可使用DB9串口线连接UM220-III模块的UART接口1与计算机的USB口用做为UM220-III模块的输出导航电文的配置与调试。为了满足设计要求,通过CDT软件对UM220-III模块进行配置,使得输出导航电文每秒只输出$-RMC最短数据信息的导航电文。其中$-RMC的-有三种情况,分别为GP、BD和GN。GP表示GPS全球卫星定位系统的单独定位,BD表示BD北斗系统单独定位和GN表示GPS全球卫星定位系统与北斗系统联合定位。GPS系统单独定位是完全遵从NMEA0183协议,若是在双系统工作之下输出导航电文的遵从NMEA0183协议基础之上的扩充协议。配置无误之后,进行保存,下一次定位模块重启之后就根据保存在Flash里配置信息进行配置输出导航电文无需再次配置。2.1.3 SIM900A无线模块SIM900A是由芯讯通无线科技设计的拥有EGSM 900和DCS 1800两个低频频段无线移动通信芯片。其内嵌TCP/IP协议,为本设计方案使用UDP协议提供便利。图1-4 SIM900A无线模块部分原理图由图1-4 SIM900A无线模块部分原理图可知,SIM900A有UART与I2C两种接口。选择与UM220-III定位模块UART接口类型一致,是为了减少之后的Nios II处理器编程难度,加快工程进度。SIM900A模块提供3.3V与5V不同电平两组的UART接口,但由于这两组是UART接口是共用同一个SIM900A芯片UART接口,所以两组UART接口只能在同一时间使用其中一种。2.2 车载终端程序设计2.2.1 程序总流程Nios II处理器编程任务主要是要接收UM220-III定位模块输出的导航电文并提取所需信息和控制SIM900A无线模块将需要发送信息包装成一定数据格式,通过UDP协议发送到网络服务器。程序从初始化开始,初始化包括设置UART外设的中断标志位与中断处理函数和SIM900A无线模块UDP传输设置。之后,程序等待UM220-III定位模块通过UART接口发送“$-RMC”开头的导航电文。一旦发送,就会触发Nios II处理器发生UART中断,开始每一次一个字节接收从UM220-III定位模块发送的导航电文。接收完毕,根据导航电文结尾是否有“n0”判定是否接收到是完整数据。若接收完整,就提取导航电文中所需信息与获取车辆现有信息,进行整理与组合,按照规定数据格式生成要发送的数据。最后通过AT指令控制SIM900A无线模块发送按照规定数据。整个NiosII处理器的执行过程如图1-5的总程序流程图所示。图1-5 总程序流程图2.2.2 提取导航电文中所需信息程序流程UM220-III定位模块会每一秒向Nios II处理器的UART外设传输固定格式的导航电文。其格式为”$-RMC,time,status,Lat,N,Lon,E,spd,cog,date,mv,mvE,mode*cs”7。格式中的time为UTC时间;Lat和Lon分别为纬度与经度;spd为速度;data为UTC日期。由于Nios II处理器接收到导航信息是有固定的格式,所以以 ,为分隔符和统计分隔符的个数来区分不同信息并用字符数组存储所需信息。提取导航电文中所需信息程序整个流程如图1-6导航电文解析流程图所示。图1-6 导航电文解析流程图2.2.3 利用UDP协议发送信息程序流程UDP是一个简单的面向数据报的运输层协议,UDP不提供可靠性保证8。其不可靠性主要是在与UDP接收方没有验证机制,导致可以接收来至任意数据。TCP协议的可靠性是在数据传输之前,发送方与接收方会进行三次握手才能建立TCP连接,从而TCP的接收方只会接收有建立连接TCP发送方的数据。UDP协议相比TCP协议有较快的传输速率,UDP协议的不可靠性将由接收方利用JAVA语言建立一个可靠的验证机制来改善。利用UDP协议来发送信息,需要先对SIM900A无线模块发送AT指令进行设置。在程序初始化时,就发送“AT+CLPORT=UDP,8280r0”设置本地UDP连接端口号为8280,端口号选择未被使用即可。然后发送“AT+CIPSTART=UDP,77,8082r0”,建立接收方IP地址为:77,端口号为8082。上两条AT指令执行一次即可。在程序将所有收集信息按照“出租车车辆编号:时间,经度,纬度,速度,载客情况,载客费用”的固定格式存储在sun55字符数组里。向SIM900A无线模块发送“AT+CIPSENDr0”的AT指令通知其要准备向事先设置的接收方发送信息。然后发送sun55字符数组信息。最后发送0x1A字符,表示发送信息结束。SIM900A无线模块就会将sun55字符数组里信息发送到网络服务器端。整个流程如图1-7发送信息流程图。图1-7 发送信息流程图3.网络服务器和手机终端设计3.1 网络服务器3.1.1 网络服务器组成网络服务器主要分为三个部分,分别是UDP接收模块、Mysql数据库与后台数据管理系统。UDP接收模块用于接收来自车载终端的收集信息并处理;Mysql数据库用于存储来自UDP接收模块处理之后数据;后台数据管理系统的提供以网页的形式来查看数据。3.1.2 UDP接收模块UDP接收模块接收到数据之后的处理流程如图1-8 UDP接收模块处理数据流程图所示。接收数据是存储在String的数据类型的变量中,以,为分割符,对String变量中的数据分割,将分割出来各个数据以对应数据类型变量存储。实例化一个CarData类型的变量并将上述的各个数据设为该实例化对象的属性值。最后将该实例化对象做为一个入参传入指定方法,该指定方法会将该对象与数据库中的对应的表建立起对象关系映射,最后根据对象关系映射将数据存入数据库中指定的表中。图1-8 UDT接收模块处理数据流程图3.1.2 后台数据管理系统后台数据管理系统主要是可以网页形式的管理数据以及展示数据。其主要有以下这几个功能:登入密码修改;UDP通信功能;选择所需的数据备份为xls格式的文件;将xls格式文件还原到数据库中;选择需要展示数据在百度地图上展示行驶线路即出租车历史行驶轨迹。后台管理系统以Maven做为项目管理,整合了对象管理的Sping、三层软件开发的Sping MVC和与半自动化的Mybatis作为项目的架构,为Java类对象管理、项目的分层开发和数据持久化提供的便捷。数据备份首先是要找出所需的数据,通过时间段与车辆ID来筛选,从数据库取出数据通过Apache POI的就可以完成将数据写入到xls格式文件中。数据还原就是数据备份的反向操作。选择需要展示数据在百度地图上展示行驶线路主要用到百度地图提供JavaScrip的函数。登入密码修改有严格的处理机制,在输入完原密码,即通过Ajax技术从后台获取密码与原密码匹配,若不一致,则原密码输入框边框变为红色并且输入框后边提示输入原密码错误。新密码输入框与再次输入新密码框的输入要满足其设计的要求,若输入不满足要求,就会在输入框之后提示错误信息。只有三个输入框都没有提示错误,提交按键才能被点击。UDP通信功能是基于Java的Socket编程实现的。在使用时候需要输入要通信的外网的IP地址与其作为通信的端口号,做为其的连接条件。通过这两个条件找到匹配的符合条件的通信方,之后输入所要发送的调度命令,并确认,其就会自动将信息发送到指定的UDP协议通信的手机端。后台数据管理系统的数据备份与出租车历史行驶轨迹都需要先筛选数据。数据筛选是通过起始时间、终止时间和车辆的ID来筛选数据。数据备份会将筛选出数据以“datagrid”类型形式排列,若筛选出的数据是所需要,就点击“保存”按钮,就会将数据保存为xls格式的文件存储在本地磁盘。若是筛选后在百度地图上显示出租车历史行驶轨迹。则点击“查看”按键,前端页面将所选择的条件传入到后台,后台给数据库发送“select * from test2 where name=#carName and time between #starTime and #stopTime”用于查找符合条件数据,查找到数据会暂时存储在List集合里,在Spring MVC的Control层将List集合的数据包装为model传到前端界面。由于使用是百度地图所提供的地图数据,所以每一个数据的位置信息要使用” BMap.Point(lon,lat)”的百度地图API进行数据封装,之后在存入一个数组中。” BMap.Polyline(pointArrays, .)”中的pointArrays存储从后台传送过来的经纬度数据,.则是规定在地图上历史行驶轨迹的线宽、线的颜色等设置。最后将这个函数得到的对象加入到地图中,就可以展示如图1-9历史轨迹页面图所示的地图上显示出租车的历史轨迹。图1-9 出租车历史行驶轨迹页面图2.系统整体测试 测试是分为三个部分,分别是车载终端、网络服务器通和手机端。经过测试,车载终端可以正确接收来自北斗/GPS卫星导航电文,精确的从导航电文中提取当前的UTC时间、出租车速度与出租车当前位置经纬度信息。时间信息经过处理在LCD屏幕上UTC时间的年月日与时间,时间精确到秒。UTC时间、出租车的经纬度、车速和车费等信息按照一定格式传送到网络服务器。网络服务器可以将接收到数据处理并存储到数据库中。后端数据管理系统可以很好的管理数据库中出租车的数据信息与展示。后端数据管理系统也可以通过UDP协议与手机端进行文字信息传递。其中网络服务器做为另外两者的中转处,其性能尤为重要。在实际的使用中网络服务器会同时接收到多条信息,都需要及时处理。为了检验服务器的性能情况,使用了Apache下的JMeter进行性能测试。在线程组设置线程数为100,循环10次,即本次服务器的压力测试HTTP请求将测试1000次。结果报告使用聚合报告展示,如图图2-1服务器测试报告图。在测试报告中,本次服务器的压力测试中实际发出958次HTTP请求;平均的HTTP请求时间为2372毫秒;平均每秒处理2.2个HTTP请求;本次测试出现了总数的0.52%的错误请求。根据测试的聚合测试报告得知,本服务器满足小数量的业务处理,若需要大数量的业务处理就需要配置硬件规格更好的服务器。图2-1服务器测试报告图参考文献1 于左,高玥. 出租车行业规制的困境摆脱及其走势判断J. 改革,2015,(06):119-129.2 李明. 2017网约车最新消息 北京/上海网约车新政策平台OL. /qiche/2017-04-02/1963218.html,2017-04-02 00:00.3 杨瑞. 基于Nios的导航计算系统设计J. 舰船科学技术,2014,12:132-135.4 胡晗. 基于FPGA的磁盘阵列存储系统设计D.哈尔滨工程大学,2013.5 和芯星通公司. 和芯星通UM220-III N用户手册EB/OL.,2013,07.6 芯讯通无线科技(上海)有限公司. SIM900A_硬件设计手册_V1.04EB/OL., 20 和芯星通公司.UM220-III_Rel_Ed1 模块输出数据及配置命令协议EB/OL.,2013,07.8 于本成,曹天杰. UDX:基于UDP的可靠传输协议J. 计算机工程与设计,2013,(06):1917-1924.9 曹祎,罗霞. 城市出租车打车软件使用率对空驶率影响研究J. 计算机工程与应用,2016,(14):26 6-270.10 张维文,孙耀杰,王彬宇. 基于Android和SIM900A模块位置实时监控系统的设计与实现J. 中国矿业,2014,(S2):362-365.11 罗卫兵,胡健生. 基于STM32+ucGUI的北斗导航定位系统设计J.液晶与显示,2014,(02):195-20112 Montenbruck O, Hauschild A, Steigenberger P, et al. Initial assessment of the COMPASS/BeiDou-2 regional navigation satellite systemJ. GPS solutions, 2013, 17(2): 211-222.Design of Taxi Management System Based on Nios II and Beidou/GPS moduleInstitute of Physics and Information EngineeringElectronic Information Science and Technology130303051 Lijian Liu Instructor YongXi Zeng LecturerAbstract Reducing the rate of empty for taxis, and to improve the excessive regional taxi and income inequality problem. Details of the embedded FPGA Nios II processor as the core of the taxi management system ,Server and phone.The low-power UM220 - III beidou/GPS dual-mode positioning module receives the satellite message, NIOS II can handle the message. To send the AT command to SIM900A wireless module that can sent the message to the network server. Network servers will be make the mesage and send scheduling information to phone.The phone can receive the scheduling information.The taxi system have user value .Key wordsTaxi; Empty rate; Nios II; UM220 - III; SIM900A; UDP. Navigation message.附录 Nios II处理导航电文关键程序代码if (uart.receive_buffer0 = $ & uart.receive_buffer1 = N& uart.receive_buffer2 = A & uart.receive_buffer3 = V& uart.receive_buffer4 = P & uart

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论