arm资料PPT教学课件_第1页
arm资料PPT教学课件_第2页
arm资料PPT教学课件_第3页
arm资料PPT教学课件_第4页
arm资料PPT教学课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、7.1 S3C2440时钟系统7.1.1 时钟系统概述北华航天工业学院 房好帅 时钟源:产生固定频率的高低电平变化信号;MPLL为主时钟锁相环,UPLL为USB时钟锁相环;锁相环:时钟信号频率倍频变换电路,将低频变为高频信号;第1页/共25页北华航天工业学院 房好帅 MPLL:将时钟源输入倍频得到FCLK;时钟分频器:将FLCK、UPLL clock分频得到HCLK、PCLK与UCLK;UPLL:将时钟源输入倍频得到UPLL clock;产生的各时钟信号的作用:(1)FCLK:处理器CPU核作为系统时钟;(2)HCLK:高速总线(AHB)时钟信号;(3)PCLK:低速总线(APB)时钟信号;(

2、4)UCLK:USB接口时钟信号;第2页/共25页S3C2440时钟源可以接外部晶振(XTIpll、XTOpll引脚)或外部时钟(EXTCLK引脚),由OM3:2引脚选择时钟源:北华航天工业学院 房好帅 OM3:2MPLL状态状态UPLL状态状态MPLL时钟源时钟源UPLL时钟源时钟源00工作工作工作工作外部晶振外部晶振外部晶振外部晶振01工作工作工作工作外部晶振外部晶振外部时钟外部时钟10工作工作工作工作外部时钟外部时钟外部晶振外部晶振11工作工作工作工作外部时钟外部时钟外部时钟外部时钟第3页/共25页7.1.2 系统时钟初始化相关寄存器设置1、MPLLCON(MPLL控制寄存器)FCLK频

3、率计算如下:功能:设置MPLL倍频参数北华航天工业学院 房好帅 名称名称位位MDIV19:12PDIV9:4SDIV1:08mMDIV2pPDIVsSDIV22smFCLKp时钟源频率第4页/共25页2、UPLLCON(UPLL控制寄存器)UPLL clock频率计算如下:功能:设置UPLL倍频参数北华航天工业学院 房好帅 名称名称位位MDIV19:12PDIV9:4SDIV1:08mMDIV2pPDIVsSDIV_2smUPLLclockp时钟源频率注意:要先设置UPLLCON,经过7条NOP指令时间再设置MPLLCON !第5页/共25页3、LOCKTIME(锁相环稳定时间寄存器)功能:设

