初步了解ARM体系结构,并用作复习、回顾。这一部分MCU工程师必学,结合开发板、芯片手册去学并且要编程实践
文章目录
ARM
一个公司名称
从事基于RISC技术的芯片设计开发
知识产权供应商
一类微处理器
高性能
低功耗
低成本
一种技术
RISC
精简指令集
计算机结构更简单
处理速度更快速
一个周期一条指令,长度固定
通用寄存器更多
40个寄存器
33个通用寄存器
6个状态寄存器
1个程序计数器
通过指令进行寄存器和外部存储器之间的数据传输
CISC
复杂指令集
侧重于硬件执行指令的功能性
硬件结构较复杂、成本、芯片体积增加
多个周期一条指令,长度不固定
有特定目的的专用寄存器
直接处理外部存储器中的数据
ARM产品系列丰富
cortex系列
A:高性能
R:高实时性
M:轻量型、低功耗、低成本
芯片选型的一般原则
功能
性能
价格
熟悉程度、开发资源
操作系统支持
升级
供货稳定
ARM的基本数据类型
32位架构
字节:8位
半字:16位
字:32位
支持大端、小端两种内存模式
内核工作模式
决定哪些寄存器可以操作
用户模式
特权模式
系统模式
异常模式
快速中断模式
外部中断模式
特权模式
数据访问中止模式
未定义指令中止模式
监控模式
存储管理单元MMU
是较高级操作系统移植的前提
提供虚拟地址访问
高速缓冲存储器Cache
提升存储性能,当执行写操作时,将数据写入缓存区,等待CPU空闲时,再写入主存储器中对应的位置
流水线
取指令
译码
取操作数
计算
写回寄存器
程序状态寄存器
低八位为控制位,反映处理器工作状态
ARM汇编指令和寻址方式
ARM汇编程序设计
GPIO
通用IO接口
查引脚数据寄存器
查看地址映射表
用结构体封装
通过成员变量访问寄存器
ARM处理器中断与异常
7种异常
复位异常优先级最高
异常向量表,一般以0x0地址开始
串行通信
串行
一根线,一位一位传输数据
并行
多根线,数据的各个位同时传输
异步串行和同步串行的数据格式
异步串行
指的是字符与字符之间异步,单个字符的每一个二进制位之间是同步的
一个信息帧分为四个部分
1起始位
5~8数据位
1奇偶校验位
1~2停止位
同步串行
数据与数据之间的发送,有先后顺序
一个信息帧分为三部分
2个字符表示起始标志
n个连续数据
2个字节的循环冗余校验码
PWM定时器
可以定时触发中断、标记事件之间的间隔、输出PWM信号等
PWM是利用处理器的数字输出来对模拟电路进行控制的技术
一般由时钟源的信号经过分频器给到定时器
定时器内部有递减计数器,经过一个时钟周期,产生定时器中断,然后自动装载递减计数器
通过计算,设置多级分频、输出指定频率的PWM波,驱动无源蜂鸣器
看门狗定时器
用于程序异常时,强制重启系统
RTC时钟
通过外部晶振提供毫秒级时钟中断
A/D转换器
技术指标
分辨率
转换速率
量化误差
偏移误差
满刻度误差
线性度
类型
积分型
逐次逼近型
并行比较/串行比较型
电容阵列逐次比较型
压频变换型
MCU与外围设备常用的通信协议
串口
略
IIC
两根线,串行8位全双工,双向通信,可以多主机
数据线SDA
时钟线SCL
总线引脚
物理连接
信号类型
开始信号
结束信号
应答信号
总线时序
SPI
四线,串行同步,双向通信,一个主机多个从机
缺点是没有应答机制