技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 在嵌入式系統(tǒng)中快速實(shí)現(xiàn)高效的實(shí)時(shí)時(shí)鐘/日歷功能

在嵌入式系統(tǒng)中快速實(shí)現(xiàn)高效的實(shí)時(shí)時(shí)鐘/日歷功能

時(shí)間:2018-11-13 10:34:52來源:物聯(lián)網(wǎng)在線 作者:ioter

導(dǎo)語:?許多嵌入式應(yīng)用需要知道時(shí)間,以便在特定的時(shí)間和日期,或針對時(shí)間戳事件,或同時(shí)依據(jù)兩者執(zhí)行特定的任務(wù)。執(zhí)行此功能的RTCC(實(shí)時(shí)時(shí)鐘和日歷)芯片問世已有數(shù)十年,但設(shè)計(jì)人員在縮減元件數(shù)目和基底面,同時(shí)最大限度減少功耗和設(shè)計(jì)時(shí)間方面一直面臨著挑戰(zhàn)。

許多嵌入式應(yīng)用需要知道時(shí)間,以便在特定的時(shí)間和日期,或針對時(shí)間戳事件,或同時(shí)依據(jù)兩者執(zhí)行特定的任務(wù)。執(zhí)行此功能的RTCC(實(shí)時(shí)時(shí)鐘和日歷)芯片問世已有數(shù)十年,但設(shè)計(jì)人員在縮減元件數(shù)目和基底面,同時(shí)最大限度減少功耗和設(shè)計(jì)時(shí)間方面一直面臨著挑戰(zhàn)。

集成式RTCC器件和創(chuàng)新式模塊如今可以應(yīng)對這些挑戰(zhàn)。

本文將討論如何選擇RTCC芯片,并快速應(yīng)用于嵌入式系統(tǒng)的設(shè)計(jì)中,同時(shí)最大限度減小空間,降低功耗。文中還會討論具有內(nèi)置RTCC的MCU,以及將可用的RTCC模塊與表面貼裝RTC及其他元件一同使用,協(xié)助原型開發(fā)。

整合到模塊中的RTCC芯片通常由Arduino庫和RaspberryPiRaspbian驅(qū)動程序覆蓋層提供支持,利用它們可以更輕松地使用上述器件開展嵌入式實(shí)驗(yàn)和原型開發(fā)。

RTCC的角色

許多嵌入式應(yīng)用需要以極低的功耗跟蹤相對于真實(shí)世界的時(shí)間,同時(shí)減少在主處理器中所占用的空間,便與其處理其他任務(wù)。

然而,就其本身而言,RTCC芯片能力有限。它需要一個(gè)用于計(jì)時(shí)的精確晶體(可能為可實(shí)現(xiàn)極精確計(jì)時(shí)的溫度補(bǔ)償型晶體),還需要備用電池電源,以便在嵌入式系統(tǒng)斷電時(shí)仍能繼續(xù)跟蹤時(shí)間。這些輔助元件決定了RTCC執(zhí)行其兩項(xiàng)主要任務(wù)的能力:

在所有條件下持續(xù)記錄精確的時(shí)間和日期

在嵌入式系統(tǒng)的其余部分?jǐn)嚯姾笙臉O少的功率

部分微控制器采用RTCC

一些微控制器,例如MicrochipTechnology的32位PIC32MZ2064DAA288微控制器,采用了內(nèi)部RTCC塊。將此類器件用于設(shè)計(jì)需要精確計(jì)時(shí)的系統(tǒng)似乎是個(gè)不錯(cuò)的主意,尤其是,PIC32MZ2064DAA288微控制器在其用于為器件供電的正常電源引腳(VDDCORE和VDDIO)電壓不足時(shí),會自動將內(nèi)部電源切換至其電池輸入引腳(VBAT)。

但是,這類與RTCC以上所列兩項(xiàng)關(guān)鍵任務(wù)(即精確計(jì)時(shí)和低功耗運(yùn)行)直接相關(guān)的器件,還存在一些其他挑戰(zhàn)。

首先,PIC32MZ2064DAA288微控制器的RTCC塊需要在其兩個(gè)次級振蕩器引腳上連接一個(gè)32768赫茲(Hz)晶體,以便在微控制器斷電時(shí)維持精確的時(shí)間。雖然可以使用微控制器的主時(shí)鐘振蕩器來運(yùn)行RTCC塊,但當(dāng)微控制器處于深度睡眠模式時(shí),該振蕩器會停止運(yùn)行。

