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

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]本文介紹了串行時鐘器件DS3231的應(yīng)用及其與AVR單片機ATmega8的接口,該系統(tǒng)具有抗干擾能力強,計時準確且不隨季節(jié)變化產(chǎn)生誤差的特點。

1引言

    由單片機構(gòu)成的測控系統(tǒng)或智能顯示屏經(jīng)常需要用到實時日歷或時鐘信號。為節(jié)省CPU資源,本文介紹了串行時鐘器件DS3231的應(yīng)用及其與AVR單片機ATmega8的接口,該系統(tǒng)具有抗干擾能力強,計時準確且不隨季節(jié)變化產(chǎn)生誤差的特點。

2 DS3231的結(jié)構(gòu)及工作原理

    DS3231是低成本、高精度I2C實時時鐘(RTC)器件,具有集成的溫度補償晶體振蕩器(TCXO)。該器件包含電池輸入端,斷開主電源時仍可保持精確計時。集成的晶體振蕩器可提高器件的長期精確度。DS3231的寄存器能保存秒、分、時、星期、日期、月、年和鬧鐘設(shè)置等信息。少于31天的月份,可自動調(diào)整月末日期,包括閏年補償。時鐘的工作格式為24小時或帶AM/PM指示的12小時格式。DS3231提供兩個可編程日歷鬧鐘和一路可編程方波輸出。地址與數(shù)據(jù)通過I2C雙向串行總線傳輸。

2.1 DS3231的組成及工作原理

    如圖1所示,DS3231的主要組成部分有8個模塊,劃分為4個功能組:TCXO、電源控制、按鈕復(fù)位和RTC。

2.1.1 32 kHz的TCXO

    TCXO包括溫度傳感器、振蕩器和控制邏輯。控制器讀取片上溫度傳感器輸出,使用查表法確定所需的電容,加上AGE寄存器的老化修正。然后設(shè)置電容選擇寄存器。僅在溫度變化或者用戶啟動的溫度轉(zhuǎn)換完成時,才加載包括AGE寄存器變化的新值。VCC初次上電時就會讀取溫度值,然后每隔64 s讀取一次。

2.1.2 電源控制

    電源控制功能由溫度補償電壓基準(VPF)和監(jiān)視VCC電平的比較器電路提供。當(dāng)VCC高于VPF時,DS3231由VCC供電,當(dāng)VCC低于VPF但高于VBAT時,DS3231由VCC供電;當(dāng)VCC低于VPF并低于VBAT時,DS3231由VBAT供電。為保護電池,VBAT首次加到器件時振蕩器并不啟動,除非加載VCC,或者向器件寫入一個有效的I2C地址。典型的振蕩器啟動時間在1 s以內(nèi)。在VCC加電后或者有效的I2C地址寫入后大約2 s,器件會測量一次溫度,并使用計算的修正值校準振蕩器。一旦振蕩器運行,只要電源(VCC或者VBAT)有效就會一直保持工作狀態(tài)。器件每隔64 s進行一次溫度測量并校準振蕩器頻率。

2.1.3 按鈕復(fù)位

    DS3231具有連接至RST輸出引腳的按鈕開關(guān)功能。若DS3231不在復(fù)位周期,會持續(xù)監(jiān)視RST信號的下降沿。如果檢測到一個邊沿轉(zhuǎn)換,DS3231通過拉低RST完成開關(guān)去抖。內(nèi)部定時器定時結(jié)束后,DS3231繼續(xù)監(jiān)視RST信號。如果信號依舊保持低電平,DS3231持續(xù)監(jiān)視信號線以檢測上升沿。一旦檢測到按鈕釋放,DS3231強制RST為低電平并保持tRST。RST還可用于指示電源故障報警情況。當(dāng)VCC低于VPF時,產(chǎn)生內(nèi)部電源故障報警信號,并強制拉低RST引腳。當(dāng)VCC返回至超過VPF電平時。RST保持低電平大約250 ms(tREC),使供電電源達到穩(wěn)定。如果在VCC加載時,振蕩器不工作,將跳過tREC,RST立刻變?yōu)楦唠娖健?/P>

