第3章 總線接口技術(shù)介紹_第1頁
第3章 總線接口技術(shù)介紹_第2頁
第3章 總線接口技術(shù)介紹_第3頁
第3章 總線接口技術(shù)介紹_第4頁
第3章 總線接口技術(shù)介紹_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、工業(yè)通信網(wǎng)絡技術(shù)和應用工業(yè)通信網(wǎng)絡技術(shù)和應用現(xiàn)場總線現(xiàn)場總線主講:莫太平主講:莫太平2 2 前置課程:數(shù)據(jù)通信基礎、計算機網(wǎng)絡等前置課程:數(shù)據(jù)通信基礎、計算機網(wǎng)絡等 教材教材: :許勇許勇- -工業(yè)通信技術(shù)工業(yè)通信技術(shù)- -原理與應用,西安電子原理與應用,西安電子科技大學出版社,科技大學出版社,20122012 參考教材參考教材: :許勇許勇- -工業(yè)通信技術(shù)工業(yè)通信技術(shù)- -原理與應用,中國原理與應用,中國電力出版社,電力出版社,2008.92008.9 參考教材:陽憲惠參考教材:陽憲惠- -網(wǎng)絡化控制系統(tǒng)網(wǎng)絡化控制系統(tǒng)- -現(xiàn)場總線技現(xiàn)場總線技術(shù),清華大學出版社,術(shù),清華大學出版社,200

2、9.52009.5 教師教師: 許勇許勇 Email: Email: Telephone: 229-1208Telephone: 229-1208教材及參考資料教材及參考資料3 3主要教學內(nèi)容和學時分配主要教學內(nèi)容和學時分配第第1 1章章 工業(yè)通信概論工業(yè)通信概論第第2 2章章 數(shù)據(jù)通信原理及基礎數(shù)據(jù)通信原理及基礎第第3 3章章 總線接口技術(shù)介紹總線接口技術(shù)介紹第第4 4章章 工控機與測控儀器接口總線工控機與測控儀器接口總線第第5 5章章 工業(yè)通信常用技術(shù)工業(yè)通信常用技術(shù)第第6 6章章 常用的工業(yè)現(xiàn)場總線常用的工業(yè)現(xiàn)場總線第第7 7章

3、章 CAN BusCAN Bus和汽車網(wǎng)絡和汽車網(wǎng)絡第第8 8章章 工業(yè)以太網(wǎng)技術(shù)及應用工業(yè)以太網(wǎng)技術(shù)及應用4 43.1 3.1 總線概述總線概述總線總線是將計算機系統(tǒng)中各部件連接起來的信息傳信息傳輸通道輸通道,通過總線可以傳輸數(shù)據(jù)信息、地址信息、各種控制命令和狀態(tài)信息。(計算機系統(tǒng)角度)從通信系統(tǒng)來說,總線是各個應用系統(tǒng)之間進行信息傳輸?shù)耐ǖ?。?yōu)點:簡化通信電路;減少各部件之間的連接線;可以統(tǒng)一標準,實現(xiàn)不同設備或部件之間的互連;簡化系統(tǒng)設計5 53.1 3.1 總線概述總線概述6 63.1 3.1 總線概述總線概述總線的作用總線的作用1、各部件之間關(guān)系轉(zhuǎn)化為面向總線的單一關(guān)系。2、標準總線

4、可以得到多個廠商的支持,便于生產(chǎn)與之兼容的軟硬件。3、便于系統(tǒng)擴充和升級。4、便于故障診斷和維護。總線標準規(guī)范總線標準規(guī)范 7 7信息傳送方向:信息傳送方向:單向總線和雙向總線。傳送信息類型:傳送信息類型:數(shù)據(jù)總線、地址總線和控制總線。所處位置:所處位置:內(nèi)部總線、系統(tǒng)總線、外部總線。 總線分類總線分類內(nèi)部總線:處理器總線和存儲器總線。內(nèi)部總線8 8系統(tǒng)總線:系統(tǒng)總線:各模板和系統(tǒng)板之間的總線,也稱內(nèi)部總線。 Multibus總線、STD總線、VME總線、PC總線板卡與主板之間連接 ISA、EISA、VESA、PCI、AGP外部總線:計算機與計算機之間、計算機與外部儀器或設備之間連接通信的總線

5、。傳輸信息:串行傳送、并行傳送、分時傳送。 總線分類總線分類9 9總線組成及性能指標總線組成及性能指標數(shù)據(jù)傳輸總線:數(shù)據(jù)傳輸總線:地址總線、數(shù)據(jù)總線、控制總線。仲裁總線:傳送控制信號和狀態(tài)信號的總線,總線請求線和總線授權(quán)線;中斷和同步總線:中斷請求線和中斷認可線。共用線:時鐘信號、電源和地線等。總線性能:1、帶寬MB/s2、時鐘3、寬度4、信號線數(shù)5、負載能力總線連接: 1、單總線,一條總線連 接CPU、內(nèi)存和I/O。 2、雙總線,增加一條連接CPU和內(nèi)存。 3、三總線,多條總線連接。1010總線組成及性能指標總線組成及性能指標1111總線工作過程總線工作過程 總線請求總線請求總線仲裁總線仲裁

