嵌入式系统课程设计

嵌入式系统课程设计
嵌入式系统课程设计

《嵌入式系统设计与应用》课程设计

题目嵌入式系统的实践教学探讨

1.嵌入式系统设计与应用课程的内容概述

1.1 内容概述

本课程适用于计算机类专业,是一门重要的专业课程。它的任务是掌握嵌入式系统的基本概念;掌握嵌入式处理器 ARM 体系结构,包括ARM总体结构、存储器组织、系统控制模块和I/O外围控制模块;掌握ARM指令集和Thumb指令集;掌握ARM汇编语言和C语言编程方法;了解基于ARM 的开发调试方法。它的目的是了解和掌握嵌入式处理器的原理及其应用方法。

1)介绍嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应

用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入

式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基

本内容,使学生系统地建立起的嵌入式系统整体概念。

2)对ARM技术进行全面论述,使学生对ARM技术有个全面的了解和掌握,建立起以ARM技术为基础的嵌入式系统应用和以ARM核为基础

的嵌入式芯片设计的技术基础。

3)ARM指令系统特点,ARM 指令系统,Thumb 指令系统,ARM 宏汇编,ARM 汇编语言程序设计,嵌入式 C 语言程序设计。

1.2实践教学探讨

在IEEE 计算机协会2004年6月发布的Computing Curricula Computer Engineering Report, Ironman Draf t 报告中把嵌入式系统课程列为计算机工程学科的领域之一,把软硬件协同设计列为高层次的选修课程。美国科罗拉多州立大学“嵌入式系统认证”课程目录包括实时嵌入式系统导论、嵌入式系统设计和嵌入式系统工程训练课程。美国华盛顿大学嵌入式系统课程名称是嵌入式系统

设计导论,它基本包括了前面三门课程的内容。2006年6月,我国教育部高等学校计算机科学与技术教学指导委员会在“高等学校计算机科学与技术本科专业规范(试行)”中也将嵌入式系统列为计算机工程专业方向的核心课程。

嵌入式系统产品需要设计者具有较强的综合理论知识和动手能力,是一门综合性强、知识覆盖面大的课程,既涉及数字电子技术、模拟电子技术、微机原理与应用等硬件知识,又涉及操作系统、应用程序等软件知识,其过程极其复杂、繁琐,对于计算机专业本科生而言,开始学的时候往往是一头雾水,不知所云,无从下手。因此,迫切需要在高校建立一个新的、基于先进嵌入式工程培养的、基于ARM技术和多任务操作系统的嵌入式系统教学课程体系,从根本上解决嵌入式技术发展对人才的需求。

由于高等教育提出朝着“宽口径、厚基础、重能力”的方向发展,培养适应能力强、发展潜力大的复合型人才是高等教育追求的目标。为了提高学生对外部变化的适应和反应能力,拓宽学生的基础知识,夯实学生的理论基础,提高学生的动手能力、自主设计和创新能力,以增强学生在未来社会发展中的后劲,各个高校都在加大课程重组和整合的力度,修改教学计划,构建多元化学习评价体系,优化课程建设方案,以达到提高学生综合素质,提升教学质量强化优势学科和打造学科品牌的目的。

实践教学是实现“做中学”模式下人才培养目标的一个重要环节,实践教学的实施要遵循以下几个原则:

(1)从简单、实用入手,激发学生兴趣与爱好。注重培养学生的学习愿望和需求,生动地向学生介绍本课程的性质与设置目的。加深学生对学习本课程必要性的认识,激发学生的学习需要和学习兴趣,培养学生的好奇心和求知欲,引导学生喜欢学习这门功课。大大增加教学信息量,提高学习效率。改变传统的“填鸭式”教学,实施启发式教学。比如采用对比教学法:有些教学内容可以采用对比教学法,增强学生对知识的感受强度。

(2)入门程序要直观、易懂、容易操作;使学生很快掌握软件的编辑、编译、链接、调试、移植等过程;掌握软件工程项目的概念。

(3)安排实用性强的实验项目,比如LCD显示、触摸屏、键盘等内容,并让内容与手机关联起来,使学生明白手机是如何工作的,从而激发他们学习的动

力。同时实施实例化教学方法,就是以实际产品(或者半成品)为主要研究对象,强调从实际出发,采用自上而下或者自下而上的方式对方案进行设计测试,并在过程中对传统模式下的理论知识进行与时俱进的淬炼,努力使学生学习了一个例子,就掌握一方面实例的设计方法,学会嵌入式系统的设计理念和技术。以实例化教学模式进行教学活动,涉及信息量大、知识点价值高、贴近实际应用,具有较好的应用价值和前景。在学期课程结束进行评价测试时,实例化教学模式下的学生成绩和其他评测结果也好于传统模式下的结果。

(4)编写基于“做中学”理念的实验教学大纲、实验指导书,增加创新性实验项目,构建科学合理的实践教学体系。创新性实验项目的设计,要紧密结合科研、产品与社会应用实践,引入现代科学技术和教学改革新成果,积极开发综合性、设计型、研究型等有利于学生创新能力培养的实验项目,减少验证性、演示性实验的比重,要围绕让学生自己以市场的需要为导向,从问题的提出,到问题的分析、解决和实施等几个过程来展开。同时要紧跟时代的热点需求,以智能家电、iPad、PDA、GPS 导航等社会热点产品为CDIO的工程项目,使得学生进一步了解了嵌入式系统的系统组成、开发过程及应用领域。

(5)网络教学模式的积极引入。制作课程的相关网站,通过编写教学课件、制作题库,为学生提供网络学习环境。网站已包括教学资源、网上教学、习题解答、疑难解答、最新留言、子程序库、教学体会、教学交流、学生心得等几个板块。通过和学生在课下互动,加深学生对课上知识点的印象和理解,有效地提高了学生的主观学习能动性。并且通过网站建设也与其他高校及相关行业人士进行专业交流。

(6)积极引导学生参加各种大赛及创新性试验计划。组织参加课外科技活动小组的学生参加国内外各种相关的科技性设计大赛,根据学生完成实际项目的情况和大赛获奖情况,判断教学改革的成效,对根据结果对教学方案进行调整。

(7)重新建立科学的考评体系。建立以理论考核与实验考核相结合的模式,以实验考核为主;在实验考核中又以综合设计性实验的成绩为主,通过观察学生所完成的实验内容、质量、正确性等,着重考核学生的实验技能和科学作风,考核学生的设计方法和创新能力以及是否满足实验指标要求,期终考试则着重考核学生对原理的掌握。

1.3 从裸机程序到移植Bootloader到引导嵌入式操作系统内核到移植根文件系统以及驱动程序(以 armLinux系统移植步骤为例)arm9S3C2410微处理器与Linux的结合越来越紧密,逐渐在嵌入式领域得到广范的应用。目前,在便携式消费类电子产品、无线设备、汽车、网络、存储产品等都可以看到S3C2410与Linux相结合的身影。

S3C2410微处理器是一款由Samsung公司为手持终端设计的低价格、低功耗、高性能,基于arm920T核的微处理器。它带有内存管理单元 (MMU),采用0.18mm 工艺和AMBA新型总线结构,主频可达203MHz。同时,它支持Thumb 16位压缩指令集,从而能以较小的存储空间获得32位的系统性能。

在众多嵌入式操作系统中,Linux目前发展最快、应用最为广泛。性能优良、源码开放的Linux具有体积小、内核可裁减、网络功能完善、可移植性强等诸多优点,非常适合作为嵌入式操作系统。一个最基本的Linux操作系统应该包括:引导程序、内核与根文件系统三部分。

与Linux2.4内核相比,2.6内核吸收了最新的技术,在性能、可测量性、器件支持和可用性方面有了大幅度提高;支持更多的体系结构、处理器、总线、接口和设备;标准化了内部接口;简化了扩展或添加新设备的步骤等。

本文着重介绍如何制作一个基于linux-2.6.19内核的小型Linux操作系统,并将它移植到S3C2410开放板上。内容包括交叉编译环境的建立,引导程序、2.6.19内核、根文件系统的修改、配置、编译、移植等。

系统的制作移植

