ARM单片机知识点总结

这个PDF文件是《基于ARM的单片机应用及实践——STM32案例式教学》的第一章,主要介绍了计算机发展史、计算机体系结构、单片机发展史、以及ARM、Cortex和STM32的简介。下面是各部分的重点内容和考试可能出题的知识点:

  1. 计算机发展史
    • 1946年,世界上第一台计算机ENIAC诞生,这预示着科学家开始从繁重的计算工作中解放出来。
    • 图灵的基本思想和图灵机模型奠定了现代计算机发展的理论基础,它的贡献包括确定了计算的能力范围,以及不同技术实现的理论上具有相同的计算能力等。
  2. 计算机体系结构
    • 冯·诺依曼体系结构是计算机体系结构的重要起点,包括存储器、运算器、控制器、输入设备和输出设备五大部分。
    • 随后的发展包括哈佛结构、改进型冯·诺依曼架构等,以及流水线技术、并行处理、层次化设计等。
  3. 单片机发展史
    • 从1958年TI公司发明第一块集成电路到现在,单片机已经经历了从简单的控制器到现在强大功能的转变。
    • 考试可能会关注单片机的发展里程碑、重要的单片机系列及其特点。
  4. ARM体系结构和STM32
    • ARM体系结构的特点是体积小、低功耗、低成本、高性能,以及指令执行速度快等。
    • STM32是基于ARM核心的一系列微控制器,它具有高性能、低功耗等特点,并广泛应用于嵌入式系统。
    • 特别注意ARM和STM32的不同型号和它们的特点,这些细节经常是考试的重点。
  5. 嵌入式系统开发:讨论了嵌入式系统的发展,受社会需求和先进技术的推动。包括工程设计和开发的各个方面,如需求分析、体系结构设计、详细设计和测试反馈。

第二章讨论了Cortex-M3处理器的结构和功能。以下是针对考试的重要知识点汇总:

  1. 基本架构
    • Cortex-M3基于哈佛架构,指令和数据使用独立的总线,与ARM7系列的冯·诺依曼架构不同。
    • 支持多操作并行执行,提高了应用程序的执行速度。
  2. 处理器特性
    • 集成了内核和高级系统外设的分级处理器。
    • 拥有哈佛体系结构,包含三级流水线和分支预测功能。
    • 支持Thumb®-2和传统Thumb指令集。
    • 包含算术逻辑单元(ALU),支持硬件除法和单信号周期乘法。
    • 可配置中断控制器,总线矩阵,先进的调试组件,以及可选的存储器保护单元(MPU)和嵌入式跟踪宏单元(ETM)。
  3. 流水线和应用范围
    • 三级流水线设计,用于各类设备如通用MCU、智能玩具、个人电子设备,以及低功耗和高性能设备。
  4. 中断处理和控制器
    • 支持嵌套向量中断控制器(NVIC),实现低延迟和高效的异常处理。
    • 支持配置多达240个外部中断,具有动态优先级调整。
  5. 寄存器
    • 包含13个通用寄存器(R0-R12),分组的堆栈指针SP,链接寄存器R14,程序计数器R15和特殊用途程序状态寄存器xPSR。
    • 堆栈指针有两个版本:主堆栈指针(MSP)和进程堆栈指针(PSP)。
  6. 存储格式和访问
    • 支持小端和大端格式访问数据。
    • 有一个固定的存储器映射,便于软件移植。
    • 存储器访问属性包括可缓冲,可缓存,可执行和可共享等。
  7. 异常处理
    • 异常是由执行指令时的错误条件产生的故障。
    • Cortex-M3和NVIC根据优先级处理所有异常,支持末尾连锁中断技术,减少状态保存和恢复的指令。
  8. 指令集
    • 不支持ARM指令,但支持所有ARMv6 Thumb指令。
    • 提供了详细的Thumb-2指令支持列表。
  9. 存储器映射和位段操作
    • 地址空间为4GB,支持位带操作,提供原子访问单个位的功能。
    • 映射公式说明了如何将别名区中的字与bit-band区中的对应位关联。

了解这些概念对于理解Cortex-M3处理器的结构和功能至关重要,尤其是在准备相关考试时。这些知识点涵盖了处理器的基本架构,性能特征,以及关键的系统组件和操作机制。请确保理解每个部分的具体功能和作用,这将有助于你在考试中应对有关Cortex-M3处理器的问题。

根据你提供的PDF文件,第三章主要介涉及STM32最小系统的设计。以下是该章节的重点内容,这些可能会在考试中出现:

3.1 STM32F10x系列产品简介

  • STM32F103系列芯片: 描述了其基本架构,包括核心(Cortex-M3 CPU),存储器(Flash Memory, SRAM),各种外设(如DMA, PWM Timer, USART, SPI, USB等)和调试系统(JTAG/SW Debug)等。
  • 核心性能: Cortex-M3主要性能指标,包括功耗和效能对比。

