ARM硬件结构应用1~3课件.ppt

上传人(卖家):三亚风情 文档编号:3293387 上传时间:2022-08-17 格式:PPT 页数:59 大小:1.37MB
下载 相关 举报
ARM硬件结构应用1~3课件.ppt_第1页
第1页 / 共59页
ARM硬件结构应用1~3课件.ppt_第2页
第2页 / 共59页
ARM硬件结构应用1~3课件.ppt_第3页
第3页 / 共59页
ARM硬件结构应用1~3课件.ppt_第4页
第4页 / 共59页
ARM硬件结构应用1~3课件.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 1.LPC和STM32 简介 2.STM32固件库 3.系统控制模块 4.引脚连接模块 5.GPIO操作 6.向量中断控制器 7.外中断输入LPC和STM32系列ARM硬件结构与应用 8.定时器原理及应用 9.SPI接口及应用 10.UART接口及应用 11.A/D转换器及应用 12.看门狗 13.PWM原理与应用 14.实时时钟嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院1 LPC和STM32系列简介 LPC2000系列微控制器基于ARM7TDMI-S CPU内核。支持ARM和Thumb指令集,芯片内集成丰

2、富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。简介嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院LPC2000系列ARM产品 LPC2100系列 LPC2200系列 LPC2300系列 LPC2400系列 LPC2800系列嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 器件信息器件器件引脚数引脚数片内片内RAM片内片内Flash10位位AD通道数通道数备注备注LPC21146416KB128KB4LPC21246416KB256KB4LPC221014416KB8带外部存储器接口LPC222014

3、464KB8LPC221214416KB128KB8LPC221414416KB256KB8关于LPC2000其它器件的介绍请登录“LPC2000系列ARM”专栏嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院ARM7TDMI-SCPUAHB To VPB桥桥EMCVICI2C串行接口SPI串行接口UART 0&1看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7 局部总线系统功能VPB总线 芯片内部结构 LPC2000系列微控制器包含4大部分:支持仿真的ARM7TDMI-S CPU1 与片内存储器控制器接口的ARM

4、7局部总线2 与中断控制器接口的AMB A高性能总线(AHB)3 连接片内外设功能的VLSI外设总线(VPB)4嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列 STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到512K的闪存,不同的是SRAM的最

5、大容量和外设接口的组合。STM32系列ARM产品嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 市面流通的型号有:基本型:STM32F101R6 STM32F101C8 STM32F101R8 STM32F101V8 STM32F101RB STM32F101VB 增强型:STM32F103C8 STM32F103R8 STM32F103V8 STM32F103RB STM32F103VB STM32F103VE STM32F103ZE 嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院LPC 引脚

6、描述 LPC2000系列芯片外形LPC2210/2220/2212/2214LPC2114/2124嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院STM32 引脚描述 STM32系列芯片外形STM32F103C8STM32F103VC嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院2.STM32 固件库 STM32的固件库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库,无需深入掌握细节,用户也可以轻松应用每一个外设。因此,使用本固态函数库可以大大减少用户的程序编

7、写时间,进而降低开发成本。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院2.STM32 固件库 每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用 API 驱动,API 对该驱动程序的结构,函数和参数名称都进行了标准化。所有的驱动源代码都符合“Strict ANSI-C”标准。由于整个固态函数库按照“Strict ANSI-C”标准编写,它不受不同开发环境的影响。仅对话启动文件取决于开发环境。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院2.STM32 固件库 STM32的固件库对STM32的所有资源ADC、GPIO、SP

8、I、IWDG、USART等都进行了封装,当需要使用其资源时,只需要先在固件库的基础上进行编程。这样就大大提高了产品的研发效率。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院2.STM32 固件库嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院2.STM32 固件库嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院2.STM32 固件库例子嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3 系统控制模块 1.系统控制模块功能汇总 2.系统时钟概述 3.时钟部件 晶体振荡器 4.复位 5.时钟部件 唤醒定时器 6.时钟部件 PLL(锁

9、相环)7.时钟部件 VPB分频器 8.存储器映射控制 9.功率控制嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.1 系统控制模块功能汇总 概述 一个ARM芯片中通常有很多功能部件,有一些部件是全局性的,它们状态的改变可能引起整个系统运行状态的改变,这些部件我们统一称之为系统控制模块。部件名称部件名称功能简介功能简介晶体振荡器通过外接晶振或时钟源为系统提供时钟信号复位复位使ARM内核与外设部件进入一个确定的初始状态存储器映射控制控制异常向量表的重新设方式锁相环(PLL)将晶体振荡器输入的时钟倍频到一个合适的时钟频率VPB分频器将内核时钟与外设时钟分开的部件功率控制使处理器空