6、尋址尋址傳送數(shù)據(jù)傳送數(shù)據(jù)檢錯和出錯檢錯和出錯處理處理結(jié)束階段結(jié)束階段 總線時序總線時序1、指令周期:讀取指令、譯碼及執(zhí)行等所需時間、指令周期:讀取指令、譯碼及執(zhí)行等所需時間2、總線周期:、總線周期:CPU與存儲器或與存儲器或IO口交換信息,口交換信息, CPU完完成一次訪問存儲器或成一次訪問存儲器或I/O口所需時間,一個指令周期由口所需時間,一個指令周期由幾個總線周期組成。幾個總線周期組成。3、時鐘周期:、時鐘周期:CPU執(zhí)行指令的基本時間計量單位。執(zhí)行指令的基本時間計量單位。1212總線工作過程總線工作過程 1313常用總線介紹常用總線介紹PCI總線系統(tǒng)1414常用總線介紹常用總線介紹USB

7、總線系統(tǒng)1515通用串行總線通用串行總線USBUSB USBUSB是一種新型的外設接口標準。是一種新型的外設接口標準。 USBUSB用一個用一個4 4針的插頭作為標準插頭,把不同的針的插頭作為標準插頭,把不同的接口統(tǒng)一起來。接口統(tǒng)一起來。 USBUSB接口允許兩種傳送速度,接口允許兩種傳送速度,1.51.5MB/sMB/s為低速,為低速, 12 12MB/sMB/s為高速。為高速。 USBUSB支持熱插拔和即插即用。支持熱插拔和即插即用。 越來越多的外設都支持越來越多的外設都支持USBUSB接口。接口。USBUSB可連接的可連接的外設數(shù)目多達外設數(shù)目多達127127個。個。 USBUSB接口有

8、同步、中斷、批量三種數(shù)據(jù)傳送模接口有同步、中斷、批量三種數(shù)據(jù)傳送模式。式。1616I2C串行總線概述串行總線概述 I2C總線,是INTER-IC串行總線的縮寫。INTER-IC意思是用于相互作用的集成電路,這種集成電路主要由雙向串行時鐘線SCL和雙向串行數(shù)據(jù)線SDA兩條線路組成。 I2C總線是PHLIPS公司推出的一種串行總線,是具備多主機系統(tǒng)所需的包括總線裁決和高低速器件同步功能的高性能串行總線。 I2C總線只有兩根雙向信號線。一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。1717 I2C總線通過上拉電阻接正電源。當總線通過上拉電阻接正電源。當總線空閑時,兩根線總線空閑時,兩根線均為高電平均為高

9、電平。連到總線上的任一器件輸出的低電平,都將使總。連到總線上的任一器件輸出的低電平,都將使總線的信號變低,即各器件的線的信號變低,即各器件的SDA及及SCL都是都是線線“與與”關(guān)系。關(guān)系。I2C串行總線概述串行總線概述1818 每個接到每個接到I2C總線上的器件都有唯一的地址。主機與其總線上的器件都有唯一的地址。主機與其它器件間的數(shù)據(jù)傳送可以是它器件間的數(shù)據(jù)傳送可以是由主機發(fā)送數(shù)據(jù)到其它器件由主機發(fā)送數(shù)據(jù)到其它器件,這,這時時主機主機即為即為發(fā)送器發(fā)送器。由總線上。由總線上接收數(shù)據(jù)的器件接收數(shù)據(jù)的器件則為則為接收器接收器。 在多主機系統(tǒng)中,可能同時有幾個主機企圖啟動總線傳送數(shù)據(jù)。為了避免混亂,

10、 I2C總線要通過總線仲裁,以決定由哪一臺主機控制總線。 在80C51單片機應用系統(tǒng)的串行總線擴展中,我們經(jīng)常遇到的是以80C51單片機為主機,其它接口器件為從機的單主機情況。 主機:初始化發(fā)送、產(chǎn)生時鐘信號和終止發(fā)送的器件,它可以是發(fā)送器或接收器。主機通常是微處理器。從機:被主機尋址的器件,它可以是發(fā)送器或接收器, I2C串行總線概述串行總線概述1919一、數(shù)據(jù)位的有效性規(guī)定一、數(shù)據(jù)位的有效性規(guī)定 I2C總線進行數(shù)據(jù)傳送時,總線進行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時鐘線上的信號為低只有在時鐘線上的信號為低電平

11、期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送2020二、起始和終止信號二、起始和終止信號 SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。 I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送 I2C總線中唯一違反上述數(shù)據(jù)有效性的是被定義為起始(S)和停止(P)條件。 2121起始和終止信號都是由主機發(fā)出的。起始和終止信號都是由主機發(fā)出的。在起始信號產(chǎn)生后,總線就處于被占用的狀態(tài)在起始信號產(chǎn)生后,總線就處于被占用的狀態(tài);在終止信號產(chǎn)生后,總線就處

12、于空閑狀態(tài)。在終止信號產(chǎn)生后,總線就處于空閑狀態(tài)。連接到I2C總線上的器件若具有I2C總線的硬件接口,則很容易檢測到起始和終止信號。 對于不具備I2C總線硬件接口的有些單片機來說,為了檢測起始和終止信號,必須保證在每個時鐘周期內(nèi)對數(shù)據(jù)線SDA采樣兩次。 I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送2222 接收器件收到一個完整的數(shù)據(jù)字節(jié)后,有可能需要完成一些其它工作,如處理內(nèi)部中斷服務等,可能無法立刻接收下一個字節(jié),這時接收器件可以將SCL線拉成低電平,從而使主機處于等待狀態(tài)。直到接收器件準備好接收下一個字節(jié)時,再釋放SCL線使之為高電平,從而使數(shù)據(jù)傳送可以繼續(xù)進行。 I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送

