写在前面
该文主要是学习了张凯龙老师的《嵌入式系统体系、原理与设计》后自己写的课后习题,由于个人水平有限,存在纰漏之处请多多批评指正。
第一章 概述 P19
随着电子器件技术的不断发展和演化,基于半导体材料的晶体管技术、集成电路技术出现,计算机硬件的体积、功耗降低,处理速度提升才能使专用的微型计算装置“嵌入”到应用对象中;C语言等软件语言的出现支持系统功能复杂化; 络通信技术促进嵌入式系统的发展。
第一次飞跃是集成电路技术的诞生促进嵌入式微处理器的出现,使得硬件可以“嵌入”;第二次飞跃是C语言的出现可以支持复杂功能;第三次飞跃是嵌入式操作系统的出现使得功能更丰富。
嵌入式系统:如果一台计算机(及其软件)是一个大系统中集成的一部分,并且通过特定的硬件装置来控制和/或直接监控该系统,其就被认为是嵌入式的。即首先应该满足的条件是大系统中集成的一部分,其次是通过硬件装置对外界进行感知和做出相应的反应。
组成结构为嵌入式硬件、嵌入式操作系统与服务以及嵌入式应用软件;嵌入式硬件是整个系统的载体,以嵌入式处理器为核心;嵌入式操作系统是管理嵌入式硬件资源并进行服务能力扩展的系统级软件,即提供可定制能力和性能保证;嵌入式软件是面向特定应用所开发的软件系统。
特点:专用性强、资源定制化、多元的非功能属性约束、资源相对受限、一体化硬件设计、技术途径丰富、知识与技术密集。
一方面,随着嵌入式计算的发展,其装置可以嵌入到越来越多的各式应用中,同时嵌入式与大数据、云计算等新型计算模式不断融合,因此称嵌入式计算无处不在。另一方面,由于 络通信技术的发展以及不断丰富的感知与作动能力和提高的集成度,嵌入式系统可以深度嵌入到越来越多的物理对象中,促进信息系统与物理世界的日益融合,因此可以说嵌入式系统日益“消失”在物理世界中。
需要具备的知识体系有组成原理与系统结构、数字电路及硬件设计、计算机接口技术、操作系统、数据库技术以及编程语言与软件工程,即需要多领域的、软硬件结合的知识体系。智能的应该是能够与人进行自然的人机交互,并且能够通过外界的反馈信息自主对其内部系统进行调节。
第二章 嵌入式硬件基础 P61
TTL电平(电流控制器件,+5V等价于逻辑1,0V等价于逻辑0):输入时,高电平>2.0V,低电平<1.2V;输出时,高电平>2.4V,低电平<0.8V。
CMOS电平(采用12V电源电压):输入时,高电平>8.4V,低电平<3.6V;输出时,高电平>10.8V,低电平<1.2V。
RS-232电平(负逻辑电平):-3-12V为逻辑1,+3+12V为逻辑0。
上下拉电阻用于防止部分的信 浮动情况。
上拉电阻是指连接在元件信 引脚和高电压之间的电阻,用于将引脚信 钳位在高电平,或者用来在驱动能力不足时提供电流。
下拉电阻是指连接在元件信 引脚和GND之间的电阻,用于将信 钳位在低电平,或者用于吸收电流。
漏极开路由于漏极浮空,因此场效应管只能在I/O向栅极供电时导通并“漏”电流(吸收电流),输出低电平。所以,开漏电路也可以支持多个开漏输出引脚的有上拉电阻限流的“线与”连接。
推勉电路在输出端采用了两个互补的三极管或MOSFET,顶部是P-MOS场效应管,地卜师N-MOS场效应管。当顶部晶体管导通,底部晶体管关闭时,顶部晶体管导通接高电压,输出高电平;反之,顶部晶体管关闭,底部晶体管导通时,底部晶体管接地,输出低电平。由于将两个或多个推勉电路连接在一起时,一端输出为高电平(灌电流)而另一端为低电流(漏电流)时,将在两个引脚之间产生瞬时的大电流,引发总线竞争问题并可能造成电路损坏。
退耦电容主要起到消除电路之间的寄生耦合、滤除输出信 的干扰和缓冲电荷的作用;应该布放在靠近相应引脚(电源或信 )的地方,电容的电源或信 走线与地线所包围的面积最小。
旁路电容也起到滤波、抗干扰的作用,其主要工作原理是将输入信 中的高频噪声作为滤除对象,将前级携带的高频杂波滤除。布放在输入信 引脚附近。
详情参考数字电路逻辑分析,即每次时钟周期进行一次翻转时,都会使四个触发器的数位有翻转或者保持;第一个周期到来时,第一个触发器产生数位1;第二个周期到达时,第一个触发器发生翻转为0,第二个触发器产生数位1;以此类推。
处理器子系统:是嵌入式计算装置的核心,连接各种外设进行工作。
存储子系统:是计算装置必不可少的功能组件,用于存储程序和数据,有助于提高指令和数据的访问效率。
时钟子系统:为计算系统的运行提供时钟控制脉冲信 ,是处理器、存储器、总线以及WDT、UART等I/O有序、正常工作的重要条件。
I/O子系统:是围绕嵌入式处理器扩展出的接口子系统,采用内部总线、板级总线和接口电路连接大容量存储组件和用于交互的I/O组件,用于计算装置与外界设备、操作人员的数据通信和用户交互。
外围电路:用于连接、激活甚至是监控,以使得嵌入式硬件的逻辑运行正确且可靠。
调试子系统:用于调试嵌入式系统的软硬件资源总成。
基于通用计算机扩展的嵌入式硬件:其硬件主要采用了“通用计算机+I/O扩展+特殊外围”的架构,重点是对通用计算机硬件进行I/O接口与组件的扩展。
基于领域标准模块集成的嵌入式硬件:以通用或嵌入式处理器为核心设计的单板计算机,集成尽可能完整的领域型功能模块和接口,具有良好的机械、电气性能和可扩展性,可以支持嵌入式系统硬件的快速构建。
针对具体应用设计的嵌入式硬件:构建专门的嵌入式计算机,以减少资源浪费和生产成本
低功耗器件设计:采用具有动态调节能力的双电源电压机制;增加控制电路休眠的门控电源逻辑,可以让电路某部分长时间断电;根据系统性能需求将时钟动态调整至适当频率,从而降低功耗。
低功耗系统设计:选用低功耗的电子元件和外围器件;选用集成度高的电子元件并充分利用元件内部继承的功能单元;通过寄存器关闭不需要的外设控制器;采用低功耗接口电路。
第三章 嵌入式处理器 P126
微架构又称为微体系结构/微处理器体系结构,指将一种给定的指令集架构在处理器中执行的方法。一种给定的指令集可以在不同的微架构中执行。
微控制器是一种快速构建微型计算装置电路所必需的控制单元。普遍以CPU为核心,在片内通过内部总线连接,集成了必要的程序/数据存储器、定时器/计数器、中断控制器以及特定I/O接口与组件,进而为嵌入式控制系统设计提供一个较为完整的计算系统核心。
特点是:计算核的指令数较少、位处理指令较丰富、供电电压较单一、计算性能通常不高、组件集成度较高、提供多种O/I接口、引脚数量相对较少、低功耗、低成本、使用方便,以及适合简单控制系统等。
ARM指令集、Thumb指令集各有什么特点什么Thumb代码不总是比ARM代码高效br> ARM指令集可分为六大类,几乎所有的ARM指令都有4位的条件域,为32位指令集。
Thumb指令集是基于ARM指令集进行重新编码的子集,指令长度固定为16位。与ARM指令集相比,在功能和性能上进行了一定限制,Thumb指令集是为了提升使用16位或更窄内存总线的ARM处理器的性能,并提供较ARM指令集更为优化的代码密度。
在使用32位存储器的时候,ARM指令集更快,原因是Thumb是针对16位进行的改良。
A32表示支持32位ARM指令集;
T32表示支持32位ARM指令集和16位Thumb指令集;支持用户代码更好的代码密度,为编译器提供了优势,有机会在单个指令集中平衡性能和代码大小权衡。
A64表示支持32位指令集,特点有:基于5位寄存器描述符的简洁解码表、指令语义与A32大致相同、31个随时可供访问的通用64位寄存器、无模式通用寄存器组、非通用的PC和SP以及可用于大多数指令的专用零寄存器(2R)。
CPSR是保留所有处理器状态的状态寄存器,模式M表示处理器工作模式;除了用户模式之外,其他6种模式有独立的处理器状态保存寄存器SPSR。
有两个堆栈指针寄存器SP_main和SP_process(是R13的分组模式);专用的32位程序状态寄存器xPSR(分为应用程序专用状态处理器ASPR、中断程序状态处理器IPSR和质心程序状态寄存器EPSR);3个管理异常和中断优先级的32位掩码寄存器MR;一个32位的控制寄存器CONTROL,用于设定当前堆栈和线程模式的权限级别。
一共有16个值,一个值用于指定指令无条件执行,14个值指定指令的执行条件,第16个值用于可选指令的编码。
异常模式是指正常运行的用户程序因为某些事件被暂时中止,导致进入的特定处理模式。即进入异常模式后,主要靠中断进行异常处理并返回到正常程序中继续运行。
ARM架构:是一种32位精简指令及处理器架构,具有RISC体系的基本特征,包括:一个大容量的、统一的寄存器文件;采用加载/存储模式,在寄存器中而不是内存中进行数据处理;仅从寄存器及指令中读取地址,寻址简单;采用一种指令长度,简化指令的解码过程。
MIPS架构:是一种简单的流水型、高度可扩展32位、64位RISC架构。特点包括:高性能、行业标准的体系结构;固定长度、统一编码的指令集,所有指令集都向后兼容;采用加载/存储数据模型,所有操作都在寄存器上进行;开放式架构,允许用户在开发的内核中自定义指令;具有32位/64位两种架构的指令集;计算核内包括大量寄存器、指令数和字符;具有并行流水、超级流水以及多通道超标量流水等流水线结构,流水线延迟间隙可视;集成度高,芯片面积更小,功耗高于ARM;采用多发射核技术,用处理器中的闲置处理资源虚拟另外一个计算核,提高处理资源的利用率。
PowerPC架构:是一种典型的高性能RISC处理器架构,其特点为:可实现单核/多内核架构;采用多发射、分支预测的超标量流水线结构,并行度高;丰富、独立的整型寄存器组和浮点寄存器组,支持32位/64位计算和访问;采用统一定长的精简指令格式,最多可支持4个操作数;高效的分支处理;内存访问基于内存与GPR/FPR间的加载和存储指令完成;为GPR和FPR之间的数据传输提供专门指令;突出的浮点性能,提供支持IEEE 754标准浮点数的运算指令;良好的伸缩性,可根据特定需求进行架构扩充;应用范围广。
第四章 嵌入式存储技术 P169
基于不同类型数据存储、访问的要求差异,以及数据访问在时间、空间和顺序上的局部性原理,计算系统的存储子系统主要采用了分级的存储体系。
使用同一组地址线进行分时传输,可以减少芯片引脚的数量。
为了使DRAM有效地存储信息,必须定期为已充电的电容补充电量,即进行DRAM的刷新操作,在刷新期间DRAM控制器会向CPU发出DRAM忙的信 ,CPU的读写请求将会被延迟。
可以采用快速页模式(触发行地址后,CPU连续输出多个列地址来访问不同的位)、扩展数据输出(无需等待此次访问是否完成,只要达到规定的地址有效时间就开始输出下一个地址)、同步DRAM(采取了与CPU外频同步的DRAM频率,消除了访问冲突引起的CPU等待周期)等方式进行优化和解决。
简述LPDDR SDRAM的特点。为什么该类型存储器适合移动嵌入式系统br> LDPPR是面向智能手机、平板电脑等嵌入式系统的SDRAM产品,具有体积小、功耗低、更高的频率,因此更适合作为移动嵌入芯片。
架构特点为拥有两套独立的数据线、地址线和读写控制线,是两个CPU之间进行快速传输块数据的有效方式。其互斥机制主要通过三种方式实现:1)中断方式,当左CPU写特定的信令地址时,信令交换逻辑向右侧CPU发送中断,通知其开始数据访问操作;2)忙逻辑方式:当两个CPU同时访问存储器时,仲裁逻辑会选择出一个CPU进行授权,并通置BUSY引脚将忙状态通知给另一个CPU;3)信 量方式:提供硬件信 量仲裁机制,控制软件访问、获取硬件信 量SEM实现对存储单元的互斥访问。
EEPROM采用浮栅管单元技术,通过电进行擦除,访问时是通负电荷写入来实现数据位的写入,读取时通过判断浮栅中有无电子进一步电路是否导通来判断0或1,访问速度较快;Flash同样采用了浮栅管单元技术,其擦除机制是基于隧道效应的编程与擦除机制,与EEPROM类似;访问时通过存储元的源、漏极是否导通来表示0和1,读取快,写入较慢。
原因是Flash中采用的是新型隧道氧化层MOS管,该晶体管的隧道层在源层且更薄,允许在控制栅和与源极之间加12V电压就使隧道导通。同时,Flash芯片内集成了高压产生电路(高压泵),因此可以在单电压供电输入的基础上,面向不同操作特性来提供不同的工作的电压。
NOR Flash有对的地址线和数据线,按照字节读取,读取和传输速度快;以区块的方式擦除并以字节方式写入,擦除和写入速度较慢,因此适合存储小容量数据存储如代码。而NAND Flash具有更高的存储密度,更快的写入速度,耕地的价格以及更好的擦写耐用性等优点,要修改时必须重写整个数据块,适合存放大量数据如大块数据。
在写入0的时候,需要同时对栅极和漏极加上高电压,源、漏极之间的电子就会进入浮栅。Flash擦除是写1的过程,编程的时候只对非0位进行注入电荷操作,即只写入0.
存储元的结构是“两个晶体管+两个电容”的2T2C结构,每个存储元包括了数据位和各自的参考位;2001年后采用更先进的1T1C结构,所有数据位使用相同的参考位。其物理特性是既有RAM的随机访问特性又非易失的特点。其存储机制主要是通过铁元素的词性和原子运动过程实现的,利用了铁电晶体材料的铁电性和铁电效应。通过将充电波形与参考位的充电波形比较,根据有无尖峰即可判断存储元中的原子位置状态,即数据位的值。
BBSRAM即内带电池保护的SRAM,其结构为SRAM+锂电池+监控保护电路。优点是实现方便、成本较低,应用于诸如主板上的BIOS配置信息存储。缺点是设计中需要考虑额外的电源管理电路和固件,需要更换失效的电池,削弱了系统的可靠性,并且体积较大。
第五章 最小系统外围电路设计 P208
复位是在系统电源建立的时候,为cpu或某些接口电路提供一个几十毫秒甚至数百毫秒的高或低的复位脉冲(原理),利用这段时间,系统振荡器启动启动并稳定下来,cpu复位内部寄存器及指针,为程序启动做准备(目的)。
上电复位的原理是电源电压达到可以正常工作的阈值后,集成电路内部的状态机便开始初始化器件,使得芯片在上电后一段时间内进入已知状态,并在完成初始化之前忽略除引脚之外(如有)的任何外部信 。
阻容式复位电路的原理是利用电容两端电压的指数变化特性为芯片的复位引脚提供复位信 。
软件复位是指通过软件指令或者对寄存器的修改触发芯片的复位脉冲,进而使系统初始化硬件并重新加载、运行嵌入式软件。
三者的原理各不相同,其相似点是都是发出复位信 ,使得必要的寄存器、I/O接口等资源的值和状态能够初始化。
正弦波振荡电路一般由放大电路和正反馈 络组成正弦波生成电路(电路自激振荡机制)。在电源接通瞬间,电冲击、电干扰、晶体管的热噪声以及人体干扰等产生噪声信 ,在“点干扰大频反馈大频反馈…”的过程中,频率未被选中的信 不断被抑制,而选中信 不断被加强,再结合晶体管的线性区放大特性,输出和反馈的振幅稳定下来,振荡过程建立。其中,放大电路起增大输出幅值的作用,反馈 络约束相位平衡,稳幅电路稳定输出信 的幅值。
由于课本主要介绍了STM32 L1嵌入式处理器,且STM32 L0与STM32 L1区别主要在于电源电压、运行模式功耗、存储空间容量等方面,因此仍然使用STM32 L1答题。
其低功耗模式原理主要是降低V_CORE电压值、降低CPU频率和性能并限制启用的外设数量。其特点是仅当V_CORE在区间2时可以进入该模式;系统时钟的频率不超过f_MSI区间1限制启用的外设数量;所有的I/O引脚保持运行模式时的状态。唤醒方式是调压器被设置为主模式(1.8V),无唤醒延迟。
对电源电压的动态调整,根据功率与电压平方之间的反比关系,降低系统动态功耗可以采用降低供应电压方式进行调节;
开启/关闭部分组件,由于开启的组件数量更多,需要消耗的功率越大,因此通过开启/关闭部分组件能够减少相应的功耗。进一步可以使电子器件运行于不同的模式,较为灵活多变;
降低器件的频率,由于频率越高功耗越大,可以通过降低器件的频率减少器件的功耗,一般由制作工艺决定。
第六章 接口、总线与 络扩展 P300
从内部结构看,主设备和从设备内部各有一个8位的移位寄存器,主从设备之间通过MOSI、MISO引脚之间的连接将n+1个寄存器连接形成一个8*(n+1)的循环移位寄存器。随着时钟信 的变化(时钟信 的上、下沿),这个8*(n+1)的移位寄存器中的数据依次从左移出到输出引脚,同时将输入引脚采集的数据移入移位寄存器。如果想要做到这一点,需要将图中稍作修改,构建一个共享片选信 (SS) 多个从级设备级联的菊花链式SPI通信系统,即“主设备的MOSI设备1的MISO设备2的MOSI…设备n的MOSI&从设备的MOSI设备的MISO”的逻辑结构。
由于I2C电路总线和设备需要支持多设备共享同一信 线的“线与”能力,因此SCL和SDA的接口内部逻辑只能采用“开漏”或集电极开路模式,因此需要分别为SDA、SCL信 线接一个上拉电阻Rp。
通过将主设备挂在I2C总线上,发起传输、产生SCL时钟信 (处存疑)
通过SCL上的“线与”功能,实现多主设备时钟的同步;在每一个位周期时,当SCL为高电平时,主设备检查当前SDA上的电平与自己是否一致,如果一致则继续使用总线并检测;如果不是则该设备获知冲突发生且自己失去了总线的使用权,关闭输出驱动器,而其他主设备继续传输并进行检测。I2C规范通过这样的冲突检测和仲裁I2C解决多个主设备竞争总线时的冲突和破坏问题,即保证仲裁过程中不会丢失任何数据。
将UART传输速率使用波特率进行衡量,则有以下几个因素。
缓冲区FIFO的大小。如果接收缓冲区过小,其数据在读取中就会被后续字节覆盖进而产生错误。
通信距离。信 在介质中传播时其自身能量会不断衰减,抗干扰能力变弱。为了使信 有足够的能量会采取加大信 宽度这一措施,而信 宽度增加后单位时间内可传输的信 数量减少,即波特率降低。
分析车载舒适总线中的电平状态,并参照图6.49画出CANH和CANL的变化关系。
图略,下面给出分析。隐性状态时,CANH和CANL(两条差分线路)分别为预先设定的电压值,如车载CAN驱动总线中都为2.5V,而车载舒适总线中CANH为0V、CANL为5V,V_CANH-V_CANL为0V或者-5V,表示“1”。在显性状态时,CANH上的电压升高一个预定值,则CANL上的电压值会降低一个同样的值。某一时刻,总线电平要么处于显性水平要么为隐性水平。
不同点:1)IrDA使用红外线作为通信媒介,是点对点传输;蓝牙指无线数据和语音通信的短距离无线通信技术标准,支持点到点、点到多点。2)特征上的差异:具有相同红外接口的设备之间可以进行信息交换,安全性较强,传输距离短;蓝牙将内嵌蓝牙芯片的设备互联起来,提供语音和数据接入服务,易于组 。
相同点:其系统架构基本相同,基带芯片和射频单元组成一个模块运行底层的物理层和链路层的功能;高层协议由单独的CPU运行。均应用于家庭和小型办公室的应用场合,是主要的PAN技术。
在等待状态下,设备的活跃成员地址AM_ADDR修改为PM_ADDR,此时其所在微微 的就可以存在多余7个从设备。在该设备状态下,设备的活动非常少,从设备不必加入微微 ,但仍保持为微微 成员,其用处是功耗降低。

