微处理器的嵌入式系统研究论文.docx

上传人:b****6 文档编号:5967310 上传时间:2023-01-02 格式:DOCX 页数:65 大小:296.31KB
下载 相关 举报
微处理器的嵌入式系统研究论文.docx_第1页
第1页 / 共65页
微处理器的嵌入式系统研究论文.docx_第2页
第2页 / 共65页
微处理器的嵌入式系统研究论文.docx_第3页
第3页 / 共65页
微处理器的嵌入式系统研究论文.docx_第4页
第4页 / 共65页
微处理器的嵌入式系统研究论文.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

微处理器的嵌入式系统研究论文.docx

《微处理器的嵌入式系统研究论文.docx》由会员分享,可在线阅读,更多相关《微处理器的嵌入式系统研究论文.docx(65页珍藏版)》请在冰豆网上搜索。

微处理器的嵌入式系统研究论文.docx

微处理器的嵌入式系统研究论文

微处理器的嵌入式系统研究

前言

随着电子技术和计算机技术的进一步发展,嵌入式系统将起着越来越重要的作用,无论是民用还是军用随处都可以看见嵌入式系统的身影。

在我国,到目前为止,在嵌入式系统研究方面,比起世界先进技术,落后了很多,基本上没多少核心技术,先进技术的知识产权都在国外。

我国目前还没有生产出可以在市场上竞争的芯片,但是随着国家的重视和投资,以及不断吸收世界先进技术,在一些领域已经能够实现国产化了。

但是这离许多世界先进技术还相差甚远。

虽然现在经济全球化,但我们得到的只是一些落后的技术。

因此必须培养自己的人才,研究核心技术,掌握核心技术。

本次毕业设计的题目正是“基于LPC2114微处理器的嵌入式系统研究”。

本次设计涉及到了嵌入式系统开发的两个重要模块。

包括硬件开发和应用程序开发。

旨在研究嵌入式系统的开发流程,掌握嵌入式系统的基本开发方法,以及掌握一些硬件和软件的开发和调试工具。

显然,本次设计的任务量是繁重的。

再加上,以前我并没有接触过嵌入式系统这一领域。

所以,对我来说,任务就更加繁重。

但我相信,通过我的努力,一定可以完成本次设计的任务。

并且为我以后的工作和学习打下坚实的基础。

 

1绪论

1.1嵌入式系统定义

从应用来看:

嵌入式系统是计算机的一种应用形式,通常是指嵌入到对象系统中的专用计算机系统。

嵌入式系统被定义为:

以应用为中心、以计算机技术为基础、软件硬件可裁剪、能适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

从组成来看:

把基于处理器(通用处理器和嵌入式处理器)的设备称为计算机,把计算机分成两大部分,即通用计算机和嵌入式计算机。

嵌入式系统也称为嵌入式计算机,因此嵌入式系统被定义为非通用计算机系统,即专用计算机系统。

1.2嵌入式系统的组成

一个典型的嵌入式系统主要由以下几部分组成:

硬件系统,嵌入式操作系统,应用软件

(1)硬件系统

硬件系统由嵌入式微处理器、外围接口硬件设备组成。

(2)嵌入式操作系统

在嵌入式操作系统中,一般都要采用嵌入式实时操作系统(RTOS),RTOS一般包括实时内核(kernel)及用户特定的板级支持包(BSP),它介于硬件系统及上层软件之间,为所有的上层软件提供一个多任务的实时操作系统环境及一整套API。

当然,在一些简单的嵌入式应用系统中,并没有操作系统的支持。

应用程序直接对底层硬件进行访问。

(3)应用软件

应用软件是针对特定的应用需求开发的软件,完成嵌入式系统的主要功能。

大部分嵌入式系统开发人员选用的软件开发模式是先在PC机上编写软件,再进行软件的移植工作。

1.3嵌入式系统的应用领域

嵌入式系统广泛地应用在人们生活、工作的各个方面。

如:

(1)消费类电子产品。

如机顶盒,个人移动设备(PDA),数码音频播放器(MP3),数码相机,视频游戏播放器,IP电话等等。

(2)办公自动化产品。

如激光打印机,传真机,扫描仪,复印机和LCD投影仪等。

(3)控制系统与工业自动化。

