《系统结构资源》PPT课件.ppt

上传人:小飞机 文档编号:5566479 上传时间:2023-07-28 格式:PPT 页数:98 大小:1.10MB
返回 下载 相关 举报
《系统结构资源》PPT课件.ppt_第1页
第1页 / 共98页
《系统结构资源》PPT课件.ppt_第2页
第2页 / 共98页
《系统结构资源》PPT课件.ppt_第3页
第3页 / 共98页
《系统结构资源》PPT课件.ppt_第4页
第4页 / 共98页
《系统结构资源》PPT课件.ppt_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《《系统结构资源》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《系统结构资源》PPT课件.ppt(98页珍藏版)》请在三一办公上搜索。

1、第7章LPC2132系统结构资源,系统控制模块,系统控制模块概述,系统控制模块包括一些系统构件和控制寄存器,它们具有众多与芯片内其它外设无关的功能。系统控制模块包括:系统时钟单元、复位、外部中断输入、存储器映射控制、功率控制和唤醒定时器。,系统时钟,系统时钟概述,CPU正常工作需要有合适的时钟信号,包括ARM7内核使用的CCLK时钟,和芯片外设使用的PCLK时钟。通过LPC2000系列微控制器的时钟产生单元产生ARM7内核和芯片外设正常工作所需要的时钟节拍。,系统时钟,系统时钟概述,FOSC,CPU时钟结构,系统时钟,时钟产生单元,时钟产生单元包括晶体振荡器、锁相环振荡器(PLL)和VPB分频

2、器。,系统时钟,晶体振荡器,LPC2000微控制器可以使用内部的晶体振荡器产生时钟信号,也可以从外部引入时钟信号。,从属模式,振荡模式,系统时钟,晶体振荡器,使用从属模式时,时钟信号通过X1引脚从外部输入,输入频率范围:150(MHz),其幅度不小于200m Vrms。,系统时钟,晶体振荡器,使用振荡模式时,时钟信号由内部晶体振荡器和外部连接的晶体振荡产生,振荡频率范围:130(MHz)。,系统时钟,晶体振荡器,注意:如果使用了ISP下载功能或者连接PLL提高频率,则输入的时钟频率范围必须在1025(MHz)之间。,从属模式,振荡模式,系统时钟,锁相环(PLL),由晶体振荡器输出的时钟信号,通

3、过PLL升频,可以获得更高的系统时钟(CCLK)。PLL接受的输入时钟频率范围为1025MHz,通过一个电流控制振荡器(CCO)倍增到1060MHz。,10MHz25MHz,10MHz60MHz,PLL,PLL内部结构,相位频率检测,CCO,10,2P分频,M分频,01,01,FOSC,FCCO,FCLK,晶体振荡器输入时钟,对输入的两路时钟信号进行相位频率检测,将两者差值以电流形式输出,电流控制振荡器,根据输入电流控制振荡频率,对输入时钟分频,输入时钟 2选1开关,PLL内部结构,相位频率检测,CCO,10,2P分频,M分频,01,01,FOSC,FCCO,FCLK,FCCO/2P,FCCO

4、/(2P*M),CCO自由振荡,输出频率FCCO,根据两个输入时钟的相位偏差,控制CCO。当两个时钟相位同步时,回路锁定。,PLL相关寄存器,PLL控制寄存器(PLLCON):,PLLE:PLL使能,该位为1时将激活PLL并允许其锁定到指定的频率;,PLLC:PLL连接,当PLLE为1,并且在PLL锁定后,该位为1,将把PLL作为时钟源连接到CPU,否则直接使用振荡器时钟。,注:其中“”表示该位保留,用户不要向该位写入1,读取的值将不确定,PLLC,PLLE,PLL相关寄存器,PLL控制寄存器(PLLCON):,PLLC,PLLE,PLL相关寄存器,PLL控制寄存器(PLLCON):,PLL配

5、置寄存器(PLLCFG):,MSEL4:0:PLL倍频器值,在PLL频率计算中其值为(M-1);,PSEL1:0:PLL分频器值,在PLL频率计算中其值为P。,PLL相关寄存器,PLL状态寄存器(PLLSETA):,MSEL4:0、PSEL1:0、PLLE、PLLC:读出反映这几个参数的设置值,写入无效;,PLOCK:反映PLL的锁定状态。为0时,PLL未锁定;为1时,PLL锁定到指定频率。,PLL相关寄存器,PLL馈送寄存器(PLLFEED):,PLLFEDD7:0:PLL馈送序列必须写入该寄存器才能使PLL配置和控制寄存器的更改生效;,PLL相关寄存器,馈送序列为:1.将值0 xAA写入P