13、2323三、數(shù)據(jù)傳送格式三、數(shù)據(jù)傳送格式(1)字節(jié)傳送與應答)字節(jié)傳送與應答每一個字節(jié)必須保證是8位長度。數(shù)據(jù)傳送時,先傳送最高位(MSB),每一個被傳送的字節(jié)后面都必須跟隨一位應答位(即一幀共有9位)。 I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送2424由于某種原因從機由于某種原因從機不不對主機尋址信號對主機尋址信號應答應答時(如從機正在時(如從機正在進行實時性的處理工作而無法接收總線上的數(shù)據(jù)),它進行實時性的處理工作而無法接收總線上的數(shù)據(jù)),它必必須將數(shù)據(jù)線置于高電平須將數(shù)據(jù)線置于高電平,而由,而由主機產(chǎn)生一個終止信號以結(jié)主機產(chǎn)生一個終止信號以結(jié)束總線的數(shù)據(jù)傳送束總線的數(shù)據(jù)傳送。如果從機對主機進行

14、了應答,但在數(shù)據(jù)傳送一段時間后無法繼續(xù)接收更多的數(shù)據(jù)時,從機可以通過對無法接收的第一個數(shù)據(jù)字節(jié)的“非應答”通知主機,主機則應發(fā)出終止信號以結(jié)束數(shù)據(jù)的繼續(xù)傳送。當主機接收數(shù)據(jù)時,它收到最后一個數(shù)據(jù)字節(jié)后,必須向從機發(fā)出一個結(jié)束傳送的信號。這個信號是由對從機的“非應答”來實現(xiàn)的。然后,從機釋放SDA線,以允許主機產(chǎn)生終止信號。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送2525(2)數(shù)據(jù)幀格式)數(shù)據(jù)幀格式 I2C總線上傳送的數(shù)據(jù)信號是廣義的,既包括總線上傳送的數(shù)據(jù)信號是廣義的,既包括地址信號地址信號,又包括真正的又包括真正的數(shù)據(jù)信號數(shù)據(jù)信號。每次數(shù)據(jù)傳送總是由主機產(chǎn)生的終止信號結(jié)束。但是,若主機希望繼續(xù)占用

15、總線進行新的數(shù)據(jù)傳送,則可以不產(chǎn)生終止信號,馬上再次發(fā)出起始信號對另一從機進行尋址。 在起始信號后必須傳送一個從機的地址(7位);第8位是數(shù)據(jù)的傳送方向位(R/W):用“0”表示主機發(fā)送數(shù)據(jù)(T),用“1”表示主機接收數(shù)據(jù)(R)。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送2626A、主機向從機發(fā)送數(shù)據(jù)主機向從機發(fā)送數(shù)據(jù),數(shù)據(jù),數(shù)據(jù)傳送方向傳送方向在整個傳送過程在整個傳送過程中中不變不變。有陰影部分表示數(shù)據(jù)由主機向從機傳送,無陰影部分則表示數(shù)據(jù)由從機向主機傳送。A表示應答,/A表示非應答(高電平)。S表示起始信號,P表示終止信號。 在總線的一次數(shù)據(jù)傳送過程中,可以有以下幾種組合方式:I2C總線的數(shù)據(jù)傳送

16、總線的數(shù)據(jù)傳送2727B、主機、主機在第一個字節(jié)在第一個字節(jié)(尋址字節(jié)尋址字節(jié))后后,立即立即由從機讀數(shù)據(jù)。由從機讀數(shù)據(jù)。 在從機產(chǎn)生響應時,主機從發(fā)送變成接收,從機從接收變成發(fā)送。之后,數(shù)據(jù)由從機發(fā)送,主機接收,每個應答由主機產(chǎn)生,時鐘信號仍由主機產(chǎn)生。若主機要終止本次傳輸,則發(fā)送一個非應答信號(A),接著主機產(chǎn)生停止條件。 C、在傳送過程中,當需要改變傳送方向時,起始信號和從機地址都被重復產(chǎn)生一次,但兩次讀/寫方向位正好反相。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送2828四、總線的尋址四、總線的尋址 I2C總線協(xié)議有明確的規(guī)定:采用7位的尋址字節(jié)(尋址字節(jié)是起始信號后的第一個字節(jié))。 (1)尋

17、址字節(jié)的位定義 D7D1位組成從機的地址。D0位是數(shù)據(jù)傳送方向位,為“0”時表示主機向從機寫數(shù)據(jù),為“1”時表示主機由從機讀數(shù)據(jù)。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送2929 如一個從機的7位尋址位有4位是固定位,3位是可編程位,這時僅能尋址8個同樣的器件,即可以有8個同樣的器件接入到該I2C總線系統(tǒng)中。 從機的地址由固定部分和可編程部分組成。在一個系統(tǒng)中可能希望接入多個相同的從機,從機地址中可編程部分決定了可接入總線該類器件的最大數(shù)目。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送3030(2)尋址字節(jié)中的特殊地址)尋址字節(jié)中的特殊地址 固定地址編號固定地址編號0000和和1111已被保留作為特殊用途。已

18、被保留作為特殊用途。 I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送3131 起始信號后的第一字節(jié)的8位為“0000 0000”時,稱為通用呼叫地址。通用呼叫地址的用意在第二字節(jié)中加以說明。格式為: 第二字節(jié)為 06H時,所有能響應通用呼叫地址的從機器件復位,并由硬件裝入從機地址的可編程部分。能響應命令的從機器件復位時不拉低SDA和SCL線,以免堵塞總線。第二字節(jié)為 04H時,所有能響應通用呼叫地址并通過硬件來定義其可編程地址的從機器件將鎖定地址中的可編程位,但不進行復位。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送3232如果第二字節(jié)的方向位為“1”,則這兩個字節(jié)命令稱為硬件通用呼叫命令。在這第二字節(jié)的高7位說明

