嵌入式系统的体系结构结构设计与应用程序详解!
创始人
2025-10-06 18:07:37
0

1 嵌入式系统定义

嵌入式系统是一种专用计算机系统,是设备或装置的一部分。 一般来说,嵌入式系统是一个嵌入式处理器控制板,其控制程序存储在ROM中。 事实上,所有带有数字插座的设备,如手表、微波炉、录像机、汽车等,都采用嵌入式系统,有的嵌入式系统还包括操作系统,有的嵌入式系统通过单个程序来实现整个控制逻辑(运行裸)。 嵌入式系统是软件和硬件的综合体。 软硬件可量身定制,满足应用系统对功能、可靠性、成本、体积、功耗等特殊计算机系统的严格要求。

2 嵌入式系统的组成

2.1 硬件层

硬件层包括嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备插座和I/O插座(A/D、D/A、I/O等)。 在嵌入式处理器的基础上增加电源电路、时钟电路和存储电路构成嵌入式核心控制模块。 操作系统和应用程序都可以固化在ROM中。 2.1.1 嵌入式微处理器

嵌入式微处理器的体系结构可以采用冯诺依曼体系或耶鲁体系结构; 指令系统可以选择精简指令系统(ReducedInstructionSetComputer,RISC)和复杂指令系统CISC(ComplexInstructionSetComputer嵌入式系统软件教程,CISC)。 RISC计算机只包含通道中最有用的指令,保证数据通道快速执行每条指令,从而提高执行效率,使CPU硬件结构设计更简单。

全球嵌入式微处理器已经有1000多种,架构有30多个系列,其中主流系统有ARM、MIPS、PowerPC、X86等。

2.1.2 存储

嵌入式系统需要内存来存储和执行代码。 嵌入式系统的存储器包括Cache、主存和辅助存储器等。

1>缓存

Cache是​​一种容量小、速度快的存储器阵列。 它位于寻址和嵌入式微处理器核心之间,存储微处理器在一段时间内使用最多的程序代码和数据。 当需要进行数据读取操作时,微处理器尽可能从Cache中读取数据,而不是从寻址中读取,这大大提高了系统的性能,并加强了微处理器与寻址之间的联系。 数据传输速度。 Cache的主要目标是减少存储(如寻址和辅助存储)给微处理器核心带来的存储访问困境,使处理速度更快,实时性能更强。

在嵌入式系统中,Cache全部集成在嵌入式微处理器中,可分为数据Cache、指令Cache或混合Cache,Cache的大小取决于不同的处理器。 通常只有中高端嵌入式微处理器才能集成Cache。

2> 寻址

寻址是嵌入式微处理器可以直接访问的寄存器,用于存储系统和用户的程序和数据。 它可以位于微处理器内部或外部,其容量为256KB~1GB,取决于具体应用。 一般芯片的存储器容量小,速度快,片外存储器的容量大。

常用的可寻址存储器有:

ROM类NORFlash、EPROM和PROM等

RAM类型SRAM、DRAM和SDRAM等

3>辅助存储

辅助存储器用于存储程序代码或具有大量数据的信息。 它的容量很大,但读取速度比寻址慢很多。 用于常年存储用户信息。

嵌入式系统中常用的外部存储有:硬盘、NAND Flash、CF卡、MMC和SD卡等。

2.1.3 通用设备插座和I/O插座

嵌入式系统与外界的交互需要一定方式的通用设备套接字,如A/D、D/A、I/O等。外设通过与微处理器的连接来实现微处理器的输入/输出。其他片外设备或传感器。 输出功能。 每个外设一般只有单一功能,可以位于芯片外部,也可以位于外部芯片内。 外围设备的类型有很多种,从简单的串行通信设备到极其复杂的 802.11 无线设备。

嵌入式系统中常用的通用设备插座有A/D(模/数转换插座)、D/A(数/模转换插座),I/O插座有RS-232插座(串行通信插座)、以太网(以太网插座)、USB(通用串行总线插座)、音频插座、VGA视频输出插座、I2C(现场总线)、SPI(串行外围设备插座)和IrDA(红外插座)等。

2.2 中间层

硬件层和软件层之间有一个中间层,也称为硬件抽象层(HardwareAbstractLayer,HAL)或板卡支持包(BoardSupportPackage,BSP),它将系统的下层软件与底层硬件分开,使得系统底层驱动程序与硬件无关,底层软件开发者无需关心底层硬件的具体情况,可以根据BSP提供的socket进行开发层。 该层通常包括相关底层硬件的初始化、数据输入/输出操作以及硬件设备的配置功能。 BSP有以下两个特点。

硬件依赖性:由于嵌入式实时系统的硬件环境具有应用依赖性,并且BSP作为下层软件与硬件平台之间的套接字,需要为操作系统提供操作和控制具体应用程序的方法。硬件。

操作系统依赖性:不同的操作系统有自己的软件层次结构,因此不同的操作系统有特定的硬件套接字方法。

实际上,BSP是介于操作系统和底层硬件之间的软件层,包括系统中大部分与硬件密切相关的软件模块。 设计一个完整的BSP需要完成两部分:嵌入式系统的硬件初始化和BSP功能,以及硬件相关设备驱动程序的设计。

2.3 软件层

2.3.1 系统软件层

系统软件层由实时多任务操作系统(Real-timeOperationSystem,RTOS)、文件系统、图形用户界面(GraphicUserInterface,GUI)、网络系统和通用组件模块组成。 RTOS是嵌入式应用软件的基础和开发平台。

2.3.2 应用软件层

应用软件层由基于实时系统开发的应用程序组成,用于实现被控对象的控制功能。 功能层是面向被控对象和用户。 为了方便用户操作,往往需要提供友好的人机界面。

