第4章 串行總線技術(shù)(2014.3.15,王曉萍)_第1頁
第4章 串行總線技術(shù)(2014.3.15,王曉萍)_第2頁
第4章 串行總線技術(shù)(2014.3.15,王曉萍)_第3頁
第4章 串行總線技術(shù)(2014.3.15,王曉萍)_第4頁
第4章 串行總線技術(shù)(2014.3.15,王曉萍)_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第4 4章章 串行總線技術(shù)串行總線技術(shù)浙江大學(xué)光電系浙江大學(xué)光電系 微機課程組微機課程組u 選擇項目設(shè)計的同學(xué),請在選擇項目設(shè)計的同學(xué),請在3月月19日(周三)下午日(周三)下午14:00-15:30在教三在教三5樓拿開發(fā)板。樓拿開發(fā)板。u 拿實驗板時,把校園卡也帶上,要開通六樓的門禁拿實驗板時,把校園卡也帶上,要開通六樓的門禁u 元器件采購:每組報銷額度不大于元器件采購:每組報銷額度不大于200元。元。F020核心板提供。核心板提供。u 每個項目每個項目7個組,希望有一個采購元器件的負(fù)責(zé)人,這樣每個項目共同的個組,希望有一個采購元器件的負(fù)責(zé)人,這樣每個項目共同的元件可以共同采購,節(jié)省快遞費

2、,數(shù)量多,也有利于開發(fā)票。元件可以共同采購,節(jié)省快遞費,數(shù)量多,也有利于開發(fā)票。指定負(fù)責(zé)人:每個題目序號指定負(fù)責(zé)人:每個題目序號1的同學(xué)的同學(xué)1,無弦琴:張逸凡,無弦琴:張逸凡 負(fù)責(zé)老師:王曉萍負(fù)責(zé)老師:王曉萍2,電子鋼琴:倪麗霞,電子鋼琴:倪麗霞 梁宜勇梁宜勇3,計價器:張步云,計價器:張步云 王立強王立強4,旋轉(zhuǎn),旋轉(zhuǎn)LED:吳函爍:吳函爍 張秀達(dá)張秀達(dá) 5,加速度:劉少聰,加速度:劉少聰 張秀達(dá)張秀達(dá)6,語音識別,語音識別: 方大千方大千 王立強王立強 相關(guān)通知相關(guān)通知3 3月月2929日(下周六)下午日(下周六)下午14:0014:00開題答辯,開題答辯,1,4,51,4,5題目題目1

3、 1個地方,個地方,2,3,62,3,6題題目目1 1個地方,每個地方個地方,每個地方2121組隊伍(地點另行通知)。組隊伍(地點另行通知)。每個組每個組2 2個人必須都參加答辯。同個人必須都參加答辯。同1 1地方的地方的2121組必須同時都在答辯現(xiàn)場,組必須同時都在答辯現(xiàn)場,不能遲到早退。不能遲到早退。每組講每組講4 4分鐘分鐘PPTPPT,教師提問,指導(dǎo),教師提問,指導(dǎo)3 3分鐘,共分鐘,共7 7分鐘。分鐘。2121* *7=1477=147分鐘。分鐘。答辯順序按照題目序號及齊老師提供的名單順序進(jìn)行。答辯順序按照題目序號及齊老師提供的名單順序進(jìn)行。每組只講設(shè)計方案,硬件每組只講設(shè)計方案,硬

4、件/ /軟件功能及設(shè)計考慮,進(jìn)度安排及軟件功能及設(shè)計考慮,進(jìn)度安排及2 2人分工,人分工,需采購的器件及大概成本預(yù)算,不需要講背景知識。需采購的器件及大概成本預(yù)算,不需要講背景知識。相關(guān)通知相關(guān)通知內(nèi)容提要內(nèi)容提要2.1 總線概論總線概論 2.1.1 總線的概念和分類總線的概念和分類 2.1.2 總線的功能和優(yōu)勢總線的功能和優(yōu)勢2.2 串行系統(tǒng)總線串行系統(tǒng)總線 2.2.1 I2C總線總線 2.2.2 SPI總線總線 2.2.3 1-wire總線總線 2.3 串行通信總線串行通信總線 2.3.1 RS-232C總線總線 2.3.2 RS-485總線總線2.1.1 總線概念和分類總線概念和分類1.

5、 什么是總線:什么是總線:總線是計算機之間、計算機與微機系統(tǒng)或智能儀器之間傳輸信息的通總線是計算機之間、計算機與微機系統(tǒng)或智能儀器之間傳輸信息的通道,是芯片之間、部件之間、系統(tǒng)之間的實際互聯(lián)線。道,是芯片之間、部件之間、系統(tǒng)之間的實際互聯(lián)線。2. 總線協(xié)議:總線協(xié)議:為了使總線能夠有效、可靠地進(jìn)行信息交換,必須對總線信號、傳送為了使總線能夠有效、可靠地進(jìn)行信息交換,必須對總線信號、傳送規(guī)則以及傳輸?shù)奈锢斫橘|(zhì)等做出一系列規(guī)定,這些規(guī)定稱為總線協(xié)議規(guī)則以及傳輸?shù)奈锢斫橘|(zhì)等做出一系列規(guī)定,這些規(guī)定稱為總線協(xié)議或總線規(guī)則?;蚩偩€規(guī)則。3. 標(biāo)準(zhǔn)總線:標(biāo)準(zhǔn)總線:被某一個標(biāo)準(zhǔn)化組織批準(zhǔn)或推薦的總線協(xié)議稱為

