面向车联网嵌入式终端设计Word文档格式.docx
- 文档编号:19020933
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:25
- 大小:3.65MB
面向车联网嵌入式终端设计Word文档格式.docx
《面向车联网嵌入式终端设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《面向车联网嵌入式终端设计Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
保密□,在年解密后适用本授权书。
本学位论文属于
不保密□。
(请在以上相应方框内打“√”)
导师签名:
基于CortexA8的嵌入式车联网终端系统设计
专业:
测控技术与仪器学号:
5801211082
学生姓名:
刘帅指导老师:
张宇
摘要
车联网是指装载在车俩上的电子标签通过无线射频等识别技术,实现在信息网络平台上对所有车俩的属性信息和静、动态信息进行提取和有效利用,并根据不同的功能需求对所有车俩的运行状态进行有效的监管和提供综合服务的系统。
本设计主要是基于CortexA8的车联网嵌入式终端系统。
采用嵌入式Linux系统作为整个开发方向。
ARM硬件平台上扩展OBD模块,GPRS模块等。
通过CortexA8处理器将数据存储到MYSQL数据库,并通过QT设计的应用软件来管理系统数据,查询汽车健康状况,并可以通过通信模块与用户通信,从而有效管理汽车。
系统软件部分主要实现了Linux系统在开发平台上的移植,主要是bootloader移植,Linux内核移植和根文件系统的建立三个方面。
完成OBD,GPRS通信模块在Linux下的驱动设计,最后通过QT设计出数据采集,存储和显示程序。
关键字:
嵌入式;
Linux;
CortexA8;
数据采集处理;
ARM
Designonnetworkingofvehicles’terminalsystembasedonCortexA8
ABSTRACT
Thenetworkingofvehiclesisasystemusinganelectroniclabeltorealizepickingupandefficientusingallofvehicles’characteristcinformationandstatic-motivtioninformationontheinformationinternetterrace,andprovideefficientlyguardianshipandsupplyingintegratedservicesaccordingtodifferentneedsoffunctionofthemostvehicles’operationalcondition.
ThedesignisanembeddedterminalsystembasedonCortexA8,usingembeddedLinuxsystemconductsthedevelopmentoriention.ARM’shardwareplatformexpandsOBDmodule、GPRSmoduleandsoon.TheCortexA8shipusedtoconvertdataacquisitiontodatabase,andtheapplicationsoftwarewhichdesignedbyQTcreatorisusedtomanagethesystemdataandsearchthevehicle’scondition.theembeddedsystemcanalsocommunicationwithuserbyGPRSmodule,sousercanmanagetheirvehiclesbetter.
Thepartofthesystem’ssoftwareprimaryachievedtheLinuxOS’stransplantingonthedevelopingplatform.Itcontains3parts:
thetransplantingofbootloader,thetransplantingofLinuxkernelandthebuildingoftherootfilesystem.Inaddition,itcompletesthedrivers’designofOBDmoduleandGPRSmodule.Thelast,designingtheAPPtogathering、restoringanddisplayingthedata.
KeyWords:
embeddedsystem;
Linux;
CortexA8;
dataacquisition;
目录
摘要……………………………………………………………………………....Ⅰ
Abstract…………………………………………………………………………..Ⅱ
第一章绪论2
车联网技术的发展和现状2
第二章Linux嵌入式系统软件开发环境搭建2
2.1Linux简介2
2.1Linux系统安装2
2.2Linux下Samba软件的安装和配置2
2.3交叉编译环境的搭建2
2.4Linux内核及根文件系统制作2
2.5QT和MYSQL安装配置2
2.6SecureCRT2
第三章硬件平台2
3.1处理器2
3.1.1Cortex-A82
3.1.2Tiny210核心板简介2
3.2OBD模块2
3.2.1OBD简介2
3.2.2EST627产品介绍2
3.33G通信模块2
3.4Wi-Fi技术2
第四章上位机QT与MYSQL2
4.1上位机QT及MYSQL环境搭建2
4.1.1选择QT的优势2
4.1.2QT编程核心技术模块2
4.1.3QT元对象系统2
4.1.3QT信号和槽机制2
4.2MYSQL2
4.2.1MYSQL简介2
4.2.2MYSQL常用语句2
4.3编译QT中MYSQL的驱动2
第五章应用软件编写2
5.1软件整体框架2
5.2图形界面设计2
5.3QT与数据库的连接及数据显示2
5.4TCP通信设计2
第六章系统测试分析2
6.1汽车终端整体方案2
6.2用户软件2
结论2
参考文献2
第一章绪论
车联网技术的发展和现状
伴随着全球汽车行业的飞速发展,车联网技术也在发生日新月变化。
当今,在国际上,美国的IVHS、日本的VICS等系统通过车辆和道路之间建立有效的信息通信,已经实现了智能交通的管理和信息服务。
而WIFI、RFID等无线技术近年来也在交通运输领域智能化管理中得到了应用,在智能公交定位管理和信号优先、智能停车场管理、车辆类型及流量信息采集及车辆速度计算分析等方面取得了一定得应用成效。
自上个世纪60年代提出智能交通的概念以来,国际企业对相关技术一直相当重视。
Benz,BMW,Toyoto等汽车公司已经积累多年研发经验,Microsoft,goole等IT公司也从不同领域深入到车联网相关系统的研发中,松下,东芝等传统电子厂商还先后做出了车联网的原型。
车联网是基于汽车标准信息源技术,而此项技术又是基于无线射频识别技术(RFID)开发的涉车信息资源的应用技术。
目前,我国已经实施了车俩射频电子标签自动识别系统。
上海世博会上汽集团—通用汽车馆展示了城市概念车EN-V车型,这款车的自动驾驶电气化,车联网概念将把人类带入零排放、零交通事故的未来汽车时代。
现今车联网技术已经具备了一定得技术基础,目前最成熟的车载系统—通用汽车的OnStar已具有远程控制的功能。
下一代交通运输系统和智能社会交通的基本构成已经呼之欲出,日渐成熟的车联网技术也将彻底改变未来的出行模式。
汽车实现“零排放、零油耗、零堵塞、零事故、且驾乘充满时尚和乐趣“,实现车与车之间的对话将是车联网未来的美好愿景。
车联网关键技术主要是:
传感器技术及传感信息整合;
开放的、智能的车载终端系统平台;
语音识别技术;
服务端计算与服务整合技术;
通信及其应用技术;
互联网技术。
其中本课题重点是车载终端系统的研究。
车载终端是车主获取车联网最终价值的媒介,可以说是网络中最为重要的节点。
当前,很多车载导航娱乐终端并不适合车联网的发展,其核心原因是采用了非开放的、非智能的终端系统平台。
为了适应网络生态系统,车联网终端应该采用更适合互联网大环境的操作系统,比如现今十分火爆的Android,ios或者是开源的Linux系统。
这些操作系统将更为适应现在的移动互联。
第二章Linux嵌入式系统软件开发环境搭建
2.1Linux简介
Linux是一种自由和开源的类UNIX操作系统。
该操作系统的内核由林纳斯.托瓦兹在1991年10月5日首次发布。
Linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络和核心的设计思想,是一个性能稳定的多用户网络操作系统。
2.1Linux系统安装
本次PC端Linux开发采用虚拟机方式安装Linux系统。
用到的虚拟机为VMwareWorkstation10版本,VMwareWorkstation是一款功能强大的桌面虚拟计算机软件,提供用户可以在同一台计算机上同时运行不同的操作系统,是进行开发、测试、部署新的应用程序的最佳解决方案。
Linux操作系统选择cnetos6.6版本,它是来自于RedHat依照开源规定释放出的源代码所编译而成,用户可以在网上下载centos6.6的ISO文件,并参考网上教程一步步安装完毕后,启动虚拟机。
如图所示:
图2.1centos界面
打开图形界面下的命令行模式,输入ifconfig命令,可以看到虚拟机的IP地址为192.168.78.129。
2.2Linux下Samba软件的安装和配置
Samba软件是在Linux下的一个免费软件,由服务器和客户端构成。
它提供的功能主要是PC主机和虚拟机之间的文件共享。
配置步骤如下:
1.在Centos命令行模式下输入yum–yinstallsamba命令,下载安装。
2.进入/etc/init.d/smb目录下,输入start命令启动Samba服务。
3.Chkconfig--level35smbon设置开机自动启动。
4.Vi/etc/seLinux/config设置seLinux=disabled来关闭防火墙。
5.iptables–F并修改/etc/samba/smb.conf配置文件,设置共享目录。
此时可以在PC端cmd下键入虚拟机IP地址\\192.168.78.129,如图可以看到PC和虚拟机建立了连接,两者可以共享文件(共享文件时需注意将共享文件夹及其父文件夹的权限开放)如图:
图2.2Samba共享文件
2.3交叉编译环境的搭建
通过samba将ARM-Linux-gcc复制到虚拟机,将工具包解压并安装到/usr/local/ARM目录下(tarxvzfARM-Linux-gcc*.tgz–C/usr/local/ARM);
将路径添加到环境变量:
使用vi修改/root/.bashrc文件,添加PATH=$PATH:
/usr/local/ARM/4.5.1/bin,重启系统。
在终端下打开命令行,执行ARM-Linux-gcc–V查看编译版本
图2.3gcc版本
2.4Linux内核及根文件系统制作
Linux内核的主要模块为一下几个部分:
存储管理、CPU和进程管理、文件管理、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
内核结构如图所示:
SYSTEMCALLTNTERFACE
PROCESSMANAGEMENTVIRTUALFILESYSTEM
MEMORYMANAGEMENTNETWORKSTACK
ARCHDEVICEDRIVERS
图2.4内核架构
图2.4内核架构
本次Linux系统内核为2.6.32版本。
通过samba服务奖内核源码包复制到Linux共享目录下,执行tar–xvzfLinux-2.6.32.tar.gz–C/home/zds/kernel解压到用户家目录下。
解压后进入Linux-2.6.32目录,目录下几个重要文件夹arch:
与体系结构相关的目录。
Init:
内核初始化代码。
Kernel:
内核管理核心代码。
Ipc:
进程间通信的实现代码。
修改makefile文件,将交叉编译器bin文件目录路径添加CROSS:
COMPLIE?
=/后面,修改时钟,修改机器码,执行makemenuconfig命令进行配置(根据硬件资源)。
配置完成后执行makeZImage生成二进制bin文件。
根文件系统可以通过busybox来制作,一般采用YAFFS文件系统。
根文件系统目录一般包括/bin,/sbin,/dev,/etc,/modules,/var,/usr,/src,/var,/lib等文件目录,根文件系统可以按照如下步骤来制作:
1.创建根文件目录root_2.6.31,并在目录下创建子目录(按Linux格式)
2.通过samba服务获取busybox源码包,解压并修改makefile文件,指定交叉编译器,处理器架构
3.执行makemenuconfig选择静态编译并保存到上级rootfs目录,依次执行make,makeinstall,完成后将rootfs下所有文件复制到root_2.6.31中
4.在dev目录下创建俩个设备节点,命令:
mknodconsoleC51
mknodnullC13
5.将busybox目录下examples/boot/loppy/etc和系统配置文件中的/etc/passwd,/etc/shadow,/etc/group下的所有文件拷贝到root_2.6.31的配置文件夹中(/etc)
6.使用makeyaffs工具将根文件夹制作成root_2.6.32.bin文件.
2.5QT和MYSQL安装配置
下载安装QTpc版,ARM版本,安装tslib库源码,添加ARM-Linux-gcc交叉编译器和工具包。
图2.5添加交叉编译器
图2.6工具包添加
MYSQL:
MYSQL是一个开放源码的关联式数据库管理系统,2009年被甲骨文公司收购,MYSQL广泛应用在Internet上的中小型网站中,由于体积小、速度快、总体共有成本低,尤其是开放源码这一特点,广受中小型网站喜爱。
Linux下通过yuminstallMYSQLMYSQL-server命令安装MYSQL服务器和客户端,安装头文件等设备文件,启动MYSQL,设置用户密码,成功进入MYSQL。
增加一个用户,使之能够在任何主机访问本地数据库。
命令:
Grantallprivilegeson*.*to‘zds‘@’%‘identifiedby‘zds’withgrantoption;
2.6SecureCRT
SecureCRT是一款支持SSH的终端仿真程序,在windows下登陆Linux服务器主机的程序。
它同时支持Telnet和rlogin协议。
SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。
通过使用内含的VCP命令行程序可以进行加密文件的传输。
打开SecureCRT,新建连接,建立到虚拟机Linnux系统的连接,输入密码后如图:
图2.7SecureCRT连接虚拟机
第三章硬件平台
3.1处理器
3.1.1Cortex-A8
ARMCortex-A8处理器是第一款基于ARMv7架构的应用处理器,并且是有史以来ARM开发的性能最高、最具功率效率的处理器。
Cortex-A8处理器的速率可以在600MHz到超过1GHz的范围内调节,能够满足那些需要工作在300mW以下的功耗优化的移动设备的要求;
以及满足那些需要2000DhrystoneMIPS的性能优化的消费类应用的要求。
Cortex-A8处理器是ARM的第一款超标量处理器,具有提高代码密度和性能的技术,用于多媒体和信号处理的NEON™技术,以及用于高效地支持预编译和即时编译Java及其他字节码语言的Jazelle®
运行时间编译目标(RCT)技术。
图3.1CortexA8简化视图
3.1.2Tiny210核心板简介
Tiny210是一款高性能的CortexA8核心板,它由广州友善之臂设计、生产和发行销售。
它采用三星S5PV210作为主处理器,运行主频可以高达1GHZ。
S5PV210内部集成了PowerVRSGX540高性能图形引擎,支持3D图形流畅运行,并可流畅播放1080P大尺寸视频。
Tiny210核心板主要采用了2.0mm间距的双排针,引出CPU大部分常用功能引脚(总共180pin),接口和Tiny6410核心板兼(P1,P2,CON2兼容,可共用同一个底板);
Tiny210标配512MDDR2内存和512M闪存(SLC),并可选配1GB闪存(SLC)。
在开发底板布局上安排上,我们尽量考虑把常用尺寸的LCD模块能够固定在底板上,比如3.5"
、4.3"
、5"
、7”LCD等,这样用户在使用时不至于把各种电线搅在一起,更增加了开发套件的便携性。
图3.2Tiny210开发板
3.2OBD模块
3.2.1OBD简介
OBD(On-Board-Diagnostics)即车载自动诊断系统。
这套系统能在汽车运行过程中实时监测发动机电控系统及车辆其他功能模块的工作状况,发现工况异常时会以诊断故障代码的形式存储在系统内的存储器上。
我们可以通过这个接口获得车辆的各种工况,包括故障信息、油耗记录、行车记录等数据。
从而更好的监督管理车辆的健康。
OBD不仅仅是一个独立的系统,还是一个完美的数据源。
OBD以汽车上的各种传感器、发动机电控单元及各执行器为监测对象。
实际应用中,OBD系统在汽车点火时就已经启动。
其工作原理是:
通过监测发动机电控单元反馈的各种传感器和执行装置的输出信息,一旦监测到某一信号产出设定范围一段时间,OBD就会进行故障报警,并将生成故障码存储到RAM中。
3.2.2EST627产品介绍
EST627是有深圳速锐得科技针对行业用户精心打造的一款OBD智能信息终端硬件产品集OBD+GPRS等各种功能与一体,实现车辆数据的实时获取、跟踪定位和状态监测,更高效更智能的实现车辆管理、车辆远程监控。
图3.3产品外观图
图3.4主要部件组成
EST627的OBD模块能够实现获取车辆实时数据、驾驶习惯数据、行程报告、车速监测、故障码、电瓶电压监测等数据报告。
并且支持实时数据获取,熄火自动生成本次行程报告。
图3.5OBD模块通讯协议支持列表
当终端与ECU通讯成功,设备进入正常工作后,循环执行的任务列表清单如下(以6秒间隔上传时间为例):
图3.6任务列表
a.加速度值,角速度值只在程序内进行运算。
超过阈值将累加。
b.GPS定位分2种定位,基站定位和GPS定位,如果有外接GPS设备,基站定位暂停获取,一旦检测到GPS定位失败,基站定位会立即激活,并按照每1分钟的频率更新一次基站定位信息,如果GPS和基站定位都获取失败,将直接显示默认为0的数值。
c.当前车速每1S检测一次,如当前车速超过设定阀值,将触发超速报警。
d.网络检测分2种,如果GPRS模块已经关闭,10S之后,将再次开启,并重新执行GPRS模块初始化(包含同步设置、入网、建立TCP链接),若GPRS模块在正常运行并且存在SIM卡,则依次执行查看本地网络信号、检查GPRS信号、检查TCP状态等,若SIM卡不存在,GPR模块将关机。
e.当终端收到服务器下发的指令后,终端会将指令存入消息队列,并立即开始执行指令任务。
超速报警:
设备会每一秒获取一次车辆的当前车速,若车速超过设定值,将上报服务器后台超速消息,如果车速一直高于设定值,设备只会上报一次超速消息,若当前车速有低于设定值,设备将重新上报超速消息,消息格式定义如下:
图3.7超速消息格式
3.33G通信模块
3G是第三代移动通信技术,是指支持高速数据传输的蜂窝移动通讯技术。
3G服务能够同时传送声音及数据信息,速率一般在几百kbps以上。
3G是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统,目前3G存在3中标准:
CDMA2000、WCDMA、TD-SCDMA。
系统采用的通信模块为WCDMA标准的ZTEMF210。
特性简介:
-制式:
HSUPA/HSUPA/WCDMA
-频段:
·
UMTS2100/1900/850(900)MHz
GSM1900/1800/900/850MHz
-速度:
7.2M/5.76Mbps
-外形尺寸:
51x30x4.7mm
-
VID:
PID19d2:
0117
图3.83G模块
3.4Wi-Fi技术
现如今Wi-Fi已经成为生活中的一部分了。
WIFI技术的应用,可以将更多日常电子产品连入局域网内,统一协调管理。
本监控平台将WIFI技术融合到车辆监控,拓宽了车辆监控的视角。
系统中使用的WIFI为miniUSB-WIFI,型号为N8508。
特性简介:
-无线标准:
IEEE802.11b/g/n
-传输速率:
150Mbps
-芯片:
RTL8192CU
-接口类型:
USB
-尺寸:
18x14x6mm
-支持Android/Linux
-支持AP模式,一键设置,轻松共享
图3.9miniUSBWIFI
第四章上位机QT与MYSQL
4.1上位机QT及MYSQL环境搭建
4.1.1选择QT的优势
随着嵌入式技术应用领域愈加广泛,用户体验也越来越重要,一个友好的人机交互界面成为评价嵌入式系统的重要指标,选择QT作为本次GUI开发工具,主要是因为:
a.它的源代码开源。
QT遵循GPL协议,分为商业版本和开源版本。
用户可以使用开源代码自由添加新
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 联网 嵌入式 终端 设计