嵌入式系统基础


第一章:嵌入式系统概述

嵌入式特点:占先式调度、响应时间短、系统内核小、可裁剪、可扩充、可移植、实时性、可靠性

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

实时系统是具有实时性且能支持实时控制系统工作的操作系统。其首要任务是调动一切可利用的资源来完成实时控制任务,其次才着眼于提高计算机系统的使用效率,其重要特点是能满足对时间的限制和要求

实时系统具有实时性,并行性,多路性,独立性,可靠性,可预测性

嵌入式处理器是嵌入式系统的核心部分,将通用处理器中许多由板卡完成的任务集成到芯片内部,有利于嵌入式系统在设计时趋于小型化,同时具有很高的效率和可靠性。

嵌入式开发流程:

  1. 用户需求分析;系统的需求一般分为功能性需求和非功能性需求两个方面。功能性需求就是系统的基本功能
  2. 体系结构设计;体系结构设计描述系统如何实现需求分析里面所述的功能性和非功能性需求
  3. 软/硬件设计;由于ARM硬件体系的一致性,因此嵌入式系统设计工作大部分都集中在软件设计上
  4. 系统集成;系统集成即把初步设计好的硬件、软件和执行装置等集成在一起,进行联调;在联调过程中发现并改进单元设计过程中的不足或错误;针对具体的问题,对软硬件进行调整
  5. 系统测试;系统测试即对设计好的系统进行测试,验证其是否满足规格说明中规定的要求。针对不同复杂程度的系统,目前有一些常用的系统设计方法,如瀑布设计法、自顶向下设计法、自下向上设计法、螺旋设计法、逐步细化设计法和并行设计法等

第二章:ARM微处理器体系结构

RISC即精简指令集计算机,它的指令格式和长度通常是固定的(如ARM是32位的指令),且指令和寻址方式少而简单,大多数指令在一个周期内就可以执行完毕。RISC的设计重点在于降低处理器中指令执行部件的硬件复杂度,这是因为软件比硬件更容易提供更大的灵活性和更高的智能化

CISC特点是通过存放在只读存储器中的微码(Microcode)来控制整个处理器的运行
在CISC架构下,一条指令往往可以完成一串运算动作,但却需要多个时钟周期来执行
2/8法则:20%的CISC指令被反复使用,占整个程序代码的80%;余下的80%的指令占程序代码的20%

RISC构架的指令格式和长度通常是固定的
RISC在结构设计上是一个载入/存储的构架,只有载入和存储指令可以访问存储器,数据处理指令只对寄存器的内容进行操作。为了加速程序的运算,RISC会设定多组寄存器,并且指定特殊用途的寄存器

CISC构架下的指令长度通常是可变的
CISC架构则允许数据处理指令对存储器进行操作,对寄存器的要求相对不高

在这里插入图片描述

ARM处理器的工作模式:

  1. 用户模式
  2. 系统模式
  3. 快中断模式
  4. 一般中断模式
  5. 管理模式
  6. 中止

ARM7处理器核使用了典型三级流水线的冯·诺伊曼结构,
ARM9系列则采用了基于五级流水线的哈佛结构。通过增加流水线级数简化了流水线各级的逻辑,进一步提高了处理器的性能

ARM7系列处理器中每条指令分取指、译码、执行三个阶段,分别在不同的功能部件上依次独立完成。取指部件完成从存储器装载一条指令,通过译码部件产生下一周期数据路径需要的控制信号,完成寄存器的解码,再送到执行单元完成寄存器的读取、ALU运算及运算结果的写回,需要访问存储器的指令完成存储器的访问

ARM9系列处理器的流水线分为取指、译码、执行、存储、回写。取指部件完成从指令存储器取指;译码部件读取寄存器操作数,与三级流水线中不占有数据路径区别很大;执行部件产生ALU运算结果或产生存储器地址(对于存储器访问指令来讲);访存部件访问数据存储器;回写部件完成执行结果写回寄存器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


第三章:ARM的指令系统及汇编程序设计

  1. Cortex-A9有几种寻址方式?分别是什么?
    8钟寻址方式;分别是立即数寻址,寄存器寻址,基址变址寻址,寄存器移位寻址,寄存器间接寻址,多寄存器寻址,相对寻址,堆栈寻址
  2. ARM指令的条件码有多少个?默认条件码是什么?
    16个条件码;默认条件码是1110
  3. 试指出MOV指令与LDR加载指令的区别及用途。
    MOV指令将一个寄存器的值移动到另一个寄存器
    LDR指令加载32位数据到目标寄存器中
  4. 调用子程序是用B还是用BL指令?
    BLX:ARM指令集调用Thumb指令集子程序的BL指令
  5. ARM状态与Thumb状态的切换指令是什么?
    BX:目标子程序可以是ARM和Thumb指令集的B指令
    状态位为0时进入ARM状态,为1时进入Thumb状态