6、總線標(biāo)準(zhǔn),符合某種被某一個標(biāo)準(zhǔn)化組織批準(zhǔn)或推薦的總線協(xié)議稱為總線標(biāo)準(zhǔn),符合某種總線標(biāo)準(zhǔn)的總線,稱為標(biāo)準(zhǔn)總線??偩€標(biāo)準(zhǔn)的總線,稱為標(biāo)準(zhǔn)總線。4. 協(xié)議內(nèi)容:協(xié)議內(nèi)容: 總線協(xié)議要對總線的技術(shù)問題做出明確而嚴(yán)格的規(guī)定。總線協(xié)議要對總線的技術(shù)問題做出明確而嚴(yán)格的規(guī)定。比如:總線各信號線的定義和用途;信號的電氣特性(電壓、頻率和時比如:總線各信號線的定義和用途;信號的電氣特性(電壓、頻率和時序等);總線插座的幾何尺寸和機械特性;使用標(biāo)準(zhǔn)總線的產(chǎn)品和模板序等);總線插座的幾何尺寸和機械特性;使用標(biāo)準(zhǔn)總線的產(chǎn)品和模板的幾何尺寸、機械和電氣特性;機箱(機籠)的機械特性和電氣特性;的幾何尺寸、機械和電氣特性;

7、機箱(機籠)的機械特性和電氣特性;甚至對模板上應(yīng)用的元器件的特性均有規(guī)定。甚至對模板上應(yīng)用的元器件的特性均有規(guī)定。5. 標(biāo)準(zhǔn)化組織:標(biāo)準(zhǔn)化組織:國際上標(biāo)準(zhǔn)化組織很多,在總線標(biāo)準(zhǔn)的標(biāo)準(zhǔn)化組織中,影響比較大的國際上標(biāo)準(zhǔn)化組織很多,在總線標(biāo)準(zhǔn)的標(biāo)準(zhǔn)化組織中,影響比較大的主要有三個標(biāo)準(zhǔn)化組織:主要有三個標(biāo)準(zhǔn)化組織:nIEEE(電子電器工程師協(xié)會)(電子電器工程師協(xié)會)nANSI(美國國家標(biāo)準(zhǔn)協(xié)會)(美國國家標(biāo)準(zhǔn)協(xié)會)nIEC(國際電工委員會)(國際電工委員會)2.1.1總線概念和分類總線概念和分類2.1.1 總線概念和分類總線概念和分類n總線的種類:總線的種類:按總線的使用范圍分類:按總線的使用范圍分

8、類:n片內(nèi)總線片內(nèi)總線n系統(tǒng)總線系統(tǒng)總線n通信總線通信總線按信號傳送方式分類:按信號傳送方式分類:n并行總線并行總線n串行總線串行總線 1.片內(nèi)總線:片內(nèi)總線:連接片內(nèi)各部件的信息通道,用于各部件之間的信息傳輸。連接片內(nèi)各部件的信息通道,用于各部件之間的信息傳輸。例如例如MCS-51系列系列MCU片內(nèi)連接各部件之間的數(shù)據(jù)總線片內(nèi)連接各部件之間的數(shù)據(jù)總線DB、地址總、地址總線線AB、控制總線、控制總線CB。片內(nèi)總線上所傳送的信息,不同引線或者同一組引線在不同時刻可以片內(nèi)總線上所傳送的信息,不同引線或者同一組引線在不同時刻可以是不同類型的信息(如地址信息或數(shù)據(jù)信息),即數(shù)據(jù)總線是不同類型的信息(如

9、地址信息或數(shù)據(jù)信息),即數(shù)據(jù)總線DB、地、地址總線址總線AB、控制總線、控制總線CB共用同一組總線,這種結(jié)構(gòu)稱為單總線結(jié)構(gòu)共用同一組總線,這種結(jié)構(gòu)稱為單總線結(jié)構(gòu)。通常。通常MCU的片內(nèi)總線大都采用并行的單總線的片內(nèi)總線大都采用并行的單總線結(jié)構(gòu)。結(jié)構(gòu)。 2.1.1總線的概念和分類總線的概念和分類2. 系統(tǒng)總線系統(tǒng)總線是實際微機應(yīng)用系統(tǒng)或智能儀器內(nèi)部各模塊、各部件之間傳送信息的是實際微機應(yīng)用系統(tǒng)或智能儀器內(nèi)部各模塊、各部件之間傳送信息的總線。通常由系統(tǒng)總線連接相關(guān)模塊或元器件,來構(gòu)建具有一定功能總線。通常由系統(tǒng)總線連接相關(guān)模塊或元器件,來構(gòu)建具有一定功能的應(yīng)用系統(tǒng)。的應(yīng)用系統(tǒng)。分為并行總線(例如分

10、為并行總線(例如STD總線、總線、PCI總線)和串行總線(例如總線)和串行總線(例如I2C、SPI、1-wire)兩大類。)兩大類。3. 通信總線通信總線用于微機應(yīng)用系統(tǒng)之間或智能儀器之間或系統(tǒng)與計算機之間傳送信息用于微機應(yīng)用系統(tǒng)之間或智能儀器之間或系統(tǒng)與計算機之間傳送信息的總線。的總線。分為并行總線(例如分為并行總線(例如GPIB總線)和串行總線(例如總線)和串行總線(例如RS232、RS485、USB等)兩大類。等)兩大類。2.1.1總線的概念和分類總線的概念和分類4. 總線和網(wǎng)絡(luò)總線和網(wǎng)絡(luò)n總線技術(shù)和網(wǎng)絡(luò)技術(shù)是微機應(yīng)用系統(tǒng)實現(xiàn)互連的兩大技術(shù)。各有特總線技術(shù)和網(wǎng)絡(luò)技術(shù)是微機應(yīng)用系統(tǒng)實現(xiàn)互連

11、的兩大技術(shù)。各有特點,又互相聯(lián)系,沒有嚴(yán)格的定義可以把它們區(qū)分開。點,又互相聯(lián)系,沒有嚴(yán)格的定義可以把它們區(qū)分開。n總線是把各種設(shè)備連成系統(tǒng),而網(wǎng)絡(luò)是把系統(tǒng)互連成網(wǎng)。在總線上總線是把各種設(shè)備連成系統(tǒng),而網(wǎng)絡(luò)是把系統(tǒng)互連成網(wǎng)。在總線上傳送的是信號或某種信息,而在網(wǎng)絡(luò)上傳送的則是報文。傳送的是信號或某種信息,而在網(wǎng)絡(luò)上傳送的則是報文。n有很多總線結(jié)構(gòu)可以傳送數(shù)據(jù)塊,很像網(wǎng)絡(luò)上傳送的報文,這種總有很多總線結(jié)構(gòu)可以傳送數(shù)據(jù)塊,很像網(wǎng)絡(luò)上傳送的報文,這種總線具有網(wǎng)絡(luò)的特性。線具有網(wǎng)絡(luò)的特性。n在某些局部網(wǎng)中,為了提高實時響應(yīng)能力,使它具有即時、固有的在某些局部網(wǎng)中,為了提高實時響應(yīng)能力,使它具有即時、固