10、闲或者掉电,还能关闭指定的功能部件,以降低芯片功耗唤醒定时器系统上电或掉电唤醒后,保证晶体振荡器能输出稳定的时钟信号 在这些系统控制模块中,有些部件需要外部引脚的配合,如晶体振荡器、外部复位输入。引脚名称引脚名称引脚方向引脚方向引脚描述引脚描述X1输入晶振输入晶振输入 振荡器和内部时钟发生器电路的输入,使用外部时钟源时,该引脚为时钟输入。X2输出晶振输出晶振输出 振荡器放大器的输出。RESET输入外部复位输入外部复位输入 该引脚上的低电平将使芯片复位,使I/O口和外设恢复其默认状态,并使处理器从地址0开始执行程序。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院名称描述访问存储

11、器映射控制MEMMAP存储器映射控制R/W锁相环PLLCONPLL控制寄存器R/WPLLCFGPLL配置寄存器R/WPLLSTATPLL状态寄存器ROPLLFEEDPLL馈送寄存器WO功率控制PCON功率控制寄存器R/WPCONP外设功率控制R/WVPB分频器VPBDIVVPB分频器控制R/W3.1 系统控制模块功能汇总 在系统控制模块中,有些部件需要在进行寄存器配置后才能正常工作,如存储器映射控制、锁相环、功率控制、VPB分频器。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.2 时钟系统 概述 时钟是计算机系统的脉搏,处理器核在一拍接一拍的时钟驱动下完成指令执行、状态变

12、换等动作。外设部件在时钟的驱动下进行着各种工作,比如串口数据的收发、A/D转换、定时器计数等。所以时钟对于一个计算机系统是至关重要的,通常时钟系统出现问题也是最致命的,比如振荡器不起振、振荡不稳、停振等。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.2 时钟系统 时钟系统结构 ARM微控制器的时钟系统包括四个部分:晶体振荡器、唤醒定时器、锁相环(PLL)和VPB分频器。外接晶体或外接时钟源产生稳定的时钟信号将Fosc提升到合适的频率PLL晶体振荡器VPB分频器FCCLKFPCLKfOSCFOSCCPU内核芯片外设唤醒定时器ON/OFFON/OFF1342 为系统提供基本的

13、时钟信号(Fosc)。1 在复位或处理器从掉电模式被唤醒时,为输入的时钟信号做计数延时,使芯片内部部件有时间进行初始化。2 把Fosc信号提高到一个符合用户需要的频率(Fcclk)其中Fcclk用于CPU内核。3 用于把Fcclk信号降低到一个合适的Fpclk值(也可以不降低),该信号用于外设部件。4嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.3 时钟部件晶体振荡器 概述 LPC2000系列微控制器的晶体振荡器可以使用外部时钟源(从属模式),也可以使用外接晶体和片内振荡电路(振荡模式)产生时钟。LPC2114/2124LPC2212/2214X1X2ClockCC从属模

14、式LPC2114/2124LPC2212/2214X1X2CX1CX2XTAL振荡模式嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.3 时钟部件晶体振荡器 从属模式 使用从属模式时,时钟信号通过X1引脚从外部输入,输入频率范围:150(MHz),其幅度范围为:200mV 1.8V。LPC2114/2124LPC2212/2214X1X2ClockCC从属模式嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.3 时钟部件晶体振荡器 振荡模式 使用振荡模式时,时钟信号由内部晶体振荡器和外部连接的晶体振荡产生,振荡频率范围:130(MHz)。LPC2114/2

15、124LPC2212/2214X1X2CX1CX2XTAL振荡模式嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.3 时钟部件晶体振荡器LPC2114/2124LPC2212/2214X1X2ClockCC从属模式LPC2114/2124LPC2212/2214X1X2CX1CX2XTAL振荡模式 注意:如果使用了ISP下载功能或者连接PLL提高频率,则输入的时钟频率范围必须在1025(MHz)之间。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.4 复位 概述 复位指将计算机系统中的硬件逻辑归位到一个初始的状态,比如让寄存器恢复默认值、让处理器从第一条