如智能控制设备,智能仪表、现场总线设备,数控机床,机器人等。

(4)生物医学系统。

如X光机的控制部件,EEG和ECG设备,CT,超声检测设备,核磁共振设备等。

(5)现场仪器。

如测量温度,湿度,电压,电流的仪器。

还有各种协议分析器,用于分析网络协议。

还有数字示波器等。

(6)网络通信设备。

调制解调器,数据通信基础设备,IP网上多媒体设备,网关,路由器,加密解密设备,GPS设备,交换机,网络接入盒等。

(7)电信设备。

电话交换机,终端适配器TA,ATM交换机,帧中继和一些通信设备。

1.4嵌入式系统的发展历史及趋势

嵌入式系统的出现至今已经有30多年的历史了(历史很短,说明前景很广阔),嵌入式技术也历经了几个发展阶段。

第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。

第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。

第三阶段是以嵌入式操作系统为标志的嵌入式系统。

第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。

就嵌入式系统的而言,其发展趋势表现在如下几个方面。

(1)开发平台的完备性

嵌入式系统的开发是一项系统的工程,涉及到软件,硬件,系统集成等诸多方面。

有的嵌入式厂商不公仅提供处理器,还提供完备的开发工具。

其开发工具包括硬件工具和软件工具。

(2)嵌入式系统的网络化

网络化主要表现在在两个方面,一方面是嵌入式处理器集成了网络接口,另一方面是嵌入式设备应用于网络环境中

(3)系统的集成度的提高和性能指标的提高。

未来的嵌入式产品,是软硬件高度集成的产品。

这就要求设计者尽可能地提高系统的可靠性,降低系统的功耗,精简系统的内核,降低成本,对操作系统进行裁剪,用高效率的算法开发应用程序。

(4)友好的人机界面

大多数的嵌入式系统都与人进行交互,所以友好的人机界面是开发嵌入式系统的基本要求。

随着嵌入式技术的发展,新的人机界面不断被开发出来,如手写输入技术,语音输入/输出技术,图像输出技术。

1.5ARM概述

ARM(AdvancedRISCMachines)是微处理器行业的一家知名企业,1991年ARM公司成立于英国剑桥。

ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。

目前,总共有30多家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司,至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。

基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。

ARM架构是面向低预算市场设计的第一款RISC微处理器。

到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:

工业控制领域:

作为32位的RISC架构,基于ARM核的微控制器芯片不断占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。

无线通讯领域:

目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。

网络应用:

随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。

此外,ARM在语音及视频处理上进行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。

消费类电子产品:

ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。

成像和安全产品:

现在流行的数码相机和打印机中绝大部分采用ARM技术。

手机中的32位SIM智能卡也采用了ARM技术。

除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。

采用RISC架构的ARM微处理器一般具有如下特点:

体积小、低功耗、低成本、高性能;

支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;

大量使用寄存器,指令执行速度更快;

大多数数据操作都在寄存器中完成;

寻址方式灵活简单,执行效率高;

指令长度固定;

ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。

-ARM7系列

-ARM9系列

-ARM9E系列

-ARM10E系列

-SecurCore系列

-Inter的Xscale

-Inter的StrongARM

其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。

SecurCore系列专门为安全要求较高的应用而设计。

ARM7微处理器系列:

ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。

ARM7微处理器系列具有如下特点:

-具有嵌入式ICE-RT逻辑,调试开发方便。

-极低的功耗,适合对功耗要求较高的应用,如便携式产品。

-能够提供0.9MIPS/MHz的三级流水线结构。

-代码密度高并兼容16位的Thumb指令集。

-对操作系统的支持广泛,包括WindowsCE、Linux、PalmOS等。

-指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。

-主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。

ARM7系列微处理器的主要应用领域为:

工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。

ARM7系列微处理器包括如下几种类型的核:

ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。

其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。

TDMI的基本含义为:

T:

支持16位压缩指令集Thumb;

D:

支持片上Debug;

M:

内嵌硬件乘法器(Multiplier)

I:

嵌入式ICE,支持片上断点和调试点;

ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:

-31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。

-6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。

同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。

即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。

在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。

ARM微处理器的在较新的体系结构中支持两种指令集:

ARM指令集和Thumb指令集。