建立交叉编译环境

要移植、开发小型Linux系统,首先要在安装了RedHat9或更高版本Linux 操作系统的主机上配置交叉开发环境。交叉开发是指在开发主机上安装开发工具,编辑、编译目标板的引导程序、内核和文件系统,使其能在目标板上运行。

针对本次开发,需要安装arm-linux-gcc-3.4.1以及armv4l-tools工具链。在安装完毕后,切记要将两者的路径分别添加到系统路径$PATH中。

引导程序

对于计算机系统来说,从开机上电到操作系统启动需要一个引导程序。嵌入式linux系统同样离不开引导程序,这个引导程序叫做 Bootloader。通过这段

小程序,可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统硬件环境,为最终调用操作系统内核做好准备。

Vivi是韩国MIZI公司为其arm9系列产品而研发的Bootloader,小而灵巧,这里选用它作为小型Linux系统的Bootloader。

首先要修改vivi源代码中的Flash分区信息。

在vivi源码arch/s3c2410/smdk.c文件中作出相应的修改。

然后在配置菜单中导入smdk2410的默认配置,编译成功将在vivi源代码目录下生成所需的Bootloader文件,文件名为vivi。

接着,便可把vivi下载到目标板Flash的相应位置。

内核

·内核修改

首先,修改内核源码linux-2.6.19下的Makefile文件,指定目标代码类型与编译器:

SUBARCH :=arm;CROSS_COMPILE:=/usr/local/arm/3.4.1/bin/arm-linux-。

然后,在linux-2.6.19/arch/arm/mach-s3c2410/common-smdk.c中根据表1修改内核中的Flash分区信息。这里提醒读者,2.6.16(含)以前内核的源码中没有Flash分区信息,所以需要增加新的分区信息;而在2.6.17(含)以后内核的源码中已含Flash分区信息,需要的只是修改分区信息。

内核Flash分区信息必须与vivi的Flash分区信息相一致。因为,vivi的Flash分区中的地址是内核及文件系统下载到Nand flash的真正地址;而内核在启动时读的却是内核Flash分区设定的地址;所以,若两者不同,则很可能导致不能正常启动内核或读取文件系统。

最后,修改linux-2.6.19/drivers/mtd/nand/s3c2410.c,禁止Nand flash 差错检测:chip->eccmode = NAND_ECC_NONE;。

·内核的配置编译

在配置菜单中导入内核对smdk2410的默认配置,再在此基础上选择所需的功能。如Nand Flash及MTD设备的支持,Cramfs文件系统的支持等。

配置完毕,在终端输入编译命令“make”进行编译。若内核源码编译成功,将在linux-2.6.19/arch/arm/boot/下生成内核映像文件zImage。

最后,在vivi命令提示模式下使用下载命令,将内核映像zImage加载到开发板Flash中的适当地址。

根文件系统

Linux系统中的文件和设备是通过文件系统来组织的。文件系统的存在使得数据和设备可以被有效而透明地存取访问。一个linux的最简根文件系统应该包括支持linux系统正常运行的基本内容,包括系统使用的软件和库,以及所有用来为用户提供基本支持的架构和指令。

在根文件目录rootfs下建立bin、dev、etc、lib、proc、sbin、root、tmp 等一系列必备的目录,把所需的配置文件、动态函数库放到相应的目录。采用BusyBox是缩小根文件系统的好办法。BusyBox以很小的体积集成了最常用的linux命令和应用程序,大大简化了制作linux根文件系统的过程。

有一点必须指出的是,在2.6.12(含)之前的内核通常是用devfs来管理位于/dev下的所有块设备和字符设备;但在2.6.13(含)之后的内核已不支持devfs,而转用udev来管理/dev下的设备。所以,针对2.6.19内核,要使系统启动后进入BusyBox控制台,还需在/root/fs/dev下添加控制台设备文件:“[root@localhost dev]# mknod -m 600 console c 5 1”。

目前,linux已经能够支持几十种文件系统格式,如常用的Cramfs、Jfss2、Yaffs等。Cramfs 是一种只读的闪存文件系统,可以保护系统的基本设置不被更改。根文件系统就使用Cramfs格式。

使用Cramfs制作工具mkcramfs把根文件目录制作成映像文件:rootfs.cramfs。

根文件系统制作完成,在vivi命令模式下把rootfs.cramfs下载到Flash 的合适位置。

至此,一个基于2.6.19内核的小型Linux系统便成功地制作完毕,并移植到S3C2410开发板上了。

板子加电后便可看到系统的启动信息,最终进入BusyBox控制台。

2.移植Bootloader过程

2.1 linux系统上电后启动过程:

--->启动引导加载程序bootloader(一些CPU在运行bootloader之前,会先运行一段固化的程序)。

--->启动内核

--->挂载根文件系统

其中,Boot paramoters分区中放置一些可设置的参数,比如,IP地址、串口波特率、要传递给内核的命令行参数等。

2.2 为什么要进行bootloader移植?

--->bootloader的实现依赖于具体的硬件,而在嵌入式产品中硬件的配置千差万别,即使相同的CPU,它的外设也有可能不同,所以不可能有一个bootloader 支持所有的CPU,即使是支持CPU架构比较多的U-Boot,也不是拿来就能用的,也需要做一些简单的移植。

2.3 Bootlader的启动过程分为两个阶段:

第一阶段:

--->硬件设备的初始化(进入svc模式、关闭watchdog、禁中断、设置系统时钟频率、初始化存储控制器、初始化堆栈)。

--->uboot的代码重定位,从nand中拷贝至sdram中,默认是从norflash拷贝至sdram

--->跳转到第二阶段c代码继续执行

第二阶段:

--->初始化本阶段要使用的硬件设备(如串口)。

--->检测系统内存的映射(memory map)。

--->从flash读取内核镜像和文件系统到sdram中。

--->为内核设置启动参数。

--->启动内核。

3.本学期该课程的收获与建议。

3.1 本学期该课程的收获

本学期我对该课程的收获主要有以下几个方面:

3.1.1嵌入式系统的概念

主要从三个方面上来理解。

1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE 网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到 1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由 intel 进行整合后成Xscale内核的最高的处理器了。

2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。

3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。

3.1.2嵌入式系统的分层与专业的分类。

嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。

1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬

件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。

硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。

2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。

驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。

3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。

4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、

H.323、Astrisk)方面又较为复杂,并且有难度了。

3.2 建议

嵌入式系统(ES)是计算机技术、通信技术、半导体技术、微电子技术、语音图象数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品。因此往往是技术密集、投资强度大、高度分散、不断创新的知识密集型系统。反映当代最新技术的先进水平。嵌入式系统不仅和一般的PC 机上的应用系统不同,就是针对不同的具体应用而设计的嵌入式系统之间差别也很大。嵌入式系统一般功能单一、简单,且在兼容性方面要求不高,但是在大小,成本方面限制较多。嵌入式计算机基本上不能算是嵌入式系统。它仍然是计算机一类,不过是工作条件有所不同而已,因为它还保留了计算机的基本。

嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。

我对嵌入式系统设计与应用课程的建议:

3.2.1嵌入式系统回顾

事实上,在很早以前,嵌入式这个概念就已经存在了。在通信方面,嵌入式系统在20世纪60年代就用于对电子机械电话交换的控制,当时被称为“存储式程序控制系统”(Stored Program Control)。

嵌入式计算机的真正发展是在微处理器问世之后。1971年11月,Intel公司成功地把算术运算器和控制器电路集成在一起,推出了第一款微处理器Intel 4004,其后各厂家陆续推出了许多8位、16位的微处理器,包括Intel 8080/8085、8086,Motorola 的6800、68000,以及Zilog的Z80、Z8000等。以这些微处理器作为核心所构成的系统,广泛地应用于仪器仪表、医疗设备、机器人、家用电器等领域。微处理器的广泛应用形成了一个广阔的嵌入式应用市场,计算机厂家开始大量地以插件方式向用户提供OEM产品,再由用户根据自己的需要选择一套适合的CPU板、存储器板以及各式I/O插件板,从而构成专用的嵌入式计算机系统,并将其嵌入到自己的系统设备中。