19、自己的地址。接在總線上的智能器件,如單片機或其他微處理器能識別這個地址,并與之傳送數(shù)據(jù)。硬件主器件作為從機使用時,也用這個地址作為從機地址。格式為: 在系統(tǒng)中另一種選擇可能是系統(tǒng)復位時硬件主機器件工作在從機接收器方式,這時由系統(tǒng)中的主機先告訴硬件主機器件數(shù)據(jù)應送往的從機器件地址,當硬件主機器件要發(fā)送數(shù)據(jù)時就可以直接向指定從機器件發(fā)送數(shù)據(jù)了。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送3333(3)起始字節(jié) 不具備I2C總線接口的單片機,則必須通過軟件不斷地檢測總線,以便及時地響應總線的請求。單片機的速度與硬件接口器件的速度就出現(xiàn)了較大的差別,為此,I2C總線上的數(shù)據(jù)傳送要由一個較長的起始過程加以引導。

20、起始字節(jié)是提供給沒有I2C總線接口的單片機查詢I2C總線時使用的特殊字節(jié)。 I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送3434 引導過程由引導過程由起始信號、起始字節(jié)、應答位、重復起起始信號、起始字節(jié)、應答位、重復起始信號始信號(Sr)組成。)組成。請求訪問總線的主機發(fā)出起始信號后,發(fā)送起始字節(jié)(0000 0001),另一個單片機可以用一個比較低的速率采樣SDA線,直到檢測到起始字節(jié)中的7個“0”中的一個為止。在檢測到SDA線上的高電平后,單片機就可以用較高的采樣速率,以便尋找作為同步信號使用的第二個起始信號Sr。在起始信號后的應答時鐘脈沖僅僅是為了和總線所使用的格式一致,并不要求器件在這個脈沖期間作

21、應答。I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送3535 在多主的通信系統(tǒng)中??偩€上有多個節(jié)點,它們都有自己的尋址地址,可以作為從節(jié)點被別的節(jié)點訪問,同時它們都可以作為主節(jié)點向其它的節(jié)點發(fā)送控制字節(jié)和傳送數(shù)據(jù)。但是如果有兩個或兩個以上的節(jié)點都向總線上發(fā)送啟動信號并開始傳送數(shù)據(jù),這樣就形成了沖突。要解決這種沖突,就要進行仲裁的判決,這就是I2C總線上的仲裁。 I2C總線上的仲裁分兩部分:SCL線的同步和SDA線的仲裁。 I2C總線的數(shù)據(jù)傳送總線的數(shù)據(jù)傳送3636I2C總線仲裁與時鐘發(fā)生總線仲裁與時鐘發(fā)生 SCL線的同步(時鐘同步) SCL同步是由于總線具有線“與”的邏輯功能,即只要有一個節(jié)點發(fā)送低電平時

22、,總線上就表現(xiàn)為低電平。由于線“與”邏輯功能的原理,當多個節(jié)點同時發(fā)送時鐘信號時,在總線上表現(xiàn)的是統(tǒng)一的時鐘信號。這就是SCL的同步原理。 當所有的節(jié)點都發(fā)送高電平時,總線才能表現(xiàn)為高電平。3737 SDA仲裁 SDA線的仲裁也是建立在總線具有線“與”邏輯功能的原理上的。 節(jié)點在發(fā)送1位數(shù)據(jù)后,比較總線上所呈現(xiàn)的數(shù)據(jù)與自己發(fā)送的是否一致。是,繼續(xù)發(fā)送;否則,退出競爭。 SDA線的仲裁可以保證I2C總線系統(tǒng)在多個主節(jié)點同時企圖控制總線時通信正常進行并且數(shù)據(jù)不丟失??偩€系統(tǒng)通過仲裁只允許一個主節(jié)點可以繼續(xù)占據(jù)總線。I2C總線仲裁與時鐘發(fā)生總線仲裁與時鐘發(fā)生3838仲裁過程DATA1和DATA2分別

23、是主節(jié)點向總線所發(fā)送的數(shù)據(jù)信號;SDA為總線上所呈現(xiàn)的數(shù)據(jù)信號,SCL是總線上所呈現(xiàn)的時鐘信號。I2C總線仲裁與時鐘發(fā)生總線仲裁與時鐘發(fā)生3939仲裁過程當主節(jié)點1、2同時發(fā)送起始信號時,兩個主節(jié)點都發(fā)送了高電平信號。這時總線上呈現(xiàn)的信號為高電平,兩個主節(jié)點都檢測到總線上的信號與自己發(fā)送的信號相同,繼續(xù)發(fā)送數(shù)據(jù)。I2C總線仲裁與時鐘發(fā)生總線仲裁與時鐘發(fā)生4040仲裁過程第2個時鐘周期,2個主節(jié)點都發(fā)送低電平信號,在總線上呈現(xiàn)的信號為低電平,仍繼續(xù)發(fā)送數(shù)據(jù)。I2C總線仲裁與時鐘發(fā)生總線仲裁與時鐘發(fā)生4141仲裁過程在第3個時鐘周期,主節(jié)點1發(fā)送高電平信號,而主節(jié)點2發(fā)送低電平信號。根據(jù)總線的線“