12、有的響應(yīng)方式,這種局域網(wǎng)網(wǎng)絡(luò)又具有總線的特征。響應(yīng)方式,這種局域網(wǎng)網(wǎng)絡(luò)又具有總線的特征。 2.1.1總線的概念和分類總線的概念和分類1.1.總線的功能總線的功能u 簡化系統(tǒng)結(jié)構(gòu)的復(fù)雜程度簡化系統(tǒng)結(jié)構(gòu)的復(fù)雜程度 功能模塊,化整為零、化復(fù)雜為簡單;功能模塊,化整為零、化復(fù)雜為簡單; 分頭、并行設(shè)計;群體設(shè)計;加快設(shè)計過程;分頭、并行設(shè)計;群體設(shè)計;加快設(shè)計過程;u 提高系統(tǒng)的靈活性提高系統(tǒng)的靈活性u 構(gòu)架靈活,功能增減方便;構(gòu)架靈活,功能增減方便;u 降低成本和方便維護(hù)降低成本和方便維護(hù)2.1.2 總線的功能和優(yōu)勢總線的功能和優(yōu)勢2.1.2 總線的功能和優(yōu)勢總線的功能和優(yōu)勢2.2.總線的優(yōu)勢總線的

13、優(yōu)勢u模塊化設(shè)計模塊化設(shè)計 功能分析,通用模塊、專用模塊,依據(jù)總線標(biāo)準(zhǔn)進(jìn)行模塊設(shè)計;功能分析,通用模塊、專用模塊,依據(jù)總線標(biāo)準(zhǔn)進(jìn)行模塊設(shè)計;u功能擴展方便功能擴展方便 增加模塊,擴展功能,不要改變系統(tǒng)結(jié)構(gòu)。增加模塊,擴展功能,不要改變系統(tǒng)結(jié)構(gòu)。u可維護(hù)性好可維護(hù)性好 按模塊分析,排除故障容易。按模塊分析,排除故障容易。u易實現(xiàn)監(jiān)控軟件的模塊化、結(jié)構(gòu)化設(shè)計易實現(xiàn)監(jiān)控軟件的模塊化、結(jié)構(gòu)化設(shè)計 實際應(yīng)用系統(tǒng)的監(jiān)控軟件,可模塊化、結(jié)構(gòu)化設(shè)計。實際應(yīng)用系統(tǒng)的監(jiān)控軟件,可模塊化、結(jié)構(gòu)化設(shè)計。u便于產(chǎn)品更新?lián)Q代便于產(chǎn)品更新?lián)Q代u經(jīng)濟性好經(jīng)濟性好內(nèi)容提要內(nèi)容提要2.1 總線概論總線概論 2.1.1 總線的概念

14、和分類總線的概念和分類 2.1.2 總線的功能和優(yōu)勢總線的功能和優(yōu)勢2.2 串行系統(tǒng)總線串行系統(tǒng)總線 2.2.1 I2C總線總線 2.2.2 SPI總線總線 2.2.3 1-wire總線總線 2.3 串行通信總線串行通信總線 2.3.1 RS-232C總線總線 2.3.2 RS-485總線總線1. 系統(tǒng)并行總線系統(tǒng)并行總線 例如例如ISA總線、總線、STD總線、總線、PCI總線等都是系統(tǒng)并行總線??偩€等都是系統(tǒng)并行總線。(內(nèi)容略)(內(nèi)容略)2.2 系統(tǒng)總線系統(tǒng)總線數(shù)據(jù)線、地址線、和控制線PCI主設(shè)備最少需要49根線,從設(shè)備最少需要47根線AD31:0:地址數(shù)據(jù)復(fù)用引腳。2. 系統(tǒng)串行總線系統(tǒng)串

15、行總線 (1)常見系統(tǒng)串行總線:)常見系統(tǒng)串行總線:nI2C總線、總線、SPI接口總線和接口總線和1-wire總線總線 ;n采用系統(tǒng)串行總線可以使系統(tǒng)結(jié)構(gòu)緊湊,器件間連線簡單??刹捎孟到y(tǒng)串行總線可以使系統(tǒng)結(jié)構(gòu)緊湊,器件間連線簡單??梢垣@得功能強大而價格低廉的微機系統(tǒng)。以獲得功能強大而價格低廉的微機系統(tǒng)。(2)主要應(yīng)用)主要應(yīng)用 n系統(tǒng)內(nèi)部的芯片級擴展,即微機系統(tǒng)內(nèi)部模塊或器件的擴展。系統(tǒng)內(nèi)部的芯片級擴展,即微機系統(tǒng)內(nèi)部模塊或器件的擴展。(3)絕大部分為同步串行數(shù)據(jù)傳輸總線,即具有實現(xiàn)同步傳輸)絕大部分為同步串行數(shù)據(jù)傳輸總線,即具有實現(xiàn)同步傳輸?shù)牡腃LK 信號。信號。2.2 系統(tǒng)總線系統(tǒng)總線2.

16、2.1 I2C總線總線1外圍擴展示意外圍擴展示意nI2C (Inter Intergrated Circuit)總線為雙向二線制同步串行總線,時鐘線總線為雙向二線制同步串行總線,時鐘線SCL、 數(shù)據(jù)線數(shù)據(jù)線SDA,主要用于單片機系統(tǒng)的外圍擴展??偩€傳輸速度為,主要用于單片機系統(tǒng)的外圍擴展??偩€傳輸速度為400kb/s,總,總線驅(qū)動能力線驅(qū)動能力400pF。n具有具有I2C總線的通用外圍器件包括總線的通用外圍器件包括SRAM、E2PROM、ADC/DAC、I/O口、口、LED及及LCD驅(qū)動控制器等等驅(qū)動控制器等等。 I2C總線擴展圖總線擴展圖2總線容量與驅(qū)動能力總線容量與驅(qū)動能力nI2C總線的外