片載RTCC采用了一個(gè)校準(zhǔn)寄存器,Microchip也提供了一個(gè)校準(zhǔn)程序,可在晶體振蕩器頻率偏移最多260ppm時(shí)將計(jì)時(shí)誤差減小至每個(gè)月0.66秒。但固定校準(zhǔn)無法計(jì)入溫度波動,而這也會影響振蕩器的頻率,進(jìn)而影響計(jì)時(shí)精度。

其次,除RTCC塊之外,微控制器在切換至電池電源后并未完全斷電。根據(jù)軟件控制,微控制器中的其他塊在電池運(yùn)行期間可能啟用也可能未啟用。這樣帶來的挑戰(zhàn)是,電池的消耗和壽命變得高度依賴軟件。

這一挑戰(zhàn)并非PIC32MZ2064DAA288微控制器所獨(dú)有。任何采用RTCC塊的微控制器都會出現(xiàn)此問題。使用單獨(dú)的RTCC芯片可以克服該問題,將計(jì)時(shí)功能與微控制器明確隔離,而且,在微控制器不含內(nèi)部RTCC時(shí),這也是唯一的設(shè)計(jì)選擇。

RTCC芯片和模塊

數(shù)十年來,設(shè)計(jì)工程師一直使用單獨(dú)的RTCC芯片,在各種嵌入式和計(jì)算應(yīng)用中計(jì)時(shí)。盡管現(xiàn)在有多家IC供應(yīng)商提供此類芯片,但表面貼裝技術(shù)(SMT)讓RTCC芯片的評估變得非常復(fù)雜,因?yàn)檫@些器件無法輕松進(jìn)行手動焊接或插入插座。

一種有效的解決方案是使用基于這些RTCC芯片的低成本模塊,消除與小型表面貼裝IC相關(guān)的原型開發(fā)挑戰(zhàn)。這些模塊還包含電池(通常為紐扣電池),以便在主系統(tǒng)斷電時(shí)保持電力。

Adafruit的255Chronodot(圖1)便是此類模塊一個(gè)很好的例子。此類模塊便于評估試驗(yàn)板和原型開發(fā)中的RTCC芯片,許多情況下甚至適用于評估批量制造中的RTCC芯片。

Adafruit 的 255 Chronodot 圖片

圖1:Adafruit的255Chronodot在一個(gè)通孔式模塊中整合了RTCC芯片和電池。(圖片來源:Adafruit)

表1列出了基于兩家IC供應(yīng)商的三款不同RTCC芯片的六個(gè)不同RTCC模塊。

表1:六個(gè)RTCC模塊詮釋了RTCC模塊的廣泛適用性和多樣性。(數(shù)據(jù)來源:Digi-KeyElectronics)

利用類似表1所列的六款RTCC模塊,可以輕松地在原型系統(tǒng)中增加計(jì)時(shí)功能。在開發(fā)整合了底層RTCC芯片的電路板時(shí),如果仔細(xì)觀察這些模塊的設(shè)計(jì)方法,就能發(fā)現(xiàn)一些有用的信息。

表1中需要注意的第一點(diǎn)是,所有這些RTCC模塊都有一個(gè)共同點(diǎn),即I2C接口。上世紀(jì)70年代的早期RTCC芯片使用并行地址和數(shù)據(jù)總線來模擬小型SRAM。在那個(gè)年代,并行微處理器總線非常普遍,而板載串行協(xié)議則尚未廣泛應(yīng)用。

如今,芯片到芯片串行協(xié)議,尤其是I2C,已成為帶寬要求相對較低的外設(shè)的首選。RTCC芯片絕對符合條件,因?yàn)樗恍枰苌俚淖止?jié)便能傳輸日期和時(shí)間信息。

表1中顯示的前兩個(gè)RTCC模塊,即DFRobot的DFR0151和SparkFun的BOB-12708,均基于MaximIntegrated的8引腳器件DS1307RTCC芯片。由于它的普及程度,人們針對基于此芯片的模塊提供了各種Arduino庫和一個(gè)RaspberryPiRaspbian驅(qū)動程序覆蓋層。