为灵活兼容考虑,出现了系列化、模块化的单板机。流行的单板计算机有

Intel公司的iSBC系列、Zilog公司的MCB等。后来人们可以不必从选择芯片开始来设计一台专用的嵌入式计算机,而是只要选择各功能模块,就能够组建一台专用计算机系统。用户和开发者都希望从不同的厂家选购最适合的OEM产品,插入外购或自制的机箱中就形成新的系统,这样就希望插件是互相兼容的,也就导致了工业控制微机系统总线的诞生。1976年Intel公司推出Multibus,1983年扩展为带宽达40MB/s的MultibusⅡ。1978年由Prolog设计的简单STD总线广泛应用于小型嵌入式系统。

20世纪80年代可以说是各种总线层出不穷、群雄并起的时代。随着微电子工艺水平的提高,集成电路制造商开始把嵌入式应用中所需要的微处理器、I/O 接口、A/D、D/A转换、串行接口以及RAM、ROM等部件统统集成到一个VLSI中,从而制造出面向I/O设计的微控制器,也就是我们俗称的单片机,成为嵌入式计算机系统异军突起的一支新秀。其后发展的DSP产品则进一步提升了嵌入式计算机系统的技术水平,并迅速地渗入到消费电子、医用电子、智能控制、通信电子、仪器仪表、交通运输等各种领域。

20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步加速发展。面向实时信号处理算法的DSP产品向着高速、高精度、低功耗发展。Texas推出的第三代DSP芯片TMS320C30,引导着微控制器向32位高速智能化发展。在应用方面,掌上电脑、手持PC机、机顶盒技术相对成熟,发展也较为迅速。特别是掌上电脑,1997年在美国市场上掌上电脑不过四五个品牌,而1998年底,各式各样的掌上电脑如雨后春笋般纷纷涌现出来。此外,Nokia推出了智能电话,西门子推出了机顶盒,Wyse推出了智能终端,NS推出了WebPAD。装载在汽车上的小型电脑,不但可以控制汽车内的各种设备(如音响等),还可以与GPS连接,从而自动操控汽车。21世纪无疑是一个网络的时代,使嵌入式计算机系统应用到各类网络中去也必然是嵌入式系统发展的重要方向。在发展潜力巨大的“信息家电”中,人们非常关注的网络电话设备,即IP电话,就是一个代表。该设备可以简单到像普通电话一样,可它却是通过互联网来实现双方通话的,花市话的钱可以打长途电话!

3.2.2嵌入式系统具备的特性

(1)通常只执行特定功能,这一点与一般桌上型办公设备或数据库系统有很大区别。

(2)以微电脑与周边器件构成核心,其规模可在大范围内变化,如从8051芯片到x86芯片。

(3)严格的时序和稳定性要求,这是因为在机器控制的大型系统中,程序运行稍有差错则可能使得整个系统失去控制,甚至酿成灾害。

(4)全自动操作循环。

嵌入式系统是电脑软件与硬件的综合体,它是以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式计算机在应用数量上远远超过了各种通用计算机。一台通用计算机的外部设备中就包含了5~10个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数码相机、USB集线器等均是由嵌入式处理器进行控制的。在制造工业、过程控制、通信、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面,嵌入式计算机都有用武之地。

美国汽车大王福特公司的高级经理曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想象嵌入式计算机工业的规模和广度。美国著名未来学家尼葛洛庞帝1999年1月访华时预言,4~5年以后嵌入式智能(电脑)工具将是PC和因特网之后最伟大的发明。

3.2.3嵌入式系统的特点

(1)嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。通用计算机行业中,占整个计算机行业90%的个人电脑产业,绝大部分采用的是Intel的x86体系结构,而芯片厂商则集中在Intel,AMD,Cyrix等几家公司,操作系统方面更是被微软占居垄断地位。但这样的情况却不会在嵌入式系统领域出现。这是一个分散的,充满竞争、机遇与创新的工业,没有哪个公司的操作系统和处理器能够垄断市场。

(2)嵌入式系统通常是面向用户、面向产品、面向特定应用的。嵌入式系

统中的CPU与通用型CPU的最大不同就是前者大多工作在为特定用户群设计的系统中。通常,嵌入式系统CPU都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于整个系统设计趋于小型化。在对嵌入式系统的硬件和软件进行设计时必须重视效率,去除冗余,针对用户的具体需求,对系统进行合理配置,才能达到理想性能。与此同时,系统设计还受市场供求关系的影响。嵌入式处理器的发展也体现出稳定性,一个体系一般要存在8~10年的时间。一个体系结构及相关的片上外设、开发工具、库函数、嵌入式应用产品合在一起,可以构成一套复杂的知识系统。

(3)嵌入式系统和具体应用有机地结合在一起,其升级换代也是和具体产品同步进行的。因此嵌入式系统产品一旦进入市场,就具有较长的生命周期。

(4)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存贮于磁盘等载体中。由于嵌入式系统的运算速度和存储容量仍然存在一定程度的限制,另外,由于大部分嵌入式系统必须具有较高的实时性,因此对程序的质量,特别是可靠性,有着较高的要求。

(5)嵌入式系统本身并不具备在其上进行进一步开发的能力。在设计完成以后,用户如果需要修改其中的程序功能,也必须借助于一套开发工具和环境。

(6)通用计算机的开发人员通常是计算机科学或者计算机工程方面的专业人士,而嵌入式系统开发人员却往往是各个应用领域中的专家,这就要求嵌入式系统所支持的开发工具易学、易用、可靠、高效。

3.2.4 嵌入式系统组成

嵌入式系统的组成软硬兼施,互利互惠,融为一体,成为产品。芯片加软件成为产品,但要开发工具辅助进行开发。

嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣,去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择面前更具有竞争力。嵌入式系统组成:

1、嵌入式芯片EMCU

A、EMPU---嵌入式微处理器

B、EMCU---嵌入式微控制器

C、EDSP---嵌入式数字信号处理器

D、ESOC,EPSOC---嵌入式片上系统,嵌入式可编程片上系统(系统芯片)

2、嵌入式软件ESOFTWARE*-

A、C++

B、Java

C、脚本语言(Script Langu- age)

D、HOPEN

E、JINI

3、嵌入式操作系统(RTOS)

A、VRTX

B、PSOS

C、VXWORK,WINCE,EPOC

D、LINUX

E、PALM

F、OS-9

G、JAVA CHORUS OS

H、QN-X

I、NAVIO

3.2.5 嵌入式系统开发工具

1、国外市场