17、圍擴展器件都是總線的外圍擴展器件都是CMOS器件,總線有足夠的電流驅(qū)動能器件,總線有足夠的電流驅(qū)動能力,因此總線上擴展的節(jié)點數(shù)不是由電流負(fù)載能力決定,而是由電容力,因此總線上擴展的節(jié)點數(shù)不是由電流負(fù)載能力決定,而是由電容負(fù)載確定。負(fù)載確定。nI2C總線上每個實際的節(jié)點器件的總線上每個實際的節(jié)點器件的I2C總線接口都有一定的等效電容,總線接口都有一定的等效電容,等效電容的存在會造成總線傳輸?shù)难诱`而導(dǎo)致數(shù)據(jù)傳輸出錯。等效電容的存在會造成總線傳輸?shù)难诱`而導(dǎo)致數(shù)據(jù)傳輸出錯。I2C總總線負(fù)載能力為線負(fù)載能力為400pF,能夠滿足應(yīng)用系統(tǒng)的要求。,能夠滿足應(yīng)用系統(tǒng)的要求。n總線上的每個外圍器件都有一個器件

18、地址??偩€上擴展外圍器件時也總線上的每個外圍器件都有一個器件地址。總線上擴展外圍器件時也要受器件地址限制。要受器件地址限制。2.2.1 I2C總線總線3總線的電氣結(jié)構(gòu)總線的電氣結(jié)構(gòu)nI2C總線為雙向同步串行總線,其接口為雙向傳輸電路??偩€端口總線為雙向同步串行總線,其接口為雙向傳輸電路??偩€端口輸出為開漏結(jié)構(gòu),故總線上必須有上拉電阻輸出為開漏結(jié)構(gòu),故總線上必須有上拉電阻Rp,上拉電阻通???,上拉電阻通常可選選510k。2.2.1 I2C總線總線I2C 總線只需要兩根線,一根是串行數(shù)據(jù)總線只需要兩根線,一根是串行數(shù)據(jù)線線SDA,另一根是串行時鐘線,另一根是串行時鐘線SCL。各器件的連接,需要共地

19、。各器件的連接,需要共地。4總線節(jié)點的尋址方法與從機地址(總線節(jié)點的尋址方法與從機地址(Slave Address)n掛接到總線上的所有器件都是總線上的節(jié)點。任何時刻,總線上只能有一掛接到總線上的所有器件都是總線上的節(jié)點。任何時刻,總線上只能有一個器件是主節(jié)點(主機)具有總線控制權(quán),尋址總線上的其它節(jié)點(從機個器件是主節(jié)點(主機)具有總線控制權(quán),尋址總線上的其它節(jié)點(從機),實現(xiàn)數(shù)據(jù)傳送。),實現(xiàn)數(shù)據(jù)傳送。nI2C 總線不需要地址譯碼器和片選信號。多個具有總線不需要地址譯碼器和片選信號。多個具有I2C 總線接口的器件都可總線接口的器件都可以連接到同一條以連接到同一條I2C 總線上,它們之間通過

20、器件地址來區(qū)分??偩€上,它們之間通過器件地址來區(qū)分。n主機是主控器件,不需要器件地址,其它器件都屬于從機,要有一個固定主機是主控器件,不需要器件地址,其它器件都屬于從機,要有一個固定的器件地址。并且必須保證同一條的器件地址。并且必須保證同一條I2C 總線上所有從機的地址都是唯一??偩€上所有從機的地址都是唯一。2.2.1 I2C總線總線D7D6D5D4D3D2D1D0SLAA6A5A4A3A2A1A0R/ W2.2.1 I2C總線總線A6、A5、A4、A3:器件地址,:器件地址,是是I2C總線接口器件固有的地址編碼,出廠總線接口器件固有的地址編碼,出廠時給定。例如,時給定。例如,I2C總線總線E

21、2PROM AT24C的器件地址為的器件地址為1010,4位位LED驅(qū)動器驅(qū)動器SAA1064的器件地址為的器件地址為0111。A2 A1 A0:引腳地址,:引腳地址,由器件引腳由器件引腳A2、A1、A0連接的電平確定。連接的電平確定。R/W:數(shù)據(jù)方向:數(shù)據(jù)方向,0,為寫地址;,為寫地址;1,為讀地址。,為讀地址。 因此每一個器件有因此每一個器件有2個地址,分別為讀地址和寫地址。個地址,分別為讀地址和寫地址。從機地址(從機地址(Slave Address)由)由7 位地址位和位地址位和1位讀寫位位讀寫位R/W 組成,組成,SLA格式格式如下:如下:讀寫位是讀寫位是0,表示主機將要向從機寫入數(shù)據(jù)

22、;讀寫位是,表示主機將要向從機寫入數(shù)據(jù);讀寫位是1,則表示主機將要從從,則表示主機將要從從機讀取數(shù)據(jù)。機讀取數(shù)據(jù)。 常用常用I2C總線接口器件的功能、型號和尋址字節(jié)表總線接口器件的功能、型號和尋址字節(jié)表功能功能型號型號器件地址及尋址字節(jié)器件地址及尋址字節(jié)備注備注2568/1288靜態(tài)靜態(tài)RAM PCF8570/711010A2A1A0R/W三位數(shù)字引腳地址三位數(shù)字引腳地址A2A1A02568靜態(tài)靜態(tài)RAMPCF8570C1011A2A1A0R/W三位數(shù)字引腳地址三位數(shù)字引腳地址A2A1A0256B E2PROMPCF85821010A2A1A0R/W三位數(shù)字引腳地址三位數(shù)字引腳地址A2A1A0

23、256B E2PROMAT24C021010A2A1A0R/W三位數(shù)字引腳地址三位數(shù)字引腳地址A2A1A0512B E2PROMAT24C041010A2A1P0R/W二位數(shù)字引腳地址二位數(shù)字引腳地址A2A11024B E2PROMAT24C081010A2P1P0R/W一位數(shù)字引腳地址一位數(shù)字引腳地址A22048B E2PROM2048B E2PROM1010P2P1P0R/W無數(shù)字引無數(shù)字引8位位I/O口口PCF8574 0100A2A1A0R/W三位數(shù)字引腳地址三位數(shù)字引腳地址A2A1A0PCF8574F0111A2A1A0R/W三位數(shù)字引腳地址三位數(shù)字引腳地址A2A1A04位位LED驅(qū)

24、動控制器驅(qū)動控制器SAA106401110A1A0R/W二位數(shù)字引腳地址二位數(shù)字引腳地址A1A0160段段LCD驅(qū)動控制器驅(qū)動控制器PCF8576011100A0R/W一位數(shù)字引腳地址一位數(shù)字引腳地址A0點陣式點陣式LCD驅(qū)動控制器驅(qū)動控制器PCF8578/79011110A0R/W一位數(shù)字引腳地址一位數(shù)字引腳地址A04通道通道8位位A/D、1路路D/A轉(zhuǎn)換器轉(zhuǎn)換器PCF89511001A2A1A0R/W三位數(shù)字引腳地址三位數(shù)字引腳地址A2A1A0日歷時鐘(內(nèi)含日歷時鐘(內(nèi)含2568RAM)PCF8583 1010 00A0 R/W一位數(shù)字引腳地址一位數(shù)字引腳地址A05. 幾個概念:幾個概念:

25、發(fā)送器:發(fā)送數(shù)據(jù)到總線上的器件發(fā)送器:發(fā)送數(shù)據(jù)到總線上的器件 接收器:從總線上接收數(shù)據(jù)的器件接收器:從總線上接收數(shù)據(jù)的器件 主器件:啟動數(shù)據(jù)傳送并產(chǎn)生時鐘信號的器件主器件:啟動數(shù)據(jù)傳送并產(chǎn)生時鐘信號的器件 從器件:被主器件尋址的器件從器件:被主器件尋址的器件 多主機:多主機: 同時有多于一個主機嘗試控制總線但不破壞報文同時有多于一個主機嘗試控制總線但不破壞報文仲裁仲裁 :是一個在有多個主機同時嘗試控制總線,但只允許其中一個控:是一個在有多個主機同時嘗試控制總線,但只允許其中一個控制總線并使報文不被破壞的過程制總線并使報文不被破壞的過程I2C 總線是雙向傳輸?shù)目偩€,因此主機和從機都可能成為發(fā)送器

26、和接總線是雙向傳輸?shù)目偩€,因此主機和從機都可能成為發(fā)送器和接收器。但是時鐘信號收器。但是時鐘信號SCL 總是主機產(chǎn)生的??偸侵鳈C產(chǎn)生的。注意注意2.2.1 I2C總線總線 (1) I2C總線時序定義:總線時序定義: n起始條件起始條件S :當(dāng):當(dāng)SCL 處于高電平期間,處于高電平期間,SDA 從高電平向低電平跳變時從高電平向低電平跳變時產(chǎn)生起始條件??偩€在起始條件產(chǎn)生后便處于忙的狀態(tài)。產(chǎn)生起始條件。總線在起始條件產(chǎn)生后便處于忙的狀態(tài)。n停止條件停止條件P :當(dāng):當(dāng)SCL 處于高電平期間,處于高電平期間,SDA 從低電平向高電平跳變時從低電平向高電平跳變時產(chǎn)生停止條件??偩€在停止條件產(chǎn)生后處于空

