當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]一、DS1337介紹  DS1337串行實(shí)時(shí)時(shí)鐘芯片是一種低功耗、全部采用BCD碼的時(shí)鐘日歷芯片,它帶有兩個(gè)可編程的定時(shí)鬧鐘和一個(gè)可編程的方波輸出。其地址和數(shù)據(jù)可通過(guò)I2C總線串行傳輸,能提供秒、分、時(shí)、日、星期、月和

一、DS1337介紹

  DS1337串行實(shí)時(shí)時(shí)鐘芯片是一種低功耗、全部采用BCD碼的時(shí)鐘日歷芯片,它帶有兩個(gè)可編程的定時(shí)鬧鐘和一個(gè)可編程的方波輸出。其地址和數(shù)據(jù)可通過(guò)I2C總線串行傳輸,能提供秒、分、時(shí)、日、星期、月和年等信息。

1.1DS1337的引腳說(shuō)明

  DS1337的引腳排列示意圖如圖1所示。各引腳的功能如下:

        

        圖1DS1337引腳示意圖

VCC,GND:直流電源和接地端,VCC的輸入范圍在1.8~5.5V之間。X1,X2:標(biāo)準(zhǔn)的32.768kHz的石英晶振接入端,內(nèi)部晶振電路設(shè)計(jì)要求晶振特定電容負(fù)載為6pF。另外,這兩個(gè)引腳還可以有其它接法,即:X1腳連接外部振蕩信號(hào)源,而將X2腳懸空。

SCL:串行時(shí)鐘輸入,用來(lái)在總線上同步數(shù)據(jù)傳輸。

SDA:串行數(shù)據(jù)輸入輸出,SDA是I2C總線接口的數(shù)據(jù)輸入輸出引腳,開(kāi)漏輸出,使用時(shí)要求接一個(gè)上拉電阻。

SQW/INTB:方波/中斷輸出,可通過(guò)對(duì)DS1337的內(nèi)部控制寄存器進(jìn)行編程來(lái)控制這個(gè)引腳是輸出方波還是輸出中斷信號(hào)。該引腳是開(kāi)漏輸出,使用時(shí)要接一個(gè)外部的上拉電阻。

INTA:中斷輸出端,使能時(shí),如果鬧鐘寄存器的設(shè)定值與當(dāng)前時(shí)間匹配,該腳會(huì)輸出一個(gè)低電平。該引腳也是開(kāi)漏輸出,要接上拉電阻。

1.2 時(shí)間寄存器

  常用的時(shí)間寄存器地址為00H~06H。設(shè)置和初始化時(shí)間和日歷可通過(guò)寫(xiě)相應(yīng)的寄存器字段來(lái)實(shí)現(xiàn),寄存器的數(shù)據(jù)格式以BCD碼表示。DS1337既可以工作在12小時(shí)模式下,也可以工作在24小時(shí)模式下。小時(shí)寄存器的位6被定義為12小時(shí)模式或24小時(shí)模式選擇位,該位為1時(shí),選擇12小時(shí)模式。在12小時(shí)模式時(shí),位5是AM/PM標(biāo)志位,該位為1時(shí)表示PM。當(dāng)在24小時(shí)模式時(shí),位5是第二個(gè)十位(表示20到23小時(shí))。月寄存器的第7位是世紀(jì)位,當(dāng)年寄存器從0到99溢出時(shí),該位發(fā)生變化。

1.3 控制寄存器和狀態(tài)寄存器

  DS1337中有一個(gè)控制寄存器和一個(gè)狀態(tài)寄存器,可用于控制實(shí)時(shí)時(shí)鐘、鬧鐘和方波的輸出。

  控制寄存器地址為0EH。其中:

