S3C2440的时钟原理】的更多相关文章

Crystal 无源晶体Oscillator 有源晶体(里面有有源器件) 无源晶振内只有一片按一定轴向切割的石英晶体薄片,供接入运放(或微处理器的XTAL端) 以形成振荡.有源晶振内带运放,工作在最佳状态,电源后,可直接输出一定频率的等幅正弦波, 一般至少有4引脚,体积稍大. 对于任何一个单片机,要使用它首先就要弄明白他的时钟系统,MCU的时钟就像人的心脏,跳动的快慢,决定着系统的工作速度.S3C2440的datesheet上说,可以达到400M,但是也不是说,必须在400M的频率下工作,主时钟…
一.S3C2440系统时钟体系 S3C2440的时钟控制逻辑可以外接晶振,然后通过内部电路产生时钟源:也可以直接使用内部提供的时钟源,他们通过引脚的设置来选择.时钟逻辑给整个芯片提供了3中时钟:FCLK用于CPU核.HCLK用于AHB总线上设备,比如CPU核.存储器控制器.中断控制器.LCD控制器.DMA控制器和USB主机模块等:PCLK用于用于APB总线上的设备,比如看门狗.IIS.I2C.PWM定时器.MMC接口.ADC.UART.GPIO.RTC和SPI等. AHB(Advanced Hi…
s3c2440裸机编程-时钟编程(二.配置时钟寄存器) 1.2440时钟时序 下图是2440时钟配置时序: 1.上电后,nRESET复位信号拉低,此时cpu还无法取指令工作. 2.nRESET复位信号结束后变为高电平,此时cpu开始工作.此时cpu主频FCLK=osc. 3.此时可以配置PLL,经过lock time后,FCLK倍频成新的时钟. 2.如何配置时钟 在参考手册的特性里介绍了S3C2440的工作频率,Fclk最高400MHz,Hclk最高136MHz,Pclk最高68MHz.那么 我…
1.总线框架 下图是2440的总线框架,其中有AHB(Advanced High performance Bus)高速总线,APB(Advanced Peripheral Bus)外围总线. 不同总线对应不同的时钟. SOC <-> FCLK AHB <-> HCLK APB <-> PCLK 其中: 1.使用AHB总线的有:LCD控制器.usb控制器.中断控制器.内存控制器等... 2.使用APB总线的有:i2c.spi.timer.gpio.adc等...具体上图.…
文章目录 一.S3C2440时钟体系介绍 1.总线与时钟 2.时钟来源 3.选择时钟 4.产生时钟 5.流程 二.如何配置时钟源 1.设置FCLK频率寄存器 MPLLCON 2.设置分频HDIV.PDIV寄存器 CLKDIVN 3.时钟开关控制寄存器 CLKCON 一.S3C2440时钟体系介绍 1.总线与时钟 S3C2440有俩个总线:AHB高速总线.APB外围总线. 对应三个时钟源: ARM芯片CPU的FCLK AHB总线的HCLK APB总线的PCLK 三个时钟的工作频率: (可以看出对比…
在讲述系统时钟之前,因为这些设备都是挂靠在系统时钟上的,所以必须先说系统时钟,S3C2440的时钟系统如下 外部时钟源分两种,晶振或者外部频率,由om3-2选择,时钟电路根据两种选择也有两种 我们来分析时钟图可以得到以下结论:  经过选择的外部时钟进入MPLL,进行锁相环倍频,经过锁相环之后的时钟MPLL_IN分成了三股,分别是FCLK,HCLK,PCLK.这其中HCLK和PCLK又是从HCLK分频得到的,最后ARM920T这个系统内核模块得到了两个时钟HCLK和FCLK,DMA控制器,LCD控…
时钟对于一个系统的重要性不言而喻,时钟决定了系统发送数据的快慢,高性能的芯片往往能支持更快速度的时钟,从而提供更好的体验. S3C2440的输入时钟频率是12MHZ,对于这款芯片,显然速度是不够的,所以就需要进行设置来获取我们想要的频率,S3C2440的芯片手册提供了这样的一个表格供选择 现在我们希望获取的输出频率为400MHZ,那么就需要设置MDIV,PDIV,SDIV这三个数值,只需设置对应的寄存器即可:因为需要的是400MHZ,因此使用的是MPLLCON 代码实现如下: #define S…
Linux内部的时钟处理机制全面剖析 在 Linux 操作系统中,很多活动都和时间有关,例如:进程调度和网络处理等等.所以说,了解 Linux 操作系统中的时钟处理机制有助于更好地了解 Linux 操作系统的运作方式.本文分析了 Linux 2.6.25 内核的时钟处理机制,首先介绍了在计算机系统中的一些硬件计时器,然后重点介绍了 Linux 操作系统中的硬件时钟和软件时钟的处理过程以及软件时钟的应用.最后对全文进行了总结. ◆1.计算机系统中的计时器 在计算机系统中存在着许多硬件计时器,例如 …
一.移植环境 主  机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand,Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2.tgz u-boot:u-boot-2009.08.tar.bz2 二.移植步骤 本次移植的功能特点包括: 支持Nand Flash读写 支持从Nor/Nand Flash启动 支持CS8900或者DM9000网卡 支持Yaffs文件系统 支持USB下载(还未实现) . 了解u-boot主要的目录结构和启动流程,…
时钟设置是一个非常重要的环节,如果系统没有合适的时钟,根本无法工作.   S3C2440的时钟复杂,分为FCLK,HCLK,PCLK.    在程序测试中,曾出现这样一个错误.系统当前FCLK为400MHz,分频比是1:4:8,并且为同步工作模式.现在,欲重新设置时钟,把FCLK设置为200MHz,分频比设置为1:2:4.    修改的程序是,先设置分频比,在重新设置FCLK.结果系统故障. 后来,先设置FCLK,再来设置分频比,就能正常工作.    分析原因是由于原来FCLK为400MHz,现…
今天写第一篇,S3C2440的时钟,配置好时钟系统,各个模块才能正常有效的工作,为了了解始终系统,必须要阅读芯片手册,尽量看英文版的,这样还能捎带着增加一下阅读英语计数文档的能力. 概览 在2440数据手册的第7章,时钟和电源管理.硬着头皮往下读.主要阅读时钟控制部分,从手册可以知道,CPU用FCLK,AHB总线设备用HCLK,APB总线设备用PCLK. 时钟的架构和选择 2440的主时钟源可以是外接的晶振,亦可以是外部的时钟源,有一个叫PLL锁相环的东西,他可以产生需要的高时钟源.根据实际的情…
本章目标      了解S3C2410/S3C2440的时钟体系结构     掌握通过设置MPLL改变系统时钟的方法     掌握在不同的频率下设置存储控制器的方法     掌握PWM定时器的用法     了解WATCHDOG定时器的用法 10.1 时钟体系及各类时钟部件 10.1.1 S3C2410/S3C2440时钟系统     S3C2410/S3C2440的时钟控制逻辑既可以外接晶振,然后通过内部电路产生时钟源:也 可以直接使用外部提供的时钟源,它们通过引脚的设置来选择.时钟控制逻辑给整…
分布式系统解决了传统单体架构的单点问题和性能容量问题,另一方面也带来了很多的问题,其中一个问题就是多节点的时间同步问题:不同机器上的物理时钟难以同步,导致无法区分在分布式系统中多个节点的事件时序.1978年Lamport在<Time, Clocks and the Ordering of Events in a Distributed System>中提出了逻辑时钟的概念,来解决分布式系统中区分事件发生的时序问题. 什么是逻辑时钟 逻辑时钟是为了区分现实中的物理时钟提出来的概念,一般情况下我们…
[源码解析] 并行分布式框架 Celery 之 Lamport 逻辑时钟 & Mingle 目录 [源码解析] 并行分布式框架 Celery 之 Lamport 逻辑时钟 & Mingle 0x00 摘要 0x01 逻辑时钟 1.1 来由 1.2 什么是逻辑时钟 1.3 为什么需要逻辑时钟 1.4 Lamport 逻辑时钟 0x02 Lamport 时钟 in Kombu 0x03 使用 clock 3.1 Kombu mailbox 3.2 Celery 应用 3.3 EventDisp…
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59413.html linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 一.linux设备驱动的作用 内核:用于管理软硬件资源,并提供运行环境.如分配4G虚拟空间等. linux设备驱动:是连接硬件和内核之间的桥梁. linu…
花了半个月,才搞定驱动中的枚举部分,现在说linux的枚举,windows可能有差别. 代码我会贴在后面,现在只是实现枚举,你可能对代码不感兴趣,我就不分析代码了,你可以看看 在<自娱自乐1>中的模板,比较一下,我做了什么,这会给你写udc驱动提供个思路.我直接分析 调试打印,就是枚举过程,我们从代码看枚举.打印位置可以在下面的代码里找到. 如果你要弄懂驱动代码中涉及枚举的地方,你就仔细看看代码在那打印的,这个对你完成一个udc驱 动有帮助. 如果你只是想简单了解枚举你就看看我分析的调试打印就…
1.js 中  NaN === NaN  值为false; 2.parseInt("abc") === NaN;(不是数字) 3.tab 纯js 实现.可以给当前循环的元素添加.index 属性.当前序号. 4.操作元素时,不要混合操作 style 或者className,交替操纵容易出现费预知情况,因为js 操作改变的是行内样式,优先级高. 5.对象操作属性 可以用点操作符号  ,也可以用中括号操作. obj.name  === obj['name']; 数组和对象中括号 区别是,对…
一.linux设备驱动的作用 内核:用于管理软硬件资源,并提供运行环境.如分配4G虚拟空间等. linux设备驱动:是连接硬件和内核之间的桥梁. linux系统按个人理解可按下划分: 应用层:包括POSIX接口,LIBC,图形库等,用于给用户提供访问 内核的接口.属于用户态,ARM运行在用户模式(usr)或 者系统模式(sys)下. 内核层:应用程序调用相关接口后,会通过系统调用,执行SWI指 令切换ARM的工作模式到超级用户(svc)模式下,根据用 户函数的要求执行相应的操作. 硬件层:硬件设…
前言 原创文章,转载引用务必注明链接.水平有限,欢迎指正. 2016年3月30日 Lemuntu(Base On Jessie) 3.10.37 原载于Lemaker论坛.汇总于此. 看ATC2603C手册的时候发现其内置硬件时钟(Real Time Clock,RTC),并且提供alarm功能,用于把设备从低功耗状态唤醒. 7.2.5章节提到,PMU提供4种省电模式,且支持多种唤醒方式,包括按键.GPIO.RTC ALARM.红外线IR等,其中RTC ALARM可在S4深度睡眠状态唤醒设备.…
linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 一.linux设备驱动的作用 内核:用于管理软硬件资源,并提供运行环境.如分配4G虚拟空间等. linux设备驱动:是连接硬件和内核之间的桥梁. linux系统按个人理解可按下划分: 应用层:包括POSIX接口,LIBC,图形库等,用于给用户提供访问 内核的接口.属于用户…
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤.一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便.如有错误之处,谢请指正. 共享资源,欢迎转载:http://hbhuanggang.cublog.cn 一.开发环境 主  机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2 二.相关概念 1.平台设备:通常在Linux中,把SoC系统中集成…
S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A) 转载自:http://www.cnblogs.com/idle_man/archive/2010/12/23/1915303.html S3C2440内部集成了一个Nand flash控制器.S3C2440的Nand flash控制器包含了如下的特性: l        一个引导启动单元 l        Nand Flash存储器接口,支持8位或16位的每页大小为256字,512字节,1K字和2K字节的Nand f…
用过一些日历软件的小伙伴应该都知道它们都实现了在时钟窗口上的Hook,也就是屏蔽了系统原有的功能,实现自己的功能 某日历软件Hook时钟窗口后的效果 经过一番研究,发现原理其实很简单,就是注入DLL到时钟窗口进程(explorer.exe),然后接管窗口处理过程实现自己的功能 第一步是判断当前操作系统架构,是x86还是x64,你别指望一个x64的explorer.exe会加载你x86的DLL 第二步就是查找时钟窗口的进程(explorer.exe) 然后根据系统架构的不同注入不同架构的DLL,至…
参考: http://blog.csdn.net/mr_raptor/article/details/6555734 http://blog.csdn.net/mjx91282041/article/details/8887729 系统时钟 MINI2440开发板在没有开启时钟前,整个开发板全靠一个12MHz的晶振提供频率来运行,也就是说CPU,内存,UART等需要用到时钟频率的硬件都工作12MHz下,而S3C2440A可以正常工作在400MHz下,两者速度相差可想而知,就好比牛车和动车.如果C…
1.SDRAM原理 black (1)SDRAM内部存储结构: (2)再看看与2440连接的SDRAM原理图: sdram引脚说明: A0-A12:地址总线 D0-D15:数据总线(位宽16,2片级联成位宽32) BA0-BA1:bank选择 nSCS:片选 nSRAS:行地址选择 nSCAS:列地址选择 nWE:写使能 SCLK:时钟 SCKE:时钟使能 (3)SDRAM的地址范围: 之前我们讲"二.不同位宽外设与CPU地址总线的连接"这一节的时候,我们留下了一个问题,SDRAM的地…
任意一款单板,我们了解其时钟都是通过时钟树来的. 这里没有全部截完,只是讲解时钟来源,OSC代表晶振,这说明我们的时钟可以来至晶振OSC也可以来至外部输入EXTCLK,这是通过OM选择器来完成的. 2440的时钟,分为主时钟和usb时钟,先说主时钟,usb时钟之后用到的时候再说. 要如何配置FCLK,HCLK,PCLK? 可以知道我们cpu的最大时钟位400M,高速总线最大时钟136M,外设最大时钟68M. 为了试验,我们配置FCLK=400,HCLK=100,PCLK=50. 较之前的LED灯…
1.设置lock time 2.设置分频系数 3.设置CPU到异步工作模式 4.设置 FCLK 了解 芯片的时钟原理图,以及寄存器的作用 了解芯片的晶振频率,锁相环,分频系数,以及有哪些时钟…
注:以下内容学习于韦东山老师arm裸机第一期视频教程 一. 2440时钟简介 1.1 2440是一个SOC(system on chip)系统,不仅有很多CPU,还有很多外设,在2440芯片手册有系统框架图如下: 2440框架图中,不仅有CPU,而且有很多外设,其中外设分为两部分,一部分是AHB总线,一部分是APB总线 1.2 AHB总线 1.2.1 LCD控制器 1.2.2 USB控制器 1.2.3 NAND控制器 1.2.4 内存控制器 1.2.5 摄像头接口 1.2.6 中断控制器 1.2…
1.内存接口概念 S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚(GPA-GPH)),有串口控制器 (接有TXD RXD引脚),有memory controller内存控制器,有Nand控制器等... 1.不同类型的控制器: (1)GPIO控制器属于门电路,不涉及到时序,相对简单. (2)串口控制器属于协议类接口,类似的协议类接口还有iic.iis.spi等. (3)前面的GPIO/门电路接口.协议类接口,都不会把地址输出到外部设备,仅仅只是将地址写入到相应的控制器. 接下来的内…
1.uart硬件介绍 UART的全称是Universal Asynchronous Receiver and Transmitter(异步收发器). uart主要用于: 1.打印调试 2.数据传输 串口通过三根线即可,发送.接收.地线. pc的TxD -> arm的RxD (UART write) arm的TxD -> pc的RxD (UART read) 2.uart的参数和格式 波特率:表示每秒传输多少bit,bits per second(bps).一般波特率都会有9600,19200,…