S3C2410的RTC实时时钟

合集下载

如何设置gec2410开发板系统时间及硬件时间(RTC)

如何设置gec2410开发板系统时间及硬件时间(RTC)

如何设置gec2410开发板系统时间及硬件时间(RTC)如何设置gec2410开发板系统时间及硬件时间(RTC)2008-06-29 21:27 483人阅读评论(0) 收藏举报之前使用开发板时发现每次开机后,系统的时间都恢复到初始状态1969年,因为QT界面要显示采集数据的时间,没办法只能自己去解决这个问题,这两天总算把问题搞定了。

一、先说一下时钟的概念,时钟包括硬件时钟和系统时钟,系统时钟就是linux系统显示的时间,用命令date可以显示当前系统时间;硬件时钟就是硬件自身的时间了。

它们两者没有关系的,但是可以通过命令设置系统时钟和硬件设置,让它们同步。

在linux系统设置系统时钟用命令date,格式为:date ************.10,表示系统时间设置为2008年6月29日20时50分10秒。

硬件时钟RTC时间是通过hwclock命令来设置的,比如说硬件时间要设置为2008年6月29日20时50分10秒,则应该先用date ************.10,然后用命令:hwclock -w,这样RTC时间就跟系统时间一致了。

二、确保RTC在开发板断电后能继续工作。

原来的gec2410开发板的底层板电路有问题,RTC无法工作,导致开机时RTC的时间也回到了1969年(用hwclock命令查看硬件时间),后来发现3.3v的电池通过两个电阻跟RTC的VDDRTC(为RTC提供电压的引脚)相连后电压不要1v,而RTC工作电压为1.8v左右,前天去了广嵌,朱工把D8电阻短路掉,D9电阻换成一个发光二级管(压降为1.5v左右),这样开发板断电后就可以用3.3v的电池供电了。

三、让系统时间和RTC时间同步。

因为每次开机后系统的时间都是系统原来的时间,比如说1969年1月1日1时1分1秒,为了让系统时间和RTC时间同步,可以在文件系统中etc/init.d/rcS添加如下命令:/sbin/hwclock -s,这样每次开机时系统就会读取RTC的时间,系统时间就与RTC时间同步了。

S3C2410处理器RTC程序设计

S3C2410处理器RTC程序设计

课程设计题目S3C2410处理器RTC程序设计学院计算机科学与信息工程学院专业自动化班级2007级1班学生姓名指导教师2010 年12 月12 日课程设计任务书学生姓名:专业班级:2007级自动化一班指导教师:工作单位:题目: S3C2410处理器RTC程序设计已知技术参数和设计要求:1、嵌入式处理器选择S3C2410X;2、RTC模块包括年、月、日、时、分、秒;3、RTC模块使用晶振为32.768KHz;4、系统有定时报警功能。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计S3C2410X最小系统;2、配置RTC模块的特殊功能寄存器;3、提供RTC功能方框图;4、提供完成的软件设计;5、不少于3000字的课程设计报告。

时间安排:2010~2011学年第1学期13~14周指导教师签名: 2010年 11月 11日教研室主任签名: 2010年 11月 12日课程设计成绩评定表学院:计信班级:07自动化1班学生姓名:学号:指导教师评定成绩:指导教师签名:2010年12月12日S3C2410处理器RTC程序设计摘要:实时时钟RTC器件是一种能提供日历/时钟及数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。

特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,因此在当今的电子设备中应用非常广泛。

本次设计通过理解实时时钟的功能及各种特殊功能寄存器来实现对RTC的测试。

此设计基于S3C2410嵌入式开发平台,并结合PC的超级终端完成RTC模块的初始化、时间显示(显示于超级终端)、时间设置、重置测试、报警测试、时钟滴答测试等功能。

通过程序入口点对S3C2410X处理器及串口进行初始化,在主函数中调用不同功能的子函数以实现不同的测试。

关键词:S3C2410X RTC模块初始化测试函数前言:实时时钟的缩写是RTC(Real Time Clock). RTC 是集成电路,通常称为时钟芯片。