基于Cortex-M3的最小系统

  • 最小系统定义: 在尽可能减少上层应用的情况下,实现系统最小化运行的模块配置。
  • 组成: 包括电源、时钟、复位电路、存储系统、调试系统等。
  • 模块细节:
    • 时钟模块:描述了时钟频率的提供和倍频过程。
    • 复位模块:包括电源复位、系统复位、备份区域复位等。
    • 电源系统:涵盖了不同电源管理和控制策略。
    • 调试系统:介绍了JTAG模块和UART模块的功能。
    • 存储系统:强调了Flash存储模块和SDRAM模块的作用。

STM32的时钟系统

  • 时钟源: 包括高速外部时钟(HSE)、高速内部时钟(HSI)、低速外部时钟(LSE)和低速内部时钟(LSI)。
  • 时钟控制: 详细介绍了如何通过倍频、分频以及选择不同的时钟源来控制系统时钟。
  • 低功耗模式: 包括睡眠模式、停止模式和待机模式,每种模式下的功耗和功能都有所不同。

这一章节的知识点非常适合在考试中考查,因为它涉及了理论知识和实践技能的结合,特别是在电源管理、时钟系统设计以及最小系统组成等方面。你在复习时应该重点理解每个模块的功能、工作原理以及它们如何相互配合工作,这样可以在考试中更好地应用这些知识点。

第4章《MDK-ARM软件入门》详细介绍了MDK-ARM软件的使用和一些编程技巧。以下是该章节的重点内容,特别适合准备考试时复习:

  1. MDK-ARM软件简介:
    • MDK是Keil公司开发的ARM开发工具,支持Cortex-M、Cortex-R4、ARM7和ARM9系列微控制器。
    • 包括Keil C编译器、宏汇编器、调试器、实时内核等组件。
    • 适用于专业和初学者,提供GUI库支持、TCP/IP网络套件等。
  2. 新建MDK工程:
    • 详细介绍了如何新建MDK工程,包括安装开发环境、调试驱动程序、创建和配置工程、编写程序和调试。
    • 介绍了工程文件的结构,如CMSIS文件夹、FWLIB文件夹、Project文件夹等,及其作用。
  3. 标准库文件下载和工程创建:
    • 介绍了如何下载STM32标准外设软件库和创建文件夹(如CMSIS、FWLIB等)。
    • 说明了如何在Keil5软件中创建工程,包括选择芯片、配置MDK驱动和ST外设文件等。
  4. Keil5工程创建:
    • 提供了创建工程的具体步骤,如打开Keil5软件、选择保存位置、选择芯片、配置环境等。
    • 介绍了如何将源文件和头文件添加到工程中,以及编译和调试的步骤。
  5. 编程技巧:
    • 介绍了文本美化、TAB键的使用、快速定位函数/变量、快速注释/消注释等技巧。
    • 通过实例说明了如何参考MDK的示例代码。
  6. 小结:
    • 总结了本章内容,强调了MDK-ARM的重要性和实用性。
    • 强调了程序命名规则和编程技巧的重要性。

以上内容应该是考试中的重点,特别是关于MDK-ARM工具的使用、工程创建和编程技巧。建议重点复习这些部分,并理解各个概念和步骤。

第五章《GPIO及外部中断的使用》的重点内容如下:

  1. GPIO简介:
    • GPIO是通用输入输出端口的简称,通过软件控制其输出和输入。
    • STM32F103VET6有5组IO口,总共80个多功能双向IO口。
    • GPIO端口包含配置寄存器、数据寄存器、位置位/复位寄存器、复位寄存器和锁定寄存器。
  2. GPIO功能描述:
    • 每个GPIO端口有32位配置寄存器和数据寄存器。
    • IO口可以自由编程,但必须按32位字访问。
    • GPIOx_BSRR和GPIOx_BRR寄存器允许独立访问GPIO寄存器。
  3. STM32的GPIO模式:
    • 有8种模式(4种输入模式和4种输出模式)。
    • 每个I/O端口位支持3种最大翻转速度(2MHz、10MHz、50MHz)。
  4. 输入模式:
    • 浮空输入、上拉输入、下拉输入和模拟输入。
    • 每种输入模式的特点和应用场景。
  5. 输出模式:
    • 开漏输出、推挽输出、复用开漏输出、复用推挽输出。
    • 每种输出模式的特点和应用场景。
  6. GPIO控制实例:
    • 如LED闪烁、跑马灯和按键输入等。
  7. 外部中断和中断控制器:
    • 每个I/O口可以作为中断输入。
    • 配置系统向量中断控制器(NVIC)的详细步骤。
    • 外部中断实例—按键输入。
  8. 位运算:
    • 对于系统外设配置,如左移运算符、右移运算符、按位与、按位或、取反和异或等的使用。
  9. 库函数:
    • GPIO寄存器的结构体及其具体使用方法。

考试重点可能涉及GPIO的基本概念、不同模式的特点和应用、外部中断的配置和处理、以及位运算在GPIO配置中的应用。建议深入理解每种模式的特点和适用场景,熟悉外部中断的配置流程,并掌握库函数的使用。