2.1.4 時鐘和日歷RTC

    可以通過讀取適當(dāng)?shù)募拇嫫髯止?jié)獲得時鐘和日歷信息。通過寫入適當(dāng)?shù)募拇嫫髯止?jié)設(shè)定或者初始化時鐘和日歷數(shù)據(jù)。時鐘和日歷寄存器的內(nèi)容采用二-十進制編碼(BCD)格式。DS3231運行于12小時或者24小時模式。小時寄存器的第6位定義為12或24小時模式選擇位。該位為高時,選擇12小時模式。在12小時模式下,第5位為AM/PM指示位,邏輯高時為PM。

2.1.5 鬧鐘

    DS3231包含2個定時/日期鬧鐘。鬧鐘1可通過寫入寄存器07h~0Ah設(shè)定。鬧鐘2可通過寫入寄存器0Bh~0Dh設(shè)定??蓪︳[鐘進行編程(通過控制寄存器的鬧鐘使能位和INTCN位),從而在鬧鐘匹配條件下觸發(fā)INT/SQW輸出。每個定時/日期鬧鐘寄存器的第7位是屏蔽位。當(dāng)每個鬧鐘的屏蔽位均為邏輯0時,只有當(dāng)計時寄存器中的值與存儲于定時/日期鬧鐘寄存器中的對應(yīng)值相匹配時才會告警。鬧鐘也可以編程為每秒、分、時、星期或日期重復(fù)告警。當(dāng)RTC寄存器值與鬧鐘寄存器的設(shè)定值相匹配時,相應(yīng)的鬧鐘標志位A1F或A2F置為邏輯1。如果對應(yīng)的鬧鐘中斷使能位A1IE或A2IE也置為邏輯1,并且INTCN位置為邏輯1,鬧鐘條件將會觸發(fā)INT/SQW信號。RTC在時間和日期寄存器每秒更新時都會檢測匹配情況。

2.2 DS3231的內(nèi)部寄存器及功能

    DS3231寄存器地址為00h~12h,分別用于存放秒、分、時、星期、日期及鬧鐘設(shè)置信息。在多字節(jié)訪問期間,如果地址達到RAM空間的結(jié)尾12h處,將發(fā)生卷繞,此時定位到開始位置即00h單元。DS3231的時間和日歷信息通過讀取相應(yīng)的寄存器來設(shè)置和初始化。輔助(用戶)緩沖區(qū)用于防止內(nèi)部寄存器更新時可能出現(xiàn)的錯誤。讀取時間和日歷寄存器時,用戶緩沖區(qū)在任何START條件下或者寄存器指針返回到零時與內(nèi)部寄存器同步。時間信息從這些輔助寄存器讀取,此時時鐘繼續(xù)保持運行狀態(tài)。這樣在讀操作期間發(fā)生主寄存器更新時可以避免重新讀取寄存器。以控制寄存器(地址為0EH)為例,可以控制實時時鐘、鬧鐘和方波輸出。其各位定義如表1。

    BIT7位:使能振蕩器(EOEC)。設(shè)定為邏輯0時,啟動振蕩器。如果設(shè)定為邏輯1,在DS3231電源切換至VBAT時,振蕩器停止。初次上電時該位清零(邏輯0)。當(dāng)DS3231由VCC供電時,振蕩器與EOSC位的狀態(tài)無關(guān),始終保持工作狀態(tài)。

    BIT6位:電池備份的方波使能(BBSOW)。當(dāng)設(shè)定為邏輯1并且DS3231由VBAT引腳供電時,在沒有加載VCC的情況下,該位使能方波輸出。當(dāng)BB-SQW設(shè)定為邏輯0時,若VCC降至低于電源故障門限值,則INT/SQW引腳變?yōu)楦咦杩?。初次上電時,該位清零(邏輯0)。

    BIT5位:轉(zhuǎn)換溫度(CONV)。該位置為1時,強制溫度傳感器將溫度轉(zhuǎn)換成數(shù)字,并執(zhí)行TCXO算法更新振蕩器的電容陣列。只在空閑期間有效。狀態(tài)位BSY=1時,禁止設(shè)定轉(zhuǎn)換溫度位。用戶在強制控制器開始新的TCXO操作之前。應(yīng)檢查狀態(tài)位BSY。用戶啟動的溫度轉(zhuǎn)換不影響內(nèi)部64 s更新周期。用戶啟動的溫度轉(zhuǎn)換在大約2 ms內(nèi)不會影響B(tài)SY位。CONV位從寫入開始直到轉(zhuǎn)換完成一直保持為1,轉(zhuǎn)換完后,CONV和BSY均變?yōu)?。在監(jiān)視用戶啟動轉(zhuǎn)換狀態(tài)時,應(yīng)使用CONV位。

    BIT4和BIT3位:頻率選擇(RS2和RS1),初次上電時,BIT4和BIT3設(shè)置為邏輯1。方波使能時用于控制方波輸出的頻率。RS1、RS2的邏輯值與方波輸出頻率的關(guān)系如表2所列。

    BIT2位:中斷控制(INTCN)。該位控制INT/SQW信號。INTCN置為0時,INT/SQW引腳輸出方波;INTCN置為1時,若計時寄存器與任一個鬧鐘寄存器相匹配,則會觸發(fā)INT/SQW信號(如果也使能鬧鐘的話)。匹配時相應(yīng)的鬧鐘標志總是置位,而與INTCN位的狀態(tài)無關(guān)。初次上電時,INTCN位置為邏輯1。

    BIT1位:鬧鐘2中斷使能(A2IE)。該位置為邏輯1時,允許狀態(tài)寄存器中的鬧鐘2標志位(A2F)觸發(fā)INT/SQW信號(當(dāng)INTCN=1時)。當(dāng)A2IE位置為0或者INTCN置為0時,A2F位不啟動中斷信號。初次上電時,A2IE位清零(邏輯0)。

    BIT0位:鬧鐘1中斷使能(A1IE)。該位置為邏輯1時,允許狀態(tài)寄存器中的鬧鐘1標志位(A1F)觸發(fā)INT/SQW信號(當(dāng)INTCN=1時)。當(dāng)A1IE位置為0或者INTCN置為0時,A1F位不啟動INT/SQW信號。初次上電時,A1IE位清零(邏輯0)。

