发布信息

嵌入式系统的体系结构结构设计与应用程序详解!

作者:软荐小编      2023-08-19 22:01:19     217

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级放大混频电路设计)

相关内容 查看全部