在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

實時時鐘為微控制器系統增加了精確的計時功能

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-02-21 10:09 ? 次閱讀

MAXQ610微控制器不包括電池備份的實時時鐘(RTC),但1-Wire?網絡的靈活性使得可以在任何基于MAXQ1904的應用中直接添加DS610 RTC i按鈕?。與DS1904通信、設置時鐘和控制值以及與原始秒數之間的時間值轉換,都可以在MAXQ610的能力范圍內,即使使用匯編語言也是如此。本應用筆記說明如何在基于MAXQ610的應用中增加RTC功能。顯示了實現此應用程序的演示代碼。本文的原理和技術同樣適用于其它基于MAXQ?的微控制器,該微控制器具有能夠驅動1-Wire通信協議的通用I/O (GPIO)引腳。

介紹

許多微控制器包括定時器電路,但只有少數微控制器包括電池備份實時時鐘(RTC)。然而,許多應用需要RTC,使用1-Wire網絡可以輕松添加RTC。本文介紹如何將支持1-Wire協議的RTC添加到基于微控制器的系統中。包含必要的代碼。本文解釋了同樣適用于通用I/O (GPIO)引腳能夠驅動1-Wire通信協議的微控制器的原理和技術。

設計目標

本演示展示了如何使用1-Wire接口實現以下操作的方法:

讀取所選 RTC 的 64 位 ROM ID

啟動和停止 RTC

讀取 RTC 的當前值

將 RTC 設置為新值

該演示還將以可讀格式顯示當前 RTC 值,即從原始秒轉換為年/月/日/時間格式。它將允許用戶通過增加各種轉換值(例如,年,月,日)來修改時鐘值,而不是計算并輸入秒的新值。

對于存儲日期/時間值秒數的任何應用程序,我們必須選擇一個零基線。對于此應用程序,該基線是 1 年 2000 月 12 日上午 00:00:00000000,其原始秒數為零 (<>h)。

系統設置

1-Wire接口是本文的基礎。它允許您將支持1-Wire協議的RTC添加到任何微控制器中。本例將使用DS1904 RTC i按鈕?。該應用使用MAXQ610微控制器,因為它可以很容易地與RTC通信,設置時鐘和控制值,并在原始秒和相應的日歷日期之間進行轉換,即使使用匯編語言也是如此。

低功耗MAXQ610非常適合便攜式應用,但缺少電池供電的RTC。但是,您可以使用其GPIO引腳之一將此微控制器連接到專用RTC。微控制器的演示代碼是使用基于匯編的MAX-IDE環境編寫的。設計工作在Maxim評估(EV)板MAXQ610-KIT上。源代碼、項目文件和其他文檔均可下載

運行應用程序

您需要以下硬件來運行演示代碼:

MAXQ610評估板

5V 直流電源

串行到JTAG或USB到JTAG接口板