S3C2410中文手册第17章_实时时钟

S3C2410中文手册第17章_实时时钟
17.3.5 节拍时间中断
RTC 节拍时间是用于中断请求。TICNT 寄存器有一个中断使能位和对于中断的计数器值。 当节拍时间中断出现时,计数器的值为 0。中断周期如下:
Period = ( n+1 ) / 128 second n: 节拍计数器值 (1~127)
RTC 节拍时间可以用于实时操作系统内核时间节拍。如果时间节拍由 RTC 时间节拍生成, 与实时操作系统功能相关的时间就会和实时同步。
TICK TIME COUNT REGISTER (TICNT)
寄存器
地址
读写
TICNT
0x57000044(L)
R/W
0x57000047(B) (字节)
描述 节拍时间计数寄存器
复位值
0x0
TICNT TICK INT ENABLE

[7] 节拍时间中断使能
描述
初始值
0
0 = 无效 1 = 有效
TICK TIME COUNT [6:0] 节拍时间计数值 (1~127).
000000
该计数器的值在内部减少,工作期间用户不能读取该计数
器值。
17.4.3 RTC 报警控制寄存器
RTC ALARM CONTROL REGISTER (RTCALM)
RTCALM 寄 存 器 决 定 了 报 警 使 能 和 报 警 时 间 。 在 掉 电 模 式 下 RTCALM 寄 存 器 通 过
S3C2440A 中文 Datasheet 第十七章 实时时钟
17.3.2 读写寄存器
为了写RTC模块中的BCD寄存器,RTCCON寄存器的位 0 必须置 1。为了显示秒分小时星期 日月年,CPU应该分别读取在RTC模块中的BCDSEC,BCDMIN,BCDHOUR,BCDDAY,

S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)

S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)

17
印刷电路板的设计
电源质量与分配
电源分配
实际的工程应用和理论都证实,电源的分配对系统的稳定性有很 大的影响,因此,在设计印刷电路板时,要注意电源的分配问题。
在印刷电路板上,电源的供给一般采用电源总线(双面板)或电 源层(多层板)的方式。电源总线由两条或多条较宽的线组成,由 于受到电路板面积的限制,一般不可能布得过宽,因此存在较大的 直流电阻,但在双面板得设计中也只好采用这种方式了,只是在布 线的过程中,应尽量注意这个问题。 在多层板的设计中,一般使用电源层的方式给系统供电。该方式 专门拿出一层作为电源层而不再在其上布信号线。由于电源层遍及 电路板的全面积,因此直流电阻非常的小,采用这种方式可有效的 降低噪声,提高系统的稳定性。
32
33
LCD与触摸屏

