资源描述
,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,基于STM32的嵌入式系统原理和设计,要点,STM32,性能和结构,CortexM3,处理器,输入输出端口,GPIO,引脚、电源和时钟树,模数和数模转换,中断,定时器,DMA,灵活的,FSMC,同步和异步串行接口,第一章 STM32基本原理,学习,STM32,需要从原理入手,为硬件、软件、操作系统、工程实践学习打下一个良好的基础。,本章的第一部分是,STM32,的性能和结构,然后是对,Cortex M3,处理器的分析,之后是地址映射、引脚功能描述、电源连接、复位和时钟控制,RCC,、输入输出端口,GPIO,、,ADC,和,DAC,、中断、,DMA,、定时器、同步串行通信,SPI,和,I2C,、同步异步串行通信,USART,,最后是灵活的存储器控制,FSMC,。,通过本章的学习,既可以掌握,STM32,的全貌,也可以学习到重要的关于,Cortex M3,处理器内核和,STM32,器件的细节信息,1.1 STM32,性能和结构,1.1.1,总体性能,以高密度的,STM32F103VET6,为例,能适合一般项目的需要,价格在,30,元以下,避免由于,FLASH,和,RAM,太小造成的瓶颈。,VET6,的含义为:,V,的含义为,100pins,即,100,个管脚。,E,表示,512KB,的,FLASH,。,T,表示,LQFP,封装。,6,表示,-40,到,85,度的温度范围。,1.1 STM32,性能和结构,1.1.2,系统结构分析,1.1 STM32,性能和结构,1.1.2,系统结构分析,(1)Cortex-M3 CPU,所在之处,是司令部是大脑。,(2),总线矩阵,(3)FLASH,通过,FLASH,接口连接,CPU,。,(4),静态存储器,SRAM,通过总线矩阵连接,CPU,。,(5),复位和时钟控制,RCC,。,(6),低速,APB1,外设,。,(7),低速,APB2,外设。,(8),可变静态存储控制器,FSMC,。,(9)DMA,通道。,1.1 STM32,性能和结构,1.1.3,芯片封装和管脚概述,1.2 Cortex M3,处理器,1.2.1 Cortex-M3,的定位和应用,从图,1.2.1,可见,嵌入式处理器核,CortexM3,,容量,(Capability),和执行功能,(Performance Functionality),都居中,但其性价比是当今最好的品种之一,也是现在最流行的品种之一。,1.2 Cortex M3,处理器,1.2.2 Cortex-M3,处理器结构,1.2 Cortex M3,处理器,1.2.2 Cortex-M3,处理器结构,1.2 Cortex M3,处理器,1.2.3 Cortex-M3,寄存器,1.2 Cortex M3,处理器,1.2.3 Cortex-M3,寄存器,1.2 Cortex M3,处理器,1.2.3 Cortex-M3,寄存器,特殊功能寄存器,1.2 Cortex M3,处理器,1.2.3 Cortex-M3,寄存器,1.2 Cortex M3,处理器,1.2.4,堆栈,1.2 Cortex M3,处理器,1.2.4,堆栈,1.3 STM32,存储地址映射,存储地址映射,P12,图,1-7,1.3 STM32,存储地址映射,1.3 STM32,存储地址映射,代码分析,,P13,代码,1-2,到,1-6,说明如何访问串口寄存器来实现发送数据到串口,1.4,引脚功能描述,引脚功能来源于数据手册,注意复用功能,1.6,复位和时钟控制,RCC,复位分三种形式,电源复位、系统复位和备份区域复位。,1.6.1,复位,1.6,复位和时钟控制,RCC,通常,,STM32,主频在,72M,而外时钟选择,8M,,因此必须通过倍频获得。,1.6.2,时钟源,1.6,复位和时钟控制,RCC,时钟树图解了各个设备时钟的来源。,参考,P19,页图,1-11 STM32,时钟树。,问题:,STM32,定时器,1,是,APB2,外设,请从晶振开始,分析器定时器,1,时钟的来源,。,那么定时器,2,呢?,1.7,输入输出端口,GPIO,1.7.1,常规输入输出,GPIO,GPIO,是可编程输入,/,输出端口,1.7,输入输出端口,GPIO1.7.1,常规输入输出,GPIO,GPIO,端口的模式模式是输入浮空,为什么这样设计?,1.7,输入输出端口,GPIO1.7.2 GPIO,复用,可以将具有复用功能的引脚的功能进行重新配置,例如配置一些管脚为,ADC,的管脚,这些管脚就不能再作为,GPIO,使用。这个过程叫做复用重映射。,8,个,ADC,通过的选择过程,P21-22,。,问题:根据,P21,表,1-7,,如果需要选择一个引脚做,ADC,输入引脚,可以选择哪个引脚呢?为什么?,1.8,模数转换器和数模转换器,1.8.1,模,-,数转换器,1.,模数转换器框图分析,P23,图,1-13,。,2.,常规通道和注入通道。,3.,参考源。,1.8,模数转换器和数模转换器,1.8.2,数,-,模转换器,1.,数模转换器框图分析,P24,图,1-15,。,2.,参考源。,3.,信号发生器功能。,1.9中断,中断处理的优越性,现实生活中的中断的例子,中断嵌套,现实生活中的中断嵌套,STM32,的先占优先级和从优先级,嵌入式操作系统与中断的关系,1.9,中断,1.9.1 STM32,的中断通道和中断向量处理,1.STM32,中断通道。,表,1-8,中的中断通道分析,2.,启动代码设置中断向量表,代码,1-7,分析,3.,复位中断的处理,代码,1-8,分析,1.9,中断,1.9.2 STM32,外部中断,STM32,外部中断的来源。,分析,P29,图,1-16,说明全部中断输入线的来源。,是否可以用,PA0,和,PB0,同时作为外部中断?,是否可以用,PA0,和,PB1,同时作为外部中断?,为什么?,1.9,中断,1.9.3 STM32,中断优先级分组,优先级越高,数值越低!,抢占优先级相同的任务,响应优先级高的先响应,但不能互相抢占;抢占优先级不同的,可以抢占低优先级的,CPU,。,分析,P30,串口串口和按键中断的例子,假设将优先级互换会产生什么样的结果呢?,1.10 直接存储器存取DMA,直接存储器存取,(DMA),用来提供在外设和存储器之间或者存储器和存储器之间的高速的无需,CPU,干预的数据传输。,1.10 DMA,1.10.1 DMA,解析,1.,图,1-17DMA,框图解析,2.,从内存到外设或从外设到内存的,DMA,传输。,3.,传输申请和仲裁。,1.10 DMA,1.10.2 DMA,通道和请求,1.DMA,通道分配,P32,表,1-10,和表,1-11,2.,仲裁机制的作用和功能。,3.,通道号和优先级。,P33,图,1-18.,1.11,定时器,1.11.1,系统滴答定时器,SysTick,1.SysTic,定时器的位置和功能,2.SysTic,定时器的,4,个寄存器 表,1-12,表,1-15,3.SysTic,定时器编程(寄存器级别)。,P36,代码,1-10.,4.SysTic,定时器编程(库函数级别)。,P36,代码,1-11.,库函数实现原理,P36,代码,1-12,1.11,定时器,1.11.2 STM32,常规定时器,STM32,的常规定时器分为三类,包括,1.,高级控制定时器,TIM1,和,TIM8,2.,通用定时器,TIM2,、,TIM3,、,TIM4,、,TIM5,3.,基本定时器,TIM6,、,TIM7,三种定时器功能,P39,表,1-16,1.12,同步串行口,SPI,和,I2C,1.12.1 SPI,串行外设接口,SPI(Serial Peripheral Interface),是一种同步串行外设接口,它可以使,MCU,与各种外围设备以串行方式进行通信、交换信息。,常,SPI,通过,4,个引脚与外部器件相连:,1.12,同步串行口,SPI,和,I2C,1.12.1 SPI,SPI,时钟周期,在一个,SPI,时钟周期内,会完成如下操作:,1),主机通过,MOSI,线发送,1,位数据,从机通过该线读取这,1,位数据;,2),从机通过,MISO,线发送,1,位数据,主机通过该线读取这,1,位数据。,这个,SPI,时钟周期,就是,SCK,信号的时钟周期。因此,该时钟的频率决定了,SPI,的传输速率。,SPI,主从模式,SPI,接口支持多从机模式,如图,1-19.,1.12,同步串行口,SPI,和,I2C,1.12.1 SPI,SPI,框图分析,1.12,同步串行口,SPI,和,I2C,1.12.1 SPI,SPI,波形图,1.12,同步串行口,SPI,和,I2C,1.12.2 I,2,C,1.I,2,C,总线是一个多主机的总线。这就是说可以连接多于一个能控制总线的器件到总线。主机通常是微控制器,例如,STM32,。考虑数据在两个连接到,I,2,C,总线的微控制器及三个,I2C,外设之间传输的情况如图,P43,页,1-22,:,1.12,同步串行口,SPI,和,I2C,1.12.2 I,2,C,1.12,同步串行口,SPI,和,I2C,1.12.2 I,2,C,1.12,同步串行口,SPI,和,I2C,1.12.2 I,2,C,1.12,同步串行口,SPI,和,I2C,1.12.2 I,2,C,1.13,同步异步收发器,USART,1.13,同步异步收发器,USART,1.13,同步异步收发器,USART,1.14,灵活的,FSMC 1.14.1 FSMC,概述,1.14,灵活的,FSMC 1.14.1 FSMC,概述,1.14,灵活的,FSMC 1.14.1 FSMC,概述,1.14,灵活的,FSMC 1.14.1 FSMC,概述,当扩展存储器的时候,,FSMC,可以将外部存储器划分为,256MB,的连续的,4,个存储块,如,1.28,所示。,1.14,灵活的,FSMC 1.14.2 FSMC,控制液晶控制器,FSMC,对外部设备的地址映像从,0 x6000 0000,开始,到,0 x9FFF FFFF,结束,一共,4,个地址块,每个地址块,256MB,,每个地址块又分成,4,个,64MB,的分地址块。,选择,NOR,这个块连接,TFT,控制器,采用,8080,接口,(,接口详细信息见液晶驱动板设计部分,),。,8080,接口需,16,跟数据线,可以用,FSMC_D15.0,做数据线。,写信号是,FSMC_NWE,读信号是,FSMC_NOE,。,地址信号的设置,液晶控制器,RS,信号的设置,作业,P48 1,3,5,7,8,谢谢!,亮点嵌入式,
展开阅读全文