16、指令开始执行程序等。LPC2000系列芯片有两个复位源:1、外部复位 把nRESET引脚拉为低电平,并保持一个最小时间,引发复位 2、看门狗复位 通过设置看门狗相关寄存器,当看门狗定时器溢出后,引发复位嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.4 复位 硬件复位流程OSC0V0V处理器状态1.65V3.0V复位时间唤醒定时器计数4096个时钟Boot代码执行时间执行用户代码VDD3.3VVDD1.8V3.3V1.8V稳定时钟0.5msT0T1T2T3RESET(振荡模式,12MHz晶振)两个电源的上电顺序没有限制复位信号要保持一段时间晶振开始起振(系统上电)嵌入式系统

17、及应用嵌入式系统及应用福州大学物信学院福州大学物信学院LPC2xxxnRESETPOWERX1X2UX1t振荡器稳定所需时间芯片时钟输入信号 在芯片未上电时,芯片振荡器没有工作;1 芯片上电后,晶体振荡器开始振荡。因为振荡从开始到稳定需要一过程,所以外部复位信号至少要保持10ms;2 在晶体振荡器保持稳定振荡,或者使用有源钟振时,外部复位信号可以缩短到不小于300ns。3=10ms=300ns振荡器处于稳定工作状态3.4 复位 外部复位嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.4 复位 复位与电源上电次序 V18:数字1.8V供电电源 V18A:模拟1.8V供电电源V

18、3:数字3.3V供电电源 V3A:模拟3.3V供电电源CPU内核片内外设电源管理1.8V为内核供电,因此1.8V电源必须正常上电。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.4 复位 复位及复位芯片配置 一些微控制器自己在上电时会产生复位信号,但大多数微控制器需要外部输入这个信号。阻容式复位电路:VCC2GND111RST135U1LPC2200R110KC14.7uVCCD1VC3.3VVct电容两端电压不能突变产生低电平脉冲复位电源消失提供迅速放电回路对电容充电电容两端电压稳定为电源电压 这个电路成本低廉,但不能保证任何情况产生稳定可靠的复位信号,所以一般场合需要使

19、用CAT809、SP708和CAT1025等专门的复位芯片。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院唤醒定时器启动时钟CPU时钟信号复位或掉电唤醒激活唤醒定时器3.5 时钟部件唤醒定时器 概述 唤醒定时器能够确保振荡器和芯片内部硬件电路在处理器开始执行指令之前有足够的时间初始化。工作原理如图:对输入时钟计数计数满4096个周期后,控制开关闭合为CPU提供时钟嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.5 时钟部件唤醒定时器 概述 当给芯片加电或某个事件使芯片退出掉电模式后,振荡器就开始工作,但是需要一段时间来产生足够振幅的信号驱动时钟逻辑。振荡的

20、波形大致如下:从第一个有效时钟开始,计数4096个时钟,在此期间内部部件完成初始化振荡开始CPU开始执行指令时间(t)振幅(V)注:唤醒定时器就通过监测晶振状态来判断是否能开始可靠的执行代码。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.5 时钟部件唤醒定时器 唤醒定时器与时钟的关系 唤醒定时器检测到有效时钟信号后,计数4096个时钟脉冲,并在这段时间里初始化系统硬件。如芯片满足运行条件(Flash初始化完成、外部复位信号已撤除等),接通系统时钟,处理器开始执行指令。总之,唤醒定时器是根据晶振的情况来执行最短时间的复位,它在处理器从掉电模式中唤醒或发生了任何复位时激活。嵌

21、入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.6 时钟部件PLL(锁相环)概述 ARM芯片内部均具有PLL电路,振荡器产生的时钟Fosc通过PLL升频,可以获得更高的系统时钟(Fcclk)。输入范围1025MHz将FOSC提升到1060MHzPLL晶体振荡器VPB分频器FCCLKFPCLKfOSCFOSCCPU内核芯片外设嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院FOSC相位频率检测流控振荡器CCO2P分频M分频FCCLK1025MHz156320MHz1060MHz调整M值,实现Fosc到Fcclk的倍频检测两路输入信号的相位频率,并根据误差,输出不

22、同大小的电流信号由输入电流大小来控制其振荡频率调整P值,使CCO振荡在规定频率范围内PLL连接开关,在PLL锁定前,系统使用Fosc时钟 PLL内部结构框图嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.6 时钟部件PLL(锁相环)PLL的锁定过程 CCO的输出频率受到“相位频率检测”部件的控制,输出所需频率的过程不是一蹴而就的,而是一个拉锯反复的过程。时间(t)输出频率(f)预期频率锁定CCO的输出频率在高低起伏一段时间后渐渐稳定在了预期的频率值 输出频率稳定后即“锁定”成功 嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.6 时钟部件PLL(锁相环)

