嵌入式课程设计.docx
- 文档编号:1334629
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:31
- 大小:805.15KB
嵌入式课程设计.docx
《嵌入式课程设计.docx》由会员分享,可在线阅读,更多相关《嵌入式课程设计.docx(31页珍藏版)》请在冰点文库上搜索。
嵌入式课程设计
湖南文理学院
课程设计报告
课程名称:
嵌入式系统课程设计
专业班级:
学生姓名:
指导教师:
完成时间:
2014年6月2日
报告成绩:
评阅意见:
评阅教师日期
湖南文理学院制
基
于
A
R
M
系
统
的
公
交
多
功
能
终
端
的
设
计
目录
一、设计题目4
二、设计要求4
三、设计作用与目的4
四、所用设备及软件5
4.1软件5
4.2硬件5
五、系统设计方案5
5.1系统总体设计5
5.2工作原理7
5.2.1LPC2124工作原理7
5.2.2GPS模块7
5.2.3GPRS模块8
5.2.4语音模块8
5.2.5液晶显示模块8
5.2.6PS/2键盘模块9
六、系统硬件设计10
6.1系统整体设计10
6.2各单元电路设计10
6.2.1LPC2124电路图10
6.2.2PS2按键输入部分电路11
6.2.3液晶显示模块电路12
6.2.4、GPRS模块电路12
6.2.5、GPS模块电路13
七、系统软件设计14
7.1主程序流程图14
7.2子程序流程图14
AT指令集使用15
八、心得及体会16
九、参考文献及附录17
一、设计题目
随着国民经济的快速发展,我国城镇化步伐不断加快,来自农村的大学生和其他务工人员大批涌入城市,造成城市人口大幅度增长,同时由于人民生活水平的不断提高,城市的汽车保有量也在急剧上升,交通需求迅速扩大,而城市交通基础设施的建设却相对滞后,从而使城市“乘车难”、“行车难”的现象日益严重,交通拥挤、交通阻塞频发,噪音污染、废气污染加剧,严重影响城市公交的可持续发展和居民的正常生活。
解决城市交通拥挤和阻塞问题已成为我国城市交通面临的一项迫切的任务。
智能公交系统运用系统工程理论,将信息控制、GPS卫星定位、GIS、多媒体、网络通信等技术集成,应用于整个公共交通领域,实现了公交车辆的智能调度,方便了公车车辆的运营管理,提高了公交服务水平。
使乘坐公交车出行变的更加快捷、方便和舒适。
从而使一部分人舍弃自驾车或打出租车出行,改乘公交车,进一步减少交通堵塞现象。
另外大力发展智能公交系统,也可以通过提高交通效率而节省大量的燃料和时间,减少交通事故的发生,能够创造巨大的经济和社会效益。
二、设计要求
本论文提出了基于ARM的智能公交车载终端的总体设计方案,重点介绍了车载终端的软硬件设计及自动报站、短信报警、实时监控等功能的实现。
三、设计作用与目的
智能公交系统主要由3个部分构成,即无线通讯部分、监控中心部分和车载终端部分。
无线通讯系统主要是利用通信运营商提供的数据和短信息服务,这里的通讯方式就是指无线通讯系统的通讯手段;监控中心由GPS服务器、数据库服务器、CTI呼叫中心系统、监控工作站、管理工作站路由器和防火墙组成;车载终端主要由GPS接收模块、GPRS通讯模块、车辆控制模块、屏幕等部分组成,主要有车辆定位、与监控中心进行双向通讯、车辆控制等功能。
监控中心在接收到车载终端传回的GPS位置数据后可以确定监控车辆的位置信息、历史运行轨迹进而分析其运行是否正常,是否偏离预定路线,速度是否异常。
在出现异常情况时,监控中心可以通过发布导航指令来实现实时的调度。
基于ARM系统的智能公交系统,掌握嵌入式系统的设计与常见人机接口电路的设计,懂得简单电子电路的设计,掌握ARM内部资源的使用,了解嵌入式系统机的外部结构与内部结构之间的关系,并能编程实现各部分相关功能。
四、所用设备及软件
4.1软件
系统设计主要使用到的软件有KeilC51、Protel99SE等。
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
Protel99SE是ProklTechnology公司开发的基于Windows环境下的电路板设计软件。
该软件功能强大,人机界面友好,易学易用,仍然是大中专院校电学专业必学课程,同时也是业界人士首选的电路板设计工具。
Protel99SE由两大部分组成:
电路原理图设计(AdvancedSchematic)和多层印刷电路板设计(AdvancedPCB)。
其中AdvancedSchematic由两部分组成:
电路图编辑器(Schematic)和元件库编辑器(SchematicLibrary)。
4.2硬件
硬件主要用到的是个人计算机及相关arm芯片。
五、系统设计方案
5.1系统总体设计
智能车载终端是一款以ARM处理器为核心,利用GPS、GPRS等先进技术,集车辆实时监控、正点考核、紧急事件报警等功能于一身的专为公交车辆设计的嵌入式智能终端产品。
它是整个智能公交系统的数据来源,也是车载功能的执行者,因此它是整个系统是的重要组成部分。
车载终端主要实现的功能包括:
到站自动播报到站提示音,出站自动播报出站提示音;定时向数据中心发送车辆位置信息,实现中心对车辆的监控;能够任意设置站点为考核点,对车辆运行正点情况进行考核;液晶屏幕实时显示时间、车辆运行速度、当前停靠站点等信息;按键控制特殊语音播报、背景音乐播放;按键控制紧急情况报警短消息发送;驱动车载LED屏,实现站点名称、广告语的显示。
根据功能要求,我们在设计中将终端分解为如下几个模块:
(1)ARM中央处理器模块
(2)GPS定位模块
(3)GPRS无线通信模块
(4)语音及功放模块
(5)LCD液晶显示模块
(6)键盘控制模块
(7)电源模块
(8)串口及其它外围电路模块.
终端系统结构框图如图1所示
图1、系统总体设计图
5.2工作原理
5.2.1LPC2124工作原理
LPC2124是PHILIPS公司生产的单片32位ARM微控制器,是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI.SCPU,并带有256KB的嵌入的高速FLASH存储器。
LPC2124具有非常小的64脚封装、极低的功耗、多个32位定时器、4路10位ADC、PWM输出、46个GPIo以及多达9个外部中断使它们特别适用于工业控制、医疗系统、访问控制和电子收款机(PoS)。
由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器、嵌入式软件调制解调器以及其它各种类型的应用。
LPC2124特性如下:
(1)16/32位ARM7TDMI.S核,超小LQFP64封装;
(2)16kB片内SRAM;
(3)256kB片内F1ash程序存储器,128位宽度接口/加速器可实现高达60
MHZ工作频率:
(4)可加密。
全球首个实现可加密的ARM微控制器;
(5)通过片内boot装载程序实现在系统编程(IsP)和在应用编程(IAP);
(6)512字节行编程时间为1ms。
单扇区或整片擦除时间为400ms;
(7)EmbeddedICE可实现断点和观察点。
当使用片内RealMonitor软件对
前台任务进行调试时,中断服务程序可继续运行;
(8)嵌入式跟踪宏单元(ETM)支持对执行代码无干扰的高速实时跟踪;
LPC2124具有的16K静态RAM,可以用作代码和数据的存储,支持8位、
16位和32为访问。
LPC2124集成的一个256K的FLASH存储器,可以用作代码和数据的存储。
对FLASH存储器的编程可以通过几种方法来实现:
(1)通过JTAG接口;
(2)通过ISP和URATO;(3)通过在线应用编程(IAP)。
5.2.2GPS模块
系统GPS模块采用HoLux的GR87模块。
HOLUXGR87Sirf3代GPS模块采用SiRF第三代高灵敏度、低耗电量芯片StarIII,内建ARM7TDMICPU可符合模块需求,具备快速定位及追踪20颗卫星的能力,内置标准陶瓷GPS天线模块,并预留外接口。
体积超小,仅25×25×2mm。
芯片内建200000个卫星追踪运算器,大幅提高搜寻及运算卫星讯号能力。
内建wASS/EGNoS解调器。
低耗电量,具备有省电模式(Trickle.Power)功能,以及在设定的时间才启动的定时定位(Push.to.Fix)功能。
支持NMEAOl83.22版本规格输出。
该模块的应用范围主要包括:
车用导航、航海导航、舰队管理、基地服务、自动驾驶、个人导航、旅游设备、轨迹设备、系统及绘图应用程序。
5.2.3GPRS模块
SIM300C是小体积即插即用模组中完善的三频/四频GSM/GPRS解决方案。
使用工业标准界面,使得具备GSM/GPRS900/1800/1900MHz功能的SIM300C以小尺寸和低功耗实现语音、SMS、数据和传真信息的高速传输。
SIM300C的优良性能让它应用于许多方面,例如WLL、M2M、手持设备等。
SIM300C外形尺寸为40×33×2.85mm,支持用户定制的MMI和键盘/LCD,内嵌强大的TCP/IP协议栈,具有标准的AT命令接口,能够以小尺寸和低功耗实现语音、短信和GPRS数据传输等业务。
模块通过串口进行数据的通信,通信速率最快可以达到115200b/s,模块与控制器间通信协议是AT命令集,其中大部分是符合协议“ATcommandsetforGSMMobileEquipment(ME)(GSM07.07version6.4.0Release1997)’’的,也有一些是SIMCOM自己定义的AT命令。
5.2.4语音模块
WTM.SD模块是一款可重复擦写语音内容的大容量存储类型的语音模块,外挂体积小巧的最大容量为1GB的MicroSD卡存储器,支持加载wAv格式语音文件和MP3格式语音文件。
WTM.SD模块采用DIPl6直插形式封装,有MP3控制模式,按键一对一控制模式,按键组合控制模式,并口控制模式以及二线串口控制模式等控制模式。
WTM—SD模块的主要应用领域包括汽车电子(防盗报警器、倒车雷达、GPS
导航仪、电子狗、中控锁)、智能家居系统、家庭防盗报警器、医疗器械人声提示、音乐播放、家电(电磁炉、电饭煲、微波炉)、娱乐设备(游戏机、游乐机)、学习模型(早教机、儿童有声读物)、智能交通设备(收费站、停车场)、通信设备
(电话交换机、电话机)、工业控制领域(电梯、工业设备)、玩具等
5.2.5液晶显示模块
金鹏电子C系列液晶模块OCMJ2木8C。
该C系列中文模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。
提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。
所有的功能包括显示RAM、字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。
内置2M位中文字型ROM(CGROM)总共提供8192个中文字型(16×16点阵),16K位半宽字型ROM(HCGROM)总共提供
126个符号字型(16×8点阵),64×16位字型产生RAM(CGRAM),另外绘图显
示画面提供一个64×256点的绘图区域(GDRAM),可以和文字画面混和显示。
提供多功能指令:
画面清除(Displayclear)、光标归位(Returnhome)、显示打开/关闭(Displayon/off)、光标显示/隐藏(Cursoron/off)、显示字符闪烁(Display
characterblink)、光标移位(Cursorshift)、显示移位(Displayshift)、垂直画面卷动(Verticallinescroll)、反白显示(By-linereversedisplay)、待命模式(standbymode)。
5.2.6PS/2键盘模块
PS/2键盘履行一种双向同步串行协议。
换句话说,每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入。
键盘可以发送数据到主机,而主机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候抑制来自于键盘的通讯,只要把时钟拉低即可。
从键盘发送到主机的数据在时钟信号的下降沿(当时钟从高变到低)的时候被读取。
从主机发送到键盘的数据在上升沿(当时钟从低变到高)的时候被读取。
不管通讯的方向怎样键盘总是产生时钟信号。
键盘发送的每一数据帧包含11~12个位。
如果数据位中包含偶数个1,校验位就会置1,如果数据位中包含奇数个1,校验位就会置0,数据位中1的个数加上校验位总为奇数,这就是奇校验。
奇校验用来错误检测。
数据和时钟线都是集电极开路结构,正常保持高电平。
当键盘等待发送数据时它首先检查时钟以确认它是否是高电平,如果不是,那么是主机抑制了通讯。
设备必须缓冲任何要发送的数据直到重新获得总线的控制权。
键盘有16字节的缓冲区,如果时钟线是高电平设备就可以开始传送数据。
键盘与主机通讯的时序如图2所示,每位数据都在时钟的下降沿被主机读入。
六、系统硬件设计
6.1系统整体设计
LPC2124是整个电路系统的核心,以LPC2124为核心的中央处理器模块设计则是决定整个硬件电路成败的关键,ARM微控制器模块设计主要包括电源、时钟及复位电路、调试与测试接口及ARM芯片接口电路四大部分。
6.2各单元电路设计
6.2.1LPC2124电路图
选择一款MCU时,我们需要考虑的因素有以下几个方面:
第一,MCU的电源范围、工作频率。
MCU对电源的要求需要与系统中其它大部分部件对电源的要求一致;第二,MCU的I/O口、定时器、中断等资源数目。
需要满足系统的要求,避免资源的浪费;
第三,MCU的吞吐量。
符合MCU对系统执行控制时的处理能力;
第四,MCU的极限性能。
能够在系统可能处于的极限工作环境中正常运行,如低温或高温环境;
第五,MCU的抗干扰性能、加密性能、程序写入方式等;
第六,MCU的市场价格。
在产品的设计中需要严格的控制产品成本,固价格也是MCU选取中的重要一点,需要选取具有高性价比的MCU芯片。
综合考虑以上因素及本系统对控制器的要求,我们选用了NXP的ARM7微处理器LPC2124作为系统的微控制器。
图3、Lpc2124芯片图
6.2.2PS2按键输入部分电路
一般情况下键盘输入具有随机性,且实时
性较强,为提高实时性,考虑到时钟脉冲
总由键盘产生,因此,主机系统可以中断
方式支持键码的随机输入。
当主机接收
到从键盘发来的时钟信号时,即向中断
系统发出键盘中断,CPU响应中断并
接收键码。
设计中采用I/O口模拟PS2
时序输入。
6.2.3液晶显示模块电路
为了方便使用人员对设备的操作,本终端设计了16个可供用户操作的按键,
用于特定功能的实现,另外在终端正面设计了一个128*64的LCD显示屏,用于
显示当前时间、速度、站点位置等信息。
图5、液晶显示模块电路
6.2.4、GPRS模块电路
GPRS模块支持外部SIM卡,可以直接与3.0VSIM卡或者1.8VSIM
卡连接。
模块自动监测和适应SIM卡类型。
对用户来说,GPRS模块实现的就是
一个移动电话的基本功能,该模块正常的工作是需要电信网络支持的,需要配备
一个可用的SIM卡。
工作中,LPC2124将GPS定位的站点信息及到站时间等信息,利用AT命令,通过串口发送到GPRS模块,由模块通过GPRS网络将数据发送回公交调度控制中心,实现控制中心对公交车辆运营情况的实时监控和考核。
SIM卡部分电路设计如图6所示
图6、GPRS模块电路
6.2.5、GPS模块电路
本设计的GPS模块采用的是HOLUX的GR-87模块。
该模块支持NMEA0183
V3.01标准输出,TTL接口电平,波特率可置。
在本系统中,GR-87模块通过6PIN
排线与主板相连,1脚为电源输入脚,接5V电源,2、3脚为GPS模块的数据接
收和发送,接GM8123子串口2,5脚接地,6脚接LED指示灯。
工作时,GPS
模块由GM8123子串口2与主控制器LPC2124进行通信,通过设置模块定时输出。
GPS定位数据,由主控制器对GPS数据进行处理,提取出经纬度,时间等有用信息,为自动报站及正点考核提供可靠数据,保证报站及正点考核功能的实现。
这部分电路设计比较简单,原理图如图7所示
图7、GPS模块电路
七、系统软件设计
7.1主程序流程图
系统采用模块化编程,各部分相互独立又紧密联系。
许多程序太长或太复杂,很难写在单一单元中。
如果把代码分为较小的功能单元,将大大简化编程过程。
模块化程序一般比单块程序容易编写、调试和修改。
只要把各个单元之间的接口定义好,各个单元的详细设计就可以独立进行了。
使用模块化方法可以更快地开发程序,因为较小的子程序比大程序更容易理解、设计和测试。
子程序可以重用,为一个程序编写的代码经常可以用于其它的
7.2子程序流程图
GPRS模块实现数据的无线传输,设计中用芯片实现数据的传输。
通过无线网络传送给中据中心子系统的环境参数,该环境参数可能采用短信息的形式通过GSM网络传输,也可能以数据包的形式通过GPRS网络传输,由GPRS模块接收,串口传递,传递数据分析模块处理。
GPS模块
AT指令集使用
表1AT指令及返回值
序号
AT指令
指令正确返回值
代表含义
备注
1
AT
握手指令
ATOK
握手指令
ERROR
指令错误(由GSM忙产生)
2
AT+CPIN?
查询SIM卡状态
+CPIN:
READYOK
SIM卡准备好
+CPIN:
PINOK
有PIN锁
+CPIN:
PUKOK
有PUK锁
+CPIN:
PIN2OK
有PIN2锁
+CPIN:
PUK2OK
有PUK2锁
ERROR
指令错误(由GSM忙产生)
3
AT+CREG=1
设置网络掉线提示
AT+CREG=1OK
设置掉线自动提示,掉线后自动返回+CREG:
2
+CMSERROR:
指令错误
4
AT+CREG?
查询注册状态
+CREG:
1,0OK
未注册
+CREG:
1,1OK
已注册
+CREG:
1,2OK
未注册
+CREG:
1,3OK
拒绝注册
+CREG:
1,4OK
未知
+CREG:
1,5OK
注册,漫游
+CMSERROR:
指令错误
5
AT+CNMI=2,2
设置短信提醒
AT+CNMI=2,2OK
设置短信到来时的消息指示
+CMSERROR:
指令错误
6
AT+CMGF=1
设置短信模式
AT+CMGF=1OK
TXT模式
+CMSERROR:
指令错误
7
AT+CSDH=0
显示简要短信
AT+CSDH=0OK
短信到来时显示简要信息
+CMSERROR:
指令错误
8
AT+CSMP=17,169,0,0
设置短信参数
AT+CSMP=17,169,0,0OK
设置短信参数
+CMSERROR:
指令错误
9
AT+CMGF=0
设置短信模式
AT+CMGF=0OK
PDU模式
+CMSERROR:
指令错误
10
ATD+号码;
拨打电话
1
OK
CALL指令无误
指令发送后,返回值分两步返回
ERROR
CALL指令错误
2
OK
正常接通
BUSY
对方忙
NOCARRIER
无人接听
NOANSWER
无应答
11
ATH
挂断电话
NOCARRIER
挂断成功
12
AT+CMGS=
>
发送PDU短信
发送PDU短信之前需设置模式和参数
ERROR
指令错误
13
CTRL+Z(0x1A)
发送短信
+CMGS:
xx
发送成功
ERROR
发送失败(信号不好造成)
八、心得及体会
随着无线通信技术的不断提高,通信费用的不断降低,利用移动运营商提供的无线网络实现远程监控和数据传输已被广泛应用于各个领域。
特别是基于单片机的GSM数据传输方案在GSM车载终端、自动抄表系统等远程遥测遥控系统中的应用更是倍受关注,而且已经非常成熟;为了实现更快,信息量更加大的信息交换,3G网络将会带来更加优质的通信服务,同时为实现智能交通系统提供了一种更加优秀的解决方案,让我们共同期待高速信息公路的到来吧,那是是信息技术高速发展的时代,我们的最求也更加完美。
最后让我们回顾一下这篇浅显的设计方案,本设计主要完成了:
(1)车载终端的硬件电路的设计与制作。
(2)车载终端软件的设计与调试。
(3)设备性能的测试。
由于时间的原因,此系统设计还存
在很多不足之处,今后将近一步拓展系统功能。
九、附录及参考文献
[1]周丽娜.Protel99SE电路设计技术(基础、案例篇)[M].北京:
中国铁道出版社.2009.
[2]焦宝文.课程设计指南[M].北京:
清华大学出版社.1983.
[3坂本正文.步进电机应用技术[M].北京:
科学出版社,2010.
[4]GPRS的路由管理[EB/OL].
[5]GPRS[EB/OL].
[6]全球GPRS发展现状[EB/OL].
[7]Embedded microcontrollers andprocessor AbhikRoychoudhury北京:
清华大学出版社2010
[8]EmbeddedsystemsTammyNoergaard北京:
人民邮电出版社2008
[9]童永清LinuxC编程实践北京:
人民邮电出版社2008
[10]刘岚,尹勇基于ARM的嵌入式系统开发北京:
电子工业出版社2008
[11]三恒星科技ARM9应用实例北京:
电子工业出版社2007
[12]庞丽萍操作系统原理武汉:
华中科技大学出版社2008
附录一、部分程序源代码
/*******************************************
函数名称:
parse_gprmc
功能:
解析GPS导航电文GPRMC字段
********************************************/
voidphase_gprmc(void)
{
uint8i,g;
uint8temp;
g=0;
clear_gprmc();//清空gprmc显示缓冲区
Read_byte();//读取gprmc字段
temp=Read_byte();
if(','!
=temp)
{
Time[0]=temp;
for(i=0;i<5;i++)
{
Time[i+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 课程设计