27、閑狀態(tài)。產(chǎn)生停止條件??偩€在停止條件產(chǎn)生后處于空閑狀態(tài)。 6. I2C總線的操作總線的操作 2.2.1 I2C總線總線(2)I2C 總線上數(shù)據(jù)的有效性(總線上數(shù)據(jù)的有效性(Data validity)數(shù)據(jù)線數(shù)據(jù)線SDA 的電平狀態(tài)必須在時鐘線的電平狀態(tài)必須在時鐘線SCL 處于高電平期間保持穩(wěn)定不處于高電平期間保持穩(wěn)定不變。變。SDA 的電平狀態(tài)只有在的電平狀態(tài)只有在SCL 處于低電平期間才允許改變。但是在處于低電平期間才允許改變。但是在I2C 總線的起始和結(jié)束時例外。總線的起始和結(jié)束時例外。2.2.1 I2C總線總線(3)I2C數(shù)據(jù)傳輸?shù)姆绞綌?shù)據(jù)傳輸?shù)姆绞絥以字節(jié)(以字節(jié)(Byte)為單位收發(fā)

28、數(shù)據(jù),一個字節(jié)數(shù)據(jù)為一幀。首先傳輸?shù)氖菙?shù))為單位收發(fā)數(shù)據(jù),一個字節(jié)數(shù)據(jù)為一幀。首先傳輸?shù)氖菙?shù)據(jù)的最高位(據(jù)的最高位(MSB,第,第7 位),最后傳輸?shù)氖亲畹臀唬ㄎ唬?,最后傳輸?shù)氖亲畹臀唬↙SB,第,第0 位);位);每傳送一個字節(jié)后,對方回應(yīng)一個應(yīng)答位。每傳送一個字節(jié)后,對方回應(yīng)一個應(yīng)答位。2.2.1 I2C總線總線(4)應(yīng)答()應(yīng)答(Acknowledge)n每傳輸一個字節(jié),要跟一個應(yīng)答位。接收器接收數(shù)據(jù)的情況可通過應(yīng)答位來每傳輸一個字節(jié),要跟一個應(yīng)答位。接收器接收數(shù)據(jù)的情況可通過應(yīng)答位來告知發(fā)送器。應(yīng)答位的時鐘脈沖由主機產(chǎn)生,而應(yīng)答位的數(shù)據(jù)狀態(tài)則遵循告知發(fā)送器。應(yīng)答位的時鐘脈沖由主機產(chǎn)生,

