日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]S3C2410 RTC(Real Time Clock)簡介實(shí)時(shí)時(shí)鐘(RTC)單元可以在系統(tǒng)電源關(guān)半閉的情況下依靠備用電池工作。RTC可以通過使用STRB/LDDRB這兩個(gè)ARM指令向CPU傳遞8位數(shù)據(jù)(BCD碼)。數(shù)據(jù)包括秒、分、小時(shí)、日期、天、月、和


S3C2410 RTC(Real Time Clock)簡介

實(shí)時(shí)時(shí)鐘(RTC)單元可以在系統(tǒng)電源關(guān)半閉的情況下依靠備用電池工作。RTC可以通過使用STRB/LDDRB這兩個(gè)ARM指令向CPU傳遞8位數(shù)據(jù)(BCD碼)。數(shù)據(jù)包括秒、分、小時(shí)、日期、天、月、和年。RTC單元依靠一個(gè)外部的32.768kHZ的石晶,也可以執(zhí)行報(bào)警功能。

特性


BCD碼:秒、分、時(shí)、日期、天、月和年


潤年產(chǎn)生器


報(bào)警功能:報(bào)警中斷,或者從power-off狀態(tài)喚醒。


移除了2000年的問題


獨(dú)立的電源引角:RTCVDD


為RTOS內(nèi)核時(shí)間Tick time支持毫秒Tick time中斷。


Round reset 功能。


RTC操作

潤年產(chǎn)生器

潤年產(chǎn)生器可以判斷每個(gè)月的最后一天是28、29、30還是31,計(jì)算的基礎(chǔ)是BCDDATA、 BCDMON和BCDYEAR中的數(shù)據(jù)。這一塊在考慮最后一天的時(shí)候還考慮至了潤年的情況,一個(gè)8位的計(jì)數(shù)器只能表示2個(gè)BCD數(shù)字,所以他漢有決定一個(gè)以“00”為結(jié)尾的年是不是潤年。例如,他不能在1900和2000中分辨。為了解決這個(gè)問題,在S3C2410的RTC模塊中用了硬線邏輯去支持2000這個(gè)潤年,注意1900不是潤年,而2000是潤年,

讀/寫寄存器

RTCCON寄存器的Bit 0 必須被置高,這樣是為了寫RTC模塊的BCD寄存器。為了顯示秒、分、時(shí)、日期、月年,CPU應(yīng)該分別讀取 BCDSEC、BCDMNIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON和BCDYEAR寄存器中內(nèi)容。然而在讀這多個(gè)寄存器的時(shí)候會(huì)產(chǎn)生一秒變化是可能的,例如,當(dāng)用戶從BCDYEAR一直讀到BCDMIN的時(shí)候,結(jié)果假定是 2059 (Year), 12 (Month), 31 (Date), 23 (Hour) and 59 (Minute). 當(dāng)用戶讀BCDSEC寄存器,值的范圍是1到時(shí)59,這沒有問題, 但是當(dāng)值為0秒時(shí),年、月、日期、時(shí)和分可能已經(jīng)變成了2060(Year), 1(Month), 1 (Date), 0 (Hour) and 0 (Minute) ,這是因?yàn)橐幻氲淖兓呀?jīng)發(fā)生了,在這種情況下,用戶應(yīng)該在BCDSEC是0的進(jìn)修重新讀BCDYEAR到BCDSEC。

備用電池操作

RTC邏輯可以用備用電池驅(qū)動(dòng),它可以通過RTCVDD管角向RTC模塊供電,即使系統(tǒng)電源關(guān)掉了。當(dāng)系統(tǒng)是關(guān)的時(shí)候,CPU和RTC邏輯的接口應(yīng)該是阻塞的,備用電池僅僅驅(qū)動(dòng)振蕩電路和BCD計(jì)數(shù)器去減少電源消耗。

報(bào)警功能

RTC在power-off模式或者正常操作模式時(shí)可以在一指定的時(shí)間產(chǎn)生一個(gè)報(bào)警信號。在正常操作模式下,報(bào)警中斷(ALMINT)被激活,在power-off模式下,電源管理喚醒信號(PMWKUP)和ALMINT一起被激活。RTC報(bào)警寄存器(RTCALM)決定報(bào)警的enable/disable狀態(tài)和報(bào)警時(shí)間設(shè)定的條件。

