91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 接口電路

S3C2440 Windows CE的RTC模塊驅動設計與實現

發布時間:2008/8/20 0:00:00 訪問次數:694

  1 引言

  桌面windows系統的時間顯示功能已為大家所熟知,它是通過bios上的時鐘模塊實現的。用戶通過點擊桌面系統任務欄右下腳的時間,可以修改當前時間、時區以及實現與internet時間同步等功能。
  
  目前流行的手機、pda、hmi(人機接口設備)等嵌入式系統中,都大量移植了微軟的windows ce操作系統。雖然wince系統也實現了時間顯示,但是在具體的實現中,其原理和方法與桌面系統大不相同,即使是基于不同嵌入式硬件平臺的wince開發,也有所不同。由于嵌入式系統的復雜性、分散性,目前嵌入式系統的實時時鐘rtc功能的實現,大部分是在基于內嵌于soc處理器的rtc功能ip模塊的基礎上,通過軟件驅動實現的。
  
  s3c2440是三星公司推出的一款基于arm920t處理器構架的低功耗、高性能的嵌入式soc處理器,應用極為廣泛。rtc是s3c2440的一個內部功能模塊,本文首先對于s3c2440的硬件架構進行介紹,在此基礎上對s3c2440的rtc功能模塊的工作機理進行了分析,最后給出windows ce.net下的rtc功能的驅動程序設計、實現,本驅動程序成功地應用在基于s3c2440window ce平臺的手持gps機實時時鐘功能的實現,對于基于windows ce.net其它硬件平臺的rtc功能實現具有一定的借鑒作用。

  2 硬件構架
  
  wince下rtc功能實現是基于rtc模塊的,在此先對s3c2440處理器作簡單介紹,主要對于s3c2440的rtc的硬件結構、工作機理進行分析,這些是windows ce.net下rtc功能實現的基礎。
  
  2.1 簡介
  
  s3c2440 是三星公司推出的基于arm920t的嵌入式處理器,主頻高達400mhz,最高可達533mhz,低功耗、高性能,廣泛地應用于pda、便攜媒體播放器、衛星導航儀等多媒體終端,片上集成指令/數據分開的16kcache、sdram控制器、lcd控制器、4通道dma、3通道uart、iic總線、iis總線、sd主機接口、pwm定時器、看門狗、片上pll時鐘發生器、8通道10位ad控制器和觸摸屏接口以及帶日歷函數的實時時鐘,極大地方便于系統開發。

  2.2 s3c244o處理器的rtc硬件構架
  
  s3c2440內部rtc模塊結構框圖如圖1所示。s3c2440處理器的rtc模塊依靠外部32.768khz晶振提供基準時鐘,系統能夠在斷電的情況下由后備電池供電繼續工作,能夠將8位數據轉換為bcd碼的格式傳送給處理器。這些數據包括秒、分、時、日期、星期、月、年。
  
  如圖1所示,rtc模塊由基準晶振的連接引腳、時鐘滴答發生器、215時鐘分頻器、控制和重置寄存器、閏年發生器、報警發生器以及bcd數字(秒、分、時、日期、星期、月、年)等幾部分組成:xtlrtc與xtortc是連接外部晶振32.768khz的兩個引腳,為rtc內部提供輸入。215時鐘分頻器負責對基準頻率進行分頻。時鐘滴答發生器可以產生時鐘滴答,它可以引起中斷。閏年發生器按照從日期、月、年得來的bcd數據決定一個月最后一天是28、29、30還是31號(也就是計算是否是閏年)。報警發生器可以根據系統設定時間和當前時間決定是否報警。控制寄存器控制包括讀/寫bcd寄存器使能、時鐘復位、時鐘選擇等。重置寄存器可以選擇”秒”對”分”進位邊界,提供三個可選邊界:30、40或者50秒。

     

     圖1 s3c2440內部rtc模塊結構圖
  

  2.3 s3c2440處理器的rtc工作原理
  
  由rtc模塊的結構圖可以看出,rtc模塊的有三種功能:產生時鐘滴答、實時計時和作為系統的觸發喚醒器。rtc時鐘滴答可以作為實時操作系統(rtos)的內核時鐘滴答,當時鐘滴答周期確定后,就會定時產生中斷,操作系統的中斷服務程序會實時處理這個中斷。
  
  rtc模塊可以在處理器的掉電模式或普通模式在設定時間(由bcd數據給出)和當前時間相同時發生報警。在普通模式下,almint(報警中斷)處于激活狀態。在掉電模式下,pmwkup(電源管理喚醒信號)與almint一起處于報警狀態。
  
  rtc最重要的功能就是顯示時間。在掉電模式下,rtc依然能夠正常工作,此時,rtc模塊通過外部的電池工作。rtc時間顯示功能是通過讀/寫寄存器來實現的。要顯示秒、分、時、日期、月、年,處理器只要讀取存在于bcdsec、bcdmin、bcdhour、bcdday、bcddate、bcdmon和bcdyear寄存器中的值即可。

  3 驅動程序實現
  
  本rtc功能的實現在基于s3c2440嵌入式開發平臺上,通過wince下的rtc模塊的驅動程序完成,而wince下rtc的驅動是在底層實現的,具體要在oal(oem adaption layer)實現。下面對于oal代碼層進行簡要介紹,然后分析rtc驅動代碼,在此基礎上給出部分源程序。
  
  3.1 oal概述
  
  oal的全稱是oem adaption layer,即原始設備制造商適配層。從邏輯結構上看,它位于操作系統的內核與硬

  1 引言

  桌面windows系統的時間顯示功能已為大家所熟知,它是通過bios上的時鐘模塊實現的。用戶通過點擊桌面系統任務欄右下腳的時間,可以修改當前時間、時區以及實現與internet時間同步等功能。
  
  目前流行的手機、pda、hmi(人機接口設備)等嵌入式系統中,都大量移植了微軟的windows ce操作系統。雖然wince系統也實現了時間顯示,但是在具體的實現中,其原理和方法與桌面系統大不相同,即使是基于不同嵌入式硬件平臺的wince開發,也有所不同。由于嵌入式系統的復雜性、分散性,目前嵌入式系統的實時時鐘rtc功能的實現,大部分是在基于內嵌于soc處理器的rtc功能ip模塊的基礎上,通過軟件驅動實現的。
  
  s3c2440是三星公司推出的一款基于arm920t處理器構架的低功耗、高性能的嵌入式soc處理器,應用極為廣泛。rtc是s3c2440的一個內部功能模塊,本文首先對于s3c2440的硬件架構進行介紹,在此基礎上對s3c2440的rtc功能模塊的工作機理進行了分析,最后給出windows ce.net下的rtc功能的驅動程序設計、實現,本驅動程序成功地應用在基于s3c2440window ce平臺的手持gps機實時時鐘功能的實現,對于基于windows ce.net其它硬件平臺的rtc功能實現具有一定的借鑒作用。

  2 硬件構架
  
  wince下rtc功能實現是基于rtc模塊的,在此先對s3c2440處理器作簡單介紹,主要對于s3c2440的rtc的硬件結構、工作機理進行分析,這些是windows ce.net下rtc功能實現的基礎。
  
  2.1 簡介
  
  s3c2440 是三星公司推出的基于arm920t的嵌入式處理器,主頻高達400mhz,最高可達533mhz,低功耗、高性能,廣泛地應用于pda、便攜媒體播放器、衛星導航儀等多媒體終端,片上集成指令/數據分開的16kcache、sdram控制器、lcd控制器、4通道dma、3通道uart、iic總線、iis總線、sd主機接口、pwm定時器、看門狗、片上pll時鐘發生器、8通道10位ad控制器和觸摸屏接口以及帶日歷函數的實時時鐘,極大地方便于系統開發。

  2.2 s3c244o處理器的rtc硬件構架
  
  s3c2440內部rtc模塊結構框圖如圖1所示。s3c2440處理器的rtc模塊依靠外部32.768khz晶振提供基準時鐘,系統能夠在斷電的情況下由后備電池供電繼續工作,能夠將8位數據轉換為bcd碼的格式傳送給處理器。這些數據包括秒、分、時、日期、星期、月、年。
  
  如圖1所示,rtc模塊由基準晶振的連接引腳、時鐘滴答發生器、215時鐘分頻器、控制和重置寄存器、閏年發生器、報警發生器以及bcd數字(秒、分、時、日期、星期、月、年)等幾部分組成:xtlrtc與xtortc是連接外部晶振32.768khz的兩個引腳,為rtc內部提供輸入。215時鐘分頻器負責對基準頻率進行分頻。時鐘滴答發生器可以產生時鐘滴答,它可以引起中斷。閏年發生器按照從日期、月、年得來的bcd數據決定一個月最后一天是28、29、30還是31號(也就是計算是否是閏年)。報警發生器可以根據系統設定時間和當前時間決定是否報警。控制寄存器控制包括讀/寫bcd寄存器使能、時鐘復位、時鐘選擇等。重置寄存器可以選擇”秒”對”分”進位邊界,提供三個可選邊界:30、40或者50秒。

     

     圖1 s3c2440內部rtc模塊結構圖
  

  2.3 s3c2440處理器的rtc工作原理
  
  由rtc模塊的結構圖可以看出,rtc模塊的有三種功能:產生時鐘滴答、實時計時和作為系統的觸發喚醒器。rtc時鐘滴答可以作為實時操作系統(rtos)的內核時鐘滴答,當時鐘滴答周期確定后,就會定時產生中斷,操作系統的中斷服務程序會實時處理這個中斷。
  
  rtc模塊可以在處理器的掉電模式或普通模式在設定時間(由bcd數據給出)和當前時間相同時發生報警。在普通模式下,almint(報警中斷)處于激活狀態。在掉電模式下,pmwkup(電源管理喚醒信號)與almint一起處于報警狀態。
  
  rtc最重要的功能就是顯示時間。在掉電模式下,rtc依然能夠正常工作,此時,rtc模塊通過外部的電池工作。rtc時間顯示功能是通過讀/寫寄存器來實現的。要顯示秒、分、時、日期、月、年,處理器只要讀取存在于bcdsec、bcdmin、bcdhour、bcdday、bcddate、bcdmon和bcdyear寄存器中的值即可。

  3 驅動程序實現
  
  本rtc功能的實現在基于s3c2440嵌入式開發平臺上,通過wince下的rtc模塊的驅動程序完成,而wince下rtc的驅動是在底層實現的,具體要在oal(oem adaption layer)實現。下面對于oal代碼層進行簡要介紹,然后分析rtc驅動代碼,在此基礎上給出部分源程序。
  
  3.1 oal概述
  
  oal的全稱是oem adaption layer,即原始設備制造商適配層。從邏輯結構上看,它位于操作系統的內核與硬

相關IC型號

熱門點擊

 

推薦技術資料

耳機放大器
    為了在聽音樂時不影響家人,我萌生了做一臺耳機放大器的想... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
嘉兴市| 南部县| 徐闻县| 中阳县| 阳西县| 江门市| 栾川县| 哈尔滨市| 霍林郭勒市| 巴东县| 铜山县| 徐汇区| 绥德县| 万载县| 祁门县| 白城市| 清河县| 宁乡县| 凌云县| 长治市| 贞丰县| 凉城县| 土默特左旗| 大田县| 博爱县| 吉安县| 通化市| 万盛区| 西和县| 黎平县| 木里| 通道| 延安市| 盐津县| 泰宁县| 库尔勒市| 盈江县| 墨竹工卡县| 荔浦县| 武义县| 敦煌市|