2.3 DS3231的數(shù)據(jù)交換及其格式

    DS3231在I2C總線上作為從器件。通過執(zhí)行START命令并且在驗證器件地址后才可以訪問。然后寄存器可以被訪問直到執(zhí)行一個STOP命令為止。

    所有在I2C總線上傳輸?shù)牡刂钒L度均為9位,它包括7個地址位,1個R/W控制位和1個應(yīng)答位ACK,如果R/W為1,則執(zhí)行讀操作;如果R/W為0,則執(zhí)行寫操作。從機尋址后,必須在第9個SCL(ACK)周期通過拉低SDA做出應(yīng)答,若從機忙或者無法響應(yīng)主機,則應(yīng)在ACK周期內(nèi)保持SDA為高。然后主機發(fā)出STOP狀態(tài)或者REP START狀態(tài)重新開始發(fā)送。地址包包括從機地址和稱為SLA+R或者SLA+W的READ或者WRITE位。地址字節(jié)的MSB首先被發(fā)送。所有1111xxxx的地址均保留。以便將來使用。

    所有在I2C總線上傳送的數(shù)據(jù)包長度均為9位,它包括8個數(shù)據(jù)位和1個應(yīng)答位。在數(shù)據(jù)傳送中,主機產(chǎn)生時鐘及START與STOP狀態(tài),而接收器響應(yīng)接收。應(yīng)答是由ACK在第9個SCL周期拉低SDA實現(xiàn)的。如果接收器拉高SDA,則發(fā)送NACK信號。如果接收器由于某種原因不能接收更多數(shù)據(jù),應(yīng)在最后一個數(shù)據(jù)字節(jié)后發(fā)出NACK信號告訴發(fā)送器停止發(fā)送,首先發(fā)送數(shù)據(jù)的MSB。

    DS3231通過雙向數(shù)據(jù)線SDA和時鐘線SCL與外界進行數(shù)據(jù)交換,從其時序關(guān)系可看出,DS3231有兩種操作方式:

    (1) 寫操作:把SDA數(shù)據(jù)線上的數(shù)據(jù)按RAM指定的首地址(Word Address)依次寫入N個字節(jié)數(shù)據(jù)。主器件首先傳輸從器件的地址字節(jié),緊跟著是一系列數(shù)據(jù)字節(jié)。從器件每收到一個字節(jié)后返回一個應(yīng)答位ACK。其格式如圖2所示。

    (2) 讀操作:按RAM指定的首地址依次讀取N個字節(jié)數(shù)據(jù),主器件首先傳送從器件地址。從器件返回一個應(yīng)答位。隨后是從器件傳輸?shù)囊幌盗袛?shù)據(jù)字節(jié)。主器件收到除最后一個字節(jié)外的所有字節(jié)后返回一個應(yīng)答位。在收到最后一個字節(jié)后,返回一個“非應(yīng)答位”NACK。其格式如圖3所示。

    上述讀寫操作信號中:S為起始信號(START),1101 000為DS1307的口地址,A為應(yīng)答信號ACK,A為非應(yīng)答信號NACK,P為停止信號(STOP)。主器件產(chǎn)生所有的串行時鐘和START、STOP條件,通過傳輸STOP和重發(fā)START條件使其停止。