TICK TIME中斷

RTC TICK TIME被用于中斷請求。TICNT寄存器有一個(gè)中斷使能位和中斷的計(jì)數(shù)值。當(dāng)計(jì)數(shù)值到達(dá)0時(shí)TICK TIME中斷。所以中斷的周期如下:

周期= (n+1 ) /128 秒

n:Tick time計(jì)數(shù)值(1~127)

這個(gè)RTC time tick可以被用于實(shí)時(shí)操作系統(tǒng)(RTOS)內(nèi)核 time tick。如果time tick通過RTC time tick產(chǎn)生,那么RTOS的時(shí)間相關(guān)的功能就需要總是與實(shí)時(shí)時(shí)間同步。

ROUND RESET 功能

Rund reset功能可以通過RTC round reset寄存器(RTCRST)來執(zhí)行。 The round boundary (30, 40, or 50 sec.) of the second carry generation can be selected, and the second value is rounded to zero in the round reset. For example, when the current time is 23:37:47 and the round boundary is selected to 40 sec, the round reset changes the current time to 23:38:00.

NOTE

All RTC registers have to be accessed for each byte unit using the STRB and LDRB instructions or char type pointer.



平臺設(shè)備的注冊

.../arch/arm/plat-s3c24xx/devs.c

/* RTC */


static struct resource s3c_rtc_resource[] = {

// 占用的IO內(nèi)存范圍

[0] = {

.start = S3C24XX_PA_RTC,

.end = S3C24XX_PA_RTC + 0xff,

.flags = IORESOURCE_MEM,

},

// RTC Alarm Interrupt

[1] = {

.start = IRQ_RTC,

.end = IRQ_RTC,

.flags = IORESOURCE_IRQ,

},

// RTC Tick time interrupt.

[2] = {

.start = IRQ_TICK,

.end = IRQ_TICK,

.flags = IORESOURCE_IRQ

}

};

// 平臺設(shè)備結(jié)構(gòu)。

struct platform_device s3c_device_rtc = {

.name = "s3c2410-rtc",

.id = -1,

.num_resources = ARRAY_SIZE(s3c_rtc_resource),

.resource = s3c_rtc_resource,

};


EXPORT_SYMBOL(s3c_device_rtc);






通過 platform_add_devices被注冊。

static void __init qt2410_machine_init(void)

{

...


// 注冊平臺設(shè)備.

platform_add_devices(qt2410_devices, ARRAY_SIZE(qt2410_devices));

...

}



平臺驅(qū)動(dòng)


在.../drivers/rtc/Makefile中與我們有關(guān)的項(xiàng)有

obj-$(CONFIG_RTC_LIB) += rtc-lib.o

obj-$(CONFIG_RTC_HCTOSYS) += hctosys.o

obj-$(CONFIG_RTC_CLASS) += rtc-core.o

rtc-core-y := class.o interface.o


rtc-core-$(CONFIG_RTC_INTF_DEV) += rtc-dev.o

rtc-core-$(CONFIG_RTC_INTF_PROC) += rtc-proc.o

rtc-core-$(CONFIG_RTC_INTF_SYSFS) += rtc-sysfs.o


obj-$(CONFIG_RTC_DRV_S3C) += rtc-s3c.o

其中rtc-lib.c :提供了一些時(shí)間格式相互轉(zhuǎn)化的函數(shù)。hctosys.c:在啟動(dòng)時(shí)初始化系統(tǒng)時(shí)間。RTC核心文件:class.c interface.c rtc-dev.c:字符設(shè)備的注冊和用戶層文件操作函數(shù)接口。 rtc-proc.c rtc-sysfs.crtc-s3c.o:S3C2410 RTC的芯片平臺驅(qū)動(dòng)。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

  引言   汽車的普及為人們的生活帶來了方便,同時(shí)也給人們提出了一大難題——汽車防盜。本設(shè)計(jì)是為了解決以往汽車防盜產(chǎn)品的缺點(diǎn)和不足而開發(fā)的集成傳感、報(bào)警和遠(yuǎn)程圖