JTAG編程電纜(2×5帶狀電纜,帶0.100in引腳連接器

直通 DB9 串行接口電纜

具有可用 COM 端口或 USB 轉串行適配器的電腦

DS1904L-F5# RTC i按鈕

DS9094F+ 通孔安裝 i按鈕夾

代碼在MAXQ610評估板上運行。原型設計區域安裝了一個 i 按鈕夾 (DS9094F+),在 i 按鈕夾中插入了一個 DS1904L-F5# RTC i按鈕。然后從 i按鈕夾進行連接:

將i按鈕夾的接地引腳(與DS1904背面/未標記側接觸的夾頂側標有“+”的引腳)連接到MAXQ610評估板上的GND測試點之一。

將iButton夾子的數據引腳(夾子內側接觸DS1904正面/標記側的引腳)連接到MAXQ2評估板上的端口引腳P0.3 (接頭引腳P1.610)。

您還需要以下軟件:

MAX-IDE匯編語言開發環境,用于MAXQ微控制器

微控制器工具包 (MTK) 或其他具有“啞終端”模式的終端仿真器

MAX-IDE環境的最新安裝包和文檔可在MAXQ RISC微控制器頁面找到。

RTC的數據通過1-Wire協議串行傳輸;只需要一個數據引線和一個接地回路。該 RTC 包含一個唯一的 64 位 ID,在 ROM 中出廠光刻,以及一個作為二進制計數器實現的 RTC/日歷。它位于耐用的MicroCan包裝中,可防塵,防潮和防震。該封裝幾乎可以安裝在任何表面上,包括印刷電路板 (PCB) 和塑料鑰匙扣。運行時,RTC 為使用微控制器的任何電子設備或嵌入式應用添加日歷日期、時間和日期戳、秒表、小時計、間隔計時器和日志功能。

RTC 包含一個分辨率為 32 秒的 1 位計數器,可提供大約 136 年的范圍。保持時鐘運行所需的所有硬件,包括32kHz晶體和電池,都密封在內部。所得器件的使用壽命超過 10 年,在室溫為 +2°C 時,時鐘精度約為每月 ±25 分鐘。 工作模式(停止或運行)和時鐘計數器的值可通過1-Wire接口讀取或寫入。

驅動1-Wire網絡

1-Wire接口通過單線和單接地回路提供電源和通信。這意味著單個端口引腳使微控制器能夠與1-Wire傳感器通信。為在1-Wire網絡上工作開發了各種傳感器和其他組件。

1-Wire網絡采用單主機和多個從機,采用多點配置。時序要求非常靈活,允許所有從站以高達16kbps的通信速度與主站同步。每個1-Wire傳感器都有一個全球唯一的64位ROM ID,因此1-Wire主站可以單獨、精確地選擇從機,無論它們在網絡上的物理位置如何。

1-Wire線路以漏極開路模式工作:主站(以及從機,當需要輸出時)通過將線路拉至地來指示“零”,或者通過讓線路浮高來指示“一”。此操作通常通過線路和V之間連接的分立上拉電阻來實現抄送.端口引腳具有弱上拉模式的微控制器(如MAXQ610)可以簡單地將端口引腳切換回該模式,讓線路高懸;無需外部電阻。由于主機和從機將線路拉低且從不主動拉高,因此1-Wire網絡以有線OR配置工作。這種方法可防止多個從站同時嘗試在1-Wire總線上傳輸時發生線路沖突。

為了驅動1-Wire網絡,微控制器使用軟件在單個引腳上生成時隙。所有時隙均由1-Wire主機啟動,因此當1-Wire線路未與從器件通信時,微控制器無需監控<>-Wire線路。

復位時隙寬約為 1ms。在前半段時段,主機(MAXQ610)將1-Wire線保持在低電平。時隙進行到一半時,它釋放1-Wire線并使其漂浮在高處。線路上存在的任何1-Wire從站都會在后半段通過復位并拉下線路來響應。然后,從站產生存在脈沖,向主站指示一個或多個從站存在并準備通信。

寫入時隙的寬度為60μs至120μs,由主機用于將位(0或1)傳輸到一個或多個從機。兩種類型的寫入時隙都從主站將線路拉低至少一微秒開始。為了傳輸 1,主站隨后在剩余的時間段內釋放線路(讓它高浮動)。為了傳輸 0,主站將線路保持低電平,直到時隙結束。

讀取時隙的寬度為60μs至120μs,由主機用于從從器件讀取位(0或1)。時隙從主站將線路拉低至少一微秒開始。然后,主機釋放線路,允許從機將其保持在低電平(0)或使其浮動到高處(1)。在時隙的中途,主機對線路進行采樣,以從從機讀取位值。

MAXQ610在12MHz頻率下以每微秒約12個指令周期運行,因此在軟件中使用端口引腳(P1.2)即可輕松執行標準的0-Wire協議。它以類似的方式實現讀取時隙。注意,1-Wire總線上的所有數據字節首先傳輸最低有效位(LSB)。

1-Wire總線上的上拉電阻值根據網絡上的器件數量而變化,但通常額定值為4kΩ至5kΩ。相反,MAXQ610端口引腳上的弱上拉電阻在15kΩ至40kΩ之間變化,取決于工作電壓。為了避免1-Wire總線從低電平狀態高電平浮動時出現過長的時間間隔,該代碼會短暫驅動具有正常高電平狀態的總線(通過P2.0),在將P2.0設置為正常的弱上拉模式之前,將總線“捕捉”到高電平狀態。此操作不會對1-Wire總線造成中斷,前提是避免了從機可能嘗試將總線拉低的時間間隔。或者,您可以在1-Wire總線上放置一個物理外部上拉電阻,然后在標準低電平模式下驅動端口引腳(對于零狀態),將端口引腳驅動至三態模式(對于高狀態)。

啟動、停止和設置時鐘

由于1-Wire總線上可能存在多個1-Wire器件,因此與這些器件的通信分兩個階段進行。總線主控器首先選擇一個1-Wire器件進行通信,然后發出通信信號2總線主控器發送復位脈沖后,1-Wire總線上的所有從器件將返回到默認的未選中狀態。然后,總線主站可以使用幾個命令來選擇將在第二階段與之通信的設備。以下命令使用與每個從設備關聯的 64 位 ROM ID。所有1-Wire器件都支持這些命令。

跳過 ROM [CCh]

此單字節命令激活總線上的所有從設備。如果只有一個1-Wire器件,或者總線主控器需要向總線上的所有1-Wire器件發送相同的命令,則此功能非常有用。上述應用總線上只有一個器件(例如DS1904 RTC),因此總線主控器(例如MAXQ610微控制器)在讀取或寫入RTC之前始終使用此命令激活RTC。

讀取只讀存儲器 [33小時]

此單字節命令激活總線上的所有從設備,并使它們將其64位ROM ID值傳輸回總線主站。由于它激活所有從設備,因此只能用于單從系統。否則,多個從設備在嘗試同時傳輸其ROM ID時將導致數據沖突。由于總線上只有一個器件(DS1904),MAXQ610在開始時使用此命令讀取DS1904的ROM ID。

匹配光盤 [55h]

此命令從1-Wire總線上的多個從機中選擇一個從機。總線主站傳輸此命令后,通過傳輸要選擇的從設備的64位ROM ID進行跟進。具有匹配ROM ID的器件通過進入活動狀態進行響應,而總線上的所有其他器件進入非活動狀態,等待總線主站的下一次1-Wire復位。(此處描述的應用程序中未使用此命令。

搜索 ROM [F0h]

此命令允許總線主站使用迭代發現過程來確定1-Wire總線上一個或多個從器件的ROM ID值3(此處描述的應用中未使用此命令。

讀取和寫入時鐘和控制值

當總線主站使用跳過ROM或讀取ROM命令選擇1-Wire從器件(即RTC、DS1904)時,該器件即可接受特定于它的1-Wire命令。這些命令(圖 1)詳述如下:

讀取時鐘 [66h]

該命令允許總線主站讀取DS1904的器件控制字節和4字節(32位)RTC值。器件控制字節確定驅動RTC的32kHz振蕩器是運行還是停止。如下面的代碼所示,只有一個命令同時讀取設備控制字節和時鐘值。即使不需要這兩個值,也必須在設備輸出時鐘數據之前讀取設備控制字節。

寫入時鐘 [99h]

作為讀取時鐘的補充,該命令允許總線主機為器件控制字節和DS1904 4字節時鐘計數器設置新值。請注意,在新值生效之前,必須寫入全部5個字節并發送一個1-Wire復位脈沖。上述應用代碼包括單獨設置器件控制字節和時鐘值的例程,首先從DS5讀取1904字節數據(1字節器件控制加上4字節時鐘計數器),然后寫回數據并進行適當的更改。

poYBAGP0J-mANaVXAABPsew4GJQ688.gif?imgver=1


圖1.這些DS1904時鐘功能命令取自數據資料

轉換時間和日期值

若要將原始秒數轉換為可打印形式,應用程序將分別確定每個日期和時間字段(年、月、日、小時、分鐘和秒)的值,從最大的字段(年)開始向下工作:

秒≥(每年秒數),從秒數中減去(每年秒數)并增加年份。

秒≥(每月秒數),從秒數中減去(每月秒數)并增加月。

秒數≥(每天秒數),從秒數中減去(每天秒數)并增加“天”。

秒數≥(每小時秒數),從秒數中減去(每小時秒數)并增加小時數。

當秒≥ 60 時,從秒中減去 60 并增加分鐘。

秒的剩余值是第二個字段。

即使總線主站為除法提供硬件支持,簡單的除法運算也不足以計算前兩個字段值(年和月)。這是因為每個字段單位的秒數會因閏年(影響年和月的值)和每月天數(僅影響月)的影響而變化。例如,從 2000 年(閏年)開始:

2000 年每年的秒數)= 366(天)× 24(小時/天)× 60(分鐘/小時)× 60(秒/分鐘)= 31,622,400 秒。

標準年份少一天(365 天),這會將秒/年更改為 (31,622,400 - 86,400) = 31,536,000。

因為每四年是閏年,所以我們按如下方式計算年份(請注意,此偽代碼中的第 2、3 和 4 項是相同的)。

如果秒≥(每閏年的秒數),則從秒中減去(每閏年的秒數)并遞增年份,否則停止。

如果“秒數”≥(每年秒數),請從“秒數”中減去(每年秒數)并遞增“年份”,否則停止。

如果“秒數”≥(每年秒數),請從“秒數”中減去(每年秒數)并遞增“年份”,否則停止。

如果“秒數”≥(每年秒數),請從“秒數”中減去(每年秒數)并遞增“年份”,否則停止。

返回第 1 行。

“月份”字段的值以類似的方式計算:

如果秒≥(一月為秒),則從秒中減去(一月為秒)并遞增月,否則停止。

如果秒≥(二月為秒),則從秒中減去(二月為秒)并遞增月,否則停止。

如果秒≥(三月為秒),則從秒中減去(三月為秒)并遞增月份,否則停止。

繼續完成剩余的幾個月。

運行演示

要運行演示,請加載并運行應用程序。然后使用DB9串行電纜將MAXQ610評估板從J1 SKT連接到PC上的COM1。啟動 MTK(或其他終端模擬器)并以 1 波特打開 COM38400。初始輸出應類似于以下內容:

@
ID: 24B91231000000B2  AC  18F83065

+   18F83065   Apr 10 2013, 02:15:01 pm 
+   18F83066   Apr 10 2013, 02:15:02 pm
+   18F83067   Apr 10 2013, 02:15:03 pm
+   18F83068   Apr 10 2013, 02:15:04 pm
+   18F83069   Apr 10 2013, 02:15:05 pm

第二行代碼包含DS1904 ROM ID值(24B91231000000B2)、器件控制字節(AC)和當前時鐘值(18F83065)。后續行中的“+”值表示時鐘正在運行。時間值的刷新和顯示頻率與更改頻率一樣高,應為每秒一次。按“-”停止時鐘。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7552

    瀏覽量

    151423
  • 定時器
    +關注

    關注

    23

    文章

    3248

    瀏覽量

    114800
  • 電池
    +關注

    關注

    84

    文章

    10576

    瀏覽量

    129680
收藏 人收藏

    評論

    相關推薦

    實時時鐘芯片應用設計時必須要考慮的事項

    實時時鐘芯片(RTC)允許一個系統能同步或記錄事件,給用戶一個易理解的時間參考,這里分享一些實時時鐘芯片的設計資料,以及工程師在應用設計時應為了避開設
    發表于 07-25 11:08 ?5524次閱讀
    <b class='flag-5'>實時時鐘</b>芯片應用設<b class='flag-5'>計時</b>必須要考慮的事項

    STM32 RTC實時時鐘(一)

    STM32處理內部集成了實時時鐘控制器(RTC),因此在實現實時時鐘功能時,無須外擴時鐘芯片即
    的頭像 發表于 07-22 15:41 ?4708次閱讀
    STM32 RTC<b class='flag-5'>實時時鐘</b>(一)

    實時時鐘芯片DS3231應用筆記,使用指南,FAQ全集

    0ppm的精度,最終達到提高時鐘精度的目的。 實時時鐘RTC DS3231與8051微控制器的接口本應用筆記介紹了DS3231與8051微控制器的連接方式,并提供了一個基本的接口程序。
    發表于 03-14 11:05

    定時中的實時時鐘(RTC)

    實時時鐘(RTC)是專用于維持一秒時基的計時器。此外,RTC通常用于在軟件或硬件中跟蹤時鐘時間和日歷日期。RTC的許多功能是非常專業的,是維持高精度和非常可靠的操作所必需的。
    發表于 09-03 22:47

    基于實時時鐘芯片X1228的電源控制器設計

    基于實時時鐘芯片X1228的電源控制器設計:介紹多功能實時時鐘芯片X1228的內部結構、功能、特點以及在開放式實驗室管理
    發表于 05-12 17:13 ?53次下載

    MAXQ1004 具有AES加密引擎的微控制器您的系統提供

    Maxim最新推出的安全微控制器增加了先進的認證功能,幾乎不影響器件的電源預算。
    發表于 07-04 12:19 ?926次閱讀

    第一部分:MAX32630微控制器的設置

    在本視頻短片中,Mohamed介紹利用實時時鐘(RTC)電路計時的不同方法。Mohamed演示在智能手表項目中保證MAX32630微控制器的內部RTC正常運行所要求的設置。關于使用深
    的頭像 發表于 10-08 03:19 ?4837次閱讀

    TouchGFX中增加了功能 方便開發吸引眼球的用戶界面

    意法半導體在STM32微控制器(MCU)軟件框架TouchGFX中增加了功能,方便設備廠商家用電器、家庭自動化、工業控制、醫療設備和穿戴
    的頭像 發表于 01-15 14:19 ?3435次閱讀

    Steam在Steam Client Beta中增加了對DualSense控制器的支持

    Steam在Steam Client Beta中增加了對DualSense控制器的支持。的的Xbox系列X已經用戶的選擇,但現在的DualSense是蓄勢待發,SANS就正在制定上的一些功能
    的頭像 發表于 12-18 10:57 ?2198次閱讀

    新的三端穩壓增加了功能

    新的三端穩壓增加了功能
    發表于 04-23 11:22 ?3次下載
    新的三端穩壓<b class='flag-5'>器</b><b class='flag-5'>增加了</b><b class='flag-5'>功能</b>

    AiP8563時鐘芯片提供精確的時間電子系統提供精確時間

    實時時鐘芯片是日常生活中應用最廣泛的消費類電子產品之一,其提供精確實時時間或者電子系統提供精確
    的頭像 發表于 08-26 12:01 ?4647次閱讀
    AiP8563<b class='flag-5'>時鐘</b>芯片提供<b class='flag-5'>精確</b>的時間<b class='flag-5'>為</b>電子<b class='flag-5'>系統</b>提供<b class='flag-5'>精確</b>時間

    將硬件實時時鐘 (RTC) 和篡改管理單元 (TAMP) 與 STM32 微控制器一起使用

    將硬件實時時鐘 (RTC) 和篡改管理單元 (TAMP) 與 STM32 微控制器一起使用
    發表于 11-21 08:11 ?1次下載
    將硬件<b class='flag-5'>實時時鐘</b> (RTC) 和篡改管理單元 (TAMP) 與 STM32 <b class='flag-5'>微控制器</b>一起使用

    AN4759_如何使用STM32L1和L4系列微控制器在低功耗模式下的硬件實時時鐘

    AN4759_如何使用STM32L1和L4系列微控制器在低功耗模式下的硬件實時時鐘
    發表于 11-21 17:07 ?0次下載
    AN4759_如何使用STM32L1和L4系列<b class='flag-5'>微控制器</b>在低功耗模式下的硬件<b class='flag-5'>實時時鐘</b>

    業界轉向MEMS以獲得精確實時時鐘

    實時時鐘 (RTC) 不斷發展,通過變得更小、更準確來跟上其使用和應用的變化。這種演變和適應背后的主要驅動力是一種新的諧振技術——微機電系統(MEMS)。本應用筆記探討了計時精度的進
    的頭像 發表于 01-09 15:22 ?1340次閱讀

    新年倒計時制作的實時時鐘

    電子發燒友網站提供《新年倒計時制作的實時時鐘.zip》資料免費下載
    發表于 06-19 10:19 ?0次下載
    <b class='flag-5'>為</b>新年倒<b class='flag-5'>計時</b>制作的<b class='flag-5'>實時時鐘</b>
    主站蜘蛛池模板: 黄视频网站在线| 康熙古代高h细节肉爽文全文| 在线免费观看视频你懂的| 日本一区三区二区三区四区| 成人a毛片免费全部播放| 色人人| 婷婷丁香激情五月| 国产精品igao在线观看樱花日本| 奇米7777| 无遮挡很污很爽很黄的网站| 亚洲综合色站| 国产色婷婷精品综合在线 | 亚洲一区二区三区在线| 色综合久久丁香婷婷| 456主播喷水在线观看| 美女黄色一级毛片| 在线观看网址你懂得| 黄色免费的视频| 97精品伊人久久久大香线焦| 午夜免费的国产片在线观看| 你懂的网站在线| 8050午夜一级二级全黄| 123456成年免费视频| 欧美成人精品久久精品| 特黄一级视频| 中文字幕777| 你懂的在线免费视频| 看黄在线观看| 性久久久久久久久久| aaa特级毛片| 日本一卡二卡3卡四卡网站精品 | 久优草| free chinese 国产精品| 色老头久久久久| 色视频综合| 亚洲成年网| 午夜精品网站| 中文一级黄色片| 综合色影院| 九九精品免费观看在线| yy6080理aa级伦大片一级|