29、而應(yīng)答位的數(shù)據(jù)狀態(tài)則遵循“誰接收誰產(chǎn)生誰接收誰產(chǎn)生”的原則,即總是由接收器產(chǎn)生應(yīng)答位。主機向從機發(fā)送數(shù)的原則,即總是由接收器產(chǎn)生應(yīng)答位。主機向從機發(fā)送數(shù)據(jù)時,應(yīng)答位由從機產(chǎn)生;主機從從機接收數(shù)據(jù)時,應(yīng)答位由主機產(chǎn)生。據(jù)時,應(yīng)答位由從機產(chǎn)生;主機從從機接收數(shù)據(jù)時,應(yīng)答位由主機產(chǎn)生。n應(yīng)答位為應(yīng)答位為0 表示接收器應(yīng)答(表示接收器應(yīng)答(ACK),記為),記為A; 應(yīng)答位為應(yīng)答位為1 則表示非應(yīng)答(則表示非應(yīng)答(NACK),記為),記為/A。(5)I2C總線時序總線時序nI2C總線啟動后,傳送的字節(jié)數(shù)沒有限制。由主機發(fā)停止信號結(jié)束傳送??偩€啟動后,傳送的字節(jié)數(shù)沒有限制。由主機發(fā)停止信號結(jié)束傳送。n傳

30、送過程中,主機可以控制傳送過程中,主機可以控制SCL變低,控制總線暫停傳送。變低,控制總線暫停傳送。I2C總線上數(shù)據(jù)傳送時序總線上數(shù)據(jù)傳送時序2.2.1 I2C總線總線(6 6)數(shù)據(jù)操作格式)數(shù)據(jù)操作格式 一次完整的數(shù)據(jù)操作包括起始(一次完整的數(shù)據(jù)操作包括起始(S)、發(fā)送從機地址()、發(fā)送從機地址(SLA R/W)+應(yīng)答、發(fā)送應(yīng)答、發(fā)送數(shù)據(jù)數(shù)據(jù)+應(yīng)答、應(yīng)答、.、停止(、停止(P)。)。 :主機發(fā)送、從機接收。:主機發(fā)送、從機接收。 :主機接收、從機發(fā)送。:主機接收、從機發(fā)送。SA :從機地址高:從機地址高7位。位。A:應(yīng)答信號;:應(yīng)答信號;D:寫入或讀出數(shù)據(jù)。:寫入或讀出數(shù)據(jù)。2.2.1 I2

31、C總線總線主機向從機發(fā)送數(shù)據(jù)的基本格式主機向從機發(fā)送數(shù)據(jù)的基本格式主機從從機接收數(shù)據(jù)的基本格式主機從從機接收數(shù)據(jù)的基本格式注意:主機向從機發(fā)送最后一個字節(jié)的數(shù)據(jù)注意:主機向從機發(fā)送最后一個字節(jié)的數(shù)據(jù)時,從機可能應(yīng)答也可能非應(yīng)答,但不管怎時,從機可能應(yīng)答也可能非應(yīng)答,但不管怎樣主機都可以產(chǎn)生停止條件。樣主機都可以產(chǎn)生停止條件。但如果主機在向從機發(fā)送數(shù)據(jù)(甚至包括從但如果主機在向從機發(fā)送數(shù)據(jù)(甚至包括從機地址在內(nèi))時檢測到從機非應(yīng)答,則應(yīng)當(dāng)機地址在內(nèi))時檢測到從機非應(yīng)答,則應(yīng)當(dāng)及時停止傳輸。及時停止傳輸。(7)I2C總線的軟件模擬總線的軟件模擬2.2.1 I2C總線總線當(dāng)選用的單片機帶當(dāng)選用的單片

32、機帶 有有I2C總線時(例如總線時(例如ADUC812、C8051FXX等),可直等),可直接利用硬件接利用硬件I2C接口;當(dāng)所用單片機不帶有接口;當(dāng)所用單片機不帶有I2C總線接口時(普通總線接口時(普通51單片單片機),則可以利用機),則可以利用2根根I/O口線來模擬實現(xiàn)口線來模擬實現(xiàn)I2C總線接口功能,一根模擬總線接口功能,一根模擬SDA信號,另一根模擬信號,另一根模擬SCL時序。時序。I2C總線起始信號總線起始信號void Start(void) Sda=1; /首先首先SDA,SCL都為高電平都為高電平Scl=1;delay1us(); /稍作延時稍作延時Sda=0; /在在SCL為高

33、電平時將為高電平時將SDA由高拉低,產(chǎn)生起始信號由高拉低,產(chǎn)生起始信號delay1us();I2C總線停止信號總線停止信號void Stop(void) Sda=0;/首先首先SDA為低,為低,SCL為高為高Scl=1;delay1us();Sda=1; /SCL為高時將為高時將SDA由低由低拉高,產(chǎn)生停止信號拉高,產(chǎn)生停止信號delay1us(); 2.2.1 I2C總線總線I2C總線應(yīng)答總線應(yīng)答void Ack(void) Sda=0; /在一個完整的時鐘周期內(nèi)在一個完整的時鐘周期內(nèi)SDA低電平為應(yīng)答信號低電平為應(yīng)答信號delay1us();Scl=1;delay1us();Scl=0;I

34、2C總線不應(yīng)答總線不應(yīng)答void NoAck(void) Sda=1; /在一個完整的時鐘周期內(nèi)在一個完整的時鐘周期內(nèi)SDA高電平為不應(yīng)答高電平為不應(yīng)答delay1us();Scl=1;delay1us();Scl=0;I2C總線寫字節(jié),總線寫字節(jié),Data為要寫的字節(jié)為要寫的字節(jié)void Send(unsigned char Data) unsigned char xdata BitCounter=8; /一個字節(jié)為一個字節(jié)為8bitunsigned char xdata temp; dotemp=Data;Scl=0;/SCL低電平低電平SDA數(shù)據(jù)線才能變化數(shù)據(jù)線才能變化delay1us(

35、);if(temp&0 x80)=0 x80)/從最高位開始從最高位開始Sda=1;elseSda=0;delay1us();Scl=1;delay1us();/接受器件接受數(shù)據(jù)接受器件接受數(shù)據(jù)temp=Data1; /左移左移1位,低位移至高位位,低位移至高位Data=temp;BitCounter- -;/共需共需8次循環(huán)移位次循環(huán)移位while(BitCounter);/不為不為0時繼續(xù)循環(huán)時繼續(xù)循環(huán)Scl=0;2.2.1 I2C總線總線2.2.1 I2C總線總線I2C總線讀取字節(jié),讀取的字節(jié)作為返回值總線讀取字節(jié),讀取的字節(jié)作為返回值unsigned char Read(voi

36、d) unsigned char xdata temp=0;unsigned char xdata temp1=0;unsigned char xdata BitCounter=8;Sda=1;doScl=0; /SCL低電平低電平SDA數(shù)據(jù)線才能變化數(shù)據(jù)線才能變化delay1us();Scl=1;/SCL高電平讀高電平讀SDA數(shù)據(jù)線數(shù)據(jù)線delay1us();if(Sda) temp=temp|0 x01; /若若Sda為為1,則,則temp最低位置最低位置1elsetemp=temp&0 xfe; /否則否則temp最低位清最低位清0if(BitCounter-1) temp1=t