EOSC:振蕩器使能位。該位為0,振蕩器起振;為1,振蕩器停振。剛上電時(shí),該位為0;RS1,RS2:方波輸出頻率選擇位。RS1和RS2共有四種組合,分別對(duì)應(yīng)的方波輸出頻率為1Hz,4.096kHz,8.192kHz,32.768kHz。在剛加電時(shí),方波輸出頻率設(shè)置是32.768kHz。

INTCN:中斷控制位。用于控制兩個(gè)鬧鐘與中斷輸出腳之間的關(guān)系。為1時(shí),兩個(gè)鬧鐘在滿足定時(shí)條件時(shí),各自有獨(dú)立的中斷輸出。為0時(shí),兩個(gè)鬧鐘共用一個(gè)中斷輸出腳INTA,而腳SQW/INTB為方波輸出端。開(kāi)始上電時(shí),該位為0。

A1IE:鬧鐘1中斷使能位。為1時(shí),允許狀態(tài)寄存器的A1F位輸出到腳INTA。上電時(shí)該位為0,此時(shí)不能用A1F位初始化INTA信號(hào)。

A2IE:鬧鐘2中斷使能位,該位的作用與A1IE位相同。

  DS1337的狀態(tài)寄存器地址為0FH,各位的作用如下:

OSF:振蕩器停止標(biāo)志。該位為1,表示振蕩器已停止。有四種情況能產(chǎn)生這樣的結(jié)果:一是芯片剛上電,二是Vcc引腳電壓不足,三是EOSC位為1,四是晶振受到外部影響(如噪聲等)。

A1F、A2F:鬧鐘標(biāo)志位。為1時(shí),表示鬧鐘設(shè)定時(shí)間與當(dāng)前時(shí)間匹配,并產(chǎn)生中斷輸出。

圖2 DS1337寄存器

1.4 對(duì)DS1337的讀與寫(xiě)

圖3 DS1337 寫(xiě)寄存器

  從上圖中,可以看出,主器件發(fā)起開(kāi)始條件,發(fā)送從器件的地址和寫(xiě)命令(0xD0|0x00),等待從器件的應(yīng)答,然后再發(fā)送要寫(xiě)的寄存器地址,等待從器件的應(yīng)答,然后再發(fā)送要寫(xiě)的數(shù)據(jù),等待從器件的應(yīng)答,如果寫(xiě)操作完成,主器件發(fā)送結(jié)束。完成一次寫(xiě)數(shù)據(jù)過(guò)程。

圖4 DS1337 讀寄存器

  從上圖中,可以看出,主器件發(fā)起開(kāi)始條件,發(fā)送從器件的地址和寫(xiě)命令(0xD0|0x00),等待從器件的應(yīng)答,然后再發(fā)送要讀的寄存器地址,等待從器件的應(yīng)答,然后主器件再重新發(fā)送開(kāi)始條件,發(fā)送從器件的地址和讀命令(0xD0|0x01),等待從器件的應(yīng)答,接收從器件發(fā)來(lái)的數(shù)據(jù),主器件應(yīng)答。當(dāng)收到最后一個(gè)數(shù)據(jù)后,主器件發(fā)送非應(yīng)答和結(jié)束。完成一次讀數(shù)據(jù)過(guò)程。


二、SMBus總線介紹

  SMBus串行I/O接口是一個(gè)雙線的雙向串行總線,與I2C串行總線兼容。圖 5給出了一個(gè)典型的SMBus 配置。SMBus 接口的工作電壓可以在3.0V和5.0V 之間,總線上不同器件的工作電壓可以不同。SCL(串行時(shí)鐘)和 SDA(串行數(shù)據(jù))線是雙向的。 必須通過(guò)上拉電阻或類似電路將它們連到電源電壓。當(dāng)總線空閑時(shí),這兩條線都被拉到高電平。連接在總線上的每個(gè)器件的 SCL 和 SDA 都必須是漏極開(kāi)路或集電極開(kāi)路的。

