基于嵌入式ARM的秒表的设计.docx
- 文档编号:26376457
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:18
- 大小:138.77KB
基于嵌入式ARM的秒表的设计.docx
《基于嵌入式ARM的秒表的设计.docx》由会员分享,可在线阅读,更多相关《基于嵌入式ARM的秒表的设计.docx(18页珍藏版)》请在冰豆网上搜索。
基于嵌入式ARM的秒表的设计
编号:
嵌入式系统设计
实训(论文)说明书
题目:
基于嵌入式ARM的秒表的设计
院(系)
专业:
学生姓名:
学号:
指导教师:
2011年01月20日
摘要
随着信息技术和网络技术的高速发展,嵌入式产品日益广泛地渗透到日常生活、科学研究和军事技术等领域。
ARM(AdvancedRISCMachines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。
技术具有性能高、成本低和能耗省的特点。
适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
秒表是日常生活中比较常用的精确计时工具,特别是在体育竞技以及生产科研中,跳动精确的秒表更是有着不可替代的作用。
过去机械秒表的设计制作极为复杂,而且成本高、不稳定给使用者带来了不少的困扰。
但是随着电子技术的飞速发展,电子秒表的出现彻底改变了这一局面,电子秒表以其成本低廉、工作稳定、走时精确、操作简单在人类的工作生活中得到了广泛的应用。
本次实训任务是依托嵌入式系统设计一个电子秒表,能实现记录3个时间节点,误差小于0.5秒,并能完成暂停启动功能。
关键词:
嵌入式系统;ARM;RISC;电子秒表
Abstract
Asinformationtechnologyandnetworktechnology,high-speeddevelopmentofembeddedproductspenetratemorewidelyintoeverydaylife,scientificresearchandmilitarytechnologyandotherfields.ARM(AdvancedRISCMachines)isthemicroprocessorindustry,awell-knowncompanies,designalargenumberofhigh-performance,low-cost,lowpowerconsumptionRISCprocessors,relatedtechnologiesandsoftware.Technologywithhighperformance,lowcostandpowerconsumptioncharacteristicsoftheprovince.Foravarietyofareas,suchasembeddedcontrol,consumer/educationalmultimedia,DSPandportableapplications.
Stopwatchismorecommonlyusedindailylifetoolsforprecisiontiming,particularlyinsportsandtheproductionofscientificresearch,thebeatingaccuratestopwatchisirreplaceablerole.Designandmanufactureofmechanicalstopwatchoveraverycomplexandhighcost,instabilitytotheuserbringsalotoftrouble.Butwiththerapiddevelopmentofelectronictechnology,theemergenceofelectronicstopwatch,thissituationhascompletelychanged,electronicstopwatchofitslowcost,stableandaccuratetraveltime,easyworkofhumanlife,hasbeenwidelyused.Thetrainingtaskisembeddedsystemdesignbasedonanelectronicstopwatchthatcanrecordthreetimestoachievethenode,theerrorislessthan0.5secondsandcancompletethesuspensionstart.
Keywords:
Embeddedsystems;ARM;RISC;electronicstopwatch;
引言
随着信息技术和网络技术的高速发展,嵌入式产品日益广泛地油渗透到日常生活中、科学研究和军事技术等领域。
从家用洗衣机、电机箱,到交通工具,以及办公室的远程会议,都使用了嵌入式产品。
嵌入式系统被定义为:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本,体积、功耗严格要求的专用计算机系统。
嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5-10个嵌入式微处理器,键髓、鼠标、软驱、硬盘、显示卡,显示器、Modoo、网卡,声卡、打印机、扫描仪、数字相机、usB集线器等均是由嵌入式处理器控制的。
嵌入式系统通常包括硬件和操作系统两部分,硬件是构成软件的基本运行环境。
嵌入式操作系统一般采用了微内核结构,内核只提供基本的功能,比如任务的调度、任务之间的通信与同步、内存管理、时钟管理等。
对于应用组件,用户可以根据自己的需要选用,如网络功能、文件系统、GUI系统等。
到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域,如工业控制领域,无线通讯领域,网络应用,消费类电子产品,成像和安全产品,除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。
1ARM概述
ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。
目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。
ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。
目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
ARM公司出售芯片技术授权给半导体公司,ARM核因为具有高性能、低成本、低功耗的特点而被广采用。
这样在全球范围内围绕着ARM技术形成了从一个芯片设计、生产、销售,工具软件设计与开发,系统软件开发以及应用软件开发的庞大产业链。
说ARM代表着以ARM为核心的软硬件开发技术也不为过。
2芯片介绍
2.1LPC2132简介
2.1.1芯片概述:
LPC2131/2132/2138是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STMCPU的微控制器,并带有32kB、64kB、512kB的嵌入的高速Flash存储器。
128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。
对代码规模有严格控制的应用可使用16位Thumb?
模式将代码规模降低超过30%,而性能的损失却很小。
较小的封装和极低的功耗使LPC2131/2132/2138可理想地用于小型系统中,如访问控制和POS机。
宽范围的串行通信接口和片内8/16/32kB的SRAM使LPC2131/2132/2138非常适用于通信网关、协议转换器、软modem、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。
多个32位定时器、1个或2个10位8路ADC、10位DAC、PWM通道和47个GPIO以及多达9个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。
2.1.2芯片特性:
·小型LQFP64封装的16/32位ARM7TDMI-S微控制器。
·8/16/32kB片内静态RAM。
·片内Boot装载软件实现在系统/在应用中编程(ISP/IAP)。
扇区擦除或整片擦除的时间为400ms,1ms可编程256字节。
·EmbeddedICE?
RT和嵌入式跟踪接口可实时调试(利用片内RealMonitor软件)和高速跟踪执行代码。
·1个(LPC2132/2132)或2个(LPC2138)8路10位A/D转换器共包含16个模拟输入,每个通道的转换时间低至2.44us。
·1个10位D/A转换器,可提供不同的模拟输出(LPC2132/2138)。
·2个32位定时器/计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗。
·实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗。
·多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400kbit/s)、SPITM和SSP(具有缓冲功能,数据长度可变)。
·向量中断控制器。
可配置优先级和向量地址。
·多达47个5V的通用I/O口(LQFP64封装)。
·9个边沿或电平触发的外部中断引脚。
·通过片内PLL可实现最大为60MHz的CPU操作频率,PLL的稳定时间为100us。
·片内晶振频率范围:
1~30MHz。
·2个低功耗模式:
空闲和掉电。
·可通过个别使能/禁止外部功能和降低外部时钟来优化功耗。
·通过外部中断将处理器从掉电模式中唤醒。
·单个电源供电,含有上电复位(POR)和掉电检测(BOD)电路:
CPU操作电压范围:
3.0~3.6V(3.3V+/-10%),I/O口可承受5V的最大电压。
LPC2132G功能方框图如图2-1所示
图2-1LPC2132G功能方框图
LPC2132采用贴片封装形式,体积小功耗低,外观上看呈正方形,共有64个引脚,其引脚图如图2-2所示。
图2-2LPC2132引脚图
3方案与论证
3.1显示模块选择方案与论证
由于在本次实训中老师提供的ARM核心板上集成了USB下载端口、按键模块以及其他所必须的接口、附属电路,所以依照实训要求我们只需在核心板的基础上添加显示模块,那么我们只需对显示部分方案进行选择。
方案一:
使用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图像等信息。
显示方式多样且字体清晰,长期使用也不容易造成使用者眼疲劳,人机功效好。
其缺点是其IO口较多且编程相对复杂。
不过对于本次实训中要求设计的电子秒表来说,只要求能十分秒和十分之一秒,对其他显示并不做要求,而且使用LCD液晶显示屏太过于昂贵,用于本次实训中性价比不高。
方案二:
采用点阵式数码管显示,点阵式数码管是有八行八列的发光二极管组成,一般用于文字的显示。
缺点也是造价昂贵,且对电路的走线排版要求较高。
方案三:
采用LED数码管显示,LED数码管价格适中,使用技术成熟,在只需显示时间、日期等简单的数字信息的系统中应用相当广泛。
并且,本次设计中可以直接使用LPC2132的部分I/O口来控制4位共阴数码管的段代码和位选端,不用再使用额外的芯片来对显示部分做译码工作。
即简化了原理图的设计又提高了核心板的利用率,同时还给后期PCB的绘制带来了方便。
性价比极高。
综上所述,本次设计使用2块4位共阴LED数码管作为显示模块。
3.2显示方式选择方案与论证
方案一:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动本次实训的8个数码管静态显示则需要8×8=64个I/O端口,并且在实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性,I/O口的利用率大大折扣。
方案二:
采用LED数码管动态扫描显示方法,是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。
对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
通过调整电流和时间参数,当动态扫描频率加大到一定范围时可以既保证亮度,又保证显示。
动态显示对IO的利用率相对教高。
综上所述,本次设计使用数码管动态扫描显示作为显示方式。
4硬件设计
4.1电路设计原理
本次实训核心板采用LPC2132芯片。
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200.SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。
SPI还是一个数据交换协议:
因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。
不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义。
SPI总线工作的四种方式如图4-1所示,其中使用的最为广泛的是SPI0和SPI3方式(实线表示):
图4-1SPI总线四种工作方式
SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。
如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。
时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。
如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。
SPI主模块和与之通信的外设备时钟相位和极性应该一致。
个人理解这句话有2层意思:
其一,主设备SPI时钟和极性的配置应该由外设来决定;其二,二者的配置应该保持一致,即主设备的SDO同从设备的SDO配置一致,主设备的SDI同从设备的SDI配置一致。
因为主从设备是在SCLK的控制下,同时发送和接收数据,并通过2个双向移位寄存器来交换数据。
工作原理演示如下图:
上升沿主机SDO发送数据1,同时从设备SDO发送数据0;紧接着在SCLK的下降沿的时候从设备的SDI接收到了主机发送过来的数据1,同时主机也接收到了从设备发送过来的数据0.
4.2电路原理图
P1.24-P1.31口作为数码管数据输出口,外接上拉电阻后分别连接到两个数码管的段选端上。
P0.0-P1.7口作为数码管位选控制口,分别接到2个4位共阴数码管的共8个位选端上。
另外,LPC2138的1-4、6、8、10、12脚接+3.3V电源。
14、16、18、20脚接+5V电源。
5、7、9、11、13、15、17、19、37-40脚接GND。
电路原理图如图所示。
图4-2总电路原理图
4.3PCB设计
由于核心板已经给出,所以所需制作的显示部分稍显简单,但是为了保证走线的合理和制版的方便,我在绘制PCB时还是下了一番功夫的,一般的信号线使用30mil的宽度,而GND和电源线则采用了40mil。
PCB中走线在变向时没有出现直角或锐角的情况,折弯处全部采用135度钝角处理,避免了应为信号频率过高而发生意外情况。
同时为了在调试程序时方便操作,在布置元件时注意到将核心板的USB下载口的位置朝向左边,避免了USB下载线挡住数码管影响调试操作的情况发生,同时也减小了板子的尺寸。
同样,按键位置偏右,符合东方人右手操作按键的习惯。
最终PCB的布局及走线如图所示。
图4-3PCB布局及走线图
5硬件调试
由于在绘制PCB时走线只用了30mil的宽度,在板子转印结束后发现有一些地方转印不太好,有断线的隐患。
所以就用油笔把一些似断非断的走线补画完整,经过腐蚀后,用万用表检测走线的导通及短路情况,发现先前几处用油笔补画的地方发生了短路的情况,遂用小刀将其短路的地方刮断。
经过仔细的检测后得出结论,PCB转印腐蚀过程良好。
钻孔、焊接好电路以后再次检查了焊接处是否发生虚焊或者短路情况,确认没有上述情况后将核心板插上插槽。
连接USB,核心板电源亮。
下载调试数码管的校验程序后数码管显示正常,上电成功。
测试时发现数码管亮度不理想,所以调整了上拉电阻大小,把阻值减小获得满意的点亮效果。
在下载程序时,发现程序不能正常下载,经过和同组同学讨论后怀疑是下载口接触不良,但是使用万用表检测后未发现这一问题,同时也排除了是下载线断路或者芯片烧坏等问题。
经过反复摸索,发现是由于之前下载到核心板上的程序没有擦出,而下载端口被设置的程序占用了,导致不能正常下载其他程序,遂在下载前把之前的程序擦出。
再次下载,发现问题解决。
6软件设计
程序流程图如图6-1所示
图6-1程序流程图
7实训心得体会
本次嵌入式系统实训为开放命题形式,50多个题目让同学们自由选择,每一位同学都能选作自己感兴趣的题目进行制作,但是这同时对于每一个同学来说都是一个不小的挑战。
经过近两个星期的努力,最终完成了基于嵌入式ARM的电子秒表的设计,实现了全部设计要求,并且可以保存5个记录时间。
对于电路的设计我不用太多说明,良好的基本理论素质是制作电子作品的根基。
这学期开设的ARM课程,给我在本次实训中使用以LPC2132为核心的核心板来设计电子秒表带来了极大的帮助。
同时实训也让我对于理论课上听起来极为复杂和费解的嵌入式系统变得清晰明了,我也有机会更多更深入的去了解和使用嵌入式系统来完成设计,加深了我对嵌入式系统的认识,是“学以致用”的最好的体现。
所以,在今后的特别是毕业设计中我更要提高自己的理论水平和动手能力,开拓视野,为将来走出校园走向社会打下坚实基础。
两个星期的实训下来,付出了很大的努力,明白了很多东西,在软件制作过程中,因为LPC2132与51单片机的I/O口使用上有着不小的区别,所以在对LPC2132的管脚定义上遇到了很多问题,重新查阅教材后才完全将其理解。
在此,感谢在制作过程中帮过我们的老师和同学,感谢他们的帮助。
经过了这次实训,更加激起了自己对嵌入式系统的兴趣,对嵌入式系统的使用有了一定的了解,让我看到了嵌入式系统强大的功能和在使用上的便利。
而对于应该如何使用LPC2132中的定时功能有了更为全面的认识。
在后期的电路调试和软件调试过程中,我被同学给予的无私帮助深深打动,很多陌生的问题摆在面前,如果没有大家的无私帮助,没有大家的通力合作、资源共享的话,我想一定会有更多的问题阻挡我们前进的步伐。
凭借个人能力也无法在短短两个星期内解决在本次实训中出现的问题。
正是有了大家的帮助和关怀,我才能顺利圆满的完成此次实训任务。
本次实训的难点我觉得是在理解老师提供的核心板的基础上,如何来给其外接附加电路,并通过编程来完成设计任务。
在此之前都没有真正使用过嵌入式系统。
但是在老师和同学们的帮助下,我通过网络查找资料、复习教材上的相关知识点、收集设计方案、绘制原理图、绘制PCB、电路板制作、编写程序等等都在有条不紊的进行。
在制作印制电路板之前,仿真软件的使用就变得格外重要。
本次实训我使用了protues7professional仿真软件。
但是虽然在制版之前的计算机模拟仿很成功、设计符合要求,但是在实际操作时还是出现了很多诸如核心板无法下载程序,数码管显示不正常等问题。
但是在大家的帮助下终于在最后关头解决了出现得所有问题。
最后,终于在实训规定时间内完成了规定任务。
最后,通过本次实训让我更为深刻的认识到了在数字电路飞速发展的今天,嵌入式系统在很多领域发挥着不可替代的重要作用,所以在今后的学习中我不但要巩对传统数字电路包括软件系统的知识,同时也要与时俱进,更为重视对诸如嵌入式系统等时下流行的电子信息专业知识的学习和应用,提高自己的动手实践能力,在不断的学习实践中不断的发现问题、解决问题。
谢辞
实训的过程是艰辛的。
没有得到各方面的支持我们不可能完成如此艰巨的任务。
首先,感谢应用科技学院为我们安排了这次电子线路设计实训。
在本次实训中,所有用到的电子元件、铜板、腐蚀液、转印设备、示波器、直流稳压电源等制作电子作品所需要的设备和仪器完全由院理免费提供。
所以,再次感谢学院为我们提供了一个优良的实训环境和后勤保障感谢学院领导对我们本次实训的支持和关心,使我们有了这次难得的机会加强理论知识,提高动手实践能力。
还要感谢我们的指导老师,在本次实训中给我提供的帮助。
没有他们的关心我不可能在那么短的时间内完成本次实训任务。
同时更应感谢老师们对我的严格要求、耐心指导,让我在不到2周的时间里完成了实训任务。
最后要感谢科协的老师与同学们的支持,让我在任何时间都能到金工实习重心制作电路板和调制程序。
本次实训完成了,但是相信有更多更加加艰巨的任务在等前方的道路上。
所以,我一定会加倍努力,在学院领导、老师和同学们的支持下充满信心的迎接未来的挑战。
参考文献
[1]崔更申,孙安青.ARM嵌入式系统开发与实践[M].北京:
中国电力出版社,2008
[2]马忠梅.ARM&Linux嵌入式系统教程[M].北京:
北京航空航天大学出版社,2004
[3]三恒星科技.ARM7易学通[M].北京:
人民邮电出版社,2006
[4]刘同法,肖志刚.ARMCortex-M3内核微控制器快带入门与应用.北京:
北京航空航天大学出版社,2009
[5]SteveFurber着;田泽等译.ARMSoC体系结构[M].北京:
北京航空航天大学出版社,2002
[6]张绮文.ARM嵌入式常用模块与综合系统设计实例精讲[M].北京:
电子工业出版社,2007
[7]刘天时.ARM7嵌入式开发基础实验[M].北京:
北京航空航天大学出版社,2007
附录
voidDelayNS(uint32dly)
{
uint32i;
for(;dly>0;dly--)
for(i=0;i<100;i++);
}
voidLEDMG(void)
{
uint32T;
IO0SET|=(127< for(T=0;T<8;T++) { IO0CLR|=(1<<(LED_s+T));//选择开启当前数码管 IO1CLR|=(127< DelayNS(10); IO1SET|=(LEDSEG[Display_Buffer[T]]< DelayNS(10); IO0SET|=(1<<(LED_s+T));//关闭 DelayNS(10); } } intmain(void)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 ARM 秒表 设计