S3C2440裸机实验(1)-----clock
来源:互联网 发布:js将json转换成数组 编辑:程序博客网 时间:2024/05/29 11:16
转载请注明出处:http://blog.csdn.net/charistain_huang
文章中有什么不正确的地方恳请请各位网友指点
********************************************************
*****作者:黄仁军 *******
*****联系email:957626485@qq.com *******
********************************************************
快要毕业了,毕业之前再重新把这些实验从头到尾的练习一遍,先开始裸机的吧,这些都是以前搞过的东西,现在应该会比较快。。
开始吧!
时钟对于电子设备来说都是非常重要的,它是传输数据的一个基准,如果没有这个基准的话将导致系统的混乱。
S3C2440的频率有两种输入方式:外部时钟源和内部晶振(如下图)
输入的频率一般是比较低的比如2440的就只有12M,而2440的主频可以达到460M,这就需要对输入频率通过PLL锁相环进行倍频
先来看下这个CLOCK的结果图:
从上面的结果图可以看出输入频率OSC首先经过MPLL倍频
整个系统时钟主要有几个组成:FCLK,HCLK,PCLK
FCLK:是个cpu提供时钟
HCLK:用于AHB总线,中断控制器,LCD控制器,内存控制器提供时钟
PCLK:用于APB总线,通常给IIC,WDT,IIS,ADC, UART, GPIO, RTC and SPI.等外设提供时钟
下面是整个时钟系统的几种工作方式:正常,空闲,慢,睡眠模式。
慢模式:也就是没有通过MPLL倍频,直接就由外部时钟源或者内部晶振来提供时钟,所以系统的功耗有时钟源来决定
设置系统时钟主要配置几个寄存器:
MPLLCON:设置P,S,M的值
CLKDIVN:设置FCLK,HCLK,PCLK的比例关系
MPLL和UPLL的计算公式不同:
Mpll = (2*m * Fin) / (p * 2s)
m = M (the value for divider M)+ 8, p = P (the value for divider P) + 2,s = SDIV
UPLL Control Register
Upll = (m * Fin) / (p * 2S)
m = (MDIV + 8), p = (PDIV + 2), s = SDIV
另外需要特别注意的一点,如果直接采用上面的式子计算输出频率很可能出错,因为会发生溢出,故采用下面的式子:
FOUT = 2 * m * (Fin/100) / (p*2S)×100,
下面是核心代码:
- S3C2440裸机实验(1)-----clock
- S3C2440裸机实验之clock(时钟设置)
- S3C2440裸机实验(1)-----uart
- S3C2440裸机实验(2)-----uart
- S3C2440裸机实验(3) ----watchdog
- s3c2440裸机实验(5)----IIS
- S3C2440裸机实验(6) ----NAND FLASH
- S3C2440裸机实验(7)----LCD驱动
- S3C2440裸机实验之timer(定时器)
- S3C2440裸机实验
- S3C2440裸机实验(4) -----IIC
- S3C2440(1) Clock&Power Management
- S3c2440裸机程序【1】跑马灯
- S3C2440 UART串口驱动(裸机)
- S3C2440 clock研究
- S3C2440 clock研究
- S3C2440 裸机时钟RTC
- S3C2440 RTC 裸机程序
- java中向上转型(upcast)和向下转型(downcast)
- 2011中国城市生活质量排名,人民生活质量满意度没有提高
- wince6.0 注册表的相关操作和说明
- 字符串初始化
- 可以访问127.0.0.1,但不可以访问localhost
- S3C2440裸机实验(1)-----clock
- Q:我已经购买过WinDriver,最近欲使用另一部新计算机撰写驱动程序,但却无法正常操作WinDriver,请问如何解决?
- 2011/06/13 android 捕获js代码中的alert、confirm和prompt
- 界面加载完成后自动弹出软键盘
- Nginx 禁止非法域名访问(限制域名访问)
- const
- 待学习的小技术点备忘
- Q:我欲使用WinDriver开发一个PCI卡的驱动程序来传输图像,但是当我利用WinDriver进行Virtex5 FPGA进行读取和写入动作时,计算机会当机,请问如何解决?
- UIWebView加载Loading...两种方法