第四章:通用输入输出接口

交叉开发模式:在主机上编写、编辑、编译软件和应用程序,然后下载到目标板上,在目标板上运行、验证程序
主机又称宿主机,一般为PC
目标板指正在开发的嵌入式设备或者ARM开发板


第五章:时钟管理单元

五个时钟模块:
在这里插入图片描述
在这里插入图片描述


第六章:中断系统

1、中断状态
每个中断可以被认为处于以下4个状态之一:
(1) 未激活(Inactive),中断尚未激活或未挂起
(2) 挂起(Pending),中断已经产生,正等待目标CPU响应;
(3) 激活(Active),CPU已经应答(Acknowledge)来自GIC的中断,该中断正在被CPU处理但尚未完成;
(4) 激活并挂起(Active&Pending),CPU正在处理该中断,此时GIC又收到来自该中断源的更高优先级的中断

2、中断类型
(1) 软件生成的中断(SGIs):是通过向软件生成中断寄存器写入SGI中断号生成的。SGI一般被用作核间中断,用于核间通信。16个
(2) 私有外设中断(PPI),由一个单独的处理器私有的外设生成。16个
(3) 共享外设中断(SPI),由一个可以被中断控制器路由到多个处理器的外设生成。128个

3、中断分组
在多处理器系统中,对于PPI和SGI类型的中断,GIC将多个中断使用同一个中断号。这样的中断称为banked interrupt(被分组的中断)
该类中断通过中断号和相关联的CPU接口可以唯一标示

抢占
在一个激活中断被处理完之前,CPU接口支持更高优先级的中断送达并占用目标处理器,但需满足如下两个条件:
(1) 该中断的优先级高于当前CPU接口被屏蔽中断的优先级
(2) 该中断的组优先级高于正在当前CPU接口处理的中断优先级


第七章:DMA控制器

三种DMA结构:
单总线、I/O分离的DMA结构
优点:结构简单、配置代价较小、价格便宜
缺点:这种结构中,存储器和I/O模块之间经过DMA数据交换的路径是:MEMORY (I/O MODULE) ---- SYSTEM BUS ----DMA ----SYSTEMBUS ----I/O(MEMORY),可以看出传送一个字需要消耗两个总线周期,传输效率比较低

单总线、I/O集成的DMA结构
这种结构的优点在于,DMA逻辑集成为I/O模块的一部分,存储器和I/O模块之间经DMA数据交换路径简化为,MEMORY(I/O)----SYSTEMBUS —I/O(MEMORY) ,传送一个字节只需要一个总线周期,节省了总线周期

I/O总线的DMA结构
优点是,通过I/O总线连接I/O外设与DMA模块连接,I/O外设与DMA控制器都可以做成与总线的标准接口,满足了嵌入式微处理器结构可扩展的要求

以上三种结构具有各自的特点,适用于不同的场合:
单总线、I/O分离的DMA结构简单,配置代价较小,价格便宜,适合于功能相对简单的微处理器
单总线、I/O集成的DMA结构虽然同为单总线结构,但I/O外设通过DMA模块和总线连接,传输效率高
I/O总线的DMA结构除了继承了传输效率高的特点外,采用了扩展的双总线结构,适用于I/O外设较多的微处理器

三种传输方式
周期挪用方式
在正常情况下,周期挪用方式下在整个DMA传输过程中外部请求保持有效,总线申请很快变为有效。于是在DMA控制器接收到新的应答之后,下一个数据的DMA传输即刻开始。这样,在周期挪用方式下,DMA控制器周而复始地进行“总线请求——总线应答——总线传输——总线释放”的循环,直到指定的数据全部传完。相应地,DMA控制器的地位也在总线从属性和总线主控性之间交替变化
必须保证在整个传输过程中请求有效且没有更高优先权的总线主控器争夺总线控制权