DS1307RTCC具有單獨(dú)的電源軌和電池引腳,可在系統(tǒng)電源出現(xiàn)故障時(shí),在嵌入式系統(tǒng)的電源軌與備用電池之間提供自動切換(圖2)。

Maxim Integrated 的 DS1307 RTCC 芯片示意圖

圖2:MaximIntegrated的DS1307RTCC芯片在VCC引腳電壓降至約4.5V以下時(shí),會自動從VCC切換至VBAT。(圖片來源:MaximIntegrated)

圖2還顯示了DS1307RTCC芯片與晶體之間的連接。對于RTCC芯片,此晶體幾乎總是便宜的32768Hz鐘表晶體,例如IQDFrequencyProducts的WATCH-2X6。此晶體引入了使用RTCC芯片開展設(shè)計(jì)時(shí)需要考慮的兩個(gè)新的方面。

第一個(gè)因素是晶體的溫度穩(wěn)定性。大多數(shù)RTCC使用最初為腕表而設(shè)計(jì)的“音叉”晶體。這些晶體會隨著溫度變化而偏離其額定頻率(圖3)。

32768 Hz 晶體的共振頻率圖

圖3:32768Hz晶體的共振頻率隨溫度變化,這會影響RTCC的計(jì)時(shí)精度。(圖片來源:IQDFrequencyProducts)

IQDWATCH-2X6晶體的共振頻率隨溫度變化,這會改變振蕩器的頻率,導(dǎo)致計(jì)時(shí)誤差。請注意,振蕩器頻率發(fā)生20ppm的偏移對應(yīng)每月大約1分鐘的計(jì)時(shí)誤差。

第二個(gè)因素被圖2中晶體與RTCC芯片之間過度簡化的連接所隱藏。RTCC芯片的晶體輸入引腳通常具有極高的阻抗,導(dǎo)致鐘表晶體的引線和PC板的印制線起到類似天線的作用。此“天線”可以將系統(tǒng)其余部分的高頻信號和噪聲耦合到RTCC的內(nèi)部晶體振蕩器。

任何通過鐘表晶體與RTCC芯片之間的印制線耦合的噪聲,都可能導(dǎo)致RTCC芯片的振蕩器電路中出現(xiàn)額外轉(zhuǎn)換,進(jìn)而導(dǎo)致時(shí)鐘運(yùn)行加快。解決方案是采用細(xì)致的PC板布局。這包括將晶體置于盡可能接近RTCC芯片的振蕩器引腳的位置,以及在晶體輸入引腳和整個(gè)鐘表晶體主體的下面放置一個(gè)接地平面(圖4)。

RTCC 封裝下面以陰影線表示的禁布區(qū)示意圖

圖4:接地平面上細(xì)致的PC板布局可預(yù)防有害的噪聲影響RTCC芯片的計(jì)時(shí)精度。(圖片來源:MaximIntegrated)

此外,圖4顯示的RTCC封裝下面用陰影線表示的禁布區(qū),可以防止間距很近的印制線將噪聲耦合到RTCC芯片的晶體輸入引腳。如果可能,在PC板的元件層上增加一個(gè)環(huán)繞晶體和RTCC芯片晶體輸入引腳的保護(hù)環(huán),也有助于防止噪聲對計(jì)時(shí)精度產(chǎn)生影響。

從PC板取下鐘表晶體并插入芯片中

為了規(guī)避外部晶體面臨的一些與PC板布局相關(guān)的挑戰(zhàn),可選擇采用STMicroelectronics提供的帶有內(nèi)置晶體的M41T62RTCC。具有24引腳DIP基底面的STMicroelectronicsSTEVAL-FET001V1評估板上提供了此RTCC芯片。圖5顯示了此電路板的示意圖。其中有一個(gè)Arduino庫和一個(gè)RaspberryPiRaspbian驅(qū)動程序覆蓋層可供M41T62使用。

STMicroelectronics M41T62 RTCC 芯片示意圖

圖5:采用24引腳DIP封裝的STEVAL-FET001V1評估板上提供了STMicroelectronicsM41T62RTCC芯片(中央)。(圖片來源:STMicroelectronics)

如示意圖所示,M41T62只有一個(gè)VCC引腳。它沒有在主電源軌出現(xiàn)故障時(shí)可選擇切換的單獨(dú)VBAT引腳,因?yàn)樵撈骷某叽鐑H為1.5x3.2毫米,專門用于可穿戴設(shè)備和數(shù)碼相機(jī)。在這些嵌入式應(yīng)用中,電池往往是唯一的電源,而且空間非常寶貴。