简述WiGig的原理和特点,并将其与Wi-Fi技术进行比较。
Wigig为第五代标准IEEE 802.11ad,称为千兆无线局域 ,其主要是通过60GHz频谱进行数据传输,可以保证在各种情况下实现更稳定的传输,能够在最大10米的距离内提供大约5Gbps的无线 络速度。其与Wi-Fi比较传输速度更快,但传播范围更小。
Wi-fi接口可采用芯片级、模块级的设计方案,具有SPI或UART接口;
Bluetooth接口可采用USB、UART等,只需要通过这些接口发送操作命令就能够实现对蓝牙通信。
ZigBee使用的是GPIO接口,输出功率较低,有效通信距离不够。
第七章 嵌入式软件结构与基础软件 P339
由于裸机软件直接在硬件上部署和运行,因此其启动过程较为简单,只需要将编译生成的二进制代码烧写到NAND Flash的0x00000000地址。系统复位后,处理器上电复位;NAND控制器将NAND Flash中的启动代码赋值到ARM的SRAM中;处理器根据PC值从SRAM的首地址开始执行即可完成启动过程。
对于嵌入式操作系统而言,在上电启动后,还需要将Boot Loader代码从Flash复制到SDRAM的特定区间并引导执行。Boot Loader首先执行一系列基本的硬件初始化工作,然后为操作系统运行做好环境准备,并将外部存储器中的操作系统内核映像复制到内存中的代码和数据空间,设置内核启动参数。最后跳转至内核入口地址开始执行。至此,嵌入式操作系统的启动才全部完成。
ROM Monitor软件的工作原理是上电后,ROM Monitor对硬件进行基本的初始化,进而可以通过串口/ 口与开发主机交互,执行程序加载、命令执行、程序调试等操作,并提供一个简单的用户命令接口、支持对程序设置断点并单步跟踪及集成调试器,使开发人员能够在嵌入式系统开发过程中对资源进行管理并进行软件调试。
Boot Loader的最小功能是至少应该驱动一个外部的数据通信接口,且提供一种读、写、擦除Flash的方法。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!