37、emp1; /數(shù)據(jù)左移數(shù)據(jù)左移 temp=temp1;/先接受的數(shù)據(jù)為高位先接受的數(shù)據(jù)為高位BitCounter- -;while(BitCounter);return(temp);(8)應(yīng)用舉例)應(yīng)用舉例24AAXX系列系列EEPROM (24C02)型號型號容量容量/B字節(jié)數(shù)字節(jié)數(shù)/頁頁總線可總線可接片數(shù)接片數(shù)寫保護(hù)方寫保護(hù)方案案24AA0016無無1無無24AA0112881整個陣列整個陣列24AA0225688整個陣列整個陣列24AA04512168整個陣列整個陣列24AA081024168整個陣列整個陣列24AAXX引腳圖引腳圖引腳功能和引腳功能和定義:定義:VCC:+2.5V-+5

38、V.Vss:地線。地線。SCL:串行時鐘。串行時鐘。SDA:串行數(shù)據(jù)串行數(shù)據(jù)線線,雙向;雙向;A0、A1、A2: 芯片地址引腳。芯片地址引腳。WP:寫保護(hù)端。通過此引腳可提供硬件數(shù)寫保護(hù)端。通過此引腳可提供硬件數(shù)據(jù)保護(hù)。據(jù)保護(hù)。CCV當(dāng)把當(dāng)把WP接地時,允許芯片執(zhí)行一般讀接地時,允許芯片執(zhí)行一般讀/寫操作;寫操作;當(dāng)把當(dāng)把WP接到接到 時,時,則對芯片實施寫保護(hù)則對芯片實施寫保護(hù)。2.2.1 I2C總線總線24C02性能指標(biāo)性能指標(biāo)低至低至1.8V的單電源供電;的單電源供電;低功耗的低功耗的CMOS技術(shù);技術(shù);256 bytes(2568)的存儲塊;)的存儲塊; 片內(nèi)存儲單元地址為片內(nèi)存儲單元

39、地址為00-FFH標(biāo)準(zhǔn)標(biāo)準(zhǔn)2線串行接口總線線串行接口總線 ,I2C總線;總線;兼容兼容400kHz (1.8-5.0V);8 bytes的頁寫入緩存;的頁寫入緩存;5 ms頁寫入時間周期;頁寫入時間周期;硬件寫保護(hù)。硬件寫保護(hù)。2.2.1 I2C總線總線24C02芯片的器件地址芯片的器件地址A6A5A4A3設(shè)置設(shè)置為為1010,A2A1A0與芯片硬件連接有關(guān);與芯片硬件連接有關(guān);對于如圖連接,該器件的寫地址為對于如圖連接,該器件的寫地址為A0H,讀地址為讀地址為A1H。24C02與與80C51的硬件連接的硬件連接 寫操作寫操作過程:過程:單片機單片機向向2424C C0 02 2某個地址開始的

40、某個地址開始的n n個單元寫入個單元寫入n n字節(jié)數(shù)據(jù)的過程如下:字節(jié)數(shù)據(jù)的過程如下:器件地址器件地址+0+0:表示寫地址;:表示寫地址;器件地址器件地址+1+1:表示讀地址;:表示讀地址;一次寫入的字節(jié)數(shù)一次寫入的字節(jié)數(shù)n n,不能大于芯片一頁的字節(jié)數(shù)(,不能大于芯片一頁的字節(jié)數(shù)(24C0224C02為為8 8字節(jié))字節(jié))讀讀操作操作過程:過程:單片機單片機從從2424C02C02某個地址開始的某個地址開始的n n個單元,讀出個單元,讀出n n字節(jié)數(shù)據(jù)的過程如下:字節(jié)數(shù)據(jù)的過程如下:2.2.1 I2C總線總線2.2.1 I2C總線總線24C02自檢程序void WrToROM(unsigne

41、d char Data_Write,unsigned char Address)/Data_Write:要寫的字節(jié),要寫的字節(jié),Address:寫入的起始地址寫入的起始地址 Start(); Send(0 xa0); /發(fā)送從機地址發(fā)送從機地址Ack();Send(Address); /發(fā)送存儲地址發(fā)送存儲地址Ack();/寫寫8位位Send(Data_Write);Ack();Stop();2.2.1 I2C總線總線unsigned char RdFromROM(unsigned char Address)/讀取數(shù)據(jù)讀取數(shù)據(jù)unsigned int xdata Temp_Data;Start

42、();Send(0 xa0); /發(fā)送從機寫地址發(fā)送從機寫地址Ack();Send(Address); /發(fā)送數(shù)據(jù)存儲地址發(fā)送數(shù)據(jù)存儲地址Ack();Start();Send(0 xa1); /發(fā)送從機讀地址發(fā)送從機讀地址Ack();Temp_Data=Read();/讀取讀取8位位NoAck();Stop();return Temp_Data;2.2.1 I2C總線總線2.2.1 I2C總線總線#include sbit LED=P10;sbit Sda=P12; /模擬模擬I2C數(shù)據(jù)傳送位數(shù)據(jù)傳送位sbit Scl=P13; /模擬模擬I2C時鐘控制位時鐘控制位void main (voi