3 DS3231與AVR單片機的硬件接口

    ATmega系列單片機片內(nèi)集成2線制串行接口模塊。Atmel稱其為TWI接口。事實上,TWI與Philips的I2C總線是一回事。AVR硬件實現(xiàn)的TWI接口是面向字節(jié)和基于中斷的,相對軟件模擬I2C總線有更好的實時性和代碼效率,引腳輸入部分還具有毛刺抑制單元,可去除高頻干擾。圖4是DS3231與AVR單片機ATmega8的硬件接口電路原理圖。

4 DS3231與AVR單片機的軟件接口

    軟件設(shè)計中,首先要對AVR單片機ATMega8與實時鐘器件DS3231進行初始化。給DS3231準確的日期和時間。不論主控模式還是被控模式,都應(yīng)當(dāng)將TWI控制寄存器TWCR的TWEN位置為1,從而使能TWI模塊。TWEN位被置位后,I/O引腳 PC5和PC4轉(zhuǎn)換成SCL和SDA,對TWI 控制寄存器TWCR的操作可在總線上產(chǎn)生START和STOP信號,從START到STOP認為是主控模式的行為。將TWI地址寄存器TWAR的第一位TWGCE置為有效,同時將TWI控制寄存器TWCR的TWEA(應(yīng)答允許)位置1,TWI模塊就可以在總線上對其尋址做出應(yīng)答,并置狀態(tài)字。對TWI模塊的操作均為寄存器的讀寫操作,Avr-libc沒有提供專門的API,可以利用基于US-ART的標準I/O實現(xiàn)對DS3231讀寫日歷和時鐘的操作。下面的程序是DS3231與AVR單片機接口部分代碼:



5 結(jié)束語

    選用實時時鐘器件DS3231和AVR單片機ATmega8設(shè)計了一個日歷時鐘系統(tǒng),該系統(tǒng)體積小,通用性強。DS3231具有集成的溫度補償晶體振蕩器(TCXO),計時準確且不隨季節(jié)的變化而產(chǎn)生誤差。該系統(tǒng)適用于智能顯示屏以及實時測控系統(tǒng)。

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

摘 要 :視頻監(jiān)控系統(tǒng)是計算機應(yīng)用中的重要領(lǐng)域之一。數(shù)字化攝像頭網(wǎng)絡(luò)化之后,監(jiān)控系統(tǒng)正在不斷引入新的功能,為使現(xiàn)有監(jiān)控系統(tǒng)能更好地應(yīng)對復(fù)雜環(huán)境,滿足不同監(jiān)控要求,就需要追加新功能,在系統(tǒng)架構(gòu)與設(shè)計上進行調(diào)整。因此,如何將...