23、寄存器描述 与PLL相关的寄存器有四个,其中三个为控制寄存器,还有一个是状态寄存器。地址地址名称名称描述描述访问访问0 xE01FC080PLLCONPLL控制寄存器。最新的PLL控制位的保持寄存器。写入该寄存器的值在有效的PLL馈送序列执行之前不起作用。R/W0 xE01FC084PLLCFGPLL配置寄存器。最新的PLL配置值的保持寄存器。写入该寄存器的值在有效的PLL馈送序列执行之前不起作用。R/W0 xE01FC088PLLSTATPLL状态寄存器。PLL控制和配置信息的读回寄存器。如果曾对PLLCON或PLLCFG执行了写操作,但没有产生PLL馈送序列,这些值将不会反映PLL的当前状

24、态。读取该寄读取该寄存器提供了控制存器提供了控制PLL和和PLL状态的真实值。状态的真实值。RO0 xE01FC08CPLLFEEDPLL馈送寄存器。该寄存器使能装载PLL控制和配置信息,该配置信息从PLLCON和PLLCFG寄存器装入实际影响PLL操作的映像寄存器。WO嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 寄存器描述FOSC相位频率检测流控振荡器CCO2P分频M分频FCCLKPLLCFG.MSEL4:0PLLCON.PLLEPLLCFG.PSEL1:0PLLCON.PLLC控制寄存器PLLCONPLLCPLLE7:210PLL控制寄存器(PLLCON):PLLE:

25、PLL使能,该位为1时将激活PLL并允许其锁定到指定的频率;PLLC:PLL连接,当PLLE为1,并且在PLL锁定后,该位为1,将把PLL作为时钟源连接到CPU,否则直接使用振荡器时钟。控制寄存器PLLCFGPSEL1:0MSEL4:076:54:0PLL配置寄存器(PLLCFG):MSEL4:0:PLL倍频器值,在PLL频率计算中其值为(M-1);PSEL1:0:PLL分频器值,在PLL频率计算中其值为P。PLL状态寄存器(PLLSTAT):状态寄存器PLLSTATPLOCKPLLCPLLEPSEL1:0 MSEL4:015:11109876:54:0MSEL4:0、PSEL1:0、PLLE

26、、PLLC:读出反映这几个参数的设置值,写入无效;PLOCK:反映PLL的锁定状态。为0时,PLL未锁定;为1时,PLL锁定到指定频率。PLLCPLLEPLL功能功能00PLL被关闭,并断开连接。01PLL被激活但是尚未连接。可以在PLOCK置位后连接。10与00组合相同。避免PLL已连接,当还没有使能的情况。11PLL已经使能,并连接到处理器作为系统时钟源。PLL控制位组合:嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 寄存器描述馈送寄存器PLLFEEDPLLFEED7:0 7:0PLL馈送寄存器(PLLFEED):PLLFEED7:0:PLL馈送序列必须写入该寄存器才能

27、使PLL配置和控制寄存器的更改生效。馈送序列分两步进行,如下所示:step1.将值0 xAA写入PLLFEED step2.将值0 x55写入PLLFEED操作示例DISABLE_IRQ();/关闭中断,防止馈送序列操作被打断PLLFEED=0 xAA;/馈送序列第一步PLLFEED=0 x55;/馈送序列第二步ENABLE_IRQ();/馈送序列操作结束,打开中断注:这两个写操作的顺序必须正确,且必须是连续的VPB总线周期。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.6 时钟部件PLL(锁相环)PLL和掉电模式 掉电模式会自动关闭并断开PLL。从掉电模式唤醒不会自动恢

28、复PLL的设定,PLL的恢复必须由软件来完成。通常,首先将PLL激活并等待锁定,然后再将PLL连接。注:不要试图在掉电唤醒之后简单地执行馈送序列来重新启动PLL,因为这会在PLL锁定建立之前同时使能并连接PLL。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.6 时钟部件PLL(锁相环)PLL频率计算 Fosc为晶体振荡器的输出频率,即PLL的输入频率相位频率检测流控振荡器CCO2P分频M分频FOSCFCCOFCCO/(2p)FCCO/(2pM)123锁定之后这两个频率相等FOSC=FCCO/(2pM)连接PLL之后FCCLK=FCCO/(2p)Fcco为PLL电流控制振荡