3 嵌入式系统初始化

系统初始化过程按照从下到下、从硬件到软件的顺序可以分为三个主要环节:芯片级初始化、板级初始化和系统级初始化。

3.1 芯片级

完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器的核心工作模式和嵌入式微处理器的本地总线模式等。芯片级初始化逐步设置嵌入式微处理器从上电默认状态到系统要求的工作状态。 这是一个纯硬件初始化过程。

3.2 板级

完成嵌入式微处理器以外的其他硬件设备的初始化。 此外,还需要设置各个软件的数据结构和参数,为后续的系统级初始化和应用程序运行搭建软硬件环境。 这是一个初始化过程,包括硬件和软件两部分。

3.3 系统层面

BSP将嵌入式微处理器的控制权转移给嵌入式操作系统,操作系统完成剩余的初始化操作嵌入式系统软件教程,包括加载和初始化独立于硬件的设备驱动程序、构造系统内存区域、加载和初始化其他系统软件模块,例如最后,操作系统创建应用程序环境并将控制权传递给应用程序的入口点。

4项目管理流程

嵌入式系统项目管理分为:项目启动-->项目策划-->项目实施-->项目收尾-->项目维护。

具体节点如下:

产品立项报告-->产品可行性分析报告-->初步设计(初步进度计划编制)-->硬件详细设计-->软件详细设计-->结构详细设计-->样机制作-->软件自检(验证阶段)-->《测试大纲》并测试-->产生生产文件-->文件归档-->小批量试产-->批量生产-->最终文件归档

5 开发流程

项目需求-->系统方案(方案评审)-->方案设计(设计说明书)-->软硬件开发(开发文档)-->原理样机(测试报告)-->工程样机(测试报告)- ->型式试验或认证(试验总结报告或认证证书) ->开发阶段初始试验

6 产品化流程

设计数据导出(Sch、PCB、Gerber、BOM、CAD等)-->生产工艺文件(gerber、SMT、BOM(COSTDown)、作业指导书)-->测试文件(测试要求、测试记录、产品检验)标准等) --> 良率(一次合格率、合格率、合格率等) --> 售后质量跟踪 --> 质量问题反馈并持续改进 --> 版本迭代。

7 软硬件结合及实例

7.1 核心系统自检(异常进程处理指令)

7.2 外设初始化(GPRS 上电顺序;功率分配)

7.3 工作状态切换(寄存器翻转、硬件缺陷填充、短路控制等)

7.4 中断处理(缺相过流保护、异常处理)

7.5 电路元件级可靠性设计(I2C的死循环问题:单一条件判断的缺陷需要定时器的参与)

7.6 系统级可靠性设计(通信命令冗余、全局复位命令发送两次)

7.7 简单应用(A/D精度(12BIT-->10BIT))

7.8 提高性价比(键盘防抖、静电保护(硬件固有特性))

7.9 功能扩展及复用(变化蜂鸣器(PWM)、变频指示灯等(硬件功能扩展))

7.10 中间应用(图像压缩、MPEG-1、-2、-4、H.263、H.264、数字混频、uV级放大混频电路设计)

相关内容

热门资讯

3... 在无需把握全新界面的状况下,你可以在Motion 4中轻松地在三维空间内创作动画。 这个3D多面...
a... AI是人工自动(Artificial Intelligence)的简称,是一种计算机算法和软件,经过...
做... 在启动包装设计成果图的制造环节中,有几款罕用的3D软件可供选用,以下是其中几个较为盛行的选项: :只...
求... 一、用于 3D 建模和渲染的最佳解决器 (CPU) CPU:Intel i9 K或AMD Ryzen...
p... 郑州清大电脑培训学校开设有这样的课程,费用很低,包学会,地址:郑州文明路英才街北大学城。 随到随...
罕... 罕用的办公软件有:Microsoft Office系列软件、WPS Office、Adobe Acr...
一... 学习办公软件并不难,假设你是做行政文员什么的,学习一个星期差不多就够了,但要每天都保持练习。 如...
微... office办公软件有以下五个版本一Office 2007 office2007是微软Office产...
办... 办公软件的内容包括以下几个方面: 1. 文字解决软件。 这是办公软件的外围局部,关键用于文档的编...
如... 很快乐能跟大家分享我的阅历。 团体感觉要极速学好word或许excel这种适用性很强的办公软件,...
电... 1、以win7系统为例,首先在电脑中点击左下角的开局按钮。 2、而后在关上的开局菜单最下方的搜查框中...
o... Office办公软件网络云分享,含直装和激活教程,无解压码,操作方法和步骤如下:1、第一步,关高低载...
如... 大家好,我是文档君。 上周分享的一篇表格技巧《把握这几个表格技巧,办公小白的你也可以瞬间变大神...
大... ① 文秘专业都学哪些课程 课程如下: 思想品德修养与法律基础、 *** 思想、 *** 通常和回...
编... 编写程序的软件有很多种,以下是其中一些经常出现的软件: 一、集成开发环境(IDE)类: Visual...
学... 罕用的编程软件有:Visual studio、PhpStorm、Notepad++、WebStrom...
做... 做安卓软件开发须要的工具: 安卓软件开发通常须要经常使用一系列工具来启动设计、编码、测试和部署。以下...
罕... 01 编程开发软件1. IntelliJ IDEA:实用于C/C++、Java、Python等多种编...
软... 软件开发须要学的常识:计算机言语,数据库技术,网络编程技术,软件框架技术,软件名目治理等常识。 ...
编... 编程罕用工具箱包含但不限于以下几种: 软件开发软件有哪些 软件开发软件包含: 1. 集成开发环境(I...