關(guān)鍵字: 智能監(jiān)控 系統(tǒng)架構(gòu) 模塊化設(shè)計 接口設(shè)計 數(shù)據(jù)傳輸 深度相機

IDT其低功耗PCI Express(PCIe)時鐘發(fā)生器產(chǎn)品系列新增6路和8路輸出、3.3V時鐘發(fā)生器產(chǎn)品。此3.3V時鐘發(fā)生器補充了現(xiàn)有的1.5V和1.8V產(chǎn)品系列。這些新產(chǎn)品的功率為大約1

關(guān)鍵字: idt 時鐘器件

Xilinx FPGA 提供可簡化接口設(shè)計的 I/O 模塊和邏輯資源。盡管如此,這些 I/O 模塊以及額外的邏輯仍需設(shè)計人員在源 RTL 代碼中配置、驗證、執(zhí)行,并正確連接到系統(tǒng)的其余部分

關(guān)鍵字: FPGA Xilinx 存儲器 接口設(shè)計 電源技術(shù)解析

摘要在選擇時鐘器件時,抖動指標是最重要的關(guān)鍵參數(shù)之一。但不同的時鐘器件,對抖動的描述不盡相同,如不帶鎖相環(huán)的時鐘驅(qū)動器有附加抖動指標要求,而帶鎖相環(huán)實現(xiàn)零延時的

關(guān)鍵字: 德州儀器 抖動 時鐘器件 電源技術(shù)解析 相位噪聲

引 言 PCI 總線(Peripheral Component Interconnect)是Intel公司推出的一種高性能32/64位局部總線,最大數(shù)據(jù)傳輸速率為132~264MB/s,是目前使用較為廣泛的一種總...

關(guān)鍵字: pci總線 接口設(shè)計 數(shù)據(jù)采集 電源技術(shù)解析 雷達視頻

實際上,每個產(chǎn)品設(shè)計必須經(jīng)歷數(shù)字提取和真實模擬世界。設(shè)計前期的一些考慮將焦點放在接口設(shè)計上。 20世紀后半葉的技術(shù)創(chuàng)新達到空前的速度。不像以前,這個時期的許多進

關(guān)鍵字: 接口設(shè)計 電源技術(shù)解析 建立橋路

隨著工業(yè)技術(shù)進步,對數(shù)字控制伺服系統(tǒng)中執(zhí)行效率和集成化程度的要求越來越高。比如用單處理器控制多個伺服系統(tǒng)時,對多通道A/D轉(zhuǎn)換的效率要求較高。以往較多地使用多路模

關(guān)鍵字: ad7890 DSP 接口設(shè)計 電源技術(shù)解析 轉(zhuǎn)換器

  引 言  Flash存儲器又稱閃速存儲器,是20世紀80年代末逐漸發(fā)展起來的一種新型半導(dǎo)體不揮發(fā)存儲器。它兼有RAM和ROM的特點,既可以在線擦除、改寫,又能夠在掉電后保持數(shù)據(jù)不丟失?! OR Flash是Flas...

關(guān)鍵字: 8位單片機 Flash nor 接口設(shè)計

1. 引言 AD7237A是美國AD公司推出的一種LC2MOS型雙路12位數(shù)模轉(zhuǎn)換器。它具有高速、低功耗、寬工作電壓等特點,在工業(yè)上得到了廣泛應(yīng)用。本文簡要地介紹了AD7237A的基本

關(guān)鍵字: d/a轉(zhuǎn)換器 擴展卡 接口設(shè)計 電源技術(shù)解析 ad7237a ad公司

DS2450是DALLAS公司生產(chǎn)的單總線四通道逐次逼近式A/D轉(zhuǎn)換器芯片,它的輸入電壓范圍、轉(zhuǎn)換精度位數(shù)和報警門限電壓均可編程;每個通道均可用各自的存儲器來存儲電壓范圍設(shè)置

關(guān)鍵字: a/d轉(zhuǎn)換器 單總線 單片機 接口設(shè)計 電源技術(shù)解析 ds2450

智能硬件

22113 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