43、d) unsigned char test; WrToROM(0 x55,0 x01); test=RdFromROM(0 x01); if(test=0 x55) LED=0; /接收到接收到0 x55,點亮,點亮LED while(1);2.2.2 SPI 接口接口n同步串行外設(shè)接口(同步串行外設(shè)接口(SPISPI)構(gòu)成一種三線串行總線,總線上可以連接多個具)構(gòu)成一種三線串行總線,總線上可以連接多個具有有SPISPI接口的接口的MCUMCU和接口芯片(如液晶驅(qū)動器、和接口芯片(如液晶驅(qū)動器、A/D轉(zhuǎn)換器等)。對于具有多轉(zhuǎn)換器等)。對于具有多個主機的連接,在任一瞬間只允許有一個為主控芯片。個

44、主機的連接,在任一瞬間只允許有一個為主控芯片。nSPI是全雙工的,即主機在發(fā)送的同時也可以在接收數(shù)據(jù),傳送的速率由主是全雙工的,即主機在發(fā)送的同時也可以在接收數(shù)據(jù),傳送的速率由主機編程決定。機編程決定。n三總線為:三總線為:時鐘線時鐘線SCK(由主機控制);由主機控制);主機輸入主機輸入/從機輸出線從機輸出線MISO;主機輸出主機輸出/從機輸入線從機輸入線MOSI。每個每個SPISPI芯片還需要片選信號,各芯片的片選信號由主機產(chǎn)生;任何時刻芯片還需要片選信號,各芯片的片選信號由主機產(chǎn)生;任何時刻只能一個只能一個SPISPI芯片的片選信號有效,此時主機可以對該芯片進(jìn)行操作。芯片的片選信號有效,此

45、時主機可以對該芯片進(jìn)行操作。2.2.2 SPI 總線總線單主機單主機SPI連接圖連接圖 2.2.2 SPI 總線總線內(nèi)部總線內(nèi)部總線內(nèi)部總線內(nèi)部總線數(shù)據(jù)發(fā)送寄存器數(shù)據(jù)發(fā)送寄存器數(shù)據(jù)發(fā)送寄存器數(shù)據(jù)發(fā)送寄存器高高低低數(shù)據(jù)接收緩沖區(qū)數(shù)據(jù)接收緩沖區(qū)數(shù)據(jù)接收緩沖區(qū)數(shù)據(jù)接收緩沖區(qū)SPI移位寄存器移位寄存器SPI移位寄存器移位寄存器MOSIMOSIMISOMISOSPCLKSS主機主機從機從機SSVcc1. SPI接口結(jié)構(gòu)接口結(jié)構(gòu)P1.02. SPI接口引腳接口引腳串行數(shù)據(jù)線(串行數(shù)據(jù)線(MISOMISO、MOSIMOSI)nMISOMISO和和MOSIMOSI用于串行接收和發(fā)送數(shù)據(jù),先高位,后低位。用于串

46、行接收和發(fā)送數(shù)據(jù),先高位,后低位。串行時鐘(串行時鐘(SPSCKSPSCK)nSPSCKSPSCK用于同步數(shù)據(jù)在用于同步數(shù)據(jù)在MOSIMOSI和和MISOMISO中的輸入和輸出傳送。中的輸入和輸出傳送。nSPSCKSPSCK信號由主機產(chǎn)生;信號由主機產(chǎn)生;8 8個個SPSCKSPSCK傳送一個字節(jié)數(shù)據(jù)。傳送一個字節(jié)數(shù)據(jù)。nSPSCKSPSCK信號的一個跳變進(jìn)行數(shù)據(jù)移位,另一個跳變進(jìn)行采樣。信號的一個跳變進(jìn)行數(shù)據(jù)移位,另一個跳變進(jìn)行采樣。從機片選信號(從機片選信號(SSSS)n對于從機,該引腳是片選信號,低電平有效。對于從機,該引腳是片選信號,低電平有效。n對于主機,該引腳要拉到高電平。對于主機

47、,該引腳要拉到高電平。2.2.2 SPI 總線總線MOSISPSCKABCLK1Q0Q7Q6Q5Q4Q3Q2Q74LS164(595)CLR0Q1Q2Q3Q4Q5Q6Q7QABCLKccV主機CLRccV用用74LS164或或74LS595外擴輸出接口外擴輸出接口DQQ0CLKCLKMOSISPSCK2.2.2 SPI 總線總線3. SPI應(yīng)用應(yīng)用74LS164(595)主機可以具有主機可以具有SPI接接口,也可以用口,也可以用I/O口口線軟件模擬。線軟件模擬。SPI總線外擴接口連接總線外擴接口連接LED數(shù)碼管數(shù)碼管2.2.2 SPI 總線總線 O0O1O2SPI總線外擴一個串轉(zhuǎn)并接口芯片,實

48、現(xiàn)與總線外擴一個串轉(zhuǎn)并接口芯片,實現(xiàn)與8位數(shù)據(jù)的位數(shù)據(jù)的LCD接口接口2.2.2 SPI 總線總線SPI總線總線A/D轉(zhuǎn)換器轉(zhuǎn)換器MAX7612、D/A轉(zhuǎn)換器轉(zhuǎn)換器MAX531的連接的連接2.2.2 SPI 總線總線SPI具有四種工作模式,取決于時鐘極性(具有四種工作模式,取決于時鐘極性(CPOL)和時鐘相位()和時鐘相位(CPHA),使用的最為廣泛的是),使用的最為廣泛的是SPI0和和SPI3方式。方式。SPI 模式模式CPOLCPHA000101210311CPOL =0, SCK高電平有效;CPOL =1, SCK低電平有效CPHA =0, 數(shù)據(jù)在有效電平的第一個時鐘沿被采樣CPHA =

49、1, 數(shù)據(jù)在有效電平的第二個時鐘沿被采樣2.2.2 SPI 總線總線2.2.2 SPI 總線總線2.2.2 SPI 總線總線/-/ SPI_defs.h/-/ This file defines the pins used for the SPI device./ The SPI device is mapped to pins P0.0 - P0.3, but can be modified to map to / any of the available GPIO pins on the device.#ifndef SPI_DEFS#define SPI_DEFSsbit MOSI = P00; / Master Out / Slave In (output)sbit MISO = P01; / M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論