A、实时在线仿真系统ICE(In-Circuit Emulator)(https://www.360docs.net/doc/193563120.html,

B、高级语言编译器(Compi- ler Tools)(https://www.360docs.net/doc/193563120.html,)

C、源程序模拟器(Simula- tor)(https://www.360docs.net/doc/193563120.html,)

2. 国内市场-国外产品占领市场90 以上,目前国内产品占领市场很小,但正在新形势下兴起,很快进入市场。

3.2.6 嵌入式应用系统的突出特点:

1、体小:一般为0.?厘米×0.?厘米的芯片

2、量大:100K 掩模 ROM;100K-10K OTP.EPROM;10K以Flash,EEPROM.

3、价低:最低0.5元,一般几元---几十元,最高-几百元。

4、技高:0.25微米-0.1微米。晶体8-10-12英寸

5、可靠,可承受高过载,高冲击及其它恶劣环境(如高低温)可靠性很重要。

6、面广:非常广泛,想得到就办得到。

7、投资大,工艺精,难度大。一个工厂就几十亿美元,建成体系并配套将达数千亿美元,并要经常维护,还有更新时间快。但收益快。

8、软硬一体,软件为主。是嵌入式系统的主体。有IP核。

9、有备份但无多余另部件。以达最低价格。

10、技术融合是特点。集计算机,通信及其它高新技术于一体。

3.2.7 嵌入式系统的嵌入深度应有标准ED(Embedded Deep)

嵌入式系统(ES)的嵌入深度ED=F(计算机大小;芯片工艺;系统复杂程度不同;使用环境条件;以及其它原因)

嵌入深度是一个复杂的系统工程,但使用要求及技术发展成果,是第一位地因素。目前嵌入式芯片是决定因素,SOC是关键。

因此,对嵌入式系统从不同观点去理解去观察,就有大不相同看法,但嵌入式系统的嵌入深度应有统一的标准。

1、从MPU角度或PC微机角度:微处理器为核心-是浅嵌入式系统

例如:PC104

可分A;B;C;D四级,又可细分 1;2;3 三等。即A1,A2,A3;B1,B2,B3;C1, C2,C3;D1,D2,D3。A1是最浅嵌入式系统----D3是最深嵌入式系统

2、从MCU角度:微控制器为核心

可有:B1,B2,B3。是中等嵌入式系统

例如:一般应用MCU组成的系统,但不包括应用8031,8032等无ROM的产品。

3、从DSP角度:数字微处理器为核心

可有:C1,C2,C3。是中等嵌入式系统例如:视情况而定。

4、从SOC角度:片上系统为核心

可有:D1,D2,D3。是深嵌入式系统

嵌入式系统嵌入深度等级如下:

A1:深度最浅,浅1

A2:深度次浅,浅2

A3:深度较浅,浅3

B1:深度中等1,中1

B2:深度中等2,中2

B3:深度中等3,中3

C1:深度中等1,中1

C2:深度中等2,中2

C3:深度中等3,中3

D1:深度较深,深1

D2:深度次深,深2

D3:深度最深,深3

即1;2;3;4;5;6;7;8;9。注意:1到9是从最浅到最深。

3.2.8 嵌入式系统应用情况

1、国外情况

A、美国:水平较高

B、日本:较普及

C、欧洲共同体:较好

D、新加波:一般

2、国内情况

A、国内先进水平:一般

B、台湾:较好

C、香港:较高

D、澳门:一般

3.2.9 嵌入式系统应用技术热点

1、移动是当前电信发展方向和驱动力

2、网络技术发展重要方向是宽度

3、网络家电即将面市并走向世界

4、在微电子机械(MEMS)中应用技术

5、在国防工业中应用技术

6、在生物微电子技术(DNA)中应用技术

7、在电子商务中应用技术M

8、在INTERNET中应用技术

3.2.10 嵌入式系统典型应用技术及实例

1、在消费类电子产品中应用

2、在兵器工业中应用

3、在计算机外围中应用

4、在DNA中应用

5、在移动电话中应用

6、在国防工业中应用

7、在安全系统中应用

8、在智能家电中应用

9、WAP中应用技术

10、在智能机器人中应用

11、在智能玩具中应用

12、在MEMS中应用(Microelectromechanical System)

13、在农业技术中应用

14、在多媒体中应用

15、在智能金融器具中应用

16、在车辆与交通工程中应用

17、在导弹技术中应用

18、在智能电表中应用

19、在网络工程中应用

20、在掌上电脑中应用

21、在光学系统中应用

22、在办公设备中应用

23、在气象预报中应用

24、在仪器仪表中应用

25、在智能卡中应用

26、在模糊控制中应用

27、在模糊控制中应用

28、在家庭智能中心系统中应用

29、在智能监控系统中应用

30、在楼宇对讲系统中应用

31、在自动抄表系统中应用

32、在IC卡停车场管理系统中应用

33、在卫星通信网中应用

34、在军事工业方面中应用

35、在网络浏览器中应用

36、在智能传感器中应用

37、在数字通信中应用

38、在数据处理中应用

39、在数据管理中应用

40、在数据库中应用

41、在数控技术(机床)中应用

42、在AV产品中应用

43、在DSP中应用

44、在Internet中应用

45、在舰艇战艇潜艇中应用

46、在纳米技术中应用

47、在电机控制-中应用技术

北京科技大学 嵌入式课程设计报告

《嵌入式控制系统》课程设计报告 学院 专业班级 姓名 学号 指导教师 _

目录 摘要 (4)

Abstract (4) 引言 (5) 带中断LED数码管驱动程序设计 (6) 1.设计内容 (6) 1.1 基本功能 (6) 1.2 扩展功能 (6) 1.3创新功能 (6) 2.实验设备 (6) 3.设计功能块说明 (6) 4.设计原理 (7) 4.1 LED发光原理 (7) 4.2 八位LED显示器 (8) 5. 实验步骤 (8) 5.1 驱动程序加载 (8) 5.2 添加控件 (8) 5.3基本功能的实现 (9) 5.4 使用指南 (10) 6. 实验结果 (10) 6.1 基本功能实现结果 (10) 6.2 LED数码管清零功能实现结果 (11) 6.3 中断计数功能实现结果 (12) 6.4 频率设置功能实现结果 (13) 7. 心得体会 (14) 附录 (16)

摘要 通过嵌入式控制系统课程的学习并结合本次课程设计,了解嵌入式系统的开发方法和流程,熟悉Intel XScale硬件平台及其应用处理机的使用方法,熟悉Windows CE嵌入式系统的基本原理、概念。能针对Intel XScale硬件平台、应用需求自行定制、优化WinCE操作系统,并独立编写可在Intel XScale嵌入式设备上运行的应用程序。 本课程设计主要实现了LED数码管的驱动程序,中断计数功能、LED显示清零功能、LED 数字显示频率设置的功能。 关键字:WINCE 中断数码管驱动 Abstract Learning Embedded Control Systems and combining the curriculum design can help us understand the Embedded Control Sy stems’ development methods and processes, and be familiar with Intel XScale Hardware platform and its usage. Know well the basic principles and concepts about WINCE. Design and optimize Windows Embedded Compact and compose Application software program that can operate on the Intel XScale Hardware platform. The main achievement of the curriculum design are drivers for LED, Interrupt Count, clean the results of the LED and set up the display frequency of the LED. Key words: WINCE Interrupt Digital Driving

基于STM32和uC_OS-II的多任务设计-嵌入式系统课程设计报告

基于STM32和uC_OS-II的多任务设计-嵌入式系统课程设 计报告 NORTH CHINA UNIVERSITY OF SCIENCE AND TECHNOLOGY 嵌入式系统课程设计报告 学生姓名: 学号: 学院: 专业班级: 指导教师: 同组成员: 2016年 12 月 26 日 嵌入式系统课程设计报告 一、课程设计目的 本课程设计是在《嵌入式系统原理与应用》课程的基础上,通过软件编程及仿真调试的实践,进一步掌握嵌入式系统的原理和应用方法,是毕业设计前的一 次重要实践,为今后从事嵌入式系统相关工作岗位打下良好的基础。 二、设计题目及要求 2.1 设计题目: 基于STM32和uC/OS-II的多任务设计 2.2 功能实现:

使用uC/OS-II的任务管理函数和STM32库函数控制相应的寄存器,完成一个多任务设计。整个设计共有4个任务,驱动一个LED指示灯闪烁、由3个LED指示灯组成的流水灯、驱动蜂鸣器和利用swd方式进行printf输出。 2.3 设计要求: 理解和熟练使用KEIL软件、STM32寄存器、STM32库函数和uC/OS-II任务管理函数,用KEIL软件完成编程和调试,下载到开发板中实现4个设定的任务,并完成课程设计报告。 四个任务分别为: (1)驱动1个LED指示灯闪烁、 (2)由3个LED指示灯组成流水灯 (3)驱动蜂鸣器发出响声。 (4)利用swd方式进行printf输出。 三、设计原理说明 3.1 硬件说明 本次课程设计主要使用的是STM32 神舟 IV 号开发板为基础进行课程设计的,本节将详细介绍神舟IV号开发板的各部分硬件原理与实现。 (1)开发板资源图 - 1 - 嵌入式系统课程设计报告

ARM课程设计报告

摘要 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 定时器是对外设时钟(PCLK)进行计数,根据4个匹配寄存器的设定,可以设置为匹配时产生中断或执行其他动作。它还包括4个捕获输入,用于在输入信号发生跳变时捕获定时器的当前值,并可选择产生中断。 关键字:单片机 LPC2106 GPIO 定时器timer 实时时钟外部中断Int 目录 第一章原理与总体方案 (4) 1.1单片机简介 (4) 1.2 LPC2106简介 (5) 1.3单片机的选择 (7) 1.4 LPC2106芯片的选择及设计原理 (8) 第二章硬件设计 (9) 2.1 LED显示电路 (9) 2.2电路图整体设计 (9) 第三章调试 (12) 3.1调试及处理 (12) 第四章测试与分析 (14)

4.1Proteus软件介绍 (14) 4.2仿真结果 (15) 第五章结束语 (16) 5.1结束语 (16) 第1章原理与总体方案 本章阐述了本课题研究的背景,表述了单片机的发展、功能以及LPC2114的简单介绍。阐述了单片机的选择原理以及LPC2106的设计原理。 1.1数字单片机简介 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。 单片机的另外一个名称就是嵌入式微控制器,原因在于它可以嵌入到任何微型或小型仪器或设备中。目前,把单片机嵌入式系统和Internet连接已是一种趋势。但是,Internet一向是一种采用肥服务器,瘦用户机的技术。这种技术在互联上存储及访问大量数据是合适的,但对于控制嵌入式器件就成了"杀鸡用牛刀"了。要实现嵌入式设备和Int ernet连接,就需要把传统的Internet理论和嵌入式设备的实践都颠倒过来。为了使复杂的或简单的嵌入式设备,例如单片机控制的机床、单片机控制的门锁,能切实可行地和Internet连接,就要求专门为嵌入式微控制器设备设计网络服务器,使嵌入式设备可以和Internet相连,并通过标准网络浏览器进行过程控制。

嵌入式课程设计

嵌入式课程设计 学院:计算机与通信工程学院专业:物联网工程班级:物联1501 姓名:王强学号:41501602 实验日期:2017年12月25日 实验名称: 嵌入式课程设计 实验目的: 以STC89开发板为硬件平台,开发温度采集、动态数码管显示、按键响应、与PC串口通讯的综合程序,实现以下功能: 1)PC上的串口调试助手通过串口给STC89开发板发送“GetTemp”命令。 2)STC89开发板从串口接收到“GetTemp”命令后启动温度传感器DS18B20的测温程序获取当前温度,测试完成时将所测得温度数据显示在动态数码管上。(动态数码管在温度获取之前应该显示“FFFFFFFF”,只有在获取温度后才显示温度值) 3)动态数码管显示出温度数据后,请通过按键触发STC89开发板通过串口回送步骤2所测的温度数据给PC上串口调试助手,同时恢复动态数码管显示为“FFFFFFFF”。为保证每个同学的实验都独立完成,要求回送的数据包含自己的学号,即如果你的学号是20150809,当前温度值是19.6摄氏度,那么在PC上的串口调试助手应该显示:20150809 : 19.6°C。硬件电路说明: 1)STC89处理器管脚和晶振电路