29、器的输出频率 Fcclk为PLL最终的输出频率(也是处理器的时钟频率)Fcco经过“2P分频”部件后得到Fcco/(2p)的频率 Fcco/(2p)信号经过“M分频”部件,得到Fcco/(2pM)的频率 PLL锁定后相位频率检测的两输入端信号的频率相等 嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.6 时钟部件PLL(锁相环)PLL频率计算可以得出以下几个等式:Fosc=Fcco/(2pM)Fcco=Fosc(2pM)Fcclk=Fcco/(2p)Fcco=Fcclk(2p)最后得出PLL的输出频率(当PLL激活并连接时)为:Fcclk=MFosc 或 Fcclk=Fcc

30、o/(2P)CCO输出频率为:Fcco=Fcclk2P 或 Fcco=FoscM2P嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院相位频率检测流控振荡器CCO2P分频M分频FCCLKFOSC3.6 时钟部件PLL(锁相环)确定PLL设定的过程2.选择合适的晶振频率3.计算M值4.计算P值1.确定处理器时钟频率 选择处理器的操作频率(Fcclk)。这可以根据处理器的整体要求、UART波特率的支持等因素来决定。1 选择振荡器频率(Fosc)。Fcclk一定要是Fosc的整数倍。2 计算M值以配置MSEL位。M=Fcclk/Fosc,M的取值范围为132。实际写入MSEL位的值为M

31、-1的整数倍。3 选择P值以配置PSEL位。通过设置P值,使Fcco在定义的频率限制范围内。P必须是1,2,4或8其中的一个。4嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 PLL设置举例系统要求Fosc10MHz,Fcclk60MHz。根据这些要求:1.确定Fcclk60MHz;2.选择Fosc10MHz;3.计算M=Fcclk/Fosc60MHz/10MHz6。M-15,所以写入PLLCFG4:000101;4.计算P=Fcco/(Fcclk*2),其中Fcco为156320 MHz。当Fcco156MHz时,P=156MHz/(2*60MHz)1.3当Fcco320M

32、Hz时,P=2.67P取整数2,所以写入PLLCFG6:5=01。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 PLL设置举例PLL配置过程:uint8 PLLSet(uint32 Fcclk,uint32 Fosc,uint32 Fcco)uint8 i;uint32 plldat;i=(Fcco/Fcclk);switch(i)case 2:plldat=(Fcclk/Fosc)-1)|(0 5);break;case 4:plldat=(Fcclk/Fosc)-1)|(1 5);break;case 8:plldat=(Fcclk/Fosc)-1)|(2 5);bre

33、ak;case 16:plldat=(Fcclk/Fosc)-1)|(3 5);break;default:return(FALSE);break;PLLCON=1;PLLCFG=plldat;PLLFEED=0 xaa;PLLFEED=0 x55;while(PLLSTAT&(1 10)=0);PLLCON=3;PLLFEED=0 xaa;PLLFEED=0 x55;return(TRUE);计算PLL分频值参数是否合法使能PLL设置PLL分频值PLL馈送序列等待PLL锁定连接PLLPLL馈送序列正确返回错误返回计算PLL分频值参数是否合法使能PLL设置PLL分频值等待PLL锁定连接PLLP

34、LL馈送序列正确返回错误返回PLL馈送序列NY嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 在在STM32中,有五个时钟源,为中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。、HSI是高速内部时钟,是高速内部时钟,RC振荡器,频率为振荡器,频率为8MHz。、HSE是高速外部时钟,可接石英是高速外部时钟,可接石英/陶瓷谐振器,或者接外陶瓷谐振器,或者接外部时钟源,频率范围为部时钟源,频率范围为4MHz16MHz。、LSI是低速内部时钟,是低速内部时钟,RC振荡器,频率为振荡器,频率为40kHz。、LSE是低速外部时钟,接频率为是低速外部时钟,接频率为32.768k

35、Hz的石英晶体。的石英晶体。、PLL为锁相环倍频输出,其时钟输入源可选择为为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者或者HSE/2。倍频可选择为。倍频可选择为216倍,但是其输出频率最倍,但是其输出频率最大不得超过大不得超过72MHz。STM32 时钟嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.7 时钟部件VPB分频器 概述 VPB总线是芯片的内部总线,上面挂接着绝大部分的外设,而这些外设的工作速度相对于ARM内核来说都要慢一些,VPB分频器决定了处理器时钟(cclk)与外设器件所使用的时钟(pclk)之间的关系。VPB分频器PLL晶体振荡器FCCLK