24、與”的邏輯功能,總線上的信號為低電平,這時主節(jié)點1檢測到總線上的數(shù)據(jù)和自己所發(fā)送的數(shù)據(jù)不一樣,就斷開數(shù)據(jù)的輸出級,轉(zhuǎn)為從機接收狀態(tài)。I2C總線仲裁與時鐘發(fā)生總線仲裁與時鐘發(fā)生4242仲裁過程這樣主節(jié)點2就贏得了總線,而且數(shù)據(jù)沒有丟失,即總線的數(shù)據(jù)與主節(jié)點2所發(fā)送的數(shù)據(jù)一樣,而主節(jié)點1在轉(zhuǎn)為從節(jié)點后繼續(xù)接收數(shù)據(jù),同樣也沒有丟掉SDA線上的數(shù)據(jù)。因此在仲裁過程中數(shù)據(jù)沒有丟失。I2C總線仲裁與時鐘發(fā)生總線仲裁與時鐘發(fā)生4343總結(jié):SDA仲裁和SCL時鐘同步處理過程沒有先后關(guān)系,而是同時進行的。仲裁過程I2C總線仲裁與時鐘發(fā)生總線仲裁與時鐘發(fā)生4444SPISPI總線總線是串行外圍設備接口,是一種高

25、速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線.RSPI的通信原理很簡單,它以主從方式工作,通常有一個主設備和一個或多個從設備,需要至少4根線。RSDO 主設備數(shù)據(jù)輸出,從設備數(shù)據(jù)輸入RSDI 主設備數(shù)據(jù)輸入,從設備數(shù)據(jù)輸出RSCLK 用來為數(shù)據(jù)通信提供同步時鐘信號,由主設備產(chǎn)生RCS 從設備使能信號,由主設備控制RSPI接口是全雙工、同步、串口、單主機。454545 SPISPI從機從機從主機獲得時鐘和片選信號,因此從主機獲得時鐘和片選信號,因此cscs和和sclksclk都是輸都是輸入信號。入信號。 SPISPI接口在內(nèi)部硬件實際上是個簡單的移位寄存器接口在內(nèi)部硬件實際上是個

26、簡單的移位寄存器, ,傳輸?shù)膫鬏數(shù)臄?shù)據(jù)為數(shù)據(jù)為8 8位位, ,在主器件產(chǎn)生的從器件使能信號和移位脈沖下在主器件產(chǎn)生的從器件使能信號和移位脈沖下, ,按位傳輸按位傳輸, ,高位在前高位在前, ,低位在后低位在后。 SPISPI從機的內(nèi)部結(jié)構(gòu)從機的內(nèi)部結(jié)構(gòu)4646時鐘發(fā)生器 主器件MOSI 從器件MISONSSSCK SPI總線采用3線制全雙工串行通信。7 6 5 4 3 2 1 07 6 5 4 3 2 1 0MSB bit6 bit5 bit4 bit3 bit2 bit1 LSBSCKMISO/MOSINSSSPISPI總線總線4747SPISPI總線總線尋址:MOSI:When maste

27、r, out line; when slave, in lineMISO:When master, in line; when slave, out line4848SPISPI從機的內(nèi)部結(jié)構(gòu)從機的內(nèi)部結(jié)構(gòu)SPI接口實際上是兩個簡單的移位寄存器,傳輸?shù)臄?shù)據(jù)為8位,在主器件產(chǎn)生的從器件使能信號和移位脈沖下,按位傳輸,高位在前,低位在后。 上升沿發(fā)送,下降沿接收。(有的器件是上升沿接收,下降沿發(fā)送)D7.D0D0.D74949 R在SPI傳輸中,數(shù)據(jù)是同步進行發(fā)送和接收的。R數(shù)據(jù)傳輸?shù)臅r鐘基于來自主處理器的時鐘脈沖,R當SPI接口上有多個SPI接口的單片機時,應區(qū)別其主從地位,在某一時刻只能由一個

28、單片機為主器件。R從器件只能在主機發(fā)命令時,才能接收或向主機傳送數(shù)據(jù)。R其數(shù)據(jù)的傳輸格式是高位(MSB)在前,低位(LSB)在RSPI接口的一個缺點:沒有應答機制確認是否接收到數(shù)據(jù)。R如果只是進行寫操作,主機只需忽略收到的字節(jié);反過來,如果主機要讀取外設的一個字節(jié),就必須發(fā)送一個空字節(jié)來引發(fā)從機的傳輸。SPISPI總線總線505050添加從器件:每個從器件需要一個單獨的從選擇信號??傂盘枖?shù)最終為 n+3 個,其中 n 是總線上從器件的數(shù)量。在 SPI 總線上添加新的從器件也不方便。對于額外添加的每個從器件,都需要一條新的從器件選擇線SPISPI總線總線515151 R一個完整的傳送周期是16位

29、,即兩個字節(jié),因為,首先主機要發(fā)送命令過去,然后從機根據(jù)主機的命令準備數(shù)據(jù),主機在下一個8位時鐘周期才把數(shù)據(jù)讀回來。 SPISPI總線總線5252SPISPI總線的硬件接口電路總線的硬件接口電路 5353SPISPI接口的串行時鐘芯片接口的串行時鐘芯片DS1302DS1302 實時時鐘,可對秒、分、時、日、周、月以及實時時鐘,可對秒、分、時、日、周、月以及帶閏年補帶閏年補償償?shù)哪赀M行計數(shù);的年進行計數(shù); 用于高速數(shù)據(jù)暫存的用于高速數(shù)據(jù)暫存的31318 RAM8 RAM; 簡單的簡單的SPISPI三線串口;三線串口; /RST/RST引腳引腳:復位兼片選,讀:復位兼片選,讀/ /寫操作時寫操作時