6、LLFEED;2.将值0 x55写入PLLFEED。,PLL相关寄存器,PLL馈送寄存器(PLLFEED):,PLL频率计算,回路锁定后:FOSC=FCCO/(2P M)FCLK=FOSC M,FOSC:晶振频率;FCCO:CCO振荡器输出频率FCCLK:处理器时钟频率;M:PLL倍频值 P:PLL分频值,必须满足的条件:FOSC范围:10MHz25MHz;FCCLK范围:10MHz60MHz;FCCO范围:156MHz320MHz;,系统时钟,锁相环(PLL)计算流程,1.选择处理器的工作频率(CCLK),2.选择振荡器频率(FOSC),3.计算M值配置MSEL位,4.计算P值配置PSEL位

7、,根据处理器的整体要求、UART波特率的支持等因素来决定。外围器件的时钟频率可以低于处理器频率,CCLK 必须为FOSC的整数倍。,M=CCLK/FOSC,取值范围132。写入MSEL的值为(M-1)。,选择合适的P值,使FCCO在限制范围内。P只能取1、2、4或8。写入PSEL的值为P。,系统时钟,锁相环(PLL)计算实例,系统要求:FOSC10MHz、CCLK 60MHz,1.计算M值:M CCLK/FOSC 6;,2.设置MSEL位:写入值为(M1)5;,3.设置PSEL位:PFCCO/(CCLK2)(156320)/1201.32.67 所以P取整数2,PSEL写入值为2。,系统时钟,

8、锁相环(PLL)注意要点,PLL在芯片复位或进入掉电模式时被关闭并旁路,在掉电唤醒后不会自动恢复PLL的设定;PLL只能通过软件使能;PLL在激活后必须等待其锁定,然后才能连接;PLL如果设置不当将会导致芯片的错误操作。,系统时钟,VPB分频器,VPB分频器将PLL输出的时钟信号分频后作为芯片外设的时钟。,VPB分频器,系统时钟,VPB分频器,VPB分频器决定处理器时钟(CCLK)与外设器件所使用的时钟(PCLK)之间的关系。VPB用途1:通过VPB总线为外设提供所需的PCLK时钟,以便外设在合适的速度下工作;VPB用途2:在应用不需要任何外设全速运行时使功耗降低。,系统时钟,VPB分频器相关

9、寄存器,VPB分频寄存器(VPBDIV):,VPBDIV1:0:设置分频值,可以设定3个值;,XCLKDIV1:0:这些位用于控制LPC2200系列微控制器A23/XCLK引脚上的时钟驱动,取值编码方式与VPBDIV相同;,系统时钟,VPB分频器相关寄存器,VPB分频寄存器(VPBDIV):,系统时钟初始化流程,系统时钟初始化启动代码实例,/应当与实际一至晶振频率,10MHz25MHz,应当与实际一至#define Fosc 11059200/系统频率,必须为Fosc的整数倍(132),且=60MHZ#define Fcclk(Fosc*4)/CCO频率,必须为Fcclk的2、4、8、16倍,

10、范围为156MHz320MHz#define Fcco(Fcclk*4)/VPB时钟频率,只能为(Fcclk/4)的1、2、4倍#define Fpclk(Fcclk/4)*1,将系统内各时钟的频率定义为宏,方便用户操作。,设置晶振频率,设置内核工作频率,设置CCO输出频率,设置外设工作频率,系统时钟初始化启动代码实例,使能PLL,设置VPB 分频值,C代码分析:,PLLCON=1;#if(Fpclk/(Fcclk/4)=1 VPBDIV=0;#endif#if(Fpclk/(Fcclk/4)=2 VPBDIV=2;#endif#if(Fpclk/(Fcclk/4)=4 VPBDIV=1;#e