其中,ARM指令为32位的长度,Thumb指令为16位长度。

Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。

 

ARM的设计实现了非常小但高性能的结构。

ARM处理器结构的简单使ARM的内核非常小,这样使器件的功耗也非常低。

ARM是精简指令集计算机(RISC),因为它集成了非常典型的RISC结构特性:

一个大的、统一的寄存器文件;

加载/存储结构,数据处理的操作只针对寄存器的内容,而不直接对存储器进行操作;

简单的寻址模式,所有加载/存储的地址都只由寄存器的内容和指令域决定;

统一和固定长度的指令域,简化了指令的译码。

每一条数据处理指令都对算术逻辑单元(ALU)和移位器进行控制,以实现对ALU和移位器的最大利用;

地址自动增加和自动减少的寻址模式实现了程序循环的优化;

多寄存器加载和存储指令实现了最大数据吞吐量;

所有指令的条件执行实现了最快速的代码执行。

这些在基本RISC结构上增强的特性使ARM处理器在高性能、低代码规模、低功耗和小的硅片尺寸方面取得了良好的平衡。

 

2系统需求分析

2.1需求分析

本次毕业设计的任务是基于LPC2114微处理器的嵌入式系统的开发,要求系统具有时钟电路,电源电路,复位电路,键盘电路,I2C接口电路,JTAG接口电路。

CPU模块是系统中最核心的部分,系统通过CPU处理数据,控制系统中的其他模块,使其他模块根据系统发出的指令工作并且使各个部分协调工作。

CPU要正常工作,最基本的就是配置相应的时钟电路和电源电路。

CPU通过时钟信号的驱动,一步一步的控制程序执行。

电源模块除了给CPU提供电源外,同时给其它各功能模块也供电。

通过外部输入的5V电压,在系统的滤波以及电压转换芯片后,得到内核及片内外设所需的工作电压1.8V和I/O所需的工作电压3.3V。

复位电路为系统提供复位信号,以实现系统的初始化操作;当系统程序运行出错时或者操作错误使系统处于死锁状态时,为了摆脱困境,也需要复位信号将系统重新启动。

键盘电路主要是通过按键控制程序的执行,有时也作为参数实现一些简单的数据输入。

带有I2C接口电路的器件可十分方便地用来将一个或多个微控制器及外围器件构成系统。

仿真器接口用来对程序进行调试和固化。

2.2系统总体设计

根据要求设计的嵌入式系统的原理框图如图3.1所示:

图1系统原理框图

系统是通过模块化的设计方式来实现各个功能的,系统框图中包含了CPU模块、电源模块、复位电路模块、系统仿真模块、键盘接口、I2C接口。

 

3系统硬件设计

3.1核心处理器LPC2114简介

根据本系统的需求分析,从性能、功耗、价格等方面进行考虑,我们发现飞利蒲的LPC2114已完全能满足本系统的设计要求。

所以我们采用LPC2114作为核心处理器来进行开发。

LPC2114是基于一个支持实时仿真和跟踪的32位ARM7TDMI-SCPU,并带有128KB的高速Flash存储器,128位宽度的存储器接口和独特的加速结构,使32位代码能够在最大时钟速率下运行。

对代码有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能损失却很少。

由于LPC2114具有非常小的尺寸和极低的功耗,它们非常适合于那些将小型化作为主要要求的应用,例如存储控制和POS机。

带有宽范围的串行通信接口、片内多达64KB的SRAM,由于具有大的缓冲区和强大的处理器能力,它们非常适合于通信网关和协议转换器、软件调制解调器、声音识别以及低端的图像处理。

而多个32位定时器、PWM输出和32个GPIO,使它们特别适用于工业控制和医疗系统。

它的主要特性有:

-32位ARM7TDMI-S核,超小LQFP64封装。

-16KB片内静态RAM。

-128KB片内Flash程序存储器,128位宽度接口/加速器可实现高达60MHz工作频率。

-通过片内boot装载程序实现在系统编程(ISP)和在应用编程(IAP)。

512字节行编程时间为1ms。

单扇区或整片擦除时间为400ms。

-EmbeddedICE可实现断点和观察点。

当使用片内RealMonitor软件对前台任务进行调试时,中断服务程序可继续运行。

-嵌入式跟踪宏单元(ETM)支持对执行代码进行无干扰的高速实时跟踪。

