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