当前位置:首页 > 单片机 > 单片机
[导读]s3c2410 有三个时钟FLCK 、HCLK 和PCLK (这3个时针都是核心时针)s3c2410 芯片有这么一段话:FCLKis used by ARM920T ,内核时钟,主频。HCLKis used for AHB bus, which is used by the ARM920T, the memory contr

s3c2410 有三个时钟FLCK 、HCLK 和PCLK (这3个时针都是核心时针)

s3c2410 芯片有这么一段话:

FCLKis used by ARM920T ,内核时钟,主频。

HCLKis used for AHB bus, which is used by the ARM920T, the memory controller, the interrupt controller, the LCD controller, the DMA and USB host block. 也就是为AHB总线上的外设提供时钟信号,包括USB时钟。 AHB总线用于连接高速外设。

PCLKis used for APB bus, which is used by the peripherals such as WDT, IIS, I2C, PWM timer, MMC interface,ADC, UART, GPIO, RTC and SPI. 也就是为APB总线上的外设提供时钟信号,即IO接口时钟,串口的时钟设置就是从PCLK来的。APB总线用于连接低速外设。

The S3C2410X supports selection of Dividing Ratio between FCLK, HLCK and PCLK. This ratio is determined by HDIVN and PDIVN of CLKDIVN control register.

s3c2410可通过设置CLKDIVN控制寄存器的HDIVN位(第1位)和PDIVN位(第0位)来改变FCLK, HLCK 和 PCLK的比率。

那么如何获取FCLK, HLCK 和 PCLK的时针频率呢?

可先通过clk_get获取一个clk结构体

de>/* clk_get获取一个名为id的时针
* 输入参数dev: 可以为NULL
* 输入参数id: 时针名称,如fclk、hclk、pclk等
* 返回值: 返回该时钟的clk结构体
*/de>

de>struct clk *clk_get(struct device *dev, const char *id)

struct clk {
struct list_head list;
struct module *owner;
struct clk *parent;
const char *name; /* 该时针名称 */
int id;
int usage;
unsigned long rate; /* 时钟频率 */
unsigned long ctrlbit;

int (*enable)(struct clk *, int enable);
int (*set_rate)(struct clk *c, unsigned long rate);
unsigned long (*get_rate)(struct clk *c);
unsigned long (*round_rate)(struct clk *c, unsigned long rate);
int (*set_parent)(struct clk *c, struct clk *parent);
};
de>

再将clk_get返回的clk结构体传递给clk_get_rate,获取该时钟的频率

de>unsigned long clk_get_rate(struct clk *clk)de>

一个例子:

de>printk(KERN_DEBUG"fclk = %d, pclk = %d, hclk = %d, uclk = %dn",
clk_get_rate(clk_get(NULL, "fclk")),
clk_get_rate(clk_get(NULL, "hclk")),
clk_get_rate(clk_get(NULL, "pclk")),
clk_get_rate(clk_get(NULL, "uclk")));de>

这里出现了另一个时针uclk,专门给usb供给时针信号。uclk是外部时针源,由s3c2410芯片的gph8/uclk管脚引入,给uart提供外部时针信号,以获取更精确地时针频率。

关于AMBA片上总线
AMBA(Advanced Microcontroller Bus Architecture)是由ARM公司提出的片上总线规范。AMBA 2.0规范包括四个部分:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、APB(AMBA外设总线)和Test Methodology。
the Advanced High-performance Bus(AHB)应用于连接高性能、高时钟频率的系统模块(如CPU、DMA和DSP等)它构成了高性能的系统骨干总线( back-bone bus )。AHB bus上的外设有LCD controller(CONT代表controller,控制器)、USB Host CONT、ExtMaster、Nand CONT和nand flash boot loader、bus CONT、interrupt CONT、power management、memory CONT(sram/nor/sdram等)。

the Advanced System Bus(ASB)是第一代AMBA系统总线,同AHB相比,它数据宽度要小一些,它支持的典型数据宽度为8位、16位、32位。

the Advanced Peripheral Bus(APB)是本地二级总线(local secondary bus ),通过桥和AHB/ASB相连。它主要是为了满足不需要高性能流水线接口或不需要高带宽接口的设备的互连。APB bus上的外设有UART、USB device、SDI/MMC、Watch Dog Timer、bus CONT、spi、iic、iis、gpio、rtc、adc、timer/pwm。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

同步传输通过某种时钟信号来控制数据的传输速率和保证接收端正确接收数据;异步传输则采用起始/停止位等标志来分离每个字符并进行传输。

关键字: 串行通信 时钟信号 异步传输

为增进大家的晶振的认识,本文将对晶振损坏时的一些特征现象,以及晶振失效的三大原因以及对应的解决办法予以介绍。

关键字: 晶振 指数 时钟信号

时钟及晶振做为系统提供基本的时钟信号的重要元器件,在各类电子产品的应用中,产品的智能化程度决定了其对晶振数量的需求不同,在5G、物联网、车联网、智能家居等不断丰富的场景需求下,晶振行业的景气度也持续走高。

关键字: 世强 时钟晶振 时钟信号

在描述完电路之后,我们需要进行对代码进行验证,主要是进行功能验证。

关键字: 仿真 功能验证 时钟信号

  引言   汽车的普及为人们的生活带来了方便,同时也给人们提出了一大难题——汽车防盗。本设计是为了解决以往汽车防盗产品的缺点和不足而开发的集成传感、报警和远程图

关键字: 数据采集 操作系统 s3c2410 汽车防盗系统

  引言   巡航控制系统(CCS)是20世纪60年代发展起来的,又称为恒速行驶系统。巡航控制系统工作时,ECU根据各种传感器输送来的信号判断汽车的运行状况,通过执行元件自动调节节气门的

关键字: ARM 三星 Linux ecu s3c2410 电子控制系统

  在过去一百年里(l906-2005),全球地表平均温度升高了0.74摄氏度,未来20年,每十年全球温度将会升高0.2摄氏度。气候变暖已成为不容忽视的、直接影响全球生产和生活问题。  

关键字: can总线 s3c2410

  在此设计的基于 GPRS 的远程安防监控系统,是采用的是摄像机传送视频信号经压缩编码后,通过内部总线传送到内置的 Web 服务器。用户在监控端可以直接通过浏览器观看 Web服务器上的摄像机视

关键字: GPRS s3c2410 安防监控

想要了解LED显示屏是怎样作业的,首先要弄清楚LED显示屏各种信号的走向,其次才干进一步地理解LED显示屏的作业原理。LED显示屏主要有5种信号,这些信号的协同合作完结数据的传输,显示作业。本文

关键字: LED显示屏 信号 时钟信号 BCD

许多模拟电路需要一种时钟信号,或者要求能在一定时间后执行某项任务。对于这样的应用,有各种各样适用的解决方案。对于简单的时序任务,可以使用标准的555电路。使用555电路和适当的外部组件,可以执行许多不同的任务。

关键字: 定时器 时序 时钟信号
关闭
关闭