《XXXX項(xiàng)目 I2C總線時(shí)鐘芯片PCF8563應(yīng)用1》由會(huì)員分享,可在線閱讀,更多相關(guān)《XXXX項(xiàng)目 I2C總線時(shí)鐘芯片PCF8563應(yīng)用1(28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、項(xiàng)目四 I2C總線技術(shù)組員:彭國(guó)峰 周君勝 高騰飛 楊奇峰 項(xiàng)目功能 項(xiàng)目知識(shí)點(diǎn)與技能點(diǎn) 項(xiàng)目知識(shí)準(zhǔn)備 軟件設(shè)計(jì) 硬件電路 項(xiàng)目程序【項(xiàng)目功能】1、利用I2C總線技術(shù),完成ATmega16單片機(jī)對(duì)I2C器件PCF8563T時(shí)鐘芯片的讀寫操作。2、通過(guò)完成項(xiàng)目,掌握I2C總線技術(shù),并能合理運(yùn)用到實(shí)際項(xiàng)目中?!卷?xiàng)目知識(shí)點(diǎn)與技能點(diǎn)】1、I2C總線的協(xié)議。2、時(shí)鐘芯片PCF8563的相關(guān)知識(shí)。3、如何用I/O口模擬I2C通訊時(shí)序?!卷?xiàng)目知識(shí)準(zhǔn)備】1、I2C總線概述 2、I2C總線的協(xié)議 3、時(shí)鐘芯片PCF8563的相關(guān)知識(shí)1、I2C總線概述 I2C總線,是INTER-IC串行總線的縮寫。它是由PHIL
2、IPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開(kāi)發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。這種串行總線上的各單片機(jī)或集成電路模塊通過(guò)一條串行數(shù)據(jù)線(SDA)和一條串行時(shí)鐘線(SCL)進(jìn)行信息傳送。同其他形式的總線相比,I2C總線具有可靠性好、傳輸速度快、結(jié)構(gòu)簡(jiǎn)單等優(yōu)點(diǎn),因此也被廣泛地應(yīng)用在單片機(jī)應(yīng)用系統(tǒng)中。2、I2C總線的協(xié)議 按照I2C總線的通信規(guī)則,每個(gè)總線上的電路模塊都有的地址,總線通過(guò)這個(gè)地址識(shí)別連在總線上的器件。每個(gè)設(shè)備既可以是主控器(能控制總線,又能完成一次傳輸過(guò)程的初始化,并產(chǎn)生時(shí)鐘信號(hào)及傳輸終止信
3、號(hào)的器件)或被控器(被主控器尋址的器件),也可以是發(fā)送器(在總線上發(fā)送信息的器件)或接收器(從總線上接收信息的器件)。(1)I2C總線的基本結(jié)構(gòu) 通常,采用I2CI2C總線標(biāo)準(zhǔn)的單片機(jī)或ICIC器件,其內(nèi)部不僅有I2CI2C接口電路,而且還有將內(nèi)部各單元電路按功能劃分的獨(dú)立模塊,它們通過(guò)軟件尋址實(shí)現(xiàn)片選功能,因此減少了器件片選線的連接??偩€控制設(shè)備不僅能通過(guò)指令將某個(gè)功能單元電路掛接到總線或摘離總線,還可對(duì)該單元的工作狀況進(jìn)行監(jiān)測(cè),從而實(shí)現(xiàn)對(duì)硬件系統(tǒng)的簡(jiǎn)單靈活的擴(kuò)展與控制。I2CI2C總線接口電路結(jié)構(gòu)如圖 (2)起始和終止信號(hào) 若SCL為高電平,則SDA上的信息必須保持穩(wěn)定不變 若SCL為低電
4、平,則SDA上的信息允許變化。若SCL沒(méi)有時(shí)鐘信號(hào),SDA上的數(shù)據(jù)也將停止傳輸。當(dāng)SCL保持高電平期間,SDA由高電平向低電平變化這中狀態(tài)定義為起始信號(hào) SDA由低電平向高電平變化則定義為終止信號(hào)。SDA上的每一位數(shù)據(jù)都和SCL上的時(shí)鐘脈沖相對(duì)應(yīng)。且SCL和SDA的線“與”邏輯關(guān)系,下圖為I2C總線起始信號(hào)和終止信號(hào)時(shí)序圖。在I2C總線上,SDA上的數(shù)據(jù)傳輸必須以字節(jié)為單位(最高位最先傳送),每個(gè)傳送字節(jié)后還必須跟隨一應(yīng)答位。這個(gè)應(yīng)答信號(hào)由發(fā)送器發(fā)出。整個(gè)數(shù)據(jù)傳送過(guò)程中,傳輸?shù)淖止?jié)數(shù)目是沒(méi)有限制的。但是若數(shù)據(jù)傳輸一段時(shí)間后,接收器無(wú)法繼續(xù)接收時(shí),主控器也可以終止數(shù)據(jù)的傳送。(3)I2C總線的仲
5、裁 I2C總線上可以掛接多個(gè)器件,這樣當(dāng)兩個(gè)或多個(gè)主控器同時(shí)想占用總線時(shí),就會(huì)產(chǎn)生總線競(jìng)爭(zhēng)。I2C總線具有多主控能力,可以對(duì)發(fā)生在SDA線上的總線競(jìng)爭(zhēng)產(chǎn)生仲裁過(guò)程,仲裁是在SCL為高電平時(shí),根據(jù)SDA狀態(tài)進(jìn)行的。在總線仲裁期間,如有其他以主控器已經(jīng)在SDA上傳送低電平,則發(fā)送高電平的主控器就會(huì)發(fā)現(xiàn)此時(shí)SDA上的最平與它發(fā)送的信號(hào)不一致,這樣,該主控器就自動(dòng)裁決失去總線控制權(quán)。I2C總線協(xié)議的詳細(xì)仲裁過(guò)程為:當(dāng)主控器在發(fā)送某個(gè)字節(jié)時(shí),若被仲裁失去主控權(quán)時(shí),它的時(shí)鐘信號(hào)繼續(xù)輸出,并直到整個(gè)字節(jié)發(fā)送結(jié)束為止。若主控器在尋址階段被仲裁失去主控權(quán),它就立刻進(jìn)入被旁若被控接收狀態(tài),并判斷取得主控權(quán)的主控器
6、是否正在對(duì)它進(jìn)行尋址。在仲裁過(guò)程中,一旦有個(gè)主控器低電平時(shí)鐘信號(hào),則SCL也變?yōu)榈碗娖綘顟B(tài),它將影響所有有關(guān)的主控器,并使它們的計(jì)時(shí)器復(fù)位。如果有一個(gè)主控器首先由低電平向高電平轉(zhuǎn)換,這時(shí)由于還有其他主控器處于低電平狀態(tài),因此它只能處于高電平狀態(tài)等待狀態(tài),直至所有主控器都結(jié)束低電平狀態(tài),SCL才轉(zhuǎn)為高電平。仲裁過(guò)程中的具體時(shí)序同步如圖所示。(4)I2C總線的數(shù)據(jù)傳輸 I2C總線上的數(shù)據(jù)傳輸主要是以18位的字節(jié)進(jìn)行的,其傳輸過(guò)程如圖9.3.4所示。圖中1時(shí)刻時(shí)字節(jié)傳送完成,接收器內(nèi)產(chǎn)生中斷信號(hào);圖中2時(shí)刻則為當(dāng)中斷服務(wù)處理過(guò)程中,接收器保持低電平信號(hào)。在I2C總線上,每個(gè)數(shù)據(jù)的邏輯“0”和邏輯“1
7、”的信號(hào)電平取決于相應(yīng)的正端電壓。當(dāng)I2C總線進(jìn)行數(shù)據(jù)傳送時(shí),時(shí)鐘信號(hào)的高電平使數(shù)據(jù)線上的數(shù)據(jù)保持穩(wěn)定;時(shí)鐘信號(hào)在低電平時(shí),數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。在時(shí)鐘線保持高電平期間,由于數(shù)據(jù)線由高電平向低電平然變化是一種穩(wěn)定的狀態(tài),所以就將其狀態(tài)規(guī)定為起始條件;而時(shí)鐘線保持高電平期間,數(shù)據(jù)線是由低電平向高電平變化,則規(guī)定為停止條件。因此,只有I2C總線中的主控器件產(chǎn)生的起始條件和停止條件才能使總線進(jìn)入“忙”或“閑”狀態(tài)。在I2C總線上,比特位傳送字節(jié)的后面都必須有一位應(yīng)答位,并且數(shù)據(jù)是以最高有效位首先發(fā)出。由于進(jìn)行數(shù)據(jù)傳輸?shù)慕邮掌魇盏酵暾囊粋€(gè)數(shù)據(jù)字節(jié)后,有可能還要進(jìn)行相應(yīng)的數(shù)據(jù)處理,因
8、此,接收器也就無(wú)法立刻接收下一個(gè)字節(jié)的數(shù)據(jù)。為了解決這一問(wèn)題,I2C協(xié)議規(guī)定:接收器可以通過(guò)總線上的時(shí)鐘保持為低電平,使發(fā)送器進(jìn)入等待狀態(tài),直到接收器準(zhǔn)備好接收新的數(shù)據(jù)。并釋放時(shí)鐘線使數(shù)據(jù)傳輸繼續(xù)進(jìn)行。字節(jié)傳送與應(yīng)答 當(dāng)一個(gè)字節(jié)的數(shù)據(jù)被總線上的另一個(gè)已被尋址的接收器接收后,總線上都要求產(chǎn)生一個(gè)確認(rèn)信號(hào),并在這一位時(shí)鐘信號(hào)的高電平期間,使數(shù)據(jù)保持穩(wěn)定的低電平狀態(tài),從而完成應(yīng)答確認(rèn)信號(hào)的輸出。確認(rèn)信號(hào)通常是指起始信號(hào)和停止信號(hào),如果這個(gè)信息從一個(gè)起始字節(jié),或是總線尋址,則總線上不允許有應(yīng)答信號(hào)產(chǎn)生。如果接收器對(duì)被尋址做出了確認(rèn)應(yīng)答,但在數(shù)據(jù)傳輸?shù)囊欢螘r(shí)間以后,又無(wú)法繼續(xù)接收更多的數(shù)據(jù),則主控器也將
9、停止數(shù)據(jù)的繼續(xù)傳送。I2C總線的數(shù)據(jù)傳輸格式如圖所示。其中17位為地址位,第8位為讀寫位,第九位為應(yīng)答位。I2CI2C總線中,數(shù)據(jù)傳輸協(xié)議為:總線中,數(shù)據(jù)傳輸協(xié)議為:起始信號(hào)的后面總有一個(gè)被控器的地址,被控器的地址一般規(guī)定為7位數(shù)據(jù)。數(shù)據(jù)的第8位是數(shù)據(jù)的傳輸方向位,即讀寫位。在讀寫位中,如果是“0”,則表示主控器向被控機(jī)發(fā)送數(shù)據(jù),也就是執(zhí)行“寫”的功能;如果是“1”,則表示主控器接收被控器發(fā)來(lái)的數(shù)據(jù),也就是執(zhí)行“讀”的功能。數(shù)據(jù)的傳輸總是隨主控器產(chǎn)生的停止信號(hào)而結(jié)束。3、時(shí)鐘芯片PCF8563的相關(guān)知識(shí)(1 1)時(shí)鐘芯片)時(shí)鐘芯片PCF8563PCF8563概述概述 PCF8563 是PHIL
10、IPS 公司推出的一款工業(yè)級(jí)內(nèi)含I2C總線接口功能的具有極低功耗的多功能時(shí)鐘/日歷芯片。PCF8563 的多種報(bào)警功能、定時(shí)器功能、時(shí)鐘輸出功能以及中斷輸出功能能完成各種復(fù)雜的定時(shí)服務(wù),甚至可為單片機(jī)提供看門狗功能。內(nèi)部時(shí)鐘電路內(nèi)部振蕩電路、內(nèi)部低電壓檢測(cè)電路1.0V 以及兩線制I2C 總線通訊方式,不但使外圍電路及其簡(jiǎn)潔,而且也增加了芯片的可靠性。同時(shí)每次讀寫數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會(huì)自動(dòng)產(chǎn)生增量。當(dāng)然作為時(shí)鐘芯片,PCF8563 亦解決了2000 年問(wèn)題。因而,PCF8563 是一款性價(jià)比極高的時(shí)鐘芯片,它已被廣泛用于電表、水表、氣表、電話、傳真機(jī)、便攜式儀器以及電池供電的儀器儀表等產(chǎn)品
11、領(lǐng)域。(2)時(shí)鐘芯片PCF8563的外部結(jié)構(gòu)及引腳功能 下圖為時(shí)鐘芯片PCF8563的外部結(jié)構(gòu)圖振蕩器輸入振蕩器輸出中斷輸出地正電源時(shí)鐘輸出串行時(shí)鐘輸出串行數(shù)據(jù)I/O(3)時(shí)鐘芯片PCF8563的基本原理及內(nèi)部寄存器述1)時(shí)鐘芯片PCF8563的基本原理 PCF8563有16個(gè)8位寄存器:一個(gè)可自動(dòng)增量的地址寄存器,一個(gè)內(nèi)置32.768KHz的振蕩器(帶有一個(gè)內(nèi)部集成的電容),一個(gè)分頻器(用于給實(shí)時(shí)時(shí)鐘RTC提供源時(shí)鐘),一個(gè)可編程時(shí)鐘輸出,一個(gè)定時(shí)器一個(gè)報(bào)警器,一個(gè)掉電檢測(cè)器和一個(gè)400KHzI2C總線接口。所有16個(gè)寄存器設(shè)計(jì)成可尋址的8位并行寄存器,但不是所有位都有用。內(nèi)存地址00H,0
12、1H 用于控制寄存器和狀態(tài)寄存器,內(nèi)存地址02H08H 用于時(shí)鐘計(jì)數(shù)器(秒年計(jì)數(shù)器),地址09H0CH 用于報(bào)警寄存器(定義報(bào)警條件),地址0DH控制CLKOUT 用于管腳的輸出頻率,地址0EH 和0FH分別 用于定時(shí)器控制寄存器和定時(shí)器寄存器。秒、分鐘、小時(shí)、日、月、年、分鐘報(bào)警、小時(shí)報(bào)警、日?qǐng)?bào)警寄存器,編碼格式為BCD,星期和星期報(bào)警寄存器不以BCD格式編碼。PCF8563共有16個(gè)寄存器,00H01H為控制方式寄存器、09H0CH為報(bào)警功能寄存器、0DH為時(shí)鐘輸出寄存器、0EH和0FH為定時(shí)器功能寄存器、02H08H為秒年時(shí)間寄存器。各位寄存器的位描述如下表所示。2)時(shí)鐘芯片PCF856
13、3內(nèi)部寄存器概述【軟件設(shè)計(jì)】程序流程圖【硬件電路】ATmega16單片機(jī)本身帶有I2C總線接口,在本項(xiàng)目中,為了將I2C總線的整數(shù)據(jù)傳輸工作過(guò)程給大家清晰的展示出來(lái),我們采用單片機(jī)I/O口模擬I2C總線接口。ATmega16單片機(jī)與時(shí)鐘芯片PCF8563電路連接圖如圖所示。原理圖說(shuō)明:圖中Y為32.768KHz的晶振,為時(shí)鐘芯片PCF8563提供時(shí)鐘源。C1為起振電容,一般取值為120PF。時(shí)鐘芯片PCF8563的數(shù)據(jù)引腳SDA和時(shí)鐘引腳SCL分別與ATmega16單片機(jī)的PC0、PC1相連。PC6和PC7為系統(tǒng)與液晶顯示模塊的連接接口,PA4為L(zhǎng)CD背景光控制端口。項(xiàng)目程序程序?qū)崿F(xiàn)功能:(1)使LCD液晶屏顯示時(shí)間,字符,文字。(2)并且能使液晶屏切換顯示不同的內(nèi)容。主程序:答辯項(xiàng)目主程序.doc8563程序:答辯8563主要程序.docI2C程序:答辯I2C主要程序.docLCD程序:答辯LCD主要程序.doc液晶屏字符表:答辯LCD符號(hào)表.doc結(jié)束謝謝觀看/歡迎下載BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES.BY FAITH I BY FAITH