4、置锁相环开始时钟倍频到输出稳定需要的时间;若外接晶振12MHz,则:北华航天工业学院 房好帅 名称名称位位功能功能U_LTIME31:16设置设置UPLL稳定需要的时钟周期数(以时钟稳定需要的时钟周期数(以时钟源周期为单位,至少源周期为单位,至少300uS)M_LTIME15:0设置设置MPLL稳定需要的时钟周期数(以时钟稳定需要的时钟周期数(以时钟源周期为单位,至少源周期为单位,至少300uS)66_300 1012 10ULTIME一般设置该寄存器为0 xFFFFFFFF即可;第6页/共25页4、CLKDIVN(时钟分频寄存器)功能:设置时钟分频参数;北华航天工业学院 房好帅 名称名称位位

5、功能功能DIVN_UPLL3 0: UCLK = UPLL clock 1: UCLK = UPLL clock/2当当UPLL clock为为48MHz时设置时设置0,为,为96MHz时设置时设置1; UCLK必须为必须为48MHzHDIVN2:1 00: HCLK = FCLK/1 01: HCLK = FCLK/2 10: HCLK = FCLK/4 11: HCLK = FCLK/3PDIVN0 0: PCLK = HCLK/1 1: PCLK = HCLK/2第7页/共25页7.1.3 S3C2440时钟初始化程序在2440init.s文件中初始化程序包含时钟初始化程序片段:ldrr

6、0, =LOCKTIMEldrr1, =0 xffffffstrr1, r0ldrr0, =CLKDIVNldrr1, =CLKDIV_VALstrr1, r0mrc p15, 0, r0, c1, c0, 0orr r0, r0, #0 xc0000000mcr p15, 0, r0, c1, c0, 0北华航天工业学院 房好帅 LOCKTIME为锁相环稳定时间寄存器地址CLKDIVN为时钟分频寄存器地址CLKDIV_VAL常量定义于option.inc:CLKDIV_VAL EQU 5FCLK = HCLK,CPU工作在fast bus mode(快速总线模式);FCLK与HCLK不等,要

7、将CPU改为asynchronous bus mod(异步总线模式)第8页/共25页ldrr0, =UPLLCONldrr1, =( (U_MDIV12) + (U_PDIV4) + U_SDIV ) strr1, r0nopnopnopnopnopnopnopldrr0, =MPLLCONldrr1, =( (M_MDIV12) + (M_PDIV4) + M_SDIV ) strr1, r0北华航天工业学院 房好帅 UPLLCON为UPLL寄存器地址MPLLCON为MPLL寄存器地址option.inc定义常量:M_MDIV EQU92M_PDIV EQU1M_SDIV EQU1U_MDI

8、V EQU56U_PDIV EQU2U_SDIV EQU2UPLLCON后7条NOP再设置MPLLCON第9页/共25页7.2 S3C2440定时器7.2.1 定时器概述S3C2440有Timer0Timer4共5个定时器, Timer0Timer3可以通过TOUT0TOUT3引脚输出PWM波,Timer4没有输出引脚;PWM(Pulse Width Modulation,脉宽调制)波即可编程控制高低电平比例的方波;北华航天工业学院 房好帅 编程时注意:引脚TOUT0TOUT3为GPB0GPB3;第10页/共25页Timer0也可产生一对可带死区的互补的PWM波,在TOUT0与TOUT1引脚输

9、出:不带死区的互补PWM波:此时TOUT1引脚又记为nTOUT0,两个引脚上输出的波形相反;北华航天工业学院 房好帅 第11页/共25页此时TOUT0引脚记为TOUT0_DZ,TOUT1记为nTOUT0_DZ,灰色部分称为死区,使得互补波形高低转换时有一定时间间隔;北华航天工业学院 房好帅 带死区的互补PWM波:第12页/共25页带死区的互补PWM波的典型应用:全桥逆变器(直流变交流)S1与S2不能同时导通,故两管的栅极需要互补PWM驱动进行开关,为严格保证两者不同时导通,实际要用带死区的互补PWM,死区时间大于2uS,如S1导通后2uS使得S2导通更安全;北华航天工业学院 房好帅 第13页/

10、共25页定时器的计数时钟由PCLK经过分频得到:PCLK先经过预分频器0、1分频,之后由2级分频器分频为1/2、1/4、1/8、1/16频率;另外2级分频器同时也可从TCLK0与TCLK1引脚获得外部时钟信号;北华航天工业学院 房好帅 预分频器1预分频器02级分频器02级分频器12级分频器0输出信号供Timer0、Timer1使用;2级分频器1输出信号供Timer2、Timer3、Timer4使用;第14页/共25页7.2.2 定时器相关寄存器1、TCFG0(定时器配置寄存器0)功能:配置预分频器的分频参数;北华航天工业学院 房好帅 名称名称位位功能功能Dead zone length23:1

11、6 死区计数值(有多少个计数周期)死区计数值(有多少个计数周期)Prescaler 115:8预分频器预分频器1分频值分频值Prescaler 07:0预分频器预分频器0分频值分频值第15页/共25页2、TCFG1(定时器配置寄存器1)功能:配置2级分频器的分频参数;北华航天工业学院 房好帅 名称名称位位功能功能DMA mode23:16 设置为设置为000以中断方式使用定时器以中断方式使用定时器MUX 419:16 Timer4分频分频0000 = 1/2 0001 = 1/4 0010 = 1/8 0011 = 1/16 01xx = TCLK1MUX 315:12 Timer3分频分频0

12、000 = 1/2 0001 = 1/4 0010 = 1/8 0011 = 1/16 01xx = TCLK1MUX 211:8Timer2分频分频0000 = 1/2 0001 = 1/4 0010 = 1/8 0011 = 1/16 01xx = TCLK1第16页/共25页定时器计数频率: PCLK / prescaler value+1 / divider value北华航天工业学院 房好帅 名称名称位位功能功能MUX 17:4Timer1分频分频0000 = 1/2 0001 = 1/4 0010 = 1/8 0011 = 1/16 01xx = TCLK0MUX 03:0Time

13、r0分频分频0000 = 1/2 0001 = 1/4 0010 = 1/8 0011 = 1/16 01xx = TCLK0预分频值:prescaler value = 02552级分频器:divider value = 2, 4, 8, 16第17页/共25页3、TCNTBn与TCNTn(如Timer0对应TCNTB0与TCNT0)TCNTBn:计数缓冲寄存器, TCNTn:计数寄存器;定时器每计数周期开始计数时会将TCNTBn 加载到TCNTn ,将TCMPBn 加载到TCMPn;之后每个计数时钟TCNTn减1,其数值减到等于TCMPn时,TOUTn引脚上的电平发生反转,减至0触发INT

14、_TIMERn中断;北华航天工业学院 房好帅 4、TCMPBn与TCMPn(如Timer0对应TCMPB0与TCMP0)TCMPBn:比较缓冲寄存器, TCMPn:比较寄存器;编程时向TCNTBn 和TCMPBn写数值; TCNTn当前值通过读取TCNTOn(计数观察寄存器)获取 ;第18页/共25页5、TCON(定时器控制寄存器)功能:控制定时器的启停、计数加载、电平反转等;此寄存器控制所有定时器,以4:0位对应Timer0为例:北华航天工业学院 房好帅 名称名称位位功能功能Dead zone enable4 0: 死区不使能死区不使能 1: 死区使能死区使能Timer0 auto relo

15、ad on/off3 0: 单次模式,计数到单次模式,计数到0停止;停止; 1: 计数到计数到0,自动将,自动将TCNTB0 加载到加载到TCNT0 ,将,将TCMPB0 加载到加载到TCMP0,继,继续下一周期;续下一周期;第19页/共25页北华航天工业学院 房好帅 名称名称位位功能功能Timer 0 output inverter on/off2 0: 开始计数时开始计数时TOUT0电平为高电平为高 1: 开始计数时开始计数时TOUT0电平开始为低电平开始为低Timer 0 manual update1 0: 无操作无操作 1: 将将TCNTB0 加载到加载到TCNT0 ,将,将TCMPB

16、0 加载到加载到TCMP0Timer 0 start/stop0 0: 停止停止 1: 开始开始第20页/共25页7.2.3 定时器编程实例北华航天工业学院 房好帅 PWM控制蜂鸣器声音大小TOUT0输出的PWM波高电平比例大,则蜂鸣器声音大,反之声音小;第21页/共25页初始化函数:北华航天工业学院 房好帅 void timer0_init()/引脚功能初始化rGPBCON &= (30);rGPBCON |= (20);rGPGUP |= (10);/清除中断相关寄存器rSRCPND |= (110);rINTPND |= (110);/选择中断屏蔽rINTMSK &= (110);/安装中断处理函数pISR_TIMER0 = (unsigned int)timer0_isr;第22页/共25页北华航天工业学院 房好帅 &= (2550);rTCFG0 |= (490);rTCFG1 &= ( (1520) | (150) );rTCFG1 |= (10);/设置计数初值rTCNTB0 = 25000;rTCMPB0 = 12500;/加载计数rTCON |=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论