嵌入式系统课程论文模板1.docx
《嵌入式系统课程论文模板1.docx》由会员分享,可在线阅读,更多相关《嵌入式系统课程论文模板1.docx(26页珍藏版)》请在冰豆网上搜索。
嵌入式系统课程论文模板1
物理与电子学院
1
《嵌入式系统原理与开发》
课程考核论文
基于ARM7的智能公交车载终端的设计
论文作者姓名:
朱春生
作者学号:
06022149
所学专业:
理科物理方向
任课教师:
高伟
完成时间:
2012年6月
目录
摘要:
1
0前言3
0.1智能交通系统(ITS)3
0.2智能公交系统(APTS)3
0.3国内外研究状况3
0.4现行系统的不足4
0.5ARM嵌入式处理器4
1系统整体方案设计5
1.1系统硬件组成及整体功能5
1.2系统软件设计方案的选择6
2硬件实现7
2.1处理器的选择7
2.2外围芯片的选用11
2.3硬件原理图11
2.3硬件电路设计中注意问题20
3智能公交车载终端软件设计21
3.1操作系统的移植22
3.2应用软件实现的功能23
3.2应用程序设计23
4结论24
参考文献25
基于ARM7的智能公交车载终端的设计
朱春生
(河南大学文理实验班,河南开封,475004)
摘要:
智能公交系统的建设可以改善公交公司的企业管理方法,提高公交系统的运营效率与服务水平。
基于ARM的智能公交车载终端是智能公交系统的信息终端,负责信息的接收和发布,在系统中起着至关重要的作用。
本文结合我国众多城市公交站牌间距较小的特点,在国内现有智能公交系统方案中引入ZigBee短距离无线通信技术。
详细给出了基于ARM7的车载终端的硬件设计原理图和以uClinux操作系统为核心的软件移植、设计方案。
硬件系统包括存储、GPS、ZigBee、语音、LCD显示等10个模块。
通过软硬件的结合,该车载终端可实现正点考核、实时监控、自动报站、危机报警等多项功能。
此外还可以根据实际需要进行功能扩展,稳定性高、易操作性强。
关键词:
ARM;智能公交系统;uClinux;
AdesignmethodofintelligentbusmanagementterminalbasedonARM7
ZhuChun-sheng
(SchoolofPhysicsandElectronics,HenanUniversity,HenanKaifeng475004,China)
Abstract:
APTS(AdvancedPublicTransportSystem)canimprovethemanagementmethodsofthepublictransportcompanyandimprovetheoperationalefficiencyoftransportsystemsandservicelevels.ThebusterminalbasedonARMisaninformationterminal,whichplaysavitalroleinthesystem,responsibleforreceivinganddistributinginformation.
Basedontheshort-distancefeaturesofmanybusstopsintheurbanofChina,thispaperintroducestheZigBee,whichisshort-rangewirelesscommunicationtechnologies,intheAPTS.ThispapergivestheARM7-basedvehicleterminalhardwareschematicsandtheuClinuxOSasthecoreofthesoftwaredesignindetails.Thehardwaresystemincludes10modules,suchasstorage,GPS,ZigBee,voice,LCDdisplay,etc.
Throughthecombinationofhardwareandsoftware,thevehicleterminalcanimplementmanyfunctionssuchasscheduledappraisals,real-timemonitoring,auto-announce,crisisalarm.Generallythesystemisstableeasy-operatingandextensionscanalsoaddtothesystem.
Keywords:
ARM;APTS;uClinux;
0前言
随着城市化进程的加快和汽车普及率的提高,城市交通环境逐渐恶化。
解决此问题最直接的办法是提高交通网的通行能力,但无论哪个国家、哪个城市,可供修建道路的空间都是有限的。
同时,由于交通系统是一个相当复杂的大系统,单独从车辆方面考虑或单独从道路方面考虑,都很难从根本上解决问题。
因此从系统的观念出发,把车辆和道路综合起来,运用各种高新技术系统来解决问题的思想就应运而生了,这就是智能交通系统ITS(IntelligentTransportationSystem)。
0.1智能交通系统(ITS)
ITS是将先进的信息技术、数据通讯传输技术、电子传感技术、电子控制技术及计算机处理技术等有效的集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位、实时高效的综合交通运输管理系统。
其主要思想是将传统的交通系统看成是人、车、路的统一体,运用计算机、通信、传感器等领域的先进成果来改变目前被动式的交通局面,使人在驾驶过程中可以随时通过GPS/GIS、广播、信息发布板等手段了解目前的交通状况,而交通管理部门则可通过道路上的车辆传感器、视频摄像机等设备随时了解各个路段的交通情况,并随时对各个交通路口的交通信号进行调整以及对外界进行信息发布,使整个交通系统的通行能力达到最大[1]。
0.2智能公交系统(APTS)
智能公交系统(AdvancedPublicTransportSystem)是ITS在公共交通领域的一项具体应用,是在公交网络分配、公交调度等关键理论研究的前提下,利用系统工程的理论和方法,将先进的定位导航技术、数据通信技术、计算机网络、数据处理技术等高新技术有效地综合运用于整个公交系统中,加强车辆、道路、使用者之间的联系,形成一种集智能化调度、公交电子收费、信息服务、网络通信于一体的实时、高效、准确、安全的城市公交运输系统[2]。
0.3国内外研究状况
0.3.1国外研究状况
为了缓解经济发展带来的交通运输方面的压力,许多国家对ITS的研究都投入了巨大的人力和物力,已形成以美国、日本、欧洲为代表的三大研究中心。
以美国为例,其APTS主要研究基于动态公共交通信息的实时调度理论和实时信息发布理论,以及采用先进的电子、通讯技术提高公交效率和服务水平的实施技术。
具体包括车队管理、出行者信息、电子收费和交通需求管理等几方面的研究。
美国的车队管理实际上相当于我国的实时车辆调度。
车队管理主要研究通信系统、地理信息系统、自动车辆定位系统、自动乘客计数、公交运营软件和交通信号优先。
出行者信息主要研究出行前、在途信息服务系统和多种出行方式接驳信息服务系统。
经现场试验,APTS可显著提高公共交通的服务水平,吸引更多乘客采用公交或合伙乘车的出行模式,从而减少了交通拥挤,带来社会效益。
0.3.2国内研究状况
与欧美、日本等国家相比,我国的公共交通事业相对落后。
随着科学技术的进步和城市交通环境恶化,我国也在大力发展智能公共交通系统,目前已初现端倪。
例如上海的公交安装了自动检票系统,可实现乘客的自动计数,统计客流变化情况。
还有一些城市正在着手实施公交“一卡通”,实现公交电子收费。
杭州、上海、北京等几座大城市已在部分公交线路上建成了公交车辆跟踪调度系统,并安装了电子站牌,车载GPS定位设备,实现了对车辆的实时跟踪和定位、公交车与调度室的双向通讯、以及电子站牌上实时显示下班车位置信息等功能。
0.4现行系统的不足
现有试运行的智能公交系统大部分都采用GPS全球定位系统进行定位,同时采用GPRS网络进行数据传输。
车载GPS模块可以实时获取位置、方向、时间等导航定位数据。
然后通过车载GPRS模块将数据传至监控中心。
从而实现车辆的定位和监控。
监控中心则可将车辆的实时信息或公告信息通过电子站牌的GPRS模块发送并显示在电子站牌上。
尽管现有试运行的智能公交系统定位覆盖面广、精度高,可实现车辆的全范围定位和监控。
但在实际运行过程中.仍然存在以下不足:
1.GPS信号在隧道和高架桥等环境下会存在盲点;
2.运行中需将GPS信息通过GPRS发到监控中心,再由监控中心通过GPRS发送显示信息给电子站牌,因此运营费用较高;
3.GPRS模块价格昂贵,公交车数量众多且都必须安装GPRS模块,硬件成本高;
4.不能实现公交车与站牌的通信,也不能实现提前报站等服务。
0.5ARM嵌入式处理器
RISC嵌入式处理器是目前高中端嵌入式设计和应用的主流,现今比较流行的RISC处理器有PowerPC、MIPS和ARM。
其中ARM嵌入式处理器以其小体积、低功耗、低成本和高性能等特点占据了业界领先地位,已经成为一种事实上的标准。
目前市场上常用的基于ARM体系结构的通用嵌入式处理器系列有ARM7和ARM9系列。
ARM7系列处理器包括ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ等几种类型的核,是低功耗的32位RISC架构处理器,三级流水线,主频达到66MHz。
ARM9系列处理器包括ARM920TDMI、ARM922T、ARM940T等几种类型的核,采用五级流水线,主频达到533MHz。
此外,ARM系列处理器还包括ARM9E、ARM10E和ARM11等几个系列[3]。
SAMSUNG公司推出的一系列采用ARM处理器和微控制器的产品,性能良好,数据手册丰富,配套应用方案完善,因此迅速在通信产品民用市场上获得了广泛的应用,在ARM处理器产品中极具代表性。
本文的设计将基于SAMSUNG公司的一款ARM7芯片:
S3C44B0X.
1系统整体方案设计
针对上文提出的不足,本文结合现今我国各城市公交运行特点,将ZigBee技术引入智能公交系统,对现有的基于GPS和GPRS的系统进行改造,具体给出基于ARM处理器车载终端的详细硬件设计方案和简要的软件设计方案。
1.1系统硬件组成及整体功能
本系统设计的智能公交系统整体布局如图1-1所示:
该系统由三部分组成:
公交车智能车载终端、电子站牌和监控调度中心。
其通信关系如图所示,公交车智能终端通过其中的GPS模块对车辆进行实时定位,得到位置信息,同时可实时监测车内的各种状况,并通过ZigBee与各个站牌进行通信。
当车辆到达某个站牌时,智能终端自动语音报站,同时将到站信息显示在LCD屏幕上。
当公交车与电子站牌距离较近时,电子站牌和公交车通过ZigBee进行无线通信,接收车载终端发送来的车辆信息、状态信息,并将其打包通过GPRS发送给控制调度中心。
电子站牌也接收控制中心的信息,将其中包含的信息,如公交车的位置,到站所剩时间显示在站牌上。
监控调度中心通过GPRS无线网络与电子站牌进行通信。
调度中心收到电子站牌发送过来的信息后,对其进行分析、处理,向相关站台发出运行线路上公交车的实时位置信息和公告信息。
并对信息进行备份,方便日后查询。
控制中心一般连接Internet。
1.2系统软件设计方案的选择
为增强系统的稳定性和可靠性,在软件设计中将进行操作系统(OperatingSystem,OS)的移植,进而对应用程序进行设计。
嵌入式OS负责嵌入式系统全部软、硬件资源的分配、调度,控制和协调各部件的工作,与普通OS相比,嵌入式OS在系统实时高效性、硬件依赖性、软件固化及应用的专用性方面具有较为突出的特点。
嵌入式OS种类繁多,大体上分为商用型和免费型两大块,其中商用型功能稳定、可靠,有完善的技术支持和售后服务,但价格昂贵,典型的有VxWorks、WinCE等。
免费型的源代码公开,性能也较良好,主要有嵌入式Linux和μC/OS。
随着开源软件的迅速发展,Linux和μC/OS已经具有非常广泛的应用。
基于良好的性价比,本文将采用uClinux作为车载终端的操作系统。
uClinux是一种优秀的嵌入式Linux版本,它秉承了标准Linux的优良特性,是经过各方面的小型化改造,形成的一个高度优化的、代码紧凑的嵌入式Linux。
虽然它的体积很小,但性能稳定,有良好的移植性。
在操作系统移植完成后,本文将结合车载终端所需实现的功能,给出其整体的软件设计方案。
2硬件实现
如上文所述,APTS系统包含三部分,其中智能车载终端是一款以ARM7处理器为核心,利用GPS、ZigBee等先进技术,集车辆实时监控、正点考核、紧急事件报警等功能于一身的专为公交车辆设计的嵌入式智能终端产品。
它是整个智能公交系统的数据来源,也是车载功能的执行者,因此它是整个系统最重要组成部分。
本节重点描述车载终端的硬件实现[4]。
车载终端主要实现的功能包括:
到站、出站时自动播报提示音;定时向数据中心发送车辆位置信息,实现中心对车辆的监控;能够任意设置站点为考核点,对车辆运行正点情况进行考核;可设置的车辆运行最大速度,并在超速时报警;液晶屏幕实时显示时间、车辆运行速度、当前停靠站点等信息;按键控制特殊语音播报、背景音乐播放;按键控制紧急情况报警短消息发送;驱动车载LED屏,实现站点名称、广告语的显示,等等。
2.1处理器的选择
本系统选择三星公司基于ARM7TDMI的16/32位微处理器S3C44B0X。
该芯片为手持设备以及一般嵌入式应用提供了一个成本低廉、功能强大的微控制器解决方案。
有丰富的内置部件,包括:
8KBcache,内部SRAM,LCD控制器,带自动握手的2通道UART,4通道DMA,系统管理器(片选逻辑,FP/EDO/SDRAM控制器),代用PWM功能的5通道定制器,I/O端口,RTC,8通道10位ADC,IIC-BUS接口,IIS-BUS接口,PLL倍频器[9]。
2.1.1S3C44B0X内部结构图
图2-1S3C44B0x内部结构图
2.1.2S3C44B0X引脚图
图2-2S3C44B0x引脚图
芯片主要引脚的功能介绍如下表所示:
表2-1主要引脚功能
信号
输入/输出
描述
总线控制
OM[1:
0]
I
设置芯片测试模式和nGCS0的总线宽度。
ADDR[24:
0]
O
地址总线,输出相应Bank的存储地址。
DATA[31:
0]
I/O
数据总线,宽度可编程为8/16/32bit。
nGCS[7:
0]
O
芯片选择。
nWE
O
写允许信号。
nWBE[3:
0]
O
写字节允许信号。
nOE
O
读允许信号。
nXBREQ
I
总线控制请求信号,nXBACK信号激活指示已经得到总线控制权。
nXBACK
O
总线应答信号。
nWAIT
I
请求延长当前的总线周期,为低时,当前的总线周期不能完成
ENDIA
I
确定数据类型是littleendian还是bigendian
DRAM/SDRAM/RAM
nRAS[1:
0]
O
行地址选通信行
nCAS[3:
0]
O
列地址选通信号。
nSRAS
O
SDRAM行地址选通信号。
nSCAS
O
SDRAM列地址选通信号。
nSCS[1:
0]
O
SDRAM芯片选择信号。
DQM[3:
0]
O
SDRAM数据屏蔽信号。
SCLK
O
SDRAM时钟信号。
SCKE
O
SDRAM始终允许信号。
nBE[3:
0]
O
在使用SRAM情况下16位允许信号。
LCD控制单元
VD[7:
0]
O
LCD数据线。
VFRAM
O
LCD场信号,指示一帧的开始,在开始的第一行有效。
VM
O
极性变换信号
VLINE
O
LCD行信号,在一行数据左移进LCD驱动器后有效。
VCLK
O
LCD点时钟信号,数据在其上升沿发送,下降沿被LCD驱动器采样。
TIMER/PWM
TOUT[4:
0]
O
定时器输出信号。
TCLK
I
外部时钟信号输入。
中断控制
EINT[7:
0]
I
外部中断请求信号。
DMA
nXDREQ[1:
0]
I
外部DMA请求信号。
nXDACK[1:
0]
O
外部DMA应答信号。
UART
RxD[1:
0]
I
UART接收数据输出线。
TxD[1:
0]
O
UART发送数据线。
nCTS[1:
0]
I
UART清除发送输入信号。
nRTS[1:
0]
O
UART请求发送输出信号。
IIC-BUS
IICSDA
I/O
IIC总线数据线。
IICSCL
I/O
IIC总线时钟线。
IISLRCK
I/O
IIS总线通道时钟选择信号线。
IISDO
I/O
IIS总线串行数据输出信号。
IISDI
I/O
IIS总线串行数据输入信号。
IISCLK
I/O
IIS总线串行时钟。
CODECLK
I/O
CODEC系统时钟。
通用口线
P[70:
0]
I/O
通用I/O口(一些口只有输出模式)。
Reset&Clock
nRESET
ST
复位信号,在电源打开已稳定时,nRESET必须保持低电平至少4个MCLK周期。
OM[3:
2]
I
确定时钟模式。
EXTCLK
I
当OM选外部时钟时的外部时钟输入信号。
XTAL0
AL
系统时钟内部振荡电路的晶体输入脚。
EXTCLK
AO
系统时钟内部振荡电路的晶体输出脚。
PLLCAP
AI
接系统时钟的环路滤波电容。
XTAL1
AI
RTC时钟的晶体输入脚。
EXTAL1
AO
RTC时钟的晶体输出脚。
CLKout
O
时钟输出信号。
JTAG
nTRST输入
I
TAP控制器复位信号。
TMS输入
I
TAP控制器模式选择信号。
TCK
I
TAP控制器时钟信号。
TDI
I
TAP控制器数据输入信号。
TDO
O
TAP控制器数据输出信号。
电源
VDD
P
芯片内核逻辑电压(2.5V)。
VSS
P
芯片内核逻辑地。
VDDIO
P
芯片I/O口电源(3.3V)。
VSSIO
P
芯片I/O口地。
RTCVDD
P
RTC电压(2.5V或3V)。
VDDADC
P
ADC电压(2.5V)。
VSSADC
P
ADC地。
2.2外围芯片的选用
根据功能要求,终端可以分九几部分。
对于各部分芯片的选择本着高性价比、主流、量产易买到的原则,可为以后的调试和批量生产带来方便,具体芯片类型如下表所示:
表2-2芯片选择及相关参数
型号
芯片名
工作电压
地址分布
ARM中央处理器
S3C44B0X
2.5V
FlashRom
SST39VF160x
3.3V
BANK0
SDRAM
HY57V281620
3.3V
BANK6
NANDFlash
K9F5608U0B
3.3V
BANK1
GPS模块
LEA-4S
3.3V
UART0
ZIgBee
FreescaleMC1319x
3.3V
UART1
LCD模块
OCMJ2*8C
5V
LCD控制器
语音模块
WTM-SD
5V/12V
BANK2
电源模块
前级LM2576
末级AMS1117
复位模块
MAX811
3.3V
JTAG
14针JTAG模块
按键
2.3硬件原理图
本系统的结构框图如下所示:
下文将对主要硬件进行具体描述,并给出原理图。
2.2.1电源电路
对系统各芯片及模块的供电要求进行分析,可以得出系统电源需要提供包括12V、5V、3.3V、2.5V四个电压。
本终端应用对象为各种车辆,供电电源为12V或24V电瓶,而电瓶普遍不稳定,尤其在汽车点火、熄火等情况下波动较大,输入电压过高时芯片会发热过大,波动的电压也对输出电压的波动也有影响,因此电源设备需进行特殊处理,以保证设备的稳定运行。
本系统采用前级与末级两级电源设计,前级输出5V、12V两个电压,再通过末级得到系统所需的3V、2.5V两个电压。
系统在5V上消耗的电流和体积、成本方面的考虑,前级电路选用开关电源,采用LM2576芯片,其为降压型开关稳压器。
末级选用低压差模拟电源LDO,采用的芯片是AMS1117,其特点是输出电流大,输出电压精度高,稳定性好,特别适合于嵌入式系统及电池供电的应用,电路如图2-4所示:
图2-4
(1)5.0V电源电路
图2-4
(2)12.0V电源电路
图2-4(3)3.3V和2.5V电源电路
2.2.2系统核心电路
S3C44B0X采用LQFP160封装,其核心电路包括功能控制引脚的配置、时钟电路和复位电路等。
(1)功能控制引脚的配置
表2-3功能引脚配置
引脚
配置说明
ENDIA
大、小端模式选取,本系统采用小端模式,该引脚下拉
OM[1:
0]
BANK0数据宽度选择。
本系统采用01:
16bit
OM[3:
2]
系统时钟发生方式选择,本系统选择00:
外部晶体模式。
PLLCAP
PLL滤波电容,系统时钟产生方式都用到PLL电路,故需一个820pf的电容接地。
EXTCLK
外部时钟输入。
使用有源晶振时,外部时钟从该引脚输入,当使用晶体时,该引脚上拉。
XTAL0
外部晶体输入。
当使用晶体时,该引脚为晶体输入,当使用有源晶振时,该引脚上拉。
(2)时钟电路
S3C44B0X可以使用外部时钟源或外部晶体,即两种工作方式,使用6-20MHz晶体(XTAL0和EXTAL0工作,EXTCLK上拉),使用有源晶振(EXTCLK工作,XTAL0上拉)提供系统时钟,其由OM[3:
2]控制。
本文采用11.0592MHz外部晶体为振荡源,用1M电阻并接,使系统容易起振。
用11.0592MHz是为了使串口波特率更精确[2]。
图2-5时钟电路
(3)复位电路
S3C44B0X内部带有看门狗,所以外部只需要配置复位电路。
本系统中,复位芯片MAX811为四脚SOT143器件,供电电压3.3V,提供电源监控和手动复位功能。
电源监控完成上电复位,另外在nMR脚上接一个按键以实现手动复位。
图2-6复位电路
2.2.3存储电路
(1)FlashROM
FlashROM用来储存Bootloader映像、操作系统映像以及用户应用程序映像等。
系统复位时,S3C44B0X以0x00000000为起始地址,所以Bootloader映像事先放在0x00000000地址处。
BANK0的数据宽度由硬件指定,即由引脚OM[1:
0]的电平决定。
本系统采用意法半导体公司的SST39VF160x。
芯片封装为TSOP48,供