2)独立按键 独立按键一共5个,分别连接在单片机的P3.0到P3.4口。去抖动的方式,我们采用软件延时的方法。过程如下: 先设置IO口为高电平(一般上电默认就为高),读取IO口电平确认是否有按键按下,如有IO电平为低电平后,延时几个ms,再读取该IO电平,如果任然为低电平,说明对应按键按下,执行相应按键的程序。 3)DS18B20温度传感器部分 DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一频率稳定的计数脉冲。 高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。 初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减计数到0时,温度寄存器中寄存的温度值就增加1℃,这个过程重复进行,直到计数器2计数到0时便停止。 初始时,计数器1预置的是与-55℃相对应的一个预置值。以后计数器1每一个循环的预置数都由斜率累加器提供。为了补偿振荡器温度特性的非线性性,斜率累加器提供的预置数也随温度相应变化。计数器1的预置数也就是在给定温度处使温度寄存器寄存值增加1℃计数器所需要的计数个数。 DS18B20内部的比较器以四舍五入的量化方式确定温度寄存器的最低有效位。在计数器2停止计数后,比较器将计数器1中的计数剩余值转换为温度值后与0.25℃进行比较,若低于0.25℃,温度寄存器的最低位就置0;若高于0.25℃,最低位就置1;若高于0.75℃时,温度寄存器的最低位就进位然后置0。这样,经过比较后所得的温度寄存器的值就是最终读

嵌入式课程设计报告

嵌入式课程设计报告设计题目:电子密码锁

、 摘要 随着科技和人们的生活水平的提高,实现防盗的问题也变得尤为突出,传统机械锁构造简单,电子锁的保密性高,使用灵活性好。根据需要设计运用W90P170开发板,制作一款电子密码锁,密码锁通过键盘输入密码,通过在LCD的文字和图片显示当前密码锁的状态。实现设置密码,密码验证,错误密码自锁、图片显示的功能。 目录

一、选题意义及系统功能 (3) 二、硬件设计及描述 (4) 三、软件设计及描述 (5) 四、程序代码 (6) 五、课程设计体会 (11) 六、运行结果 (12) 七、心得体会 (12) 八、参考文献 (13) 九、附录 (13) 一、选题意义及功能描述 1、选题意义 电子密码锁是通过密码输入来控制电路或是芯片工作,从而控制机械的开关闭合、开锁的电子产品。随着科技提高和人们生活水平的提高,对电子密码锁的需求增加。电子密码做较传统的机械锁安全性能更高。 特点如下: (1)保密性好,编程量大,随机开锁的成功率几乎为零。

(2)密码可变,用户可以随时改变密码,防止密码被盗,同时也可以避免人员的更替而使锁的密级下降。 (3)误码输入保护,输入密码多次错误是,系统进行自锁。 (4)无活动零件,不会磨损,寿命长。 (5)使用灵活性好,无需佩戴钥匙,操作简单。 2、功能描述 基本功能: (1)从键盘输入任意6位数字作为密码,将这六位数字经过USI总线存储到Flash芯片中,设置密码完成。 (2)从键盘输入密码,比较键盘输入的密码与Flash中存储的密码是否相同。 (3)如果密码正确,则LED灯点亮;如果密码不正确,则LED灯闪烁,而且如果连续三次输入密码错误则系统锁定,不允许再次输入密码。 扩展功能: (1)首先显示“请输入密码:”,显示密码锁背景图片1。 (2)如果密码正确则显示“密码正确”,显示成功进入系统的背景图片2。 (3)如果密码不正确则显示“密码不正确,请重新输入:” (4)如果连续三次输入密码错误则显示“对不起,您已经连续三次输入密码错误,系统锁定”,显示图片1。

嵌入式系统设计课设报告分析解析

福州大学 《嵌入式系统设计课设》 报告书 题目:基于28027的虚拟系统 姓名: 学号: 学院:电气工程与自动化学院 专业:电气工程与自动化 年级: 起讫日期: 指导教师:

目录 1、课程设计目的 (1) 2、课程设计题目和实现目标 (1) 3、设计方案 (1) 4、程序流程图 (1) 5、程序代码 (1) 6、调试总结 (1) 7、设计心得体会 (1) 8、参考文献 (1)

1、课程设计目的 《嵌入式系统设计课设》是与《嵌入式系统设计》课程相配套的实践教学环节。《嵌入式系统设计》是一门实践性很强的专业基础课,通过课程设计,达到进一步理解嵌入式芯片的硬件、软件和综合应用方面的知识,培养实践能力和综合应用能力,开拓学习积极性、主动性,学会灵活运用已经学过的知识,并能不断接受新的知识。培养大胆发明创造的设计理念,为今后就业打下良好的基础。 通过课程设计,掌握以下知识和技能: 1.嵌入式应用系统的总体方案的设计; 2.嵌入式应用系统的硬件设计; 3.嵌入式应用系统的软件程序设计; 4.嵌入式开发系统的应用和调试能力 2、课程设计题目和实现目标 课程设计题目:基于28027的虚拟系统 任务要求: A、利用28027的片上温度传感器,检测当前温度; B、通过PWM过零中断作为温度检测A/D的触发,在PWM中断时 完成温度采样和下一周期PWM占空比的修正;PWM频率为1K; C、利用按键作为温度给定;温度给定变化从10度到40度。 D、当检测温度超过给定时,PWM占空比增减小(减小幅度自己设 定);当检测温度小于给定时,PWM占空比增大(增大幅度自己 设定); E、把PWM输出接到捕获口,利用捕获口测量当前PWM的占空比; F、把E测量的PWM占空比通过串口通信发送给上位机; 3、设计方案-----介绍系统实现方案和系统原理图 ①系统实现方案: 任务A:利用ADC模块通道A5获取当前环境温度。 任务B:PWM过零触发ADC模块,在PWM中断服务函数中,将当前环境温度和按键设定温度进行比较,并按照任务D的要求修订PWM占空比。