-4路10位A/D转换器,转换时间低至2.44µs。

-2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗。

-多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400kbit/s)和2个SPI口。

-通过片内锁相环(PLL)可实现最大为60MHz的CPU操作频率。

-向量中断控制器。

可配置优先级和向量地址。

-多达46个通用I/O口(可承受5V电压),9个边沿或电平触发的外部中断引脚。

-片内晶振频率范围:

1~30MHz。

-2个低功耗模式:

空闲和掉电。

-通过外部中断将处理器从掉电模式中唤醒。

-可通过个别使能/禁止外部功能来优化功耗。

-双电源

CPU操作电压范围:

1.65~1.95V(1.8V±0.15V)

I/O操作电压范围:

3.0~3.6V(3.0V±10%),可承受5V电压。

3.2系统功能模块

3.2.1电源模块

LPC2114要使用两组电源,I/O口供电电源为3.3V,内核及片内外设供电电源为1.8V,所以系统设计为3.3V应用系统。

系统电源电路如图2所示:

图2系统电源模块

3.2.2复位电路

在系统中,复位电路主要完成系统上电复位和系统在运行时用户的按键复位功能。

复位电路可由简单的RC电路构成,也可使用其他的相对较复杂,但功能更完善的电路。

本系统采用简单的RC复位电路,经使用证明,其复位逻辑是可靠的。

复位电路如图3所示:

图3系统复位电路

本系统采用的低电平复位。

当用户按下SW1时,C4两端的电荷被泻放掉,RESET端输出为低电平。

从而达到复位的目的。

在系统上电时,电阻R1向电容C4充电,当C1两端的电压未达到高电平的门限电压时,RESET输出为低电平,系统处于复位状态。

而当C4两端达到高电平的门限电压时,RESET为高电平,系统进入正常工作状态。

3.2.3系统时钟电路

LPC2114可使用外部晶振或外部时钟源,内部PLL电路可调整系统时钟,使系统运行速度更快(CPU最大操作时钟为60MHz)。

倘若不使用片内PLL功能及ISP下载功能,则外部晶振频率范围是1MHz~30MHz,外部时钟频率范围是1MHz~50MHz;若使用了片内PLL功能或ISP下载功能,则外部晶振频率范围是10MHz~25MHz,外部时钟频率范围是10MHz~25MHz。

系统使用了外部11.0592MHz晶振,电路如图4所示

图4系统时钟电路

3.2.4JTAG接口电路

通过JTAG接口,可对芯片内部的的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。

目前JTAG接口的连接有两种标准,即14针和20针。

本系统采用的是20针的JTAG仿真接口。

标准的JTAG接口是4线:

TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。

图4系统仿真电路

3.2.5键盘电路

LPC2114提供了32个可编程的I/O端口,用户可将每个端口配置为输入模式、输出模式或特殊功能模式,由片内的特殊功能寄存器控制。

在该系统的设计中,采用通用I/O口动态扫描的方式,外扩4×4矩阵键盘,键盘扫描的工作原理比较简单,在此不作详述。

图6系统键盘电路

3.2.6I2C接口电路

I2C总线是一种用于IC器件之间连接的二线制总线。

它通过SDA(串地数据线)及SCL(串行时钟线)两线在连接到总线的器件之间传送信息,并根据地址识别每个器件。

LPC2114内含一个I2C总线控制器,可方便地与各种带有I2C接口的器件相连。

在该系统中,外扩一片AT24C01作为I2C存储器。

AT24C01提供128字节的EEPROM存储空间,可用于存放少量在系统中掉电需要保存的数据。

图7I

C接口电路

3.3硬件开发工具ORCAD9.2简介

ORCAD9.2是一款功能强大的EDA(ElectronicDesignAutomation电子设计自动化)工具。

它主要有3大基本的功能。

即CaptureCIS,PSpice,LayoutPlus。

在设计过程中,我们用CaptureCIS进行原理图的绘制,用PSpice进行电路仿真与分析,用LayoutPlus进行PCB的设计。

 

4嵌入式系统软件开发

4.1嵌入式系统软件的组成

嵌入式系统的软件通常包括了以下几个部分:

1初始化引导代码2板级支持包3嵌入式操作系统4网络协议栈5应用软件6图形用户界面GUI