从CPU 的LCD 控制器出来的信号线包括24 根数据线和若 干根控制线。对于256色LCD 只需要其中低8 位数据线即可。 这些信号线是经过74HC245 隔离后接到LCD 模块的,接 256 色屏时也由245 芯片完成电平转换。8 位LCD 模块除 了需要控制信号和数据信号外,还需要一个22V 左右的工 作电压和上千伏的背光电压。前者由MAX629 升压后得到, 后者由一个逆变器模块提供。另外LCD 信号线驱动芯片 74HC245 的电源是可选的,当使用5V 电平的256 色彩屏 时该芯片电源使用5V,使用3.3V 的16 位真彩屏选择3.3V。 (2410-S可以安装5#的伪彩屏和8#的真彩屏)。
芯片在工作时有一定的发热是正常的,但如果有芯片特 别发烫,则一定有故障存在,需断电检查确认无误后方可继 续通电调试。
20
硬件系统的调试
电源、晶振及复位电路调试
调试电源电路之前,尽量少接器件,通电之前检查有无 短路现象

S3C2410主要功能部件及参数设置(完全)

S3C2410主要功能部件及参数设置(完全)

5.1 NandFlash控制器
(2)NFCMD寄存器 NAND Flash的命令寄存器NFCMD的地址是0x4e000004,表 5-3所示是NFCMD寄存器属性值设置,相对应位的默认值、 功能设置位的表示。NFCMD寄存器中,对于不同型号的 Flash,操作命令一般不同。
例如: NFCONF & = ~(1<<11) //发出片选信号 NFCMD = 0xff //在K9F1208U0M存储器中表示reset命令
5.1 NandFlash控制器 • 2. NAND Flash相关寄存器应用
(1)NFCONF寄存器 NFCONF寄存器的地址是0x4e000000,表5-2所示是NFCONF 寄存器属性值设置,相对应位的默认值、功能设置位的表 示。
5.1 NandFlash控制器
NAND Flash需要初始化,在一般情况下要使NAND Flash使能,[15:12]设置为0b1111; CLE和ALE持续时间 设置为HCLK,因而[11:8]=0b1000; TWRPH0持续为3,即 位[7:4]设置为0b0011,如果把TWRPH1值设为0,即把 NFCONF初始化为0xf830。 例如:设置第11位为0,使NAND Flash使能。 NFCONF & = ~0x800; 设置第11位为1,使NAND Flash禁用。 NFCONF | = 0x800;
5.1 NandFlash控制器
• 5.1.3 NAND Flash 存储器接口
图5-2是NAND Flash存储器接口示意图。
5.1 NandFlash控制器
图5-2中,NAND Flash的管脚配置如下: D[7:0]:数据/命令/地址/的输入/输出口 (与数据总线共 享) CLE:命令锁存使能 (输出) ALE:地址锁存使能(输出) nFCE:NAND Flash 片选使能(输出) nFRE:NAND Flash 读使能 (输出) nFWE:NAND Flash 写使能 (输出) R/nB:NAND Flash 准备好/繁忙(输入) S3C2410的内存片选有8个片选(BANK),在U-Boot中, 要配制SDRAM和FLASH的 BANK数,如果SDRAM或者FLASH就 接了n个片选的时候,就定义为n,如n为8,即BANK8。图 5-3是S3C2410的内存映射图,S3C2410和其他的大部分的 处理器一样,支持Nor Flash和NANDFlash启动,而这两种 启动方式内存所映射的地址不相同。

S3C2410中文手册第7章 时钟和功率管理

S3C2410中文手册第7章 时钟和功率管理

第七章时钟和功率管理概述时钟和功率管理模块由三部分组成:时钟控制,USB控制和功率控制。

S3C2410A的时钟控制逻辑能够产生系统所需要的时钟,包括CPU的FCLK,AHB总线接口的HCLK,和APB总线接口的PCLK。

S3C2410A有两个PLL,一个用于FCLK,HCLK,PCLK,另一个用于USB模块(48MHZ)。

时钟控制逻辑能够由软件控制不将PLL连接到各接口模块以降低处理器时钟频率,从而降低功耗。

S3C2410A有各种针对不同任务提供的最佳功率管理策略,功率管理模块能够使系统工作在如下4种模式:正常模式,低速模式,空闲模式和掉电模式。

正常模式:功率管理模块向CPU和所有外设提供时钟。

这种模式下,当所有外设都开启时,系统功耗将达到最大。

用户可以通过软件控制各种外设的开关。

例如,如果不需要定时器,用户可以将定时器时钟断开以降低功耗。

低速模式:没有PLL的模式。

与正常模式不同,低速模式直接使用外部时钟(XTIpll或者EXTCLK)作为FCLK,这种模式下,功耗仅由外部时钟决定。

空闲模式:功率管理模块仅关掉FCLK,而继续提供时钟给其他外设。

空闲模式可以减少由于CPU核心产生的功耗。

任何中断请求都可以将CPU从中断模式唤醒。

掉电模式:功率管理模块断开内部电源。

因此CPU和除唤醒逻辑单元以外的外设都不会产生功耗。

要执行掉电模式需要有两个独立的电源,其中一个给唤醒逻辑单元供电,另一个给包括CPU在内的其他模块供电。

在掉电模式下,第二个电源将被关掉。

掉电模式可以由外部中断EINT[15:0]或RTC唤醒。

功能描述时钟结构图7-1描述了时钟架构的方块图。

主时钟源由一个外部晶振或者外部时钟产生。

时钟发生器包括连接到一个外部晶振的振荡器和两个PLL(MPLL和UPLL)用于产生系统所需的高频时钟。

时钟源选择表7-1描述了模式控制引脚(OM3和OM2)和选择时钟源之间的对应关系。

OM[3:2]的状态由OM3和OM2引脚的状态在nRESET的上升沿锁存得到。

第九章S3C2410的实时时钟(RTC)

第九章S3C2410的实时时钟(RTC)
❖ 在嵌入式系统中,实时时钟主要用来显示时 间。
9.1.1 S3C2410的实时时钟单元
它具有以下特点:
❖ • 时钟数据采用BCD编码或二进制表示; ❖ • 能够对闰年的年、月、日进行自动处理; ❖ • 具有告警功能,当系统处于关机状态时,
能产生告警中断;
❖ • 具有独立的电源输入; ❖ • 提供毫秒级的时钟中断(时钟滴答中断),
6. 秒循环复位寄存器RTCRST
❖ 为了适应某些专门场合使用,S3C2410 RTC 设置了秒循环复位寄存器RTCRST,它可以 在程序规定的秒时间内循环复位,RTCRST 寄存器的配置见表9-6。
9.2 参考程序及说明
该中断可用于嵌入式操作系统的内核时钟。
9.1.2 S3C2410的实时时钟寄存器
1.实时时钟控制寄存器RTCCON ❖ 该寄存器及其各位的定义如表9-1所示: ❖ 在正常使用S3C2410的实时时钟前,一定
要对S3C2410的实时时钟控制寄存器 RTCCON进行正确的设置,例如,使能、 BCD时钟选择、计数方式等等。
第九章 S3C2410的实时时钟(RTC)
主要内容:
❖ 9.1 实时时钟在嵌入式系统中的作用 ❖ 9.2参考程序及说明
9.1 实时时钟在嵌入式系统中的作用
❖ 本节介绍实时时钟在嵌入式系统中的作用, 实时时钟单元控制寄存器功能及使用。
❖ 在一个嵌入式系统中,实时时钟单元可以提 供可靠的时钟,包括时、分、秒和年、月、 日。即使系统处于关机状态下,它也能够正 常工作(通常采用后备电池供电,可靠工作 十年),其外围也不需要太多的辅助电路, 典型的例子就是只需要一个高精度的晶振。
2.告警控制寄存器RTCALM
❖ 该寄存器及其各位的定义如表9-2所示:

s3c2410时钟信号:FCLK、HCLK和PCLK

s3c2410时钟信号:FCLK、HCLK和PCLK

s3c2410 有三个时钟FLCK 、HCLK 和PCLK (这3个时针都是核心时针)s3c2410 芯片有这么一段话:FCLK is used by ARM920T ,内核时钟,主频。

HCLK is 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总线用于连接高速外设。

PCLK is 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 ofCLKDIVN control register.s3c2410可通过设置CLKDIVN控制寄存器的HDIVN位(第1位)和PDIVN位(第0位)来改变FCLK, HLCK 和PCLK的比率。

那么如何获取FCLK, HLCK 和PCLK的时针频率呢?可先通过clk_get获取一个clk结构体再将clk_get返回的clk结构体传递给clk_get_rate,获取该时钟的频率一个例子:这里出现了另一个时针uclk,专门给usb供给时针信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BCDMIN 0x57000074 (R/W) 分时钟当前值 不定
BCDHOUR 0x57000078 (R/W) 时时钟当前值 不定
BCDDAY 0x5700007C BCDDATE 0x57000080 BCDMON 0x57000084
(R/W) (R/W) (R/W)
日时钟当前值 不定 星期当前值 不定 月时钟当前值 不定
month = rBCDMON; day = rBCDDAY;
weekday = rBCDDATE; hour = rBCDHOUR;
min = rBCDMIN;
sec = rBCDSEC;
if(sec!=0) break;
}
精选课件
8
printf( "RTC TIME : %4x / %02x / %02x %s – %02x: %02x: %02x\n", year, month, day, date[weekday], hour, min, sec );
精选课件
1
2、S3C2410的RTC基本特性
时钟数据采用BCD编码 能够对闰年的年月日进行自动处理 具有报警功能 具有独立的电源输入 提供毫秒级时钟中断,可作为内核时钟
精选课件
2
(3)秒、分、时、日、星期、月、年寄存器
寄存器名
地址 R/W (byte)
说明
复位值
BCDSEC 0x57000070 (R/W) 秒时钟当前值 不定
rBCDHOUR = 0x17 ; // 设定小时
rBCDMIN = 0x34 ; // 设定分钟
rBCDSEC = 0x28 ; // 设定秒
rRTCCON = 0x00; // RTC读写禁止,选择BCD时钟
// 无复位,1/32768
}
精选课件
6
6、RTC 编程实例
(2)实时时钟显示函数 void Display_Rtc(void) /************************************************ Function name: Display_Rtc Description : 实时时钟显示程序 Argument : 读出当前的时间,然后显示 ************************************************/
rRTCCON = 0x0; }
精选课件
9
6、RTC 编程实例
(3)测试主函数 void main (void) /********************************************** Function name: main Argument : 初始化系统,并调用RTC显示函数 ***********************************************/
#define rBCDSEC (*(volatile unsigned char *)0x57000070)
#define rBCDMIN (*(volatile unsigned char *)0x57000074)
#define rBCDHOUR (*(volatile unsigned char *)0x57000078)
精选课件
10
void Main (void)
{
BoardInitStart(); // 系统初始化,MMU初始化
SystemClockInit(); // 系统时钟初始化
RtcInit();
// RTC初始化
while (1)
{
Display_Rtc( );
Delay(500);
}
}
精选课件
11
感谢亲观看此幻灯片,此课件部分内容来源于网络,id Display_Rtc(void)
{
int year;
int month, day, weekday, hour, min, sec;
rRTCCON = 0x01;
while(1)
{
if (rBCDYEAR == 0x99) year = 0x1999;
else year = 0x2000 + rBCDYEAR;
#define rBCDYEAR (*(volatile unsigned char *)0x57000088)
精选课件
4
6、RTC 编程实例
(1)实时时钟初始化函数 void Rtc_Init(void) /********************************************* Function name: Rtc_Init Description : 实时时钟初始化程序 *********************************************/
BCDYEAR 0x57000088 (R/W)
精选课件
年时钟当前值 不定
3
6、RTC 编程实例
#define rRTCCON (*(volatile unsigned char *)0x57000040)
#define rTICNT
(*(volatile unsigned char *)0x57000044)
#define rBCDDATE (*(volatile unsigned char *)0x5700007c)
#define rBCDDAY (*(volatile unsigned char *)0x57000080)
#define rBCDMON (*(volatile unsigned char *)0x57000084)
RTC实时时钟
1、S3C2410的RTC实时时钟
在一个嵌入式系统中,通常采用RTC来提供可靠的 系统时间,包括时、分、秒和年、月、日、星期等,而 且要求在系统处于关机状态下它也能够正常工作(通常 采用后备电池供电)。
它的外围也不需要太多的辅助电路,典型的就是只 需要一个高精度的32.768KHz晶体和电阻电容等。
精选课件
5
void Rtc_Init(void)
{ rRTCCON = 0x01; // RTC读写使能,选择BCD时钟
// 无复位,1/32768
rBCDYEAR = 0x05 ; // 设定年
rBCDMON = 0x03 ; // 设定月
rBCDDAY = 0x06 ; // 设定日
rBCDDATE = 0x03 ; // 设定星期
相关文档
最新文档