ARM课程设计报告GPIO—流水灯

目录 一、设计目的 (3) 二、设计原理 1、GPIO—流水灯 (3) 2、SPI (7) 3、定时器 (10) 4、实时时钟 (12) 三、所用仪器 (18) 四、EasyARM2131开发套件功能介绍 (18) 五、设计内容:万年历-定时器-流水灯-SPI 1、功能描述 (21) 2、流程图 (22) 3、程序设计 (22) 六、心得体会 (28) 七、参考文献 (29)

一、设计目的 1、根据要求,复习巩固ARM的基础知识。 2、掌握ARM系统的设计方法,特别是熟悉模块化的设计思想。 3、熟练掌握ARM软件和2131开发板的使用。 4、提高综合运用所学的理论知识独立分析和解决问题的能力; 二、设计原理 1、GPIO—流水灯 (1)LPC2131具有多达47个通用I/O 口(GPIO,General Purpose I/O ports),分别为P0[31:0]、 P1[31:16],其中,P0.24未用,P0.31仅为输出口。由于口线与其它功能复用,因而需要进行相关的管脚连接模块(PINSEL0、PINSEL1、PINSEL2)选择连接GPIO,然后通过IODIR进行输入/输出属性设置后才能操作。 当管脚选择GPIO 功能时,有IOSET、IOCLR和IOPIN 3 个寄存器用于控制GPIO 的使用。IOSET 用于口线置位,而IOCLR 则用于口线清零,IOPIN 则反映当前IO口的状态,读回IOSET 则反映当前IO口设定状态。 (2)GPIO的特性和应用 特性: 单个位的方向控制; 单独控制输出的置位和清零; 所有I/O口在复位后默认为输入。 应用: 通用I/O口 驱动LED或其它指示器 控制片外器件 检测数字输入 (3)GPIO引脚描述 GPIO管脚描述见表4.1。 表4.1 GPIO 管脚描述

嵌入式程序设计课程设计

课程设计 课程名嵌入式软件开发技术 题目基于嵌入式Linux的温度监测系统的 设计与实现 专业计算机科学与技术(嵌入式系统方向)班级 13计算机嵌入式系统班 学号 学生姓名 2016年6月

摘要 温度是个很普遍而又非常重要的参数,在日常生活、工农业生产以及科研领域都有着广泛的应用。因此,研制能够准确地测量和记录这个参数值的系统具有十分重要的意义。 基于ARM的嵌入式温度监测系统是采用嵌入式Linux作为操作系统,针对以S5PV210为处理器的开发板设计的一个嵌入式温度监测系统。论文在分析了Linux设备驱动程序的基本工作原理基础上,讨论了开发中经常会碰到的中断处理、拥塞处理、I/O端口,并在此基础上实现了基于S5PV210嵌入式处理器的开、读、写、关外部RAM的字符设备驱动和网络驱动。结合高精度温度传感器DS18B20,实现温度的正确采集,并通过以太网络将数据上传给上位机客户端。 论文首先介绍了通信网络中各种设备特性、总线结构及传输技术,然后根据单片机与PC机之间的串行通信原理,用ubantu完成温度监测系统的软件设计与实现,为用户提供一个友好的人机界面,对监测系统进行控制并显示采集后的数据。本系统还通过多线程实现了多个客户端与服务器的通信。 关键词:S5PV210;嵌入式Linux操作系统;DS18B20;网络编程

Abstract Temperature is a very common and very important parameter, in daily life, industrial and agricultural production and scientific research fields have a wide range of applications. Therefore, it is very important to develop a system that can accurately measure and record the value of this parameter. The temperature monitoring system of base on the ARM is use of embedded Linux as the operating system for the processor to S5PV210 development board designed for an embedded temperature monitoring system. Based on the analysis of the basic working principle based on the Linux device drivers discussed development often encounter interrupt handling, congestion handling, I / O ports, and on this basis to achieve the embedded processor based on open S5PV210 reading, writing, characters off the external RAM device driver and network drives. Combined with precision temperature sensor DS18B20, to achieve the correct temperature acquisition, and upload the data via Ethernet to a PC client. At first,the paper introduces the characteristics of various devices in a communication network, the bus structure and transmission technology, and according to the principle of serial communication between SCM and PC, with ubantu complete temperature monitoring system software design and implementation, to provide users with a friendly man-machine interface, the monitoring system to control and display the data after collection. The system also enables communication via a plurality of multi-threaded client and the server. Key words:S5PV210; embedded Linux operating system; DS18B20; Network programming

嵌入式系统课程设计

嵌入式系统课程设计 学号:1070410014030 班级:通信10 姓名:刘豆

嵌入式系统在智能交通中的应用摘要:介绍了嵌入式系统及其操作系统,并将其系统和通用计算机系统作了比较,总结了嵌入式系统产品在ITS(Intelligent Traffic system ),智能交通系统应用中的工作稳定性高,环境适应能力强和设备独立性三个特点,且结合嵌入式产品在ITS中应用的这几个特点,探讨了嵌入式系统在智能交通系统中应用研究。最后,展望嵌入式系统在ITS(智能交通系统)中的广泛应用。 关键词:嵌入式系统;嵌入式操作系;ITS;数字信号 中图分类号: Application of Embedded System in ITS Abstract: This article mainly introduce embedded system and its operation system , the embedded system are compared with general computer system. And this article summarizes three characteristics about embedded systems’ production applied to ITS: the high working stabilities, the strong ability for environment and the independency of equipments .Combining with the application research of embedded systems in ITS。At last, the author prospects that embedded systems are used widely in ITS in the whole nation. Keywords; embedded system; embedded operational systems ; ITS ; digital signal 嵌入式系统如今在实际生活中有巨大应用,观察身边不难发现电子产品、智能家居等大多用嵌入式系统来实现。这篇论文举一个应用实例,即智能交通系统。一个智能交通系统(ITS)主要由交通信息采集、交通状况监视、交通控制、信息发布和通信5大子系统组成。各种信息都是ITS的运行基础,而以嵌入式为主的交通管理系统就像人体内的神经系统一样在ITS 中起至关重要的作用。嵌入式系统应用在测速雷达、(返回数字式速度值)运输车队遥控指挥系统、车辆导航系统等方面,在这些应用系统中能对交通数据进行获取、存储、管理、传输、分析和显示,以提供交通管理者或决策者对交通状况现状进行决策和研究。 1.嵌入式系统与嵌入式操作系统 1.1嵌入式系统 通俗来讲,嵌入式系统是带有操作系统的单片机系统;主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组。他的框架可分为5个部分:处理器、内存、输入/输出、操作系统与应用软件(如图1所示)。嵌入式软件包括与硬件相关的底层软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点,可以嵌入到现有任何信息家电和工业控制系统中。软件角度来看,嵌入式系统具有不可修改性,系统所需配置要求较低&系统专业性和实时性较强等特点。 1.2 嵌入式操作系统 对于目前发展迅速的信息产品来说,其最关键的核心技术就是嵌入式操作系统。嵌入式操作系统EOS(Embedded Operating System)是一种支持嵌入式系统应用的操作系统软件。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序;另外,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

嵌入式系统原理及应用课程设计

. 嵌入式系统原理及应用课程设计报告 题目:电子时钟的设计与实现 班级:文专电0931 姓名:杨阳 学号:200990607145 试验台号:10 指导老师:邱秀芹 程序成绩: 报告成绩: 总成绩:优良中及格不及格 2012年2月25日