11、ndif.,注意:在启动代码中很多地方使用了条件编译的方法,根据用户定义的宏来决定要设置的值,可以方便用户使用。,系统时钟初始化启动代码实例,设置PLL 分频值,C代码分析:,.#if(Fcco/Fcclk)=2 PLLCFG=(Fcclk/Fosc)-1)|(05);#endif#if(Fcco/Fcclk)=4 PLLCFG=(Fcclk/Fosc)-1)|(15);#endif#if(Fcco/Fcclk)=8 PLLCFG=(Fcclk/Fosc)-1)|(25);#endif#if(Fcco/Fcclk)=16 PLLCFG=(Fcclk/Fosc)-1)|(35);.,系统时钟初始

12、化启动代码实例,PLL馈送序列,等待PLL锁定,连接PLL,PLL馈送序列,C代码分析:,.PLLFEED=0 xaa;PLLFEED=0 x55;while(PLLSTAT,注意:在修改PLL的控制和配置寄存器后,必须写入馈送序列,使修改生效。,复位,复位的分类外部复位把nRESET引脚拉为低电平,并保持一个最小时间,引发复位看门狗复位通过设置看门狗相关寄存器,当看门狗定时器溢出后,引发复位,复位,外部复位外部复位引脚(nRESET)连接内部的施密特触发器,通过施密特触发器可以滤除引脚输入的干扰信号,保证复位的可靠性。如果外部复位信号一直有效,芯片将保持复位状态。,注意:如果芯片使用了外部晶

13、体,上电后nRESET引脚的复位信号必须保持至少10ms,以便产生稳定的振荡信号。如果晶振已经稳定运行且X1引脚上以出现稳定信号时,nRESET引脚的复位信号只需保持至少300ns时间。,1.在芯片未上电时,芯片振荡器没有工作;,复位,UX1,t,外部复位,复位,振荡器稳定需要一段时间,UX1,t,外部复位,2.芯片上电后,晶体振荡器开始振荡。因为振荡从开始到稳定需要一过程,所以外部复位信号至少要保持10ms;,=10ms,=300ns,复位,此时振荡器稳定工作,外部复位,3.在晶体振荡器保持稳定振荡,或者使用有源钟振时,外部复位信号可以缩短到不小于300ns;,复位,任何复位源引起的芯片复位

14、都会启动唤醒定时器,当计数到一个固定个数的时钟时,处理器开始执行指令。这确保振荡器和芯片所需要的其它模拟电路在处理器开始执行指令之前能够正确工作。,外部复位与内部看门狗复位的共同点,复位,外部复位与内部看门狗复位的区别,外部复位将把某几个特定引脚的值锁存,来决定系统复位后的状态,而看门狗(WDT)复位则无此功能。,复位,复位后的系统状态,芯片被复位后,处理器和外设寄存器都恢复为默认状态。程序计数器(PC)值为0,即CPU复位后运行的第一条代码位于0 x00000000处。此时位于该地址的程序并不位于片内Flash,而是来自Boot Block的异常向量表的重新映射。通过异常向量表的复位异常入口

15、,程序跳转至Boot Block中执行Boot程序。,复位,复位后的系统状态,地址空间,1.复位后用户见到的存储器分布,2.BootBlock中的异常向量表重新映射,复位,复位后的系统状态,地址空间,PC指向,3.PC指向0 x0000地址处,CPU执行复位后的第一条指令,复位,复位后的系统状态,地址空间,复位异常入口,未定义异常入口,软件中断入口,.,0 x00000004,0 x00000008,0 x00000040,4.通过跳转指令,程序跳入Boot Block,执行Boot程序。,复位,复位后的系统状态,PC指向,地址空间,复位异常入口,未定义异常入口,软件中断入口,.,0 x000

16、00004,0 x00000008,0 x00000040,复位,Boot程序,Boot程序是芯片生产厂家固化在芯片中的一段代码,它完成芯片复位后的初始化操作,并提供实现Flash编程的方法。Boot装载程序可启动对空片的编程、已编程器件的擦除和再编程,以及在运行的系统中由应用程序对Flash存储器进行编程。,Boot程序工作流程LPC2114/2124,复位,运行ISP服务程序,看门狗复位,根据硬件(P1.20、P1.26)配置,进入ISP状态吗?(P0.14为低),初始化,用户代码是否有效,执行用户代码(片内Flash:0 x00000000),N,Y,Y,Y,N,N,在此检测特定引脚,检

17、测用户代码是否有效,Boot程序工作流程LPC2210/2212/2214,复位,看门狗复位,进入ISP模式?(P0.14为低),初始化,用户代码是否有效,芯片加密,允许调试,外部引导,芯片加密,运行ISP服务程序,执行外部用户代码(0 x80000000),执行内部用户代码(0 x00000000),N,N,Y,Y,N,N,N,N,Y,Y,Y,Y,在此检测特定引脚,检测用户代码是否有效,复位,有效用户代码的判别,LPC2000系列微控制器规定“内部Flash中向量表所有数据的32位累加为零”时,判定内部Flash中的代码为有效可执行代码。即只有当向量表所有数据32位累加和为零时,用户的程序才

18、能脱机运行。,有效用户代码的判别,CODE32 AREA vectors,CODE,READONLY ENTRYReset LDR PC,ResetAddr LDR PC,UndefinedAddr.DCD 0 xb9205f80 LDR PC,PC,#-0 xff0 LDR PC,FIQ_AddrResetAddr DCD ResetInitUndefinedAddr DCD Undefined.Nouse DCD 0IRQ_Addr DCD 0FIQ_Addr DCD FIQ_Handler,异常向量表,前32字节为异常入口,后32字节为跳转地址,有效用户代码的判别,Reset0 xe59

19、ff018 ldr pc,ResetAddr0 xe59ff018 ldr pc,UndefinedAddr.0 xb9205f80 dcd 0 xb9205f800 xe51ffff0 ldr pc,0 x7ffff0300 xe59ff018 ldr pc,FIQ_AddrResetAddr0 x8000008c dcd 0 x8000008cUndefinedAddr0 x80000040 dcd 0 x80000040.Nouse0 x00000000 dcd 0 x00000000IRQ_Addr0 x00000000 dcd 0 x00000000FIQ_Addr0 x800000

20、4c dcd 0 x8000004c,异常向量表反汇编代码,指令的机器码,指令,有效用户代码的判别,Reset0 xe59ff018 ldr pc,ResetAddr0 xe59ff018 ldr pc,UndefinedAddr.0 xb9205f80 dcd 0 xb9205f800 xe51ffff0 ldr pc,0 x7ffff0300 xe59ff018 ldr pc,FIQ_AddrResetAddr0 x8000008c dcd 0 x8000008cUndefinedAddr0 x80000040 dcd 0 x80000040.Nouse0 x00000000 dcd 0

21、x00000000IRQ_Addr0 x00000000 dcd 0 x00000000FIQ_Addr0 x8000004c dcd 0 x8000004c,异常向量表反汇编代码,8条指令的机器码累加和为0,表示用户代码有效,Reset0 xe59ff018 ldr pc,ResetAddr0 xe59ff018 ldr pc,UndefinedAddr.0 xb9205f80 dcd 0 xb9205f800 xe51ffff0 ldr pc,0 x7ffff0300 xe59ff018 ldr pc,FIQ_AddrResetAddr0 x8000008c dcd 0 x8000008c

22、UndefinedAddr0 x80000040 dcd 0 x80000040.Nouse0 x00000000 dcd 0 x00000000IRQ_Addr0 x00000000 dcd 0 x00000000FIQ_Addr0 x8000004c dcd 0 x8000004c,异常向量表反汇编代码,8条指令的机器码累加和为0,表示用户代码有效,有效用户代码的判别,0 x00000000,0 xe59ff018,0 xe59ff018,.,0 xb9205f80,0 xe51ffff0,0 xe59ff018,跳转地址数据不在累加范围内,通过调整该保留字,使累加和为0,实时时钟,RTC

23、内部结构,产生秒时钟,时间寄存器组与报警设定值进行比较,有两类中断,一种是时间增量中断,一种是报警中断,寄存器描述,寄存器描述,时间计数器,=,PCLK,时钟产生寄存器组控制产生RTC时间计数器需要的秒时钟信号。,时钟产生寄存器组,寄存器描述,预分频寄存器,预分频器用于将任何频率高于67.536KHz的PCLK时钟分频产生32.768KHz的基准时钟。这样就可以不管外设时钟的频率为多少,RTC总是以正确的速率运行。预分频寄存器分为整数部分和小数部分,因此有可能某个时钟节拍多包含一个PCLK周期,而某个节拍却少一个PCLK周期。但是每个时钟节拍的周期一定是32768个PCLK周期。,寄存器描述,

24、预分频整数部分为13位有效位,小数部分为15位有效位。预分频整数部分的计算公式为:PREINT=int(PCLK/32768)1 预分频小数部分的计算公式为:PREFRAC=PCLK(PREINT+1)32768),预分频寄存器,寄存器描述,时钟控制寄存器,时钟控制寄存器包含4位有效位,它用于控制时钟分频电路的操作,包括启动RTC和复位时钟节拍计数器(CTC)等功能。,寄存器描述,时钟计数寄存器,时钟节拍计数器对预分频器的输出时钟进行计数,用于产生秒的时钟节拍。它是一个只读寄存器,但它可通过时钟控制寄存器(CCR)复位为0。,寄存器描述,时间计数器组中包含当前的时间,它们分为两类:完整时间寄存