30、必須為高電平必須為高電平。5454單片機與單片機與DS1302DS1302的接口的接口5555DS1302DS1302的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)5656DS1302DS1302的工作原理的工作原理 單片機開始數(shù)據(jù)傳送時,必須將單片機開始數(shù)據(jù)傳送時,必須將DS1302DS1302的的/RST/RST置高,且把包置高,且把包含有地址和命令信息的含有地址和命令信息的8 8位數(shù)據(jù)發(fā)送給位數(shù)據(jù)發(fā)送給DS1302.DS1302. 數(shù)據(jù)在數(shù)據(jù)在SCLKSCLK的的上升沿入,下降沿串行出上升沿入,下降沿串行出; 單片機對單片機對DS1302DS1302的讀的讀/ /寫是命令字來初始化的。命令字格式寫是命令字來初始化

31、的。命令字格式:l命令字節(jié)的D7必須為1,若D7=0,寫保護;lD6=0,表示存取日歷時鐘數(shù)據(jù);D6=1,表示存取RAM數(shù)據(jù).lD5D1指示操作單元的地址;lD0=0,表示寫;D0=1,表示讀;5757DS1302DS1302的寄存器的寄存器58585959數(shù)據(jù)在SCLK的上升沿入,下降沿串行出;單字節(jié)操作單字節(jié)操作:每次對:每次對DS1302DS1302的寫入或讀出都由的寫入或讀出都由命令字節(jié)引導命令字節(jié)引導,每次只,每次只傳送傳送1 1字節(jié)數(shù)據(jù)。字節(jié)數(shù)據(jù)。單字節(jié)寫操作:單字節(jié)寫操作:單片機通過單片機通過8 8個個sclksclk下降沿傳送寫命令字節(jié)后,在接下下降沿傳送寫命令字節(jié)后,在接下來

32、的來的8 8個個sclksclk時鐘的下降沿傳送一字節(jié)數(shù)據(jù)。如果有時鐘的下降沿傳送一字節(jié)數(shù)據(jù)。如果有更多的更多的sclksclk周期周期,DS1302DS1302將會忽略。將會忽略。單字節(jié)讀操作:單字節(jié)讀操作:單字節(jié)讀操作每次需單字節(jié)讀操作每次需1616個時鐘,地址字節(jié)在前個時鐘,地址字節(jié)在前8 8個時鐘個時鐘周期的上周期的上升沿輸入升沿輸入,而數(shù)據(jù)字節(jié)在后,而數(shù)據(jù)字節(jié)在后8 8個時鐘周期的個時鐘周期的下降沿輸出下降沿輸出。. .DS1302DS1302輸出的第一輸出的第一位數(shù)據(jù)是在命令字節(jié)最后一位的第一個下降沿處,位數(shù)據(jù)是在命令字節(jié)最后一位的第一個下降沿處,如果有如果有更多的更多的sclks

33、clk周期周期,DS1302DS1302將重新發(fā)送數(shù)據(jù)字節(jié)。將重新發(fā)送數(shù)據(jù)字節(jié)。6060多字節(jié)操作多字節(jié)操作 多字節(jié)操作多字節(jié)操作:每次對:每次對DS1302DS1302的寫入或讀出都由命令字的寫入或讀出都由命令字節(jié)引導,然后對時鐘寄存器的節(jié)引導,然后對時鐘寄存器的7 7個寄存器或個寄存器或3131個個RAMRAM依依次按順序?qū)懭氪伟错樞驅(qū)懭? /讀出。讀出。 多字節(jié)寫操作:多字節(jié)寫操作:單片機通過單片機通過8 8個個sclksclk下降沿傳送命令下降沿傳送命令字節(jié)后,在接下來的字節(jié)后,在接下來的8 8個個sclksclk時鐘的下降沿傳送一字時鐘的下降沿傳送一字節(jié)數(shù)據(jù)節(jié)數(shù)據(jù), ,以次類推。以次

34、類推。 多字節(jié)讀操作:多字節(jié)讀操作:單片機通過單片機通過8 8個個sclksclk下降沿傳送命下降沿傳送命令字節(jié)后,在緊接著的的令字節(jié)后,在緊接著的的8 8個個sclksclk時鐘的下降沿時鐘的下降沿DS1302DS1302傳送一字節(jié)數(shù)據(jù)傳送一字節(jié)數(shù)據(jù), ,以次類推。以次類推。6161特殊寄存器特殊寄存器 在在DS1302DS1302的的時鐘日歷時鐘日歷或或RAMRAM進行進行數(shù)據(jù)傳送數(shù)據(jù)傳送時,時,DS1302DS1302必須必須首首先發(fā)送命令字節(jié)先發(fā)送命令字節(jié)。若進行單字節(jié)傳送,。若進行單字節(jié)傳送,8 8位命令字節(jié)傳送結(jié)位命令字節(jié)傳送結(jié)束之后,在下束之后,在下8 8個個SCLKSCLK周期