關(guān)鍵字: 數(shù)據(jù)采集 操作系統(tǒng) s3c2410 汽車防盜系統(tǒng)

  引言   巡航控制系統(tǒng)(CCS)是20世紀(jì)60年代發(fā)展起來的,又稱為恒速行駛系統(tǒng)。巡航控制系統(tǒng)工作時(shí),ECU根據(jù)各種傳感器輸送來的信號判斷汽車的運(yùn)行狀況,通過執(zhí)行元件自動(dòng)調(diào)節(jié)節(jié)氣門的

關(guān)鍵字: ARM 三星 Linux ecu s3c2410 電子控制系統(tǒng)

  在過去一百年里(l906-2005),全球地表平均溫度升高了0.74攝氏度,未來20年,每十年全球溫度將會(huì)升高0.2攝氏度。氣候變暖已成為不容忽視的、直接影響全球生產(chǎn)和生活問題。  

關(guān)鍵字: can總線 s3c2410

  在此設(shè)計(jì)的基于 GPRS 的遠(yuǎn)程安防監(jiān)控系統(tǒng),是采用的是攝像機(jī)傳送視頻信號經(jīng)壓縮編碼后,通過內(nèi)部總線傳送到內(nèi)置的 Web 服務(wù)器。用戶在監(jiān)控端可以直接通過瀏覽器觀看 Web服務(wù)器上的攝像機(jī)視

關(guān)鍵字: GPRS s3c2410 安防監(jiān)控

網(wǎng)上介紹LINUX下的一般驅(qū)動(dòng)程序開發(fā)示例浩如煙海,或是因?yàn)楹唵?,關(guān)于DMA驅(qū)動(dòng)的介紹卻寥寥無幾;近期zhaoyang因工作需要,花了幾日時(shí)間開發(fā)了某設(shè)備在S3C2410處理器Linux下DMA通信的驅(qū)動(dòng)程序,有感于剛接...

關(guān)鍵字: Linux s3c2410 dma驅(qū)動(dòng)

1引言目前 , 在嵌入式系統(tǒng)里基于ARM核的嵌入式處理器已經(jīng)成為市場主流。隨著ARM技術(shù)的廣泛應(yīng)用 , 建立面向ARM構(gòu)架的嵌入式操作系統(tǒng)也就成為當(dāng)前研究的熱點(diǎn)。S3C2410是SAMSUNG公司基于ARM920T處理器...

關(guān)鍵字: s3c2410 移植 標(biāo)準(zhǔn)linux

一、S3C2410支持4種供電模式(1)NORMAL MODE耗電最大、可以通過關(guān)閉具體控制器的時(shí)鐘來節(jié)電(2)SLOW MODE在此模式下可以沒有內(nèi)部PLL,耗電情況依賴于外部時(shí)鐘的頻率(3)IDLE MODEFCLK...

關(guān)鍵字: s3c2410 電源管理

snailszzy的s3c2410_gpio_setpin()與s3c2410_gpio_cfgpin()函數(shù)定義s3c2410_gpio_setpin()在gpio.c中作用:設(shè)置相應(yīng)GPIO口的值,如pin=S3C2...

關(guān)鍵字: s3c2410 函數(shù)定義

通過數(shù)據(jù)手冊的INTERRUPT SOURCES即可看出所有中斷源,其中Descriptions列有講述,帶多個(gè)中斷源的用括弧表述出來了。以下中斷源寄存器通過各自MAST連接到INTPND(只能一個(gè)位置一)SRCPND(...

關(guān)鍵字: s3c2410 中斷源數(shù)量

反反復(fù)復(fù)弄了一個(gè)多星期,參考了不少資料,終于讓UCOS在自己的板子上跑起來了。期間遇到了不少問題,還好堅(jiān)持下來,挺 了過去.....復(fù)習(xí)一下,記錄下來,以當(dāng)后用: 1.在ADS中建產(chǎn)工程,進(jìn)入工程界面后,先建立兩個(gè)組,一...

關(guān)鍵字: s3c2410 ucos 移植
關(guān)閉