25、器和分类时间寄存器。,时间计数器,寄存器描述,时间计数器,在完整时间寄存器中,时间以一个比较完整的格式存储,程序只需要3次读操作即可读出所有计数器值。这些寄存器为只读寄存器。,寄存器描述,时间计数器,寄存器描述,时间计数器,分类时间寄存器包含8个寄存器,所有寄存器都可读可写。,注意:这些日期的寄存器只能在适当的时间间隔处递增,而在定义的溢出点处复位。为了使这些值有意义,它们不能进行计算且必须正确初始化。其中DOY寄存器需要单独初始化,也就是说该寄存器的值不会因为对年、月、日寄存器进行初始化而自动确定到一个正确 的值。,寄存器描述,时间计数器,=,PCLK,RTC部件的中断分为两类,一类为时间计

26、数器的增量中断,由增量中断寄存器控制。另一类为报警匹配产生的中断,由报警屏蔽寄存器控制。,中断产生寄存器,寄存器描述,中断产生寄存器,中断位置寄存器是一个2位的寄存器,它指出哪些模块产生中断,它实际上是一个中断标志寄存器。,寄存器描述,中断产生寄存器,计数器增量中断寄存器可使计数器每次增加时产生一次中断,比如设置秒增加中断为1,则每秒均产生一次中断。在清除增量中断标志之前,该中断一直保持有效。,寄存器描述,中断产生寄存器,寄存器描述,中断产生寄存器,报警屏蔽寄存器允许用户屏蔽任意的报警寄存器,被屏蔽的报警寄存器将不与时间计数器比较。未被屏蔽的报警寄存器与时间计数器比较如果匹配,将产生中断。该中