35、的下降沿輸出數(shù)據(jù)字節(jié)。周期的下降沿輸出數(shù)據(jù)字節(jié)。 DS1302DS1302與與RAMRAM相關(guān)的寄存器分為兩類相關(guān)的寄存器分為兩類: :一類是單個一類是單個RAMRAM單元,單元,共共3131個,每個單元組態(tài)為一個個,每個單元組態(tài)為一個8 8位的字節(jié),其命令控制字為位的字節(jié),其命令控制字為C0HC0HFDHFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突再一類為突發(fā)方式下的發(fā)方式下的RAMRAM寄存器,在此方式下可一次性讀、寫所有的寄存器,在此方式下可一次性讀、寫所有的RAMRAM的的3131個字節(jié)。命令字為個字節(jié)。命令字為BEHBEH和和BFH BFH 寫

36、保護寄存器:寫保護寄存器:寫保護寄存器寫保護寄存器命令字命令字D7 D6 D5 D4 D3 D2 D1 D08EH或8FHWP 0 0 0 ,0 0 0 06262RAM單元單元命令字命令字D7 RAM/CK D5 D4 D3 D2 D1 R/W0單元單元C0H或或C1H1 100,000R/W1單元單元C2H或或C3H1 100,001R/W2單元單元C4H或或C5H1 100,010R/W34.31單元單元C6H或或C7H.C8H或或C9H.FCH或或FDH.1 100,011R/W1 100,100R/W.11 11,110R/W6363程序舉例:初始化日歷寄存器程序舉例:初始化日歷寄存

37、器片內(nèi)片內(nèi)RAM說明說明68H(秒秒)0101,00105267H(分分)0011,01003466H(時)(時)1965H(日)(日)0164H(星期)(星期)周三周三63H(月)(月)1062H(年)(年)1161H(寫保護寄存器)(寫保護寄存器)00h646464單片機寫一字節(jié)到單片機寫一字節(jié)到DS1302DS1302:上升沿入,下降沿出:上升沿入,下降沿出WBYTE:(WBYTE:(單片機將單片機將A A中數(shù)據(jù)發(fā)送給中數(shù)據(jù)發(fā)送給DS1302)DS1302) MOV R1,#08H MOV R1,#08H SETB SCLK SETB SCLK NOP NOPLOOP1: CLR SCL

38、KLOOP1: CLR SCLK RRC A; RRC A;低位在前低位在前 MOV I/O,C MOV I/O,C;先把數(shù)據(jù)準備好,再上升沿;先把數(shù)據(jù)準備好,再上升沿 SETB SCLK SETB SCLK;上升沿入到上升沿入到DS1302DS1302 DJNE R1,LOOP1 DJNE R1,LOOP1 RET RET6565DS1302DS1302的寄存器的寄存器6666多字節(jié)寫模式多字節(jié)寫模式MOV 68H,#52H;MOV 68H,#52H;把數(shù)據(jù)事先存到把數(shù)據(jù)事先存到68H61H68H61HMOV 67H,#34HMOV 67H,#34HMOV 66H,#19HMOV 66H,#

39、19HMOV 65H,#01HMOV 65H,#01HMOV 64H,#03HMOV 64H,#03HMOV 63H,#10HMOV 63H,#10HMOV 62H,#11HMOV 62H,#11HMOV 61H,#00HMOV 61H,#00HWRCR: WRCR: CLR SCLK CLR SCLK SETB /RST SETB /RST MOV A, #8EH MOV A, #8EH; ;寫寫保護寄存器保護寄存器的命令字的命令字 LCALL WBYTE LCALL WBYTE MOV A, #00H MOV A, #00H; ;寫寫保護寄存器保護寄存器的內(nèi)容的內(nèi)容 LCALL WBYTE

40、 LCALL WBYTE CLR /RST CLR /RST;中止傳送;中止傳送 6767多字節(jié)寫模式多字節(jié)寫模式 CLR SCLK CLR SCLK SETB /RSTSETB /RST MOV A ,#BEH; MOV A ,#BEH;多字節(jié)寫命令多字節(jié)寫命令 LCALL WBYTE LCALL WBYTE MOV R0,#68H MOV R0,#68H MOV R2,#08H MOV R2,#08H LOOP: MOV A,R0 LOOP: MOV A,R0 LCALL WBYTE LCALL WBYTE DEC R0 DEC R0 DJNE R2,LOOP DJNE R2,LOOP C

41、LR SCLKCLR SCLK CLR /RST; CLR /RST;停止傳送停止傳送 RET RET 6868單片機單字節(jié)讀單片機單字節(jié)讀: :上升沿入,下降沿出上升沿入,下降沿出RBYTE: MOV R1,#08HRBYTE: MOV R1,#08H MOV A,#00H MOV A,#00H MOV R0,A MOV R0,A SETB SCLK SETB SCLK NOP NOPLOOP2: CLR SCLK;LOOP2: CLR SCLK;下降沿輸出下降沿輸出 MOV A,R0 MOV A,R0 MOV C,I/O MOV C,I/O RRC A RRC A MOV R0,A MOV

42、 R0,A SETB SCLK SETB SCLK DJNE R1,LOOP2 DJNE R1,LOOP2 RET RET 6969多字節(jié)多字節(jié)讀模式讀模式 將時鐘日歷寄存器的秒、分、時、日、星期、月、年以及寫保護寄存器的內(nèi)容分別存入單片機的將時鐘日歷寄存器的秒、分、時、日、星期、月、年以及寫保護寄存器的內(nèi)容分別存入單片機的6FH6FH68H68H單元單元RDCRRDCR:CLR SCLKCLR SCLK SETB /RST SETB /RST MOV A,#0BFH; MOV A,#0BFH;多字節(jié)讀命令多字節(jié)讀命令 LCALL WBYTE LCALL WBYTE MOV R0,#6FH M

