1.时钟的产生
S3C2440的系统时钟图如下:
S3C2440A的主时钟源由外部时钟(EXTCLK)或者外部晶振(XTIPll)提供,输入时钟源由模式控制引脚OM3和OM2控制选择,在复位信号的上升沿参考OM3和OM2的引脚将OM[3:2]的状态在内部锁定
大致过程是:经过OM3和OM2引脚选择的外部时钟进入MPLL(锁相环)和UPLL进行倍频,经过MPLL得到FCLK直接供给给CPU,除此以外,FCLK还会经过HDIV和PDIV分频得到HCLK和PCLK,分别提供给APB总线和AHB总线。而经过UPLL的会产生UCLK供给USB。如图:
2.修改时钟频率的过程
1.上电后,复位芯片(nRESET)等待电源稳定再输出高电平,复位引脚松开后,CPU开始运行,初始的FCLK等于晶振的频率(第一段)
2.在nRESET拉高的时候,CPU开始运行,PLL锁存OM[3:2]引脚的值
3.随后可以设置PLL,并进入LOCK TIME,CPU停止运行,LOCK TIME结束的时候CPU就运行在新的时钟下(第二段FCLK)
3.相关寄存器的配置
例:设置FCLK为200M,HCLK为100M,PCLK为50M,比例也就是1:2:4
首先设置CLKDIVN = 0x03; 根据上表可以查到比例设置为1:2:4,接下来设置PLL
公式为:Mpll = ( 2 × m × Fin ) / ( p × 2^s )
其中m =MDIV+8, p=PDIV+2, s=SDIV,FIN为输入时钟源,如果晶振则为12,具体数值的设置查表
如果HDIVN 不为0,CPU 总线模式应该使用以下指令(查看手册)使其从快总线模式改变为异步总线模式(S3C2440不支持同步总线模式)。
代码示例:
/*clock registers*/
#define MPLLCON (volatile unsigned long *)0x4c000004
#define CLKDIVN (volatile unsigned long *)0x4c000014
#define S3C2440_MPLL_200MHZ ((0x5c<<12)|(0x01<<4)|(0x02))
void clock_init()
{
(*CLKDIVN) = 0x03; // FCLK:HCLK:PCLK=1:2:4, HDIVN=1,PDIVN=1
__asm__{
mrc p15, 0, r1, c1, c0, 0
orr r1, r1, #0xc0000000
mcr p15, 0, r1, c1, c0, 0
}
(*MPLLCON) = S3C2440_MPLL_200MHZ;
}
上一篇:S3C2440裸机实验之clock(时钟设置)
下一篇:ARM裸机学习二:S3C2440的串口使用
推荐阅读最新更新时间:2024-11-10 11:31
推荐帖子
- 当年就是它带我入门单片机的殿堂,希望对你也有所帮助!
- 如果你是单片机高手或ARM高手,绕道吧,这本书可能对你来说太小儿科了如果你刚学会单片机或正在单片机门口徘徊那来还是好好研究一下吧这本书虽然有点老但是讲的思想永远不过时当年就是它引领我走进MCU的殿堂胜过万千入门教程献给那些还在MCU门口徘徊的人好好研究书里面的内容这些思想即使用在现在的ARM处理器上一样好用祝大家学习进步!为了防止伸手党,限制了会员才能看谢谢!当年就是它带我入门单片机的殿堂,希望对你也有所帮助!不错,不管老鸟,菜鸟都值得一看。
- 懒猫爱飞 单片机
- 创意盲文手机:接通的不仅仅是电话
- 创意盲文电话:接通的不仅仅是电话最近热播的中国移动最新广告,打动了无数人的情绪,就像安静水面掉入的一个小石块,激起层层涟漪,让我们的内心久久不能安静,这样的创意应当受到感谢的掌声。同样,这款创意盲文手机,也是一个巨大的创意,也许它看起来不是那么的壮丽多彩,不是那样的功效丰富,但它却真真正正赞助盲人群体接通了世界。虽然,它像是一个鹅卵石上有些不平整的表面,不那么唯美,但它在盲人的心中,绝对是最美的,因为有了它,他们能够很容易接通家人的电话,相互问一声冷暖,或是道上两句思念。创意盲文手机:接
- xyh_521 创意市集
- socketCAN 编程,CAN错误滤波接受错误帧的问题
- 应用SOCKETCAN编程对于使用CAN_RAW_ERR_FILTER我有一些疑问。我使用USB转CAN总线的接受盒子跟开发板相连。可以正常通信,如果断开CANL或者CANH都可以过滤收到错误帧。但是一般只收到了没有ACK应答的错误帧即只收到can_id=0x00000020,我想得到其他的错误帧例如can_id=0x00000010data=0x04。表示CAN_ERR_TRX_CANH_NO_WIRE。等错误的错误帧。关于SOCKETCAN错误帧的定义可以搜索linu
- 20130172 嵌入式系统
- 【上海航芯 ACM32F070开发板+触控功能评估板】电压计实现与ADC性能粗测
- 前言本次基于ADC和段码显示,实现一个电压计的功能。过程基于LCD_TK进行。使用上4位数显示,单位mV。从原理图查看,使用未被占用的ADC输入通道,PA7ADC4。将HAL_ADC.c添加到工程。App.c如下/********************************************************************************@FileAPP.c*@author
- qinyunti 国产芯片交流
- 智能家居控制系统
- 智能家居控制系统,在家庭环境内,搭建无线网络,把各个生活物品有机结合。以求智能化控制智能家居控制系统电脑网络控制开关,这个方法算不算是呢。参考此贴:https://bbs.eeworld.com.cn/thread-241657-1-1.html
- wu2ming7 微控制器 MCU
- 2024 DigiKey创意大赛】职场提神法宝项目-ESP32-C6与手机APP进行通讯
- 打开案例库:修改增加传感器读取代码Stringdata='A'+String(temp.temperature)+'B'+String(humidity.relative_humidity)+'C'+String(scd30.CO2,3)+'D'+String(sgp.TVOC)+'E'+String(massConcentrationPm2p5)+'F'+String(vocIndex)+'@';if(d
- eew_cT3H5d DigiKey得捷技术专区
设计资源 培训 开发板 精华推荐
- LT1086CT-3.6 用于改善纹波抑制的低压差正稳压器的典型应用
- 基于STPMS2,STISO621W和STM32F413RH的三相全并联电表评估板
- Allwinner V3s
- MB3771 双(正/负)电源电压监测的典型应用电路(VCC = 5V,VEE = 负电源)
- DC814A2-F,使用 LTC6905-96 17MHz 至 170MHz 固定频率硅振荡器的演示板
- 具有用于 SCSI-2 总线的有源端接器的 LT1117CM 低压差正稳压器的典型应用
- 使用 ON Semiconductor 的 LV8075LP 的参考设计
- 像素音响LED点阵
- 带保护二极管的LM317L稳压器的典型应用
- LTC3897IUHF 高效两相 24V 升压转换器的典型应用电路(启动后输入电源降至 2.3V)