27、断只有在从不匹配到匹配时才发生,可以避免中断重复。注意:如果所有屏蔽位都置位,报警将被禁止。,寄存器描述,中断产生寄存器,寄存器描述,中断产生寄存器,报警寄存器的值与时间计数器相比较,如果所有未被屏蔽的报警寄存器都与它们对应的时间计数器相匹配,那么将产生一次中断。向中断位置寄存器的bit1写入1清除中断。,寄存器描述,中断产生寄存器,7.17 实时时钟,使用RTC的注意要点,RTC部件使用VPB时钟,如果该时钟出现任何的异常都会导致时间值的偏移,所以芯片不能进入掉电模式;芯片掉电后RTC不能保持寄存器的内容;芯片复位后只有预分频寄存器被硬件初始化,其它寄存器的内容不受复位影响;RTC部件的闰年

28、计算比较简单,当年计数器的最低两位为0时,认为该年为闰年,这在2100年时会出错。闰年影响2月份的日期数和年的日期数。,RTC使用示例,操作流程,Void RTCIni(void)PREINT=Fpclk/327681;PREFRAC=Fpclk(Fpclk/32768)*32768;YEAR=200;MONTH=2;DOM=19;DOW=4;HOUR=8;MIN=30;SEC=0;CIIR=0 x01;CCR=0 x01;,RTC使用示例,RTC初始化示例,.ILR=0 x03;/清除RTC中断标志CIIR=0 x02;/设置分值增量中断ALHOUR=12;/设置小时比较值ALMIN=0;/

29、设置分比较值ALSEC=0;/设置秒比价值AMR=0 xF8;/设置报警屏蔽寄存器/只允许时、分、秒比较.,RTC使用示例,RTC定时报警设置,8.1 最小系统,简介,一个嵌入式处理器自己是不能独立工作的,必须给它供电、加上时钟信号、提供复位信号,如果芯片没有片内程序存储器,则还要加上存储器系统,然后嵌入式处理器芯片才可能工作。这些提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成了这个嵌入式处理器的最小系统。而大多数基于ARM7处理器核的微控制器都有调试接口,这部分在芯片实际工作时不是必需的,但因为这部分在开发时很重要,所以也把这部分也归入最小系统中。,8.1 最小系统,简介,可选