圖5SMBus 配置

  2.1握手

  SMBus采用多種線路條件作為器件間的握手信號(hào)。在一次數(shù)據(jù)傳輸中,SDA只能在SCL為低時(shí)改變電平。在SCL為高電平時(shí)SDA發(fā)生改變則是代表如下的開(kāi)始和停止信號(hào):

開(kāi)始:該條件啟動(dòng)一次傳輸過(guò)程。當(dāng)SCL為高電平時(shí)SDA上出現(xiàn)一個(gè)下降沿。

結(jié)束:該條件結(jié)束一次傳輸過(guò)程。當(dāng)SCL為高電平時(shí)SDA上出現(xiàn)一個(gè)上升沿。

應(yīng)答:也稱為ACK,接收器件發(fā)送該信號(hào)表示確認(rèn)。例如,在器件X收到一個(gè)字節(jié)后,它將發(fā)送一個(gè)ACK確認(rèn)傳輸成功。ACK條件是在SCL為高時(shí)采樣到SDA為低電平。

非應(yīng)答:也稱為NACK,這是在SCL為高電平時(shí)采樣到SDA為高電平。當(dāng)接收器件不能產(chǎn)生ACK時(shí),發(fā)送器件看到的是NACK。在典型的數(shù)據(jù)傳輸中,收到NACK信號(hào)表示所尋址的從器件沒(méi)有準(zhǔn)備好或不在總線上。一個(gè)處于接收狀態(tài)的主器件發(fā)送NACK表示這是傳輸?shù)淖詈笠粋€(gè)字節(jié)。圖2給出了握手信號(hào)時(shí)序。

圖6 SMBus 時(shí)序

  2.2 傳輸方式

  有兩種可能的傳輸方式:寫(xiě)(從主器件到從器件)和讀(從從器件到主器件)。在一次傳輸中,任何一個(gè)器件都可以是四種角色之一。這四種角色將在下面說(shuō)明。注意,從地址+R/W’是指一個(gè)8位傳輸(7位地址,1位R/W)。

  1)主發(fā)送器:在該方式下,器件在SDA上發(fā)送串行數(shù)據(jù),在SCL上輸出時(shí)鐘。器件用一個(gè)起始條件啟動(dòng)傳輸過(guò)程,發(fā)送從地址+W,然后等待從器件的ACK。收到ACK后,器件發(fā)送一個(gè)或多個(gè)字節(jié)數(shù)據(jù),每個(gè)字節(jié)都要由從器件確認(rèn)。在發(fā)送完最后一個(gè)字節(jié)后,器件發(fā)送一個(gè)停止條件。

  2)主接收器:在該方式下,器件在SDA上接收串行數(shù)據(jù),在SCL上輸出時(shí)鐘。器件用一個(gè)起始條件啟動(dòng)傳輸過(guò)程,之后發(fā)送從地址+R。在收到從器件對(duì)地址的ACK后,在SCL上輸出時(shí)鐘并在SDA上接收數(shù)據(jù)。在接收完最后一個(gè)字節(jié)后,器件將發(fā)送一個(gè)NACK和一個(gè)停止條件。

  3)從發(fā)送器:在該方式下,器件在SDA上輸出串行數(shù)據(jù),在SCL上接受時(shí)鐘。器件接收一個(gè)起始條件和它自己的從地址+R,然后發(fā)出ACK并進(jìn)入從發(fā)送方式。器件在SDA上發(fā)送數(shù)據(jù),在發(fā)送完每個(gè)字節(jié)后都要收到一個(gè)ACK。在傳輸完最后一個(gè)字節(jié)后,主器件發(fā)送一個(gè)NACK和一個(gè)停止條件。

  4)從接收器:在該方式下,器件收到來(lái)自主器件的起始條件和和它自己的從地址+W。然后發(fā)出ACK并進(jìn)入從接收方式。現(xiàn)在器件在SDA上接收串行數(shù)據(jù),在SCL上接收時(shí)鐘。在接收完每個(gè)字節(jié)后都要發(fā)送一個(gè)ACK,在接收到主器件的停止條件后退出從接收方式。

  圖7為典型的寫(xiě)操作情況。圖8為典型的讀操作情況。

