历史上的今天
今天是:2024年11月08日(星期五)
2021年11月08日 | MINI2440 MPLL
2021-11-08 来源:eefocus
1. S3C2440时钟系统
s3c2410/s3c2440的时钟控制逻辑既可以外接晶振,然后通过内部电路产生时钟源;也可以直接使用外部提供的时钟源,他们通过引脚的设置来选择。时钟控制逻辑给整个芯片提供3种时钟:FCLK用于CPU核;HCLK用于AHB总线上设备,比如CPU和、存储器控制器、中断控制器、LCD控制器、DMA和USB主机模块等;PCLK用于APB总线上的设备,比如WATCHDOG、IIS、I2S、PWM定时器、MMC接口、ADC、UART、GPIO、RTC和SPI。
AHB(Anvanced High performance Bus)总线主要用于高性能模块之间的连接;APB(Advanced Peripheral Bus)总线主要用于低带宽的周边外设之间的连接,例如UART、I2C等。
上文摘录于《嵌入式应用开发完全指南》,文中已对S3C2440的时钟系统做了一些简要的介绍。
2. S3C2440时钟系统寄存器
S3C2440时钟系统相关寄存器如下表所示:

上表列出了S3C2440时钟系统中的所有寄存器,而本次实验只涉及MPLL部分,所以本次实验涉及的寄存器只包括MPLLCON、CLKDIVN。
3. S3C2440 MPLL设置步骤
根据数据手册及相关文章得出MPLL设置步骤如下
1.配置LOCKTIME寄存器
2.配置CLKDIVN寄存器
3.设置CPU总线模式为异步总线模式(设置CLKDIVN会改变FCLK、HCLK、PCLK的比率,因此需要调节CPU总线模式)
4.配置MPLLCON寄存器
LOCKTIME寄存器复位后默认值为0xFFFFFFFF,所以无需设置。
CLKDIVN寄存器可根据要求的分频比参照S3C2440官方数据手册7-8(第7章第8页)表格进行设置(这里采用的分频比为1:4:8)。
MPLLCON寄存器可根据要求参照S3C2440官方数据手册7-21(第7章第21页)表格进行设置(这里采用的频率为405MHZ)。
调整CPU总线模式需要操作P15协处理器,p15协处理器各位具体作用可参考这里。
4. 编写代码
由于本次实验只是修改了CPU了运行频率,所以我们以流水灯程序为基础,修改了”start.S”文件来完成目标,其他文件则无需修改,修改后的代码如下:
/* start.S */
.text
.global _start
_start:
#define MDIV 0x7f << 12
#define PSDIV 0x21
ldr r0,=0x53000000
mov r1,#0x00
str r1,[r0] /* disable the watchdog timer */
ldr sp,=0x40000000+4096 /* set stack pointer */
ldr r0,=0x4c000000
mov r1,#0xffffffff
str r1,[r0] /* set locktime register */
ldr r0,=0x4c000014
mov r1,#5
str r1,[r0] /* set CLKDIVN register */
mrc p15, 0, r1, c1, c0, 0
orr r1, r1, #0xc0000000
mcr p15, 0, r1, c1, c0, 0 /* change bus mode */
ldr r0,=0x4c000004
mov r1,#MDIV
add r1,r1,#PSDIV
str r1,[r0] /* set MPLLCON register */
b main
5. 上传测试
代码修改完成后重新编译上传,上传及运行方法见裸机流水灯一文。
上传运行之后我们可以发现,流水灯频率明显变快,说明程序没有错误,实验成功。
史海拾趣
|
流无线传输技术GPRS与CDMA之对比 王中碧 目前,基于GPRS/CDMA无线数据传输业务广泛在移动办公、工业控制、远程遥测等多方面应用,网络运营商中国移动GPRS和联通CDMA各有其特点。本文从网络的覆盖、带宽、频谱等方面对GPRS和 ...… 查看全部问答> |
|
嘿 各位: 现在我在做一个WINCE下GPRS拨号上网的程序,采用的模块是SIM300,但是现在遇到这样一个问题,当我调用RasDial函数进行拨号时如果有电话来,RasDial函数就出不来了(所以导致程序看上去像死机了),如果拨号过程中没有电话进 ...… 查看全部问答> |
|
我现在在培训电子设计大赛。刚用到c8051f120做ADDA实验。 我们是用调制好的0~2V的三角波(用数字信号发生器)输入单片机的AD进行AD转换。。。之前通过数信号发生器的波形偏移1V,将波形调制到0V以上(因为AD不采样负的电压)之后再用DA输出到示波器 ...… 查看全部问答> |
|
写了一个CCP捕捉用于红外线解码的程序,为什么在PIC16F877A中运行很正常,但当移值到PIC16F690时却不正常了,中断与主函数是一样的,CCP配置也是一样的,如下,难道PIC16F690的CCP捕捉需要什么特别的配置吗 ...… 查看全部问答> |
|
分享一个F28335的ECAP例子,这个例子有两个中断,中断服务程序通过获取ECAP的时间来计算无刷直流电机的转速。 ECAP的配置可以给大家做个参考。附上工程。 主程序: #include \"DSP28x_Project.h\" // Device Headerfile ...… 查看全部问答> |
|
420包SF出伽利略送CapSense MBR3 Evaluation Kit 从学妹那吐血换来的伽利略,没时间深入研究,出给需要的攻城狮,就上三次电,屏蔽袋和小说明书找不到了,其他齐全,420包SF,送CapSense MBR3 Evaluation Kit http://china.cypress.com/?rID=92067 25美刀的神器 不接刀  ...… 查看全部问答> |
|
今天MicroPython升级到1.8.4。升级记录见: http://micropython.org/resources/micropython-ChangeLog.txt 同步更新了论坛活动开发板的固件,供大家参考。 … 查看全部问答> |




