第04章_3、系统控制模块和时钟功率控制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLL频率计算
例如:系统要求使用USB接口,CPU主频约为60MHz。 外部晶振频率为4MHz。 由要求可知:USB总线要求精确的48MHz时钟,因此可 以选择Fcco为480MHz。当N值为1时,M = 480 / (2×4) = 60。因此PLLCFG值为0x3B(N-1 = 0,M-1 = 0x3B)。
桂林电子科技大学,信息通信学院
11
内部晶体振荡器(IRC,Internal RC Oscillator)
IRC可以用做看门狗定时器的时钟源,也可以作为时 钟,驱动PLL锁相环提供给CPU。IRC的精度不够, 因此不能用于USB接口。通常的IRC频率是4MHz。 在开机或芯片复位时,LPC2400使用IRC作为时钟源, 之后可以使用软件转为使用其它时钟源。
桂林电子科技大学,信息通信学院 9
外部中断极性寄存器-External Interrupt Polarity Register (EXTPOLAR)
桂林电子科技大学,信息通信学院
10
4.5 时钟和功率控制
晶体振荡器 LPC2400含有3个独立的晶体振荡器:主晶振、内部 RC晶振和RTC晶振。每个晶振针对不同应用需求有 多种使用方法。复位后,LPC2400系列处理器使用 内部RC晶振提供时钟进行操作,直到使用软件进行 切换为止。这使得系统可以不依赖于外部时钟进行操 作,而且使引导加载程序可以在一个确定的频率下进 行操作。当Boot ROM转向用户程序之前,可以激活 主晶振从而进入用户代码。
桂林电子科技大学,信息通信学院 2
外部中断标志寄存器-External Interrupt Flag Register(EXTINT )
当一个管脚选择使用外部中断功能时,对应在EXTPOLAR 和 EXTMODE 寄存器中的位选择的电平或边沿将置位EXTINT寄 存器中的中断标志,向VIC 提出中断请求,如果管脚中断使能, 将会产生中断。 向EXTINT 寄存器的位EINT0~位EINT3写入1可清除相应的外 部中断标志。在电平激活方式下,只有在该管脚处于无效状态 时才能清除相应的中断标志。 一旦EINT0~EINT3中的一位被置位并开始执行相应的代码 (处理唤醒和/或外部中断),必须将该位清零,否则以后该 EINT 管脚所触发的事件将不能再被识别。
桂林电子科技大学,信息通信学院
17
PLL配置寄存器-PLL Configuration Register(PLLCFG)
PLLCFG寄存器是最新的PLL配置值的保持寄存器, 包含PLL倍频器和分频器值。在执行正确的PLL馈送 序列之前改变PLLCFG寄存器的值不会生效。
桂林电子科技大学,信息通信学院
桂林电子科技大学,信息通信学院
12
主晶振(Main Oscillator)
主晶振可用于为CPU提供时钟,其频率范围为1MHz~24MHz。这 个频率可以通过PLL倍频为更高的频率成为CPU的主频。通常把 主晶振输出的时钟称为OSCCLK,PLL输入引脚上的时钟称为 PLLCLKIN,ARM处理器内核时钟频率称为CCLK。当使用主晶振 提供时钟而不激活PLL时,这三个值是相等的。 由于芯片复位时使用IRC晶振,主晶振由软件启动(使用SCS寄 存器中的OSCEN位),并且在某些应用中始终不会用到。通过 SCS寄存器中的OSCSTAT状态位可以使软件判断主晶振是否运行 和稳定,也可以通过SCS寄存器中的OSCRANGE位设置其频率范 围。 LPC2400的振荡器可工作在两种模式下:从属模式和振荡模式。 从属模式下,输入时钟信号XTAL1与一个100pF相连,其幅值不 少于200mV,XTAL2管脚不连接。振荡模式下,由于片内集成了 反馈电阻,只需在外部连接一个晶体和电容Cx1、Cx2 就可形 13 桂林电子科技大学,信息通信学院 成基本模式的振荡。
桂林电子科技大学,信息通信学院 7
外部中断方式寄存器-External Interrupt Mode Register (EXTMODE)
桂林电子科技大学,信息通信学院
8
外部中断极性寄存器-External Interrupt Polarity Register (EXTPOLAR)
在电平激活方式中,EXTPOLAR寄存器用来选择相应管脚是 高电平还是低电平有效; 在边沿激活方式中,EXTPOLAR寄存器用来选择管脚上升沿 还是下降沿有效。只有选择用作EINT功能(通过管脚连接模 块)并已通过VICIntEnable(向量中断使能寄存器)使能的管 脚才能产生外部中断(当然,如果管脚选择用作其它功能,则 可能产生其它功能的中断)。 当某个中断在VICIntEnable 中被禁止时,软件应该只改变 EXTPOLAR 寄存器中相应位的值。中断重新使能前,软件向 EXTINT 写入1 来清除EXTINT 位,EXTINT 位可通过改变中 断极性来置位。
桂林电子科技大学,信息通信学院 19
PLL状态寄存器-PLL Status Register(PLLSTAT)
桂林电子科技大学,信息通信学院
20
PLL馈送寄存器-PLL Feed Register(PLLFEED)
必须将正确的馈送序列写入PLLFEED寄存器才能使 PLLCON和PLLCFG寄存器的更改生效。馈送序列如下: 1) 将值0xAA 写入PLLFEED; 2) 将值0x55 写入PLLFEED。 这两个写操作的顺序必须正确,而且必须是连续的APB 总线周期,这意味着在执行PLL馈送操作时必须禁止中 断。不管是写入的值不正确还是没有满足前两个条件, 对PLLCON或PLLCFG寄存器的更改都不会生效。
桂林电子科技大学,信息通信学院
21
PLL和掉电模式
掉电模式会自动关闭并断开PLL。从掉电模式唤醒不会 自动恢复PLL的设定,PLL的恢复必须由软件来完成。 通常,一个将PLL激活并等待锁定,然后将PLL连接的 子程序可以在任何中断服务程序的开始调用。有一点非 常重要,那就是不要试图在掉电唤醒之后简单地执行馈 送序列来重新启动PLL,这会出现在PLL锁定建立之前 同时使能并连接PLL的危险。
4.4 系统控制模块
桂林电子科技大学,信息通信学院
1
外部中断
LPC2400含有4个外部中断输入(作为可选的管脚功能),四 个引脚分别为EINT0、EINT1、EINT2和EINT3。外部中断输 入可用于将处理器从掉电模式唤醒。 可将多个管脚同时连接同一路外部中断,此时,外部中断逻辑 根据方式位和极性位的不同,分别进行如下处理: 1) 低有效电平激活方式,选用EINT功能的全部管脚的状态都 连接到一个正逻辑与门。 2) 高有效电平激活方式,选用EINT功能的全部管脚的状态都 连接到一个正逻辑或门。 3) 边沿激活方式,使用GPIO 端口号最低的管脚,与管脚的极 性无关。(边沿激活方式中选择使用多个EINT管脚被看作编 程出错。)
桂林电子科技大学,信息通信学院 16
PLL控制寄存器-PLL Control Register(PLLCON)
PLLCON寄存器可用于使能和连接PLL,它是最新的PLL控制 位的保持寄存器,写入该寄存器的值在有效的PLL 馈送序列执 行之前不起作用。使能PLL将使PLL锁定到当前倍频器和分频 器值的设定频率上。连接PLL将使处理器和所有片内功能都根 据PLL输出时钟来运行。对PLLCON的更改只有在对PLLFEED 寄存器执行了正确的PLL馈送序列后才生效。
桂林电子科技大学,信息通信学院
3
外部中断标志寄存器-External Interrupt Flag Register(EXTINT )
桂林电子科技大学,信息通信学院
4
中断唤醒寄存器-Interrupt Wakeup Register(INTWAKE)
INTWAKE寄存器(有时亦称为EXTWAKE,外部中 断唤醒寄存器)中的使能位允许外部中断、以太网、 USB、CAN、GPIO、BOD或者RTC中断将处理器从 掉电模式唤醒。相关的EINTn功能必须映射到管脚才 能实现掉电唤醒,但中断并不必要为了实现唤醒操作 而在向量中断控制器中被使能。这样做的好处是允许 外部中断输入将处理器从掉电模式唤醒,但不产生中 断(只是简单地恢复操作),或者在掉电模式下使能 中断而不将处理器唤醒(这样,当应用中并不需要唤 醒特性时,也不必关闭中断)。
桂林电子科技大学,信息通信学院
24
时钟分频
PLL的输出必须向下分频为更低频率的信号才能用于 CPU和USB模块。提供给USB模块的分频器是独立的, 因为USB的时钟要求必须是准确的48MHz而且有50% 的占空比。分频给CPU的信号成为CCLK时钟,并且再 分频成为各个片内外设的驱动时钟。
桂林电子科技大学,信息通信学院 5
中断唤醒寄存器-Interrupt Wakeup Register(INTWAKE)
桂林电子科技大学,信息通信学院
6
外部中断方式寄存器-External Interrupt Mode Register (EXTMODE)
EXTMODE寄存器中的位用来选择每个EINT脚是电平触 发还是边沿触发。只有选择用作EINT功能(通过管脚 连接模块)并已通过VICIntEnable(向量中断使能寄 存器)使能的管脚才能产生外部中断(当然,如果管 脚选择用作其它功能,则可能产生其它功能的中断)。 当某个中断在VICIntEnable 中被禁止时,软件应该 只改变EXTMODE 寄存器中相应位的值。中断重新使能 前,软件向EXTINT 写入1 来清除EXTINT 位,EXTINT 位可通过改变激活方式来置位。
18
PLL状态寄存器-PLL Status Register(PLLSTAT)
PLLSTAT为只读寄存器,它是PLL控制和配置信息的读 回寄存器,反映了正在使用的真实PLL参数和状态。 PLLSTAT可能与PLLCON和PLLCFG中的值不同,这是 因为没有执行正确的PLL馈送序列,这两个寄存器中的 值并未生效。 PLLSTAT 寄存器中的PLOCK位连接到中断控制器。这 样可使用软件打开PLL并连接到其它功能,不需要等待 PLL锁定。当发生中断时(PLOCK=1),可以连接PLL 并禁止中断。只能通过禁止PLL中断的方式返回。 PLL有3种可能的工作模式,由PLLE和PLLC组合得到。
RTC晶振(RTC Oscillator)
RTC晶振的频率为32.768KHz,一般用于给RTC实时 时钟提供时钟源。RTC晶振也可以用于看门狗定时器, 通过驱动PLL也可以用于提供CPU主频。
桂林电子科技大学,信息通信学院
14
时钟源选择
桂林电子科技大学,信息通信学院
Βιβλιοθήκη Baidu15
PLL锁相环
PLL接受输入的时钟频率范围为32kHz~50MHz。输 入频率通过一个预分频器分频成为PLL内部频率,预 分频器的值用变量“N”表示。然后再通过一个电流控 制振荡器(CCO)倍增到范围275MHz~550MHz, 倍频器的值用变量“M”表示。CCO频率再通过CPU 频率设置寄存器分频成为提供给CPU的CCLK时钟。 PLL 的激活由PLLCON寄存器控制,PLL倍频器和分 频器的值由PLLCFG寄存器控制。为了防止PLL参数 发生意外改变或PLL失效,对这两个寄存器进行了保 护。当PLL提供芯片时钟时,由于芯片的所有操作, 包括看门狗定时器在内都依赖于它,因此PLL设置的 意外改变将导致CPU 执行不期望的动作。
桂林电子科技大学,信息通信学院
22
PLL频率计算
当一个LPC2400 ARM系统需要使用PLL,应当按照以 下原则进行: 1) 确定处理器的时钟频率CCLK。这可以根据系统对 处理器的整体要求来决定,外围器件的时钟频率可以低 于处理器频率。 2) 确定PLL内部的时钟频率Fcco。Fcco的值应当在 275MHz~550MHz之间,而且应当是CCLK的整数倍。 3) 确定晶体振荡器频率Fin。Fin的值应当在32kHz~ 50MHz之间。 PLL的输出频率公式为:Fcco = (2×M×Fin) / N 选择两个整数M和N便可得到合适的Fcco值。M的取值 23 桂林电子科技大学,信息通信学院 范围为6~512,N的取值范围为1~32。