圖7 寫(xiě)操作

  (1)為一個(gè)成功的傳送過(guò)程。在(3)中,主器件在收到一個(gè)ACK后重新發(fā)出起始條件。這一過(guò)程允許主器件在不放棄總線的情況下啟動(dòng)一個(gè)新的傳輸過(guò)程(例如,從寫(xiě)操作切換到讀操作)。重復(fù)起始條件通常在訪問(wèn)EEPROM時(shí)使用,因?yàn)橐粋€(gè)讀操作前面必須有一個(gè)寫(xiě)存儲(chǔ)器地址的操作。

圖8 讀操作

  2.3 SMBus特殊功能寄存器

  對(duì) SMBus 串行接口的訪問(wèn)和控制是通過(guò) 5 個(gè)特殊功能寄存器來(lái)實(shí)現(xiàn)的:控制寄存器 SMB0CN、時(shí)鐘速率寄存器 SMB0CR、地址寄存器 SMB0ADR、數(shù)據(jù)寄存器 SMB0DAT 和狀態(tài)寄存器 SMB0STA。系統(tǒng)器件可以有一個(gè)或多個(gè) SMBus 串行接口。

  2.3.1 控制寄存器SMB0CN

  SMBus 控制寄存器 SMB0CN 用于配置和控制 SMBus 接口。該寄存器中的所有位都可以 用軟件讀寫(xiě)。有兩個(gè)控制位還受 SMBus 硬件的影響。當(dāng)發(fā)生一個(gè)有效的串行中斷條件時(shí),串 行中斷標(biāo)志(SI,SMB0CN.3)被硬件設(shè)置為邏輯 1,該標(biāo)志只能用軟件清 0。當(dāng)總線上出現(xiàn) 一個(gè)停止條件時(shí),停止標(biāo)志(STO,SMB0CN.4)被硬件清 0。

  2.3.2 時(shí)鐘速率寄存器SMB0CR

  在器件工作于主方式時(shí)SMBus時(shí)鐘寄存器用于控制SCL時(shí)鐘速率。SMB0CR中的8位數(shù)決定了時(shí)鐘速率,公式如下:

                  

  其中,SMB0CR是一個(gè)負(fù)數(shù)的補(bǔ)碼。因此,對(duì)于100kHz的SCL頻率和16MHz的SYSCLK,應(yīng)向SMB0CL裝入-80,即0xB0。

  2.3.3 地址寄存器 SMB0ADR

  SMBus地址寄存器保存器件在從方式時(shí)將要應(yīng)答的從地址。位(7:1)保存從地址;位0是通用呼叫允許。如果位0被置位,器件將應(yīng)答通用呼叫地址(0x00)。

  2.3.4 數(shù)據(jù)寄存器 SMB0DAT

  SMBus數(shù)據(jù)寄存器用于保存將要發(fā)送或剛剛接收的數(shù)據(jù)。只有在SI=1時(shí),從該寄存器讀出的數(shù)據(jù)才是有效的。當(dāng)SI不為1時(shí),SMBus可能處在向SMB0DAT移入數(shù)據(jù)或從SMB0DAT移出數(shù)據(jù)的過(guò)程中。注意:在傳輸過(guò)程中,從SMB0DAT移出的最高位又移回到最低位,因此在一次傳輸完成后SMB0DAT中仍然保存著原始數(shù)據(jù)。

  1.3.5 狀態(tài)寄存器 SMB0STA

共有28個(gè)可能的SMBus狀態(tài),每個(gè)狀態(tài)對(duì)應(yīng)一個(gè)唯一的狀態(tài)碼。狀態(tài)碼的高5位是可變的,而一個(gè)有效狀態(tài)碼的

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