43、OV R0,#6FH MOV R2,#08H MOV R2,#08H LOOPR: LOOPR: LCALL RBYTE LCALL RBYTE MOV R0,A MOV R0,A DEC R0 DEC R0 DJNE R2,LOOPR DJNE R2,LOOPR CLR SCLK CLR SCLK CLR /RST; CLR /RST;停止傳送停止傳送 RET RET 7070UARTUART是一種通用串行數(shù)據(jù)總線。是一種通用串行數(shù)據(jù)總線。UART/SCIUART/SCI總線總線串行、并行(串行、并行(Serial/parallel)同步、異步(同步、異步(Synchronous/async

44、hronous)點對點、總線(點對點、總線(Point-to-point/bus)半雙工、全雙工(半雙工、全雙工(Half-duplex/full-duplex)主從式、對等式(主從式、對等式(Master-slave/equal partners)單端信號、差分信號(單端信號、差分信號(Single-ended/differential)7171SCISCI7272EIA RS-232-C美國電子工業(yè)協(xié)會正式公布的異步串行通信標準,也是目前最常用的美國電子工業(yè)協(xié)會正式公布的異步串行通信標準,也是目前最常用的異步串行通信標準,異步串行通信標準,用來實現(xiàn)計算機與計算機之間、計算機與外設之間的數(shù)據(jù)

45、通信用來實現(xiàn)計算機與計算機之間、計算機與外設之間的數(shù)據(jù)通信 RS-232-C電平采用負邏輯,即,邏輯電平采用負邏輯,即,邏輯1:-3-25V,邏輯邏輯0:+3+25V (需要電平轉(zhuǎn)換)(需要電平轉(zhuǎn)換)RS-232-C接口標準有接口標準有22根線,采用標準根線,采用標準25芯芯D型插頭座;型插頭座;PC上使用上使用簡化的簡化的9芯芯D型插座型插座 多種通信應答(握手)方式:多種通信應答(握手)方式: 硬件握手,自應答,硬件握手,自應答,XON/XOFF模式模式波特率:波特率: 300bps 4Mbps, 物理層有多種實現(xiàn)方式(銅纜,光纜,物理層有多種實現(xiàn)方式(銅纜,光纜,紅外,無線,微波)紅外,

46、無線,微波)起始位起始位/停止位停止位/數(shù)據(jù)位數(shù)據(jù)位/奇偶校驗奇偶校驗/全雙工半雙工模式全雙工半雙工模式廣泛應用:廣泛應用: Modem,20mA電流環(huán),電流環(huán),RS485個人計算機都有標準的個人計算機都有標準的RS232接口,驅(qū)動程序,超級終端接口,驅(qū)動程序,超級終端SCISCI7373RS232 standardRS232 standard7474 簡化的簡化的9 9芯芯D D型接頭信號定義(硬件流量控制)型接頭信號定義(硬件流量控制) DTE DTE DCE DCE 3 TxD out TxD 3 TxD out TxD Transmit DataTransmit Data2 RxD i

47、n RxD 2 RxD in RxD Receive DataReceive Data5 GND GND 5 GND GND 7 RTS out RTS 7 RTS out RTS Require To SendRequire To Send8 CTS in CTS 8 CTS in CTS Clear To SendClear To Send6 DSR in DSR 6 DSR in DSR Data Set ReadyData Set Ready9 DCD in DCD 9 DCD in DCD Data Care DetectedData Care Detected4 DTR out D

48、TR 4 DTR out DTR Data Terminal ReadyData Terminal ReadyRS232 standardRS232 standard7575 簡化的9芯D型接頭信號定義(自應答方式) DTE / DCE 2 TxD out TxD (Transmit Data )3 RxD in RxD (Receive Data)7 GND GND (Ground)4 RTS out RTS (Require to Send)5 CTS in CTS (Clear to Send)6 DSR in DSR (Data Terminal Ready)8 DCD in DCD

49、(Data Carry Detected)20 DTR out DTR (Data Set Ready)RS232 standardRS232 standard7676簡化的9芯D型接頭信號定義(無應答方式) 1 protection ground2 RxD in RxD (Receive Data)3 TxD out TxD (Transmit Data )5 GND GND (Ground)6 DSR in DSR (Data Terminal Ready)7 RTS out RTS (Require to Send)8 CTS in CTS (Clear to Send)9 DCD in

50、 DCD (Data Carrier Detected) 4 DTR out DTR (Data Set Ready)RS232 standardRS232 standard7777微控制器常見的通信類型微控制器常見的通信類型總線類型總線類型線數(shù)線數(shù)通信類型通信類型多主多主波特率(波特率(bps)器件數(shù)器件數(shù)目目總線長度總線長度UART2異步異步No3K-1M2*SPI3同步同步Y(jié)es1M-10M10板內(nèi)板內(nèi)I2C2同步同步Y(jié)es1M10板內(nèi)板內(nèi)CAN2異步異步Y(jié)es20K-1M128百米公百米公里里LIN1異步異步No20K16幾十米幾十米7878 PCPC總線總線 PCPC總線是總線是PCPC機和機和XTXT機采用的總線標準。機采用的總線標準。 PCPC總線用于總線用于8 8位數(shù)據(jù)傳送。位數(shù)據(jù)傳送。 PCPC總線的最大通信速率為總線的最大通信速率為5MB/s5MB/s。 PCPC總線有總線有6262根引腳,可以插入符合根引腳,可以插入符合PCPC總線的各總線的各種擴展板。種擴展板。

溫馨提示

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

評論

0/150

提交評論