文档介绍:I
摘 要
对于小车的控制,即是对于电机的控制。电机作为机电能量转换装置,其应用范围已普及国民经济的各个领域以及人们的日常生活中,所以怎么更好的对电机进行控制就显得尤为重要。基于Cortex- M3内核的STM32F10x系列芯片是度。
1
第1章 绪论
STM32芯片介绍
2006年ARM公司推出了基于ARMv7架构的Cortex系列的标准体系结构,以满足各种技术的不同性能要求,包含A、R、M三个分工明确的系列[1]。其中,A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列适合实时系统;M系列那么专门针对低本钱的微控制领域。Cortex-M3是首款基于ARMv7-M体系结构的32位标准处理器,具有低功耗、少门数、短中断延迟、低调试本钱等众多优点。它是专门为在微控制系统、汽车车身系统、工业控制系统和无线网络等对功耗和本钱敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了编程的复杂性,集高性能、低功耗、低本钱于一体[2]。半导体制造厂商意法半导体ST公司是ARM公司Cortex-M3内核开发工程一个主要合作方,2007年6月11日ST公司率先推出了基于Cortex-M3内核的STM32系列MCU。本章将简要介绍STM32系列处理器的分类、内部结构及特点,并对本设计中重点应用的通用定时器做进一步分析。
STM32处理器的分类
STM32系列处理器目前分为2个系列。STM32F101是标准型系列,工作在36MHZ;STM32F103是增强型系列,工作在72MHZ,带有更多片内RAM和更丰富的外设。这两个系列的产品拥有相同的片内Flash选项,在软件和引脚封装方面是兼容[3]。
标准型系列是STM32处理器入门产品,其价格仅相同于16位MCU却拥有32位MCU的性能,其外设的配置能提供优秀的控制和联接能力。增强型系列产品那么将32位MCU的性能和成效引向一个新的级别。内含的Cortex-M3内核工作在72MHZ,能实现高端运算,其外设的配置能提供极好的控制和联接能力。
STM32全系列处理器拥有的脚对脚、外设及软件的高度兼容性,这给其应用带来全方位的灵活性,可以在不必修改原始框架及软件的条件下,将应用升级到需要更多的存储空间,或精简到使用更少的存储空间,或改用不同的封装规格。
2
对于使用同一平台进行多个工程的开发而言,STM32更是一种非常好的选择。因为在STM32全系列产品中,既有适合仅需少量的存储空间和引脚,也有满足需要更多的存储空间和引脚;既有适于高性能应用的,又有满足低功耗要求的;既有适合低本钱简单应用,也有满足高端复杂应用的。全系列兼容,使得工程之间的代码重用和代码移植变得非常方便。
STM32处理器的内部结构及特点
STM32F103系列微处理器是首款基于ARMv7-M体系结构的32位标准RISC 〔精简指令集〕处理器,提供很高的代码效率,在通常8位和16位系统的存储空间上发挥了ARM 内核的高性能。该系列微处理器工作频率为72MHz,内置高达128K 字节的Flash存储器
和20K 字节的SRAM,具有丰富的通用I/O 端口。。
STM32F10x内部结构图[4]
STM32F103系列微处理器主要资源和特点如下[5]:
1. 多达51个快速I /O 端口,所有I/O口均可以映像到16个外部中断, 几乎所有端口都允许5V 信号输入。每个端口都可以由软件配置成输出〔推挽或开
4
漏〕、输入〔带或不带上拉或下拉〕或其它的外设功能口。
2. 2个12位模数转换器,多达16个外部输入通道,转换速率可达1MHz,转换范围为0~ 36V;具有双采样和保持功能;内部嵌入温度传感器
。
3. 灵活的7路通用DMA 可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输,无须CPU 任何干预。通过DMA可以使数据快速地移动,这就节省了 CPU 的资源来进行其他操作。DMA 控制器支持环形缓冲区的管理,防止了控制器传输到达缓冲区结尾时所产生的中断。它支持的外设包括:定时器、ADC、SPI、I2C和USART 等。
4. 调试模式:支持标准的20脚JTAG 仿真调试以及针对Cortex- M3内核的串行单线调试〔SWD〕功能。通常默认的调试接口是JTAG 接口。
5. 含有丰富的通信接口:三个USART异步串行通信接口、两个I2C 接口、两个SPI接口、一个CAN 接口和一个USB接口,为实现数据通信提供了保证。
6. 内部包含8个定时器。在本设计中电机调速通过定时器的PWM功能实现。这将在下一节做进一步介绍。
TIMx定时器介绍