版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章X281x的时钟和系统控制DSPTMS320F2812内部结构CPU外设存储器系统控制外部接口GPIO8.1时钟单元所有的数字电路尤其是带有CPU的数字系统,系统各单元都依靠时钟信号作为同步。每秒钟电路运行的操作次数决定于时钟频率,因此,时钟的运行频率被视为系统运行的重要性能指标,同时也是系统可靠运行的基础。
在一个系统或CPU内部包含多个功能模块,每个功能模块都有自己适合的工作频率,为此,我们需要通过响应的时钟配置单元进行响应的设置,已达到提高系统性能,降低功耗的目的。
TMS320F2812处理器内部集成了振荡器、锁相环、看门狗及工作模式选择等控制电路。
振荡器、锁相环主要为处理器CPU及相关外设提供可编程的时钟,每个外设的时钟都可以通过相应的寄存器进行编程设置;
看门狗可以监控程序的运行状态,提高系统的可靠性。8.1.1时钟单元基本结构F2812内部的各种时钟和复位电路PLL模块外部控制引脚。全局复位引脚。目前微处理器或DSP集成的片上锁相环,主要作用:
通过软件实时地配置系统时钟和片上外设时钟,提高系统的灵活性和可靠性。降低系统对硬件的设计要求
。
采用软件可编程锁相环,所设计的系统处理器外部允许较低的工作频率,而片内经过锁相环微处理器提供较高的系统时钟。8.1.2锁相环电路
锁相环是一种控制晶振使其相对于参考信号保持恒定相位的电路,在数字通信系统中使用比较广泛。
TMS320F2812处理器的片上晶振和锁相环模块为内核及外设提供时钟信号,并且控制器件的低功耗工作模式。片上晶振模块允许使用2种方式为器件提供时钟,即采用内部振荡器或外部时钟源。8.1.2锁相环电路
(1)使用内部振荡器,在Xl/XCLKIN和X2这两个引脚之间连接一个石英晶体,一般选用30MHz。
(2)采用外部时钟,将输入的时钟信号直接接到Xl/XCLKIN引脚上,而X2悬空,不使用内部振荡器。8.1.2锁相环电路
外部时钟源可以采用频率稳定的晶体振荡器,具有使用方便,价格便宜,因而得到广泛应用。全局复位引脚,低电平实现对CPU以及所有外设的复位。PLL模块外部控制引脚。晶体振荡器及锁相环模块锁相环控制寄存器PLLCR的DIV位决定8.1.2锁相环电路PLL模式说明SYSCLKOUT/CLKIN禁止引脚置低来进入该模式,PLL模块完全不使能。此时,输入CPU的时钟由来自X1/XCLKIN引脚的时钟信号直接去驱动。XCLKIN旁路如果PLL未处于不使能的状态,这是上电默认的PLL配置(PLLCR的值为0)。PLL自身被旁路,从X1/XCLKIN引脚输入的时钟信号先被/2,然后再送去CPU。XCLKIN/2使能通过给PLLCR寄存器写一个不为0的值来实现PLL的使能,时钟信号需要进入PLL模块进行n倍频,然后再被/2,最后送至CPU。(XCLKIN*n)/28.1.2锁相环电路15
43
0ReservedDIVR-0R/W-0位15~4 Reserved保留位锁相环控制寄存器PLLCR8.1.2锁相环电路位3~0 DIV DIV位域控制是否旁路,不旁路时,用于设置PLL时钟比率。0000 CLKIN=OSCCLK/2(PLL旁路)0001 CLKIN=(OSCCLK*1.0)/20010 CLKIN=(OSCCLK*2.0)/20011 CLKIN=(OSCCLK*3.0)/20100 CLKIN=(OSCCLK*4.0)/20101 CLKIN=(OSCCLK*5.0)/20110 CLKIN=(OSCCLK*8.0)/20111 CLKIN=(OSCCLK*7.0)/21000 CLKIN=(OSCCLK*8.0)/21001 CLKIN=(OSCCLK*9.0)/21010 CLKIN=(OSCCLK*10.0)/28.1.2锁相环电路我们平常使用的是第3种方式,即PLL使能。晶振为30M,如何设置PLLCR使得,系统时钟频率为150MHz。晶振为30M,PLLCR的DIV位被设置成1010时的时钟频率CLKIN=(OSCLKIN*10)/2=(XCLKIN*10)/2=(30M*10)/2=150MHz 8.1.2锁相环电路在使用F2812进行开发的时候,通常会用到一些外设,例如SCI、EV、ADC等,要使得这些外设工作,首要的就是向其提供时钟信号。
因此,在系统初始化的时候,就需要对使用到的各个外设的时钟进行使能,假设现在某个项目里用到了EVA、SCI和ADC这3个外设,那么就需要按照对这个3个外设进行时钟的使能。和时钟使能相关的寄存器是外设时钟控制寄存器PCLKCR。8.1.3X2812中各种时钟信号的产生15141312111098ReservedECANENCLKReservedMCBSPENCLKSCIBENCLKSCIAENCLKReservedSPIENCLK743210ReservedADCENCLKReservedEVBENCLKEVAENCLK外设时钟控制寄存器(PCLKCR)SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1;//使能外设SCIA的时钟SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;//使能外设EVA的时钟SysCtrlRegs.PCLKCR.bit.ADCENCLK=1;//使能外设ADC的时钟低速外设时钟预定标寄存器LOSPCP高速外设时钟预定标寄存器HISPCP8.1.3X2812中各种时钟信号的产生153210ReservedHSPCLKR-0R/W-001位15~3 Reserved保留位高速外设时钟寄存器(HISPCP)位2~0 HSPCLK配置与SYSCLKOUT相关的高速外设模块时钟(HSPCLK)频率。000 高速时钟=SYSCLKOUT/1001 高速时钟=SYSCLKOUT/2(复位值)010 高速时钟=SYSCLKOUT/4011 高速时钟=SYSCLKOUT/6100 高速时钟=SYSCLKOUT/8101 高速时钟=SYSCLKOUT/10110 高速时钟=SYSCLKOUT/12111 高速时钟=SYSCLKOUT/14153210ReservedLSPCLKR-0R/W-010位15~3 Reserved保留位低速时钟寄存器(LOSPCP)位2~0 LSPCLK配置与SYSCLKOUT相关的低速外设模块时钟(LSPCLK)频率。000 低速时钟=SYSCLKOUT/1001 低速时钟=SYSCLKOUT/2010 低速时钟=SYSCLKOUT/4(复位值)011 低速时钟=SYSCLKOUT/6100 低速时钟=SYSCLKOUT/8101 低速时钟=SYSCLKOUT/10110 低速时钟=SYSCLKOUT/12111 低速时钟=SYSCLKOUT/14总结:
F2812的片内外设根据对时钟速率的不同要求被区分为高速时钟外设和低速时钟外设,其中高速时钟外设主要指EVA、EVB和ADC,而低速时钟外设则包括SCIA、SCIB、SPI和McBSP。F2812专门设置了高速时钟预定标器和低速时钟预定标器,用于对SYSCLKOUT进行分频控制,从而实现对高速外设工作时钟HSPCLK和低速外设时钟LSPCLK的配置。另外,提供给各个外设单元的SYSCLKOUT时钟还可以通过一个全局寄存器——外设时钟控制寄存器(PCLKCR)对应位的配置被使能或禁止。8.1.3X2812中各种时钟信号的产生注意:1.在通过软件改变系统的工作频率时,必须等待系统时钟稳定后才可以继续完成其他操作。
2.可以通过外设时钟控制寄存器使能外设时钟。在具体的应用中。为降低系统功耗,不使用的外设最好将其时钟禁止。外设时钟包括高速外设和低速外设两种,分别通过HISPCP和LOSPCP寄存器进行设置。
8.1.3X2812中各种时钟信号的产生寄存器地址长度(×16位)描述PLLCR0x70211PLL控制寄存器PCLKCR0x701C1外设模块时钟控制寄存器(外设时钟使能寄存器)HISPCP0x701A1HSPCLK时钟的高速外设模块时钟预分频寄存器LOSPCP0x701B1LSPCLK时钟的低速外设模块时钟预分频寄存器系统控制寄存器结构体文件SysCtrlRegs8.1.4时钟单元寄存器SCSR0x70221系统控制&状态寄存器WDCNTR0x70231程序监视器计数寄存器WDKEY0x70251程序监视器复位密钥寄存器WDCR0x70291程序监视器控制寄存器表中所有寄存器只有在执行EALLOW指令后,才可以访问。8.1.4时钟单元寄存器问题如果要使系统时钟为输入时钟的4倍频,同时使能所有的外设时钟(高速),将高速外设的时钟设置为系统时钟的1/8,低速外设的时钟设置为系统时钟的1/10,应该如何设置相关的寄存器?voidInitPll(Uint16val){volatileUint16i;if(SysCtrlRegs.PLLCR.bit.DIV!=val)//锁相环控制寄存器{EALLOW;SysCtrlRegs.PLLCR.bit.DIV=val;EDIS;//在锁相环时钟频率切换过程中,只有当锁相环稳定后CPU才会切换到新的PLL设置,因此在设置完PLLCR后需要等待PLL稳定。//初始化锁相环及外设时钟函数InitPll改变锁相环倍频系数和外设时钟的具体应用程序DisableDog();for(i=0;i<5000;i++){}}}//外设时钟控制寄存器,为降低系统功耗,不使用的外设时钟需要屏蔽。但如果使用外设必须首先使能相应的外设时钟voidInitPeripheralClocks(void){EALLOW;//HISPCP/LOSPCP预定标寄存器设置
SysCtrlRegs.HISPCP.a11=0x0001;SysCtrlRegs.LOSPCP.a11=0x0002;//使能使用的外设时钟
SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;SysCtrlRegs.PCLKCR.bit.EVBENCLK=1;SysCtrlRegs.PCLKCR.bit.SCIAENCLK=1;SysCtrlRegs.PCLKCR.bit.SCIBENCLK=1;SysCtrlRegs.PCLKCR.bit.MCBSPENCLR=1;SysCtrlRegs.PCLKCR.bit.SPIENCLK=1;SysCtrlRegs.PCLKCR.bit.ECANENCLR=1;SysCtrlRegs.PCLKCR.bit.ADCEtTCLK=1;EDIS;}对于可靠性要求较高的系统,必须能够在没有人为干预的情况下,自动从故障状态恢复运行,尤其是在诸如工业控制、汽车、机器人等系统尤为重要。有效的措施就是采用看门狗电路。看门狗主要用来检测软件和硬件的运行状态,实际上看门狗就是一个计数器,其需要在一定的周期内计数器被清零,否则计数器会溢出,产生一个系统复位信号,或建立一个非屏蔽中断(NMI)并执行恢复子程序。
看门狗有效地提高了系统的可靠性。8.2看门狗模块振荡器时钟根据预定标器的配置二次分频看门狗使能开关8位看门狗计数器512个振荡器时钟周期宽度的输出脉冲集电极开路逻辑将复位引脚拉低。 当8位程序监视器增计数器计数到最大值时,程序监视器模块产生一个输出脉冲,脉宽为512个晶体振荡器时钟宽度(OSCCLK)。
为了阻止程序监视器复位,用户必须禁止计数器看门狗或程序周期性地向程序监视器密钥寄存器写入0x55+0xAA序列,否则将复位程序监视器计数器。8.2.1看门狗的基本操作在看门狗计数器(WDCNTR)溢出之前,如果采用正确的时序向WDKEY写入数据就可以使WDCNTR复位。当向WDKEY写0x55时,WDCNTR复位到使能位置;只有在向WDKEY写0xAA后才会使WDCNTR真正地复位。0x55和OxAA以外的任何数据写到WDKEY都会引起系统复位。只要向WDKEY写0x55和0xAA,无论写的顺序如何都不会导致系统复位,而只有先写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025农银投资春季招聘6人笔试历年典型考题及考点剖析附带答案详解2套
- 2025内蒙古鄂尔多斯市政汇公路管理有限公司招聘12人笔试历年备考题库附带答案详解
- 2025内蒙古呼和浩特市城市燃气热力集团有限公司招聘笔试提示笔试历年难易错考点试卷带答案解析
- 2025兴业银行驻马店分行招聘笔试历年典型考题及考点剖析附带答案详解2套
- 2025兴业银行成都分行社会招聘(3月)笔试历年典型考题及考点剖析附带答案详解
- 2025交通银行湖南分行春季校园招聘笔试历年典型考题及考点剖析附带答案详解2套
- 机械零部件加工厂机械绞伤事故救援预案
- 铁路运输安全生产规范
- 企业资金风控方案
- 企业研发流程管理方案
- AIGC项目实践:从入门到行业应用课件 项目11 智能体应用与旅游攻略小助手开发
- 2026年湖南省常德市八年级地生会考题库及答案
- 2026年证券法律法规重点题库
- 2026年护理三基知识考试必考题库及答案
- 《脓毒症和脓毒性休克管理国际指南2026》深度解读课件
- 2026年辐射考核预测试题有答案详解
- 2027届新高考语文热点精准复习:高中教材全五册单元任务及对应高考知识点梳理
- 埃博拉病毒病防控防护指南(2025版)
- 2026年中国医药集团校招面试模拟题及医药流通模式解析
- 2026广东惠州惠城区桥东街道招聘党建联络员和村(社区)“两委”班子储备人选11人笔试参考题库及答案详解
- 2026中国监护仪行业渠道冲突与管理优化研究报告
评论
0/150
提交评论