一.课程设计目的 通过该课程设计将嵌入式系统原理及应用课程中所学的处理器和接口等技术应用于实际设计中。通过中断、PWM定时器、串口、SIO、GPIO等技术在实验平台上进行综合设计,在理论和实验的基础上进一步提高综合设计能力。 二. 课程设计内容及功能要求 1. 通过一个PWM定时计数器,采用定时中断的功能,设计能够在LED上进行时分秒显示的时钟; 2. 通过键盘实现对钟的功能; 3. 实现闹钟的功能,闹钟的时间由键盘输入进行设定; 4. 将时钟在超级终端上显示;时间的设定可以通过超级终端实现; 三.功能实现 1.总体功能框图

2.详细设计:(将所设计的各部分的功能程序框图及相关程序代码进行详细的描述) ①. #include"uhal.h" #include"myuart.h" #include"KeyBoard.h" #include"Timer.h" #include"Isr.h" #include"44b.h" #include "Zlg7289.h" #include "def.h" #include "lcd320.h" int Timer3INTCount=0; int hour = 0 ; int minute = 0 ; #pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting int main(void) { int clock_h = 23 ; int clock_m = 59 ; int clock_s = 0 ; int key ; int val=0; ARMTargetInit(); //开发版初始化 Zlg7289_Reset(); Init_Timer3(100,16,40000,20000); INTS_OFF();//Disable interrupt in PSR SetISR_Interrupt(INT_TIMER3_OFFSET, Timer3_ISR,0); Open_INT_GLOBAL(); Open_INT(BIT_TIMER3); INTS_ON();//Enable interrupt in PSR Start_Timer3();

嵌入式系统课程设计报告

湖北民族学院 信息工程学院 课程设计报告书 题目 :基于A RM的数字式万年历 课程:嵌入式系统课程设计 专业:电子信息科学与技术 班级: 03114411 学号: 031441119 学生姓名:田紫龙 指导教师:易金桥 2017年6 月20 日

信息工程学院课程设计任务书 学号031441119学生姓名田紫龙专业(班级)0314411 设计题目基于 ARM 的数字式万年历 1.能测量温度并且实时显示; 2.具有时间显示功能,能够显示年月日,时分秒,并且可以手动调节时间。 设 3. 具有 12 小时制和 24 小时制切换功能。 计 技 术 参 数 对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。温度采集 选用 DS18B20芯片,万年历采用直观的数字显示,数据显示采用1602 液晶显 示模块,可以在LCD1602 上同时显示年、月、日、周日、时、分、秒,还具有 设 时间校准整点灯光提醒等功能。制作仿真和实物。 计 要 求 [1]苏平 . 单片机的原理与接口技术 [M]. 北京 : 电子工业出版社, 2006,1-113. [2]王忠民 . 微型计算机原理 [M]. 西安 : 西安科技大学出版社, 2003,15-55. [3]左金生 . 电子与模拟电子技术 [M]. 北京 : 电子工业出版社, 2004,105-131. [4]新编单片机原理与应用(第二版). 西安电子科技大学出版社, 2007.2 [5]张萌 . 单片机应用系统开发综合实例 [M]. 北京:清华大学出版社, 2007.7 [6] 朱思荣. 51 单片机实现公历与农历、星期的转换[Z].当当电子网 [7]李广弟 . 单片机原理及应用 [M] 北京航空航天大学出版社 ,2004 年 参[8] 王越明 . 电子万年历的设计 [J]. 黑龙江科技信息, 2004 年 考 资 料 2017年 6 月 20 日

嵌入式系统课程设计

《嵌入式系统设计与应用》课程设计 题目嵌入式系统的实践教学探讨 1.嵌入式系统设计与应用课程的内容概述 1.1 内容概述 本课程适用于计算机类专业,是一门重要的专业课程。它的任务是掌握嵌入式系统的基本概念;掌握嵌入式处理器 ARM 体系结构,包括ARM总体结构、存储器组织、系统控制模块和I/O外围控制模块;掌握ARM指令集和Thumb指令集;掌握ARM汇编语言和C语言编程方法;了解基于ARM 的开发调试方法。它的目的是了解和掌握嵌入式处理器的原理及其应用方法。 1)介绍嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应 用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入 式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基 本内容,使学生系统地建立起的嵌入式系统整体概念。 2)对ARM技术进行全面论述,使学生对ARM技术有个全面的了解和掌握,建立起以ARM技术为基础的嵌入式系统应用和以ARM核为基础 的嵌入式芯片设计的技术基础。 3)ARM指令系统特点,ARM 指令系统,Thumb 指令系统,ARM 宏汇编,ARM 汇编语言程序设计,嵌入式 C 语言程序设计。 1.2实践教学探讨 在IEEE 计算机协会2004年6月发布的Computing Curricula Computer Engineering Report, Ironman Draf t 报告中把嵌入式系统课程列为计算机工程学科的领域之一,把软硬件协同设计列为高层次的选修课程。美国科罗拉多州立大学“嵌入式系统认证”课程目录包括实时嵌入式系统导论、嵌入式系统设计和嵌入式系统工程训练课程。美国华盛顿大学嵌入式系统课程名称是嵌入式系统

arm课程设计报告

课程设计报告 (嵌入式接口技术) 学院:电气工程与自动化学院 题目:基于ARM的多路数据采集系统设计 专业班级:自动化113班 学号:35号 学生姓名:翁志荣 指导老师:温如春 2013 年12月19日

摘要 数据采集系统用于将模拟信号转换为计算机可以识别的数字信号.该系统目的是便于对某些物理量进行监视.数据采集系统的好坏取决于他的精度和速度.设计时,应在保证精度的情况下尽可能的提高速度以满足实时采样、实时处理、实时控制的要求.在科学研究中应用该系统可以获得大量动态;是研究瞬间物理过程的重要手段;亦是获取科学奥秘的重要手段之一. 本次设计是基于ARM的多路数据采集系统,主控器能够对模拟信号产生的各路数据,通过数据采集系统进行采集并在主控器的程控下显示。 关键字:数据采集;模数转换;ARM;实时采样。 Abstract Data acquisition system for digital signal to analog signal conversion can be identified by computer. The system is aimed at facilitating monitoring of some physical quantity. Data acquisition system is good or bad depends on the precision and speed. When the design, should be in the case of ensuring accuracy as much as possible to meet the high speed real-time sampling, real-time processing, the requirement of real time control. The application of this system in scientific research can obtain a large number of dynamic; is an important means to study the instantaneous physical process; and it is also one of the important means of access to the mysteries of Science. Keyword s: data acquisition; ARM; real-time sampling analog-to-digital conversion.

嵌入式课程设计

嵌入式课程设计报告 学院信息电子技术 专业电子信息工程 班级13级 学籍号 姓名 指导教师 2016年0月00日

基于ARM9的无线智能家居控制系统 1.引言 当网络席卷整个社会,带来经济飞速发展的同时,也给人们的生活带来无限的惊奇。不断更新的生活方式,使得越来越多的人追求对生活的舒适度和享受度。智能家居作为新生力量呼之欲出,自然地走进了我们的生活,随之,引领新一代的数字家庭生活。 所谓“智能家居”(Smart Home),又称智能住宅。它利用先进的计算机嵌入式系统、通信技术、现代传感技术和网络技术,将家庭中的各种设备(如照明系统、安防系统、信息家电)通过家庭内部无线网络连接到一起。一方面,智能家居将使得使用它的用户能够更加方便、快捷和轻松的管理自己的家电设备,例如,用户可以通过平板电脑、智能手机和其他控制终端设备对家用设备进行远程操控和状态的实时监控,进行室内场景配置以及形成多个家电设备的联动功能等等;另一方面,智能家居内的各种设备不需要通过用户的操控就可以实现相互间的通讯,从而根据相关家电设备的不同的状态互动运行,为用户提供高效、便利、舒适与安全的智能家居生活。 2.系统设计 (1)硬件电路设计 文中提出的基于ARM9的无线智能家居控制系统主要包括ARM9核心控制模块,无线通信模块、LCD触摸屏模块和家居电器,另外还有传感检测,语音报警和电源等模块。系统总体结构模型图如图1所示。 图1系统总体结构模型图 其中ARM是整个系统的控制核心,通过GPRS和ZigBee无线通信网络收

