基于ARM嵌入式系统的交通灯设计说明Word格式.docx
《基于ARM嵌入式系统的交通灯设计说明Word格式.docx》由会员分享,可在线阅读,更多相关《基于ARM嵌入式系统的交通灯设计说明Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
嵌入式系统的功能越来越强大,实现也越来越复杂,随之出现的就是可靠性大大降低。
最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作系统来给予支持,这种操作系统是已经成熟并且稳定的,可以是嵌入式的Linux,WINCE等等。
本文所要研究的就是基于ARM嵌入式系统的交通灯系统的设计与实现。
本设计采用了飞利浦的32位ARM微处理器LPC2138作为核心处理器
【关键词】嵌入式系统ARMLPC2138交通灯
UndertheARMembeddedsystem’sthesystemoftrafficlights
Abstract:
Withtheprevalenceofmobiledevicesanddevelopmentofembeddedsystemshasbecomeahotspot.Itisnotarecentemergenceofnewtechnology,justasmicro-electronicstechnologyandthedevelopmentofcomputertechnology,micro-chipcontrolfunctionsmoreandmore,andcontrolofmicro-chipsembeddedintheequipmentandsystemsmoreandmore,makingthetechnologymoreReplyPeopleattention.Hardwareandsoftwareofitssize,cost,powerconsumptionandreliabilityhavemadestringentrequirements.Embeddedsystemsfunctionmorepowerful,andmoreandmorecomplicated,thenthereisthereliabilitygreatlyreduced.Arecenttrendisapowerfulembeddedsystemsusuallyneedaoperatingsystemtosupporttheoperatingsystemisalreadymatureandstable,canbeembeddedLinux,WINCE,andsoon.ThispaperistostudyundertheARMembeddedsystem’sthesystemoftrafficlightsdesignandimplementation.ThisdesignusesPhilips'
s32astheLPC2138ARMmicroprocessorcoreprocessors.
【Keywords】EmbeddedSystemsARMLPC2138trafficlights
一设计的目的与意义
通过设计,培养自己综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练,加深对ARM芯片的了解;
熟悉ARM芯片各个引脚的功能,工作方式,计数/定时,I/O口,中断等相关原理,巩固学习嵌入式的相关内容知识。
二设计的内容
利用ARM芯片模拟实现交通灯控制。
自行选择所需ARM芯片,查阅相关文献资料,熟悉所选ARM芯片,了解所选ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等相关原理,通过软硬件设计实现利用ARM芯片完成交通灯的模拟控制。
三设计方案
3.1设计思路
利用LPC2131ARM芯片实现单路交通灯的控制:
a实现红、绿、黄灯的循环控制。
使用红、黄、绿三种不同颜色的LED灯实现此功能,由南往北方向红、黄、绿三个灯依次接在P1.18、P1.19、P1.20上,由北往南方向的红、黄、绿三个灯依次接在P1.21、P1.22、P1.23上,人行道用红、绿两个灯控制,依次接在P1.24、P1.25上,用软件控制灯的亮与灭来控制车辆和行人的通行。
b用数码管显示倒计时。
可以利用动态显示或静态显示,串行并出或者并行并出实现。
c南北方向控制车辆的绿灯熄灭的同时,控制蜂鸣器响2秒来作为警报。
蜂鸣器接P0.7引脚。
交通路口示意图如图3.1车辆遇到红灯停绿灯行的行走情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁。
图3.1
3.2总体设计框图
用ARM7系列芯片LPC2138作为系统的主控芯片,控制交通灯的循环点亮并显示灯亮时间(采用倒计时显示),当定时时间到的时候控制蜂鸣器响来提醒人们注意红绿灯的状态。
图3.2
四硬件设计
根据设计任务要求,自行选择电子元件,画出电气原理图,并调试。
一个完整的系统除了主控芯片以外,还需配上电源系统、时钟电路、复位电路等。
独立的芯片是不能工作的。
4.1LPC2138芯片介绍及设计
LPC2138是基于一个支持实时仿真和嵌入式跟踪的32位ARM7TDMI-STMCPU的微控制器,并带有32kB的嵌入的高速Flash存储器。
128位宽度的存储器接口和独特的加速结构,使32位代码能够在最大时钟速率下运行。
对代码规模有严格控制的应用可使用16位Thumb.模式将代码规模降低超过30%,而性能的损失却很小。
较小的封装和极低的功耗使LPC2131可理想地用于小型系统中,具有以下一些特性:
●小型LQFP64封装
●8k的片内静态RAM和32k的片内Flash程序存储器。
●片内Boot装载软件实现在系统/在应用中编程(ISP/SAP)单扇
●区或整片擦除时间为400ms。
256字节行编程时间为1ms。
●1个10位D/A转换器
●两个32位定时器/计数器(带四路捕获和四路比较通道)、PWM
●单元(6路输出)和看门狗
●实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗
●多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口
●(400kbit/s)、SPITM和具有缓冲作用和数据长度可变功能的SSP。
●多达47个5V的通用I/O口;
向量中断控制器,可配置优先级和向量
●地址
●9个边沿或电平触发的外部中断引脚
●片内晶振频率范围:
1~30MHz。
●通过片内PLL可实现最大为60MHz的CPU操作频率,PLL的稳定时间
●为100us
●低功耗模式:
空闲和掉电。
●可通过个别使能/禁止外部功能和外围时钟分频来优化功耗。
●通过外部中断将处理器从掉电模式中唤醒。
●单电源,具有上电复位(POR)和掉电检测(BOD)电路:
●CPU操作电压范围:
3.0V~3.6V(3.3V±
10﹪),I/O口可承受5V
●的电压。
4.2LPC2138芯片最小系统硬件设计
图4.5为LPC2138芯片的原理图,64个引脚,采用3.3V电源供电,设计所需外接器件的网络名已经标出。
图4.1
4.3系统电源电路设计
本电源运用5V的直流电源(图3.5所示)。
通过DS2434芯片将5V电压转换为3.3V电压,为LPC2138芯片供电,LPC2138芯片所能承受的电压范围是3V~3.6V(图4.2所示)。
通过滤波电路(图4.3所示)可以很好地滤去转换后电压中的毛刺。
图4.2图4.3
4.4晶振与复位电路
系统的晶振电路如图4.4所示LPC2138芯片采用11.0592MHz的晶振作为振荡时钟源,通过对芯片的进行软件设计可以将晶体振荡器的频率分频为所需的频率;
系统的复位电路如图4.5所示,SP708S芯片的7号引脚连接到主控芯片的复位引脚(nRST)上,按下复位键S2时,系统将会复位到初始的状态。
图4.4图4.5
4.5LED循环显示设计
由南向北和由北向南车道各用一组红、绿、黄三色的指示灯,指挥车辆通行。
绿灯是通行信号,面对绿灯的车辆可以直行,红灯是禁止通行信号,面对红灯的车辆必须在路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以继续行进。
具体红绿灯时间分配时间如表4—1所示。
表4—1:
50s
5s
南北通道
绿灯亮
绿灯闪
黄灯闪
红灯亮
红灯闪
人行道
上表说明南北通道绿灯亮、绿灯闪黄灯闪时人行道都是红灯亮,只有车道
红灯亮(车辆完全停下来)时人行道绿灯才亮,这样保证了过马路的行人人身安全,避免了不必要的交通事故。
硬件电路连接图如图4.6所示
图4.6
交通灯LED的发光和熄灭的控制,是通过控制GPIO寄存器组来完成的,须先将引脚P1.18~P1.25通过引脚功能选择寄存器PINSEL1,设置为GPIO方式;
再设置GPIO方向寄存器1(IO1DIR),对应的引脚设置为输出方向。
要点亮LED1~LED8需要使用GPIO清零寄存器1(IO1CLR)的对应位设置为1,即在引脚P1.18~P1.25上加逻辑低电平,即可点亮这些灯。
与之相反,要熄灭这些灯,则要用GPIO输出置位寄存器1(IO1SET)将对应的位置位即可。
4.6数码管倒计时显示硬件设计
数码管是一种很普遍的显示器件,数码管的主要部分是七段发光二极管;
数码管分为共阴极和共阳极两种,为了保护各段LED,需外加限流电阻。
有的产品还附加有一个小数点,因此有人也称之为八段式发光二极管。
图4.7
如图4.7所示,数码管由8个发光段(第八段表示小数点)的不同组合,从而实现十六进制数的显示。
通过段选端可以控制数码管显示内容,位选端用于控制整个数码管是否工作:
对于共阴极数码管,位选端要接低电平,对于共阳极数码管,位选端接高电平。
数码管有两种显示方式:
动态显示和静态显示。
静态显示让数码管要点亮的数码管同时持续点亮;
动态显示则利用了人眼的视觉暂留原理,在一个时间内只点亮一个数码管。
本次设计采用2位一体的数码管,数码管的2条位选线连接ARM的通用I/O口;
数码管的8个段选端连接74HC595芯片的并行I/O输出接口,74HC595再与ARM的SPI0模式进行通信,接受ARM发送过来的数据。
数码管硬件电路连接图如图4.8所示。
图4.8
4.7蜂鸣器设计
将蜂鸣器正极端接电源,负极端通过三极管接地,三极管基极通过电阻接到LPC2138芯片的P0.8引脚上。
具体硬件电路连接图如图4.9所示
图4.9
五软件设计
5.1交通灯控制软件流程图
图5.1为ARM模拟交通灯控制程序流程图,主程序主要完成倒计时显示及控制蜂鸣器,中断服务程序主要控制那些灯亮以及亮的时间。
图5.1
5.2ARM交通灯模拟控制程序设计
定时器控制原理:
定时器对外设时钟Fpclk周期进行计数,根据4个匹配寄存器的设定可设置为匹配(即达到匹配寄存器指定的定时