- 5
- 0
- 约2.05千字
- 约 27页
- 2020-01-31 发布于上海
- 举报
每当程序需要延时时,我们是利用循环语句来实现。
这种方法的延时简单,但不是很精确,就是说不能得到确切的一段时间的延时。
因此当需要精确延时时,就不能采用这种方法了。一般是利用定时器来实现。;MCU的主时钟源主要是外部晶振或外部时钟,而用的最多的是外部晶振;系统内所使用的时钟都是外部时钟源经过一定的处理得到的。
由于外部时钟源的频率一般不能满足系统所需要的高频条件,所以往往需要PLL(锁相环)进行倍频处理。;在s3c2440中,有2个不同的PLL,一个是MPLL,另一个是UPLL。
UPLL是给USB提供48MHz。
MPLL处理后能够得到三个不同的系统时钟:
FCLK、HCLK和PCLK
FCLK是主频时钟,用于ARM920T内核;
HCLK用于AHB总线设备,如ARM920T,内存控制,中断控制,LCD控制,DMA以及USB主模块;PCLK用于APB总线设备,
如外围设备的看门狗,IIS,I2C,PWM,MMC接口,ADC,UART,GPIO,RTC以及SPI。;三个系统时钟(FCLK、HCLK和PCLK)是有一定的比例关系
这种关系是通过寄存器CLKDIVN中的HDIVN位和PDIVN位来控制的
因此我们只要知道了FCLK,再通过这两位的控制,就能确定HCLK和PCLK;而FCLK是如何得到的呢?
它是通过输入时钟(即外部时钟源)的频率,经过一个计算公式得到的,这个计算公式(查
原创力文档

文档评论(0)