请求方式
请求传输方式指在DMA传输过程中,(非意外情况下总线仲裁逻辑将不会收回总线控制权)如果外部请求有效DMA将保持总线申请,数据得以连续传输;如果外部请求无效DMA将撤销总线申请,交还总线控制,等到下一次外部请求有效才发出总线申请,获得许可后继续数据传输
请求传输方式允许请求对象打断DMA数据传输过程,去完成特殊处理或进行数据的准备,然后再进行DMA请求,请求DMA接着被打断的DMA过程进行数据传输
请求传输方式也允许在DMA传输过程中,总线仲裁逻辑因为(非DMA主动撤销总线申请)特殊情况收回总线控制权,但在处理完特殊情况后总线仲裁逻辑应该授予DMA总线控制权,让DMA完成被中断DMA过程。在请求传输方式下,一个完整的数据交换过程可以因为数据交换请求的不连续性分成若干个子过程完成

块传输方式
块传输方式与请求传输方式不同之处在于DMA在数据传输过程中,将不理会外部请求是否有效而保持总线申请,直到数据传送完毕才撤销总线申请,交还总线控制权。
请求对象发出一次有效的DMA请求以后,在DMA传输过程中不必再保持请求有效,因此请求对象无法中断DMA传输过程
在块传输方式下,一般不希望总线仲裁逻辑在DMA传输过程中收回总线控制权。因为在DMA传输过程中请求对象可能不再发出DMA请求,如果总线仲裁逻辑收回总线控制权打断DMA过程,即使总线仲裁逻辑再授予DMA总线控制权,DMA也将无法接着被中断的DMA过程进行数据传输,从而导致数据传输出错
因此,在块传输方式下不能轻易地中断DMA传输过程。在块传输方式下,值得注意的是总线仲裁器必须防止一路DMA长期占用总线导致其它DMA任务阻塞的问题


第八章:WatchDog定时器

t_WatchDog = 1/( PCLK / (预分频值 + 1) / 分频值)
T = 计数值(WTCNT初值 - WTCNT当前值) * t_WatchDog
wtd_operate(1,1,0,1,99,100000000,100000000); //复位使能


第九章:UART接口和ADC转换器

串行通信:一条信息的各位数据被按逐位按顺序传送
并行通信:一条信息的数据可以按照多位传送,有更多的信号地线

A/D转换器的基本原理:
模/数转换一般分为采样、保持、量化和编码四个步骤

采样过程:
模拟电子开关S在采样脉冲CLK的控制下重复接通、断开
S接通时,ui(t)对电容C充电,为采样过程
S断开时,C上的电压保持不变,为保持过程
在保持过程中,采样得到的模拟电压经数字化编码电路转换成一组n位的二进制数输出,即得到已经转换后的数字信号

A/D转换器的主要技术指标:

  1. 分辨率。A/D转换器的分辨率用输出二进制数的位数表示,位数越多,误差越小,转换精度越高
  2. 相对精度。相对精度是指A/D转换器实际输出数字量与理论输出数字量之间的最大差值,通常用最低有效位LSB的倍数来表示
  3. 转换速度。转换速度是指A/D转换器完成一次转换所需的时间

第十章: I2C和SPI接口

I2C总线的特点:
具有两条总线线路:串行数据线SDA和串行时钟线SCL
每个连接到总线上的器件都可以通过唯一地址联系主机
它是一个真正的多主机总线,数据传输通过冲突检测和仲裁防止数据被破坏
串行的8位双向数据传输位速率更高
连接到相同总线的IC数量只受到总线最大电容400 pF的限制

I2C总线在传送数据的过程中共有三种类型的信号:启动信号、结束信号和响应信号
(1) 启动信号(S):SCL为高电平时,SDA由高电平向低电平跳变,开始传输数据
(2) 停止信号§:SCL为低电平时,SDA由低电平向高电平跳变,结束传输数据
(3) 响应信号(ACK):接收器在接收到8位数据后,在第9个时钟周期时,拉低SDA电平

SPI接口的四种信号:
(1)  MOSI—主器件数据输出,从器件数据输入
(2)  MISO—主器件数据输入,从器件数据输出
(3)  SPICLK—时钟信号,由主器件产生
(4)  CS—从器件使能信号,由主器件控制

SPI控制寄存器的主要特性如下:
全双工通信方式
具有8/16/32位移位寄存器用于收/发
支持8位、16位、32位总线接口
支持摩托罗拉SPI协议和美国国家半导体公司的Microwire串行接口(SPI的精简接口)
支持两个独立的收/发FIFO
支持主机模式和从机模式
支持无发送操作时接收数据操作
最大收/发频率高达50 MHz

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值