IMX6U主频详解和配置

          IMX6U默认396Mhz主频 可以达到528Mhz

一、时钟来源及组成

1、时钟的来源都是晶振

32.768khz的晶振 给RTC使用

24MHz的晶振给系统来使用 接在T16和T17这两个IO上

2、芯片时钟构成

七路PLL 全都由24Mhz晶振产生 使用这些的原因是为了方便外设使用 倍频产生

①ARM PLL供给ARM内核的 可以使用650Mhz到1.3Ghz

②System PLL 固定为528Mhz 为 22倍频 供给系统使用 也叫作528PLL 此路PLL分出4路PFD

③ USB1 PLL 主要用于USB时钟 也分为4路PFD 20倍频 480Mhz 也叫作480PLL

④Audio PLL 主要供给音频使用 比如 spdif等音频外设

⑤Video PLL 主要供给视频使用 比如LCD这种 RGBLCD 和图像处理有关的

⑥ENET PLL 主要供给网络外审使用 可能单独给网络使用

⑦USB2 PLL 480Mhz 无PFD

3、常规使用需要初始化的PLL和PFD 一般按照时钟树里面的值进行设置

PLL1 内核使用

PLL2 以及他对应的PFD

PLL3 以及他对应的PFD

其余都为使用时再初始化 比如音视频 网络等

外设可以根据这个设置 来源IMX官方参考手册 这些都是最大值 设置请注意选择

二、配置方式 修改主频

1、PLL 经过二分频 得到频率给 ARM内核使用 PLL1最大为 1.3Ghz

①ARM 内核设置528mhz 可以设置cacrr的ARM_PIDF位位2分频 CACRR的bit0 3可以设置1-8分频

因此设置CACGRR的AMR_PODF=1;

②设置PLL1为1056Mhz

PLL1=pll1_sw_clk 有两路选择 分别为pll1_main_clk 和 step_clk 通过CCSR寄存器的pll1_sw_clk_set

(bit2 )位来选择bit2

③在修改系统时钟的时候 必须给一个临时的时钟 也就是step_clk 在修改PLL的时候需要将pll_sw_clk切换到

setp_clk上

④ 设置setp_clk

可以直接选择晶振 24Mhz --将CCSR(bit8)的setp_sel设置为0即可使用晶振

⑤ 时钟切换完成后 修改系统时钟

DIV_SEL是CCM_ANALOG_PLL_ARM的bit6-0来设置PLL1频率

通过公式可以算出 DIV_SEl等于88 也就是设置DIV_SEL=88即可 并且还要设置使能位

⑥设置CACRR的ARM_PODF=1;切记

⑦代码

void imx6u_clkinit(void)
{
		if(((CCM->CCSR >> 2) & 0x1) == 0) //sense now clock used PLL1
		{
			CCM->CCSR &= ~(1 << 8); //set step_clk = osc_clk=24
			CCM->CCSR |= ( 1<< 2); //pll1_sw_clk = step_clk=24MHz

		}
		CCM_ANALOG->PLL_ARM = (1 << 13) | ( (88 << 0) & 0x7F ) ;//set PLL1=1056 and enable this clock output;
		CCM->CACRR = 1 ; //set two divided frequency
		CCM->CCSR  &=  ~(1<<2); //set pll1_sw_clk=1056Mhz;

}	

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤劳的半导体

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值