发控制指令实现对家居电器进行综合监控,同时提供防火墙的功能,阻止外界对家庭内部设备的非法访问和攻击。 无线通信模块分为本地和远程两部分,本地通信主要通过新型的ZigBee无线通信技术实现系统与家居电器的通信,达到对其控制;远程通信是利用手机通过GPRS通信网络或利用计算机通过互联网实现人与控制系统的通信,进而达到对家居电器的远程监控。采用无线通信技术省去了布线使家居布局更加灵活,远程控制使家居电器工作更加贴近人们的工作和生活要求。 智能家居控制系统的具体功能包括:家居电器的综合监控、室内环境信息采集、自动报警、本地控制、远程控制、安全防盗等。 基本电路组成 1)主控芯片S3C2440A 本系统采用的是Samsung公司推出的16/32位RISC微处理器S3C2440A,它具有0.13μm的CMOS标准宏单元和存储器单元,它的杰出的之处是其处理器核心,该核心是由Advanced RISC Machines有限公司设计的ARM920T内核,ARM920T内核实现了MMU,AMBA BUS和Harvard高速缓冲体系结构,这一体系结构具有独立的16KB指令Cache和16KB数据Cache。 2)电源电路 电源是整个智能家居控制系统的能量之源,电源的稳定供电为系统得以安全、正确的运行提供了保障,本系统共需要两种电压5V和3.3V。为了提高终端设备内部的安全性并进一步减低系统的设计成本,本系统选用的市面上的12V、2A的开关稳压电源作为系统的基本供电输入,首先经过LM2576转换成5V,并经过滤波和稳压电路输出稳定的5V电压,为系统上需要5V电源的电路供电。其次,5V输出再经过LM1117D转换成3.3V,经过一定的滤波处理后为系统需要3.3V供电的电路供电,如图2所示。 图2 3.3V电压转换输出电路 3)复位电路的设计

广东海洋大学嵌入式系统课程设计

《嵌入式系统》设计报告学生姓名 Adao (学号) 所在学院数学与计算机学院 所在班级计科1141 指导教师 成绩

目录 1.课程设计目的 (2) 2.系统分析与设计 (2) 3.系统结构图 (2) 4.实现过程 (3) 5.实验效果 (5) 6.代码分析 (6) 7.系统测试出现的问题和解决的方案 (7) 8.系统优缺点 (7) 9.心得体会 (8) 参考文献 (8)

双按键控制流水灯系统开发 1.课程设计目的: 本次课程设计目的主要是对之前所学习的STM32的某个实验进行更深入的学习与了解,弄懂引脚,端口等相关的配置,对实验原理和具体实现有一定的理解,能做到自己通过原理图和使用库函数等把功能实现出来。我选择的是EXTI-外部中断实验并加以整合,具有一定实用功能的系统,可以对外提供服务。 2.系统分析与设计: 本课程设计所定义的系统主要功能为,通过两个按键KEY1(PA0)、KEY2(PC13)可以实现对流水灯进行同步控制,即一个开关控制产生的灯的状态可以被另一个开关去改变,按键控制需要对两个按键的端口,引脚等进行相关配置,并在两个引脚的中断服务程序中完成对流水灯状态同步控制的操作。本还想通过使用SysTick(系统滴答定时器)功能对流水灯进行精确定时,但由于时间比较匆促,最终没有实现。 3.系统结构图: 图3-1

4.实现过程: 1、GPIO的输入模式有上拉输入模式、下拉输入模式、浮空输入模式和模拟输入模式。GPIO 中的每个引脚可以通过配置端口配置寄存器来配置它的模式。每个引脚的模式由寄存器的4个位控制。 上拉/下拉输入模式:1000 浮空输入模式:0100 模拟输入模式:0000 2、STM32的所有GPIO都可以用作外部中断源的输入端。STM32的中断由中断控制器NVIC 处理。STM32的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号越小,表面它的优先级别越高。抢占属性会出现嵌套中断。 3、编写NVIC_Configuration()函数配置NVIC控制器的函数。 static void NVIC_Configuration(uint8_t IRQ) { NVIC_InitTypeDef NVIC_InitStructure; //将NVIC中断优先级分组设置为第1组 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /* 配置中断源 */ NVIC_InitStructure.NVIC_IRQChannel = IRQ;//设置中断线 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//设置抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;//设置响应优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); //对NVIC中断控制器进行初始化 } 4、调用GPIO_EXTILineConfig()函数把GPIOA、Pin0和GDIOC、PIN13设置为EXTI输入线。 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13); 5、填写EXTI的初始化结构体,然后调用EXTI_Init()把EXTI初始化结构体的参数写入寄存器。编写EXTI_PA0_Config()函数完成各种需要的初始化。 void EXTI_Pxy_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; /* config the extiline clock and AFIO clock */

嵌入式系统设计课程设计

电气与电子信息工程学院 嵌入式系统设计课程设计 设计题目:基于AT89S52单片机的游戏机嵌入式系统设计与制作专业班级:电子信息工程2008级(2)班 学号:200840210212 姓名:童俊 指导教师:邓彬伟李玉平 设计时间:2011/11/14~2011/12/2 设计地点:K2自动化综合实验室

嵌入式系统设计课程设计成绩评定表 姓名童俊学号200840210212 专业班级电子信息工程2008级(2)班 课程设计题目:基于AT89S52单片机的游戏机嵌入式系统设计与制作 课程设计答辩或质疑记录: 1、什么叫嵌入式系统? 答:以应用为中心,以计算机技术为基础,软硬件可剪裁适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2.所做的电路中有哪几个任务? 答:总共六个,分别是:功能选择,贪吃蛇游戏,时间温度显示,PS2键盘控制,温度采集,时间采集。 3.贪吃蛇这个游戏是怎么实现的? 答:在这个游戏中主要用到两个长度为二的数组控制蛇的头部坐标和尾部坐标,蛇的初始化长度为3,通过定时器没隔一定的时间给蛇一个步进信号,在蛇移动的过程中和转弯的过程中需判断前面是否有食物,是否碰到自己身体。食物的坐标也是通过定时器的高八位和第八位的数字余上30所的。 成绩评定依据: 实物制作(40%): 课程设计考勤情况(20%): 课程设计答辩情况(20%): 完成设计任务及报告规范性(20%): 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 2010年12 月20 日

课程设计任务书 2011 ~2012 学年第 1 学期 学生姓名:林忠航专业班级: 08电信本1、2 指导教师:邓彬伟、李玉平工作部门:电信教研室 一、课程设计题目 嵌入式系统设计课程设计 二、课程设计目的 为了提高嵌入式系统设计与实际的应用能力,开始为期三周的嵌入式系统设计课程设计。通过实训使学生在巩固所学单片机知识的基础之进一步把其与μC/OS-II操作系统的移植结合起来,增强学生对所学知识的实际应用能力和以及与当前专业的前沿知识结合,达到对μC/OS-II操作系统的学习和理解,为以后从事嵌入式工作的研究和开发打好基础。 三、课程设计内容 设计基于51单片机的嵌入式系统,把μC/OS-II操作系统移植到51单片机上,能完成基本的输入和输出,输入采用4*4的键盘,输出采用1602液晶。再此基础之上,每个同学根据自己的特长扩展应用系统,具体可参考以下五种扩展方案的实现。 1、设计的游戏机,在游戏机工作时有背景音乐放出。 2、设计的是电子琴以及1602液晶显示。 3、设计的流水灯、蜂鸣器、闪烁灯任务。, 4、设计的流水灯和电子书功能。 5、(1)所有灯灭,(2)1602显示 93)LED灯闪烁,显示字符。 四、进度安排 序号设计内容所用时间 1 布置任务,学习μC/OS-II操作系统5天 2 开发μC/OS-II操作系统的移植代码3天 3 制作基于51单片机的硬件系统2天 4 软硬件集成和调试2天 5 答辩、撰写设计报告书3天 合计15天 五、基本要求 1、设计基于51单片机的输入和输出电路。 2、用4×4的键盘作为输入设备。 3、用LED或LCD进行显示。

相关文档
最新文档