已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统设计综述(本文是学习了基于arm7的S3C44BOX(学了一个学期还没记住这个名字的童鞋举手),就是我们的嵌入式课程的一篇个人感想,删减版的是我的设计报告,与大家分享,不妥当之处请直接指出。为方便09级以后的童鞋们搞定嵌入式实验,文章最后附上嵌入式课程的实验方法总结o(_)o )。首先,感谢邱老师一个学期的指导,在设计报告之前请允许我说一下自己的感想,嵌入式这门课程是少有的几门让我感觉获益匪浅的课程之一,我是把它当成一个单片机学的,因为如果嵌入式系统的定义就是一个可裁剪的含有微处理器和外围接口的非标准计算机系统的话,那么单片机当然算是,况且嵌入式系统最初是基于单片机的。只不过现在我们的“单片机”叫S3C44BOX,不叫51,我们的CPU采用了国际上最流行的ARM公司设计的ARM7TDMI。总体上它跟单片机、PLC、和一般的计算机系统是完全类似的。只是ARM有比较独特的架构和指令集,性能优越,跑操作系统也很流畅,特别适合于嵌入式系统的开发,所以ARM简直成了嵌入式系统的代名词。体会到了卖设计专利、卖标准、不卖产品的公司才是真正牛的公司,这就是智慧的力量。对于原理性的东西,包括CPU的工作原理和AD/DA、定时器、中断等外围接口的知识在原来的课程中都已经接触到了,所以这个,呃个人到课率木有那么高但是实验从来都很认真。这些感想都是从实验中得来的。学习的新的内容无非只有一个LCD控制器和串口通讯,但是这些老的知识的应用让我感到差的还远,通过主频对定时1秒的计算修改预分频、分频、计数值,超级终端与串口的配合(感觉这是个微型的组态软件,如果我们可以用程序对收到的串口数据进行进一步处理,不就可以实现相当炫的功能了么)、中断服务子程序的编写(LCD实验告诉我们,服务子程序要精简,放主函数就好了)和注入相应地址、小键盘的扫描码与map映射、这些看似学过的东西如果不经过这样的巩固恐怕永远也不能真正理解,对于基础知识的深化是我感觉学到的最重要的东西。通过JTAG烧录系统引导程序bootlooder到bank0(bootloader类似于BIOS,包括硬件初始化、调入ROM或者flash中用户程序到RAM等等)深化了对于开机固化程序的重要性,和ROM、RAM的应用机理。其实最重要的是课程对实验的重视,我们通过对各种程序的调试,不但深化了CPU与接口交互的实现系统功能的过程(CPU通过控制字赋值和总线的存取操作实现对接口的控制,各类接口都是CPU实现价值的手足和体现作用的窗口,通过中断、查询等方式申请CPU的服务),而且巩固了C语言的编程技巧(如巩固了C工程文件的应用,函数编写、.h文件的操作(包括新函数声明、工程直接拷入接口.c.h文件(模块化编程的好处啊),外部变量引用(extern公交汽车、static私家车、auto卖新车),对于C语言的嵌入式编程激起了浓厚的兴趣。五次实验(,我们在通过codewarrior说C语言给arm7听,它“指使”小弟们:zlg7289、中断、定时器、LCD控制器、串口实现了我们要它实现的功能:小键盘输入循环左移、1秒计时、时钟显示、定时器交替显示、小键盘串口通讯、LCD动态“笑脸”效果。学了一个比较有用的LED驱动接口芯片ZLG7289,它简单通过4根线与CPU精巧相连实现了对8块LED的驱动和64位小键盘的扫描。通过LCD的实验深化了对与计算机显示功能的理解(CPU与显卡的交互),实验中我们给bank6前512KB的LCD缓冲区赋值(像素点信息,240*320),然后通过refresh函数,将像素点信息在LCD控制器的作用下“译码”输出,并不断刷新,我们通过调整控制器参数就可以调整显示设置。很有意思的是开发板上的USB,把用户程序的烧录变成了U盘模式相当与直接拷到了FLASH中,每次在超级终端操作界面按完U,出来个“可移动磁盘”就感觉挺神奇,就想自学USB的开发,因为上课的时候到了最后才介绍了一些关于这个的内容,心里对开发过程只有了一些大致的印象。比较遗憾的地方就是嵌入式系统开发很重要的一块就是诸如uc/os的操作系统,以及在操作系统上跑应用程序和应用程序开发。操作系统的实验没好好做,倒不是只为了考试,因为实在是看不懂啊有木有对操作系统的概念停留在比较低级的水平,求计算机专业的童鞋指教。一、 概述对于嵌入式系统的定义比较宽泛难以统一,国内比较认可的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、对可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由以下几部分组成:嵌入式微处理器外围硬件设备、嵌入式操作系统、特定的应用程序。可见其实嵌入式系统就是含有微处理器和硬件接口的一个根据应用可裁剪的非标准计算机系统。嵌入式系统的发展历史:嵌入式系统的出现最初是基于单片机的。70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用、更快、更便宜。从80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。嵌入式系统的现状及应用、发展趋势:我们有理由相信计算机还将继续快速发展并进一步改变我们的生活,让计算变得“无所不能”、“无处不在”。其中“无所不能”将是人工智能技术和超级计算机的结合,而“无所不在”则是嵌入式技术应用的广阔天地,现在普通消费者已经可以从市场中买到数码相机、移动电话、打印机等众多的数码产品、航空设备、ATM机、计算机网络设备等电子产品中都用到了嵌入式技术。嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5 - 10 个嵌入式微处理器。在制造工业、过程控制、网络、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。它的出现,目的就是要把一切变得更简单、更方便、更适用;通用计算机的发展变为功能电脑,普遍进入社会,嵌入式计算机发展的目标是专用电脑,实现“普遍化计算”,因此可以称嵌入式智能芯片是构成未来世界的“数字基因”。正如我国资深嵌入式系统专家沈绪榜院士的预言, “未来十年将会产生同大小、具有超过一亿次运算能力的嵌入式智能芯片”,将为我们提供无限的创造空间。总之“嵌入式微控制器或者说单片机好象是一个黑洞,会把当今很多技术和成果吸引进来”。(本段为拷贝内容)。二、 硬件平台的功能概述。硬件平台是基于ARM7微处理器的,有丰富接口和外围电路,比如zlg7289芯片及LED、串口模块(包含电平转换)、AD/DA模块、LCD模块、定时器模块、中断模块,还有我们没有用到的以太网接口等等,另外,当然少不了存储器(FLAH、RAM),比较有特色的是,开发板上为我们设计了通过USB实现的“U盘”功能,对于用户程序的烧录提供了方便。三、 软件环境。系统的开发采用了host+target的方式,我们在上位机ADS环境中进行C语言编程,通过JTAG(bootloader烧入bank0)、USB(用户程序写入)、以太网接口、串口(系统通信)等通信通道实现了对目标机的操作。除了编程的软件环境,另外的软件环境是在系统中运行的操作系统,我们用的是uc/os,在ARM上应用广泛的uc/os的特点是:公开源码、可移植性好(汇编代码压缩到最少,改动得少)、可固化、可裁剪(条件编译)。目前在嵌入式系统中用的比较多的操作系统包括uc/os、winCE,palmOS、嵌入式linux等。winCE是微软开发的简洁高效率的多平台操作系统,它不是桌面windows的删减版,在PDA、智能手机、工业控制、医疗设备中运用较多。Palm OS是3COM公司的掌上电脑产品,因为其有开放的应用程序接口,所以应用正不断增加。嵌入式LINUX开放源码、内核小、功能强,好处多多。四、 嵌入式系统的设计方法。具体设计包括硬件设计和软件设计。硬件设计主要是根据性能参数要求对各功能模块所需要使用的元器件进行选择和组合,其选择的基本原则就是市场上可以购买到的性价比最高的通用元器件,对各个部分进行搭试、功能检验和性能测试。工作量最大的部分是软件设计。软件设计贯穿整个系统的设计过程,主要包括任务分析、资源分配、模块划分、流程设计和细化、编码调试等。软件设计的工作量主要集中在程序调试,所以软件调试工具就是关键。最常用和最有效的工具是在线仿真器(ICE)。(本段为摘抄内容)。五、 所设计作品:LCD动态显示“笑脸”图标。原理简述:用LCD实现动态显示比较容易,直接对显示缓冲区赋值(像素点信息:颜色等),发送到LCD直接显示(定时刷新)即可(用refrsh函数实现)。动态显示的原理就是:通过在工程文件中拷入timer3.h,timer3.c,ISR.H,ISR.C(关于中断,必须重新拷,因为里边有开关中断函数),利用定时器3的定时时间到申请中断,在中断服务子程序中只留计数变量的加1操作,当计数变量是奇数时显示一幅图像,偶数时显示另一幅画面(主程序while(1)+refresh()使过程持续),进而实现了动态显示。系统的硬件框图:图1、LCD控制器在系统中的位置。(以S3C44B0X为例,略)图2、(粗箭头为数据流,细箭头为控制信息流)。CPULCD控制器显示缓冲区LCD驱动器 LCDLCD定时器3附:嵌入式课程试验内容:要求及解决方法。实验一:用ZLG7289实现小键盘循环左移输入。目的:按键在LED上左移准确显示按键值。 改变:通过改映射表改变显示值,获得map后的值之后要有一个大的延时5000;enablezlg7289;延时Delay(5),发送数据和左移前后任意,但中间要延时(不能 解释,串口指令间必延迟,不然不行。屏蔽if判断disable。实验二:通过定时器实现电子表功能通过改分频系数和预分频系数改变定时器的计数频率 通过增大ZG7289的数组,计数值(中断次数)取余处理得到时分秒。显示前i=7。实验三:实现定时器2和定时器3的交替计数目的:增加定时器2,并交替申请中断,在LED上显示计时(最高位有标志)改动:增加了定时器2的初始化;通过标志位赋值增加定时器的开闭函数(要包含在.h文件中)增加2的中断服务子程序(通过函数发送到向量地址) 中断服务子程序中仍旧申请一次加一一次,超过一定就关闭自 己开启别人。 ZG7289数组赋值,最高位判断哪个计数器在工作赋予特定值(用extern 调用counter)。实验4、串口实验目的:重新初始化串口1(串口0在bootloader中有初始化了)并在试验箱的小键盘上打字,在电脑屏幕上有相应显示。(试验中用串口0连接usb下载,串口1调试自己的程序)改动:初始化串口1(初始化函数变成1就好了)-键盘打字显示。初始化建议直接不改,超级终端适应它,8位数据,1位停止、 无奇偶校验。(其实用六位数据诸如A 45H就不能显示了,硬件简 单的缘故,若有高层协议,可以重组)把keybord.h.c zg7289.h.c拷进来(start up),并在主函数 中include。keybord.c中的map中改成0x31,0x32等主函数中定义key承接keybord中的urchra()函数返回值把key而不是ch1用send函数把数据从串口1发出去。实验五:LCD动态图像显示目的:1、将图像改动,只要不是原来那个条纹。 只需要改动bufferij数组的像素点信息值即可(像素点的颜色信息在主函数中有定义)。(利用圆的方程可以改动图像)-生成笑脸。目的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 神经外科低钠血症治疗指南
- 风带来的好处和坏处活动
- 企业班组安全教育
- 第六章 机械能守恒定律-功和功率 2025年高考物理基础专项复习
- 示出塞课件教学课件
- 3.1.1 铁及其化合物 课件 上学期化学人教版(2019)必修第一册
- 慢病专员工作汇报
- 吉林省2024七年级数学上册第2章整式及其加减期末提分课件新版华东师大版
- 常见的安全标志教案及反思大班
- 氧化碳的说课稿
- WB/T 1060-2016道路运输食品冷藏车功能选用技术规范
- JJF 1659-2017PM2.5质量浓度测量仪校准规范
- GB/T 3766-2001液压系统通用技术条件
- GB/T 23114-2008竹编制品
- GB 30603-2014食品安全国家标准食品添加剂乙酸钠
- 松下panasonic-视觉说明书pv200培训
- 2023届台州一模考试试卷
- 大学物理 电阻电路等效变换
- 国企职务犯罪预防课件
- 介入手术跟台课件
- 《子路、曾皙、冉有、公西华侍坐》 课件46张
评论
0/150
提交评论