請注意,也可以使用一個(gè)超級電容器作為M41T62的電源。在嵌入式系統(tǒng)中,系統(tǒng)電源或充電器可通過阻流二極管D1,連接到M41T62的VCC引腳(圖6)。

該二極管必須是與以上圖5中顯示的1N4148WS相似的低漏電類型,以防止超級電容器在系統(tǒng)的其余部分?jǐn)嚯姇r(shí),通過系統(tǒng)電源反向放電。

為 M41T62 RTCC 芯片供電的可充電超級電容器示意圖

圖6:可使用可充電超級電容器為M41T62RTCC芯片供電。(圖片來源:STMicroelectronics)

溫度補(bǔ)償可滿足晶體要求

表1中所列的三種RTCC模塊(Adafruit3013、Adafruit255Chronodot和MaximDS3231MPMB1#)均基于Maxim的DS3231RTCC芯片(圖7)。除集成式晶體之外,該器件還包括一個(gè)溫度傳感器,這也是該器件擁有較長正式名稱“超精準(zhǔn)I2C集成式RTC/TCXO/晶體”的原因所在。

Maxim DS3231 RTCC 芯片示意圖

圖7:DS3231RTCC芯片集成了32768Hz鐘表晶體、一個(gè)溫度傳感器和一個(gè)開關(guān)式電容器陣列,以便將器件的計(jì)時(shí)精度保持在每年±2分鐘以內(nèi)。(圖片來源:MaximIntegrated)

如方框圖中所示,DS3231的溫度補(bǔ)償型晶體振蕩器(TCXO)由內(nèi)部晶體、一個(gè)溫度傳感器和一個(gè)開關(guān)式電容器陣列構(gòu)成。與DS1307RTCC類似,DS3231也有單獨(dú)的主電源(VCC)和備用電池(VBAT)引腳。

與STMicroelectronicsM41T62RTCC芯片一樣,DS3231RTCC芯片消除了外部晶體存在的布局挑戰(zhàn)。它的TCXO減少了溫度擺動造成的計(jì)時(shí)精度波動。DS3231的內(nèi)部TCXO能在極寬的工作溫度范圍(-40°C至+85°C),將器件的計(jì)時(shí)精度保持在每年正負(fù)2分鐘以內(nèi)。

由于它的普及程度,人們針對基于DS3231RTCC芯片的模塊還提供了多個(gè)Arduino庫和一個(gè)RaspberryPiRaspbian驅(qū)動程序覆蓋層。

電池能持續(xù)使用多長時(shí)間?

電池需保養(yǎng)維護(hù),無法永久續(xù)航。在將RTCC添加至嵌入式設(shè)計(jì)時(shí),務(wù)必注意RTCC芯片所需的電池電流,以適當(dāng)調(diào)整備用電池的大小。

RTCC應(yīng)用中的電池壽命將取決于RTCC芯片在計(jì)時(shí)時(shí)的漏極電流、RTCC芯片所需的最低工作電壓,以及電池在其輸出電壓降至低于該最小工作電壓之前能夠供應(yīng)所需電流的時(shí)間量(圖2)。

表2:RTCC芯片的電池供電電流額定值有助于調(diào)整合適的備用電池大小。(數(shù)據(jù)來源:Digi-KeyElectronics)

之前表1中顯示的RTCC模塊均已選定備用電池。一些模塊供應(yīng)商在模塊的規(guī)格書上包含了電池壽命數(shù)字,此數(shù)字同樣顯示在表1中。鋰紐扣電池目前是這些模塊首選的電池類型。表中所列器件的電池直徑不外乎10、12和16毫米。當(dāng)然,電池容量越大,增加的空間和重量往往也更多,但顯而易見的好處是,給定電流下的電池壽命更長。

總結(jié)

在選擇RTTC器件、選擇配套的晶體和電池以確保精準(zhǔn)操作,以及為PC板布局時(shí),都應(yīng)格外小心。另一方面,基于RTCC芯片的可用模塊為試驗(yàn)板和原型開發(fā)提供了捷徑,大幅縮短了開發(fā)時(shí)間。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:控制論實(shí)際上是將控制原理抽...

下一篇:FIDO5100 支持 PROFINET、Eth...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號