30、,因为许多面向嵌入式领域的微控制器内部集成了程序和数据存储器,最小系统框图,可选,但是在样品阶段通常都会设计这部分电路,各部件简介,电源,供电系统(电源),电源系统为整个系统提供能量,是整个系统工作的基础,具有极其重要的地位,但却往往被忽略。如果电源系统处理得好,整个系统的故障往往减少了一大半。,各部件简介,电源,设计电源时要考虑的因素:1.输出的电压、电流、功率;2.输入的电压、电流;3.安全因素;4.输出纹波;7.电池兼容和电磁干扰;8.体积限制;7.功耗限制;8.成本限制。,对于LPC2200系列微控制器,它有4组电源输入。理想情况下需要提供4组独立的电源,它们需要单点接地或大面积接地。

31、甚至还有为系统中其它的部件提供更多种类的电源。但如果没有使用LPC2000内部的AD功能,或对AD的要求不高,模拟电源和数字电源可以不分开供电。这样LPC2200和LPC210 x都只需要两组电源。,各部件简介,电源,1.分析需求 LPC2000系列微控制所需要的电源类型:,V3.3D表示数字电源,V3.3A表示模拟电源。LPC2104/05/06无模拟和数字之分。,各部件简介,电源,2.设计末级电源电路 LPC2000系列微控制1.8V消耗电流的极限值为70mA。为了保证可靠性并为以后升级留下余量,则电源系统1.8V能够提供的电流应当大于300mA。整个系统在3.3V上消耗的电流与外部条件有

32、很大的关系,这里假设电流不超过200mA,这样,电源系统3.3V能够提供600mA电流即可。分析得到以下参数:3.3V电源设计最大电流:600mA;1.8V电源设计最大电流:300mA。,各部件简介,电源,2.设计末级电源电路 在了解功率消耗之后,需要选择合适的器件。因为系统对这两组电压的要求比较高,且其功耗不是很大,所以不适合用开关电源,应当用低压差模拟电源(LDO)。合乎技术参数的LDO芯片很多,Sipex 半导体SPX1117是一个较好的选择,它的性价比较好,且有一些产品可以与它直接替换,减少采购风险。,各部件简介,电源,SPX1117主要特点:0.8A稳定输出电流;1A稳定峰值电流;3

33、V可调节;低静态电流;0.8A时低压差为1.1V;0.1%线形调整率;0.2%负载调整率;过流及温度保护;多种封装供选择。,各部件简介,电源,3.设计前级电源电路 尽管SPX1117允许的输入电压可达20V(参考芯片数据手册),但太高的电压使芯片的发热量上升,散热系统不好设计,同时影响芯片的性能。这样,就需要前级电路调整一下。如果系统可能使用多种电源(如交流电和电池),各种电源的电压输出不一样,就更需要前级调整以适应末级的输入。通过之前的分析,前级的输出选择为5V。选择5V作为前级的输出有两个原因:这个电压满足SPX1117的要求;目前很多器件还是需要5V供电的,这个5V可以兼做前级和末级了。

34、,各部件简介,电源,3.设计前级电源电路 根据系统在5V上消耗的电流和体积、成本等方面的考虑,前级电路可以使用开关电源,也可以使用模拟电源。它们的特别如下:开关电源:效率较高,可以减少发热量,因而在功率较大时可以减小电源模块的体积;模拟电源:电路简单,输出电压纹波较小,并且干扰较开关电源小得多。,各部件简介,电源,模拟电源,开关电源,各部件简介,时钟,目前所有的微控制器均为时序电路,需要一个时钟信号才能工作,大多数微控制器具有晶体振荡器。简单的方法是利用微控制器内部的晶体振荡器,但有些场合(如减少功耗、需要严格同步等情况)需要使用外部振荡源提供时钟信号。,时钟系统,各部件简介,时钟,目前所有的