36、FPCLKfOSCCPU内核芯片外设 VPB分频器主要有两个用途:1.将处理器时钟(cclk)分频,以便外设在合适的速度下工作。2.降低系统功耗。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.7 STM32时钟部件VPB分频器 系统时钟SYSCLK,它是提供STM32中绝大部分部件工作的时钟源。系统时钟可以选择为PLL输出、HSI、HSE。系统时钟最大频率为72MHz,它通过AHB分频器分频后送给各个模块使用,AHB分频器可以选择1、2、4、8、16、64、128、256、512分频,其分频器输出的时钟送给5大模块使用:嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州

37、大学物信学院(1)送给AHB总线、内核、内存和DMA使用的HCLK 时钟(2)通过8分频后送给Cortex的系统定时器时钟;(3)直接送给Cortex的空闲运行时钟FCLK;(4)送给APB1分频器。APB1分频器可以选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。该倍频器可以选择1或者2倍频,时钟输出供定时器2、3、4使用。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院(5)送给APB2分频器。APB2分频器可以选择1、2、4、8、16分频,其输出一路供APB2外设使用(PCL

38、K2,最大频率72MHz),另外一路送给定时器(Timer)1倍频使用。该倍频器可以选择1或2倍频,时钟输出供定时器1使用。另外APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选择为2、4、6、8分频。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院连接在连接在APB1(低速外设低速外设)上的设备有:上的设备有:电源接口、备份接口、电源接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、窗口看门狗、Timer2、Timer3、Timer4。连接在连接在APB2(高速外设高速外设)上的设备有:上的

39、设备有:UART1、SPI1、Timer1、ADC1、ADC2、所有、所有普通普通IO口口(PAPE)、第二功能、第二功能IO口。口。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 STM32时钟的初始化时钟的初始化(1)将RCC寄存器重新设置为默认值:RCC_DeInit;(2)打开外部高速时钟晶振HSE:RCC_HSEConfig(RCC_HSE_ON);(3)等待外部高速时钟晶振工作:RCC_WaitForHSEStartUp();(4)设置AHB时钟(HCLK):RCC_HCLKConfig;(5)设置高

40、速AHB时钟(APB2):RCC_PCLK2Config;(6)设置低速AHB时钟(APB1):RCC_PCLK1Config;(7)设置PLL:RCC_PLLConfig;(8)打开PLL:RCC_PLLCmd(ENABLE);(9)等待PLL工作:RCC_GetFlagStatus(RCC_FLAG_PLLRDY);(10)设置系统时钟:RCC_SYSCLKConfig;(11)判断PLL是否是系统时钟:RCC_GetSYSCLKSource();(12)打开要使用的外设时钟:RCC_APB1PerphClockCmd().嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院

41、STM32时钟的初始化举例时钟的初始化举例嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 STM32时钟的初始化举例时钟的初始化举例嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院 STM32时钟的初始化举例时钟的初始化举例嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.8 功率控制 概述 注:ARM芯片还允许程序对某个外设进行关闭控制。外设的功率控制特性允许独立关闭应用中不需要的外设,这样进一步降低了功耗。节电模式处理器系统时钟外设空闲模式空闲模式停止执行指令有效正常工作掉电模式掉电模式停止执行指令无效无需时钟支持的外设能够正常工作嵌入式

42、系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院CPU核定时器0定时器1时钟系统.A/D转换FCCLKFVPBPOWER控制寄存器PCONIDL7:20PD1控制寄存器PCONP31:130PCTIM01PCTIM1211:3PCAD12系统掉电 寄存器描述功率控制寄存器(PCON):置位IDL位,将会进入空闲模式。置位PD位,将会进入掉电模式。注:如果两位都置位,则进入掉电模式。CPU空闲 PCON寄存器包含两个位。外部功率控制寄存器(PCONP):该寄存器允许将所选的外设功能关闭以实现节电的目的。注:有少数外设功能不能被关闭(看门狗定时器、GPIO、引脚连接模块和系统控制模块)。PCONP中的每个位都控制一个外设,清除对应位关闭功能。如清除PCTIM0位,关闭定时器0功能。嵌入式系统及应用嵌入式系统及应用福州大学物信学院福州大学物信学院3.8 功率控制 功率控制注意事项 外部复位后,PCONP的值已经设置成使能所有接口和外围功能,所以用户不再需要去打开某个外设。在需要控制功率的系统中,只要将应用中用到的外围功能的对应在PCONP寄存器的位置1,寄存器的其它“保留”位或当前不需使用的外围功能对应在寄存器中的位都必须清零。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(ARM硬件结构应用1~3课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|