(1)初始化引导代码

初始化引导代码是任何嵌入式系统上电复位后第一个执行的代码。

(2)板级支持包

操作系统提供商为了解决硬件平台的差异性,通常把操作系统的共性部分利用标准的C语言实现,把依赖于硬件的部分提供给用户进行编写代码,操作系统规定了一个标准的规范,用户编写的这些代码为用户的定制硬件和操作系统之间提供了一个接口和支持平台,这一部分代码称为板级支持包。

(3)嵌入式操作系统

操作系统是嵌入式系统的一个重要的组成部分,特别是对于复杂的嵌入式系统的开发。

嵌入式操作系统位于板级支持包和应用软件之间,应用软件开发调用操作系统功能,操作系统的功能以API的形式提供。

(4)网络协议栈

协议栈对于具有网络工能的嵌入式产品是必要的。

目前嵌入式协议栈的提供有两种方式。

一种是独立的第三方协议栈产品,一种是嵌入式操作系统的提供商提供的协议栈产品。

(5)应用软件

嵌入式系统的应用软件一般需要自主开发,不同的嵌入式系统的应用软件各具特色功能。

(6)图形用户界面GUI

对于大多数嵌入式系统,图形用户界面是必需的。

GUI运行在嵌入式操作系统之上,用户开发与用户交互的应用软件通过GUI的功能调用一实现。

基于嵌入式操作系统的嵌入式系统软件结构如下图:

4.2嵌入式系统软件运行流程

(1)从引导程序入口开始。

(2)复位向量入口,此时中断是禁止的。

(3)设置处理器的工作模式,通常使用复位时的默认模式。

(4)设置RAM和ROM的工作参数,包括DRAM的刷新参数、地址空间分配等,至此嵌入式系统的处理器和存储器子系统达到运行状态。

(5)设置操作系统运行所需要的数据段、堆栈空间等。

(6)设置中断向量,中断向量的设置根据需要进行,也可以在其他的时间设置,但是一定要在中断允许之前完成。

(7)操作系统的初始化。

(8)进入用户的应用。

到这里开始执行用户的应用程序代码。

4.3LPC2114的启动代码

一般在32位ARM应用系统中,软件大多数采用C语言进行编程,并且以嵌入式操作系统为开发平台,这样就大大提高了开发效率及软件性能。

为了能够进行系统初始化,采用一个汇编文件作为启动代码是常用的做法,它可以实现堆栈初始化、中断系统初始化、I/O初始化外围初始化以及地址重映射等操作。

(1)文件的划分

可将启动代码划分为4个文件:

Vectors.s、Init.s、Target.c和Target.h。

Vectors.s包含异常向量表堆栈初始化及中断服务程序与C程序的接口,可根据需要修改。

Init.s包含系统初始化代码,并跳转到ADS提供的初始化代码,一般无需改动。

而Target.s和Target.h包含目标板特殊的代码,包括异常处理程序和目标板初始化程序,可根据程序的需要修改。

这样做的目的是为了尽量减少汇编代码,同时把不需要修改的代码独立出来以减少错误改动。

(2)异常向量表

异常是由内部或外部源产生的,以引起处理器的一个事件。

ARM处理器核支持7种类型的异常。

异常出现后,CPU强制从异常类型对应的固定存储地址开始执行程序。

这个固定的地址称为异常向量。

异常向量表的代码如程序1。

这段代码位于文件Vector.s中。

程序1异常向量表

Vectors

LDRPC,ResetAddr

(1)

LDRPC,UndefinedAddr

(2)

LDRPC,SWI-Addr(3)

LDRPC,PrefetchAddr(4)

LDRPC,DataAbortAddr(5)

DCDOxB9205f80(6)

LDRPC,[PC,#-Oxff0](7)

LDRPC,FIQ-Addr(8)

ResetAddrDCDReset(9)

UndefinedAddrDCDUndefined(10)

SWI-AddrDCDSoftwareInterrupt(11)

PrefetchAddrDCDPrefetchAbort(12)

DataAbortAddrDCDDataAbort(13)

NouseDCD0(14)

IRQ-AddrDCDIRQ-Handler(15)

FIQ-AddrDCDFIQ-Handler(1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1