35、微控制器均为时序电路,需要一个时钟信号才能工作,大多数微控制器具有晶体振荡器。简单的方法是利用微控制器内部的晶体振荡器,但有些场合(如减少功耗、需要严格同步等情况)需要使用外部振荡源提供时钟信号。,使用内部振荡器,使用外部时钟源,可以使用稳定的时钟信号源,如有源晶振等。,各部件简介,复位及其芯片配置,微控制器在上电时状态并不确定,这造成微控制器不能正确工作。为解决这个问题,所有微控制器均有一个复位逻辑,它负责将微控制器初始化为某个确定的状态。这个复位逻辑需要一个复位信号才能工作。一些微控制器自己在上电时会产生复位信号,但大多数微控制器需要外部输入这个信号。这个信号的稳定性和可靠性对微控制器的正

36、常工作有重大影响。,复位及其配置系统,各部件简介,复位及其芯片配置,复位电路可以使用简单的阻容复位,这个电路成本低廉,但不能保证任何情况产生稳定可靠的复位信号,所以一般场合需要使用专门的复位芯片。,阻容复位,各部件简介,复位及其芯片配置,常用的复位专用芯片有CATALYST公司的CAT800系列,Sipex公司的SP700系列和SP800系列。为了适应嵌入式系统的应用,这些公司还推出带有EEPROM存储器和看门狗的复位芯片,这可以降低系统成本和缩小产品体积,减少元件数量也有利于系统的稳定性。如果系统不需要手动复位功能,可以选择CAT809。如果需要手动复位功能,可以选择SP705/706、SP

37、708SCN。种类繁多的复位芯片可以满足不同工作电压和不同复位方式的系统,这里仅介绍其中部分。注意:复位芯片的复位门槛的选择至关重要,一般应当选择微控制器的IO口供电电压范围为标准。LPC2000这个范围为:3.0V3.6V,所以选择复位门槛电压为2.93V,即电源电压低于2.93V时产生复位信号。,各部件简介,复位及其芯片配置,CAT8093脚微控制器电源监控电路:低有效复位;在工业级温度范围的应用中可直接代替MAX809;Vcc低至1.0V时,复位信号仍然有效;6uA的电源电流;抗电源的瞬态干扰;紧凑的3脚SOT23和SC70封装;工业级温度范围:40+85。,各部件简介,复位及其芯片配置

38、,SP708/R/S/T低功耗微处理器复位监控芯片:2.63V:SP708R;2.93V:SP708S;3.08V:SP708T;复位脉冲宽度-200ms;最大电源电流40uA;支持开关式TTL/CMOS手动复位输入;Vcc下降至1V时,nRESET信号仍然有效;SP708/R/S/T支持高/低电平两种方式。,各部件简介,复位及其芯片配置,SP6200/6201带复位输出的 LDO调节器:适用于要求高精度、快速操作和方便使用的应用;极低的关断电流:最大为1uA;低压差:160mV100mA。输出电压高精度:2%;逻辑控制的电子使能;复位输出(VOUT良好);1uF的陶瓷电容就可保持器件无条件稳

39、定工作。,电压输出使能,复位输出,各部件简介,复位及其芯片配置,CAT1024/1025带EEPROM的复位芯片:具有2K字节EEPROM存储器,数据保存时间长达100年;存储器采用400KHz的I2C总线接口,16字节的页写缓冲区;CAT1025具有高、低电平复位信号,CAT1024具有低电平复位信号。Vcc低至1V时复位仍有效;工作电压范围:2.7V7.5V;手动复位输入。,各部件简介,复位及其芯片配置,微控制器在复位后可能有多种初始状态,具体复位到哪种初始状态是在复位的过程中决定的。复位逻辑可能通过片内只读存储器中的数据决定具体的初始状态,但更多的是通过复位期间的引脚状态决定,也可能通过两者共同决定。用引脚状态配置复位后的初始状态没有统一的方法,需要根据相关芯片的手册决定。,P2.26和P2.27决定复位后存储器的来源以及存储器的宽度,P1.26决定复位后是否使用P1.31P1.26作为调试端口,P1.20决定复位后是否使用P1.25P1.16作为跟踪端口,P0.14决定复位后是否进入ISP状态,各部件简介,存储器系统,对于大部分微控制器来说,存储器系统不是必需的,但如果微控制器没有片内程序存储器或数据存储器时,就必须设计存储器系统,这一般通过微控制器的外部总线接口实现。注:外部总线的接口方法请参看8.3节。,存储器系统,各部件简介,存储器系统,LPC2210存储器系统,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号