第六章《STM32 定时器的使用》详细介绍了STM32的定时器,其主要内容包括:

  1. 定时器概述
    • 定时器用于计数输入时钟,并在计数值达到设定值时触发中断。
    • 包含16位计数器、预分频器、自动重装寄存器的时基单元,可实现长达59.65秒的定时。
    • 功能包括内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等。
  2. 定时器分类
    • 高级定时器:TIM1和TIM8,适用于电动机控制。
    • 通用定时器:TIM2至TIM5,功能多样。
    • 基本定时器:TIM6和TIM7,主要用于产生DAC触发信号。
    • 看门狗定时器和系统嘀嗒定时器SysTick。
  3. 通用定时器特点
    • 可设定向上、向下、向上/下计数模式。
    • 支持中断/DMA,事件触发包括更新、输入捕获等。
    • 可用于测量输入信号脉冲长度或产生输出波形。
  4. 定时器编程及实训
    • 配置步骤包括时钟使能、设置自动装载寄存器和预分频器寄存器值、允许更新中断等。
    • 特殊工作模式如输入捕获模式、PWM输入模式、输出比较模式等。
    • 实训案例,例如定时器控制跑马灯、PWM电动机控制等。

针对考试,需要特别关注以下几个方面:

  • 定时器的基本原理和分类。
  • 通用定时器的配置步骤和特殊工作模式。
  • 高级定时器和基本定时器的特点。
  • 实训案例中的具体编程方法和应用场景。

这些内容涵盖了STM32定时器的使用,是考试中可能出现的重要知识点。

第七章主要介绍了STM32的A/D转换模块。以下是此章节的重点内容,特别是考试可能会涉及的知识点:

  1. A/D转换原理和类型
    • 积分型:通过积分器将输入电压转换成数字表示,主要用于需要高精度测量的场合,如数字电压计。
    • 逐次比较型:采用高速高精度比较器,连续比较模拟输入和DAC的输出,适用于低功耗、高分辨率系统。
    • 并行比较型/串并行比较型:多个比较器同时工作,实现快速转换,适用于高速应用如视频AD转换。
    • Σ-Δ调制型:将输入电压转换成时间信号,通过数字滤波处理得到数字值,适用于音频、图像处理等领域。
    • 电容阵列逐次比较型:使用电容矩阵生成模拟输出电压,适用于高精度单片ADC。
    • 压频变换型:将模拟信号先转换为频率,再转换为数字量,具有高分辨率和低功耗特点。
  2. A/D转换器的主要技术指标
    • 转换范围、分辨率、绝对精度、转换时间和速率、量化误差、偏移误差、满刻度误差、线性度等。
  3. STM32芯片内部集成的12位ADC
    • 主要特征:12位分辨率、单次和连续转换模式、自动扫描、自校准、数据对齐、可编程采样间隔等。
    • 转换模式:单次转换、连续转换、扫描模式、间断模式等。
    • 寄存器配置:如ADC控制寄存器(ADC_CR1和ADC_CR2)和采样时间寄存器(ADC_SMPR1和ADC_SMPR2)的配置。
  4. STM32内部温度传感器的使用
    • 介绍了如何使用STM32内部温度传感器测量环境温度,包括相关寄存器配置和温度计算公式。

这些内容覆盖了本章的核心知识点,适合作为考试的复习重点。

这一章节主要介绍了基于 Cortex-M3 的 STM32 系列微控制器中的几个重要的外设接口模块,包括 USART 模块、SPI 模块、I2C 模块、CAN 模块和 USB 模块,并提供了丰富的示例程序和开发板设计。

  1. USART 模块:USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是一个全双工的通用同步/异步串行收发模块,具有高度的灵活性。它分为时钟发生器、数据发送器和接收器三部分,所有模块共享控制寄存器。USART 提供了与使用 NRZ 异步串行数据格式的外部设备进行全双工数据交换的灵活方法,并支持多种通信协议和操作。

  2. SPI 模块:SPI(Serial Peripheral Interface)是一种高速的、全双工、同步的通信总线,特点包括节约芯片管脚、简单易用、支持主从机模式、可编程频率时钟、写冲突保护和总线竞争保护等。

  3. I2C 模块:I2C(Inter-Integrated Circuit)是一种两线式串行总线,用于连接微控制器及其外围设备。它由数据线SDA和时钟线SCL构成,可以进行高速双向传送。I2C 总线传送数据时有三种类型的信号:开始信号、结束信号和应答信号。此模块可以工作在从发送模式、从接收模式、主发送模式和主接收模式。

  4. CAN 总线模块:CAN(Controller Area Network)是一种高可靠性和良好错误检测能力的现场总线,广泛应用于汽车计算机控制系统和工业环境中。

  5. USB 模块:USB(Universal Serial BUS)是一个外部总线标准,用于规范电脑与外部设备的连接和通信。USB接口支持即插即用和热插拔功能,使用差分电压进行数据传输。USB 模块包括多种子模块,如串行接口引擎、定时器、分组缓冲器接口等。

在准备考试时,重点应放在理解每个模块的功能和原理,特别是USART、I2C和USB模块,因为这些模块的实际应用场景较广。同时,熟悉这些模块的基本操作和设置,例如USART模块的波特率设置和GPIO配置,也是非常重要的。

更新时间:

留下评论