'I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?'

"

一、SPI總線

串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,Motorola公司生產的絕大多數MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用於CPU與各種外圍器件進行全雙工、同步串行通訊。SPI可以同時發出和接收串行數據。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK)、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。這些外圍器件可以是簡單的TTL移位寄存器,複雜的LCD顯示驅動器,A/D、D/A轉換子系統或其他的MCU。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSI)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節後,從另一個外圍器件接收的字節數據進入移位寄存器中。主SPI的時鐘信號(SCK)使傳輸同步。其典型系統框圖如下圖所示。

"

一、SPI總線

串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,Motorola公司生產的絕大多數MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用於CPU與各種外圍器件進行全雙工、同步串行通訊。SPI可以同時發出和接收串行數據。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK)、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。這些外圍器件可以是簡單的TTL移位寄存器,複雜的LCD顯示驅動器,A/D、D/A轉換子系統或其他的MCU。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSI)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節後,從另一個外圍器件接收的字節數據進入移位寄存器中。主SPI的時鐘信號(SCK)使傳輸同步。其典型系統框圖如下圖所示。

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI主要特點有: 可以同時發出和接收串行數據;

• 可以當作主機或從機工作;

• 提供頻率可編程時鐘;

• 發送結束中斷標誌;

• 寫衝突保護;

• 總線競爭保護等。

圖2示出SPI總線工作的四種方式,其中使用的最為廣泛的是SPI0和SPI3方式(實線表示):

"

一、SPI總線

串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,Motorola公司生產的絕大多數MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用於CPU與各種外圍器件進行全雙工、同步串行通訊。SPI可以同時發出和接收串行數據。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK)、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。這些外圍器件可以是簡單的TTL移位寄存器,複雜的LCD顯示驅動器,A/D、D/A轉換子系統或其他的MCU。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSI)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節後,從另一個外圍器件接收的字節數據進入移位寄存器中。主SPI的時鐘信號(SCK)使傳輸同步。其典型系統框圖如下圖所示。

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI主要特點有: 可以同時發出和接收串行數據;

• 可以當作主機或從機工作;

• 提供頻率可編程時鐘;

• 發送結束中斷標誌;

• 寫衝突保護;

• 總線競爭保護等。

圖2示出SPI總線工作的四種方式,其中使用的最為廣泛的是SPI0和SPI3方式(實線表示):

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI 模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性(CPOL)對傳輸協議沒有重大的影響。如果 CPOL=0,串行同步時鐘的空閒狀態為低電平;如果CPOL=1,串行同步時鐘的空閒狀態為高電平。時鐘相位(CPHA)能夠配置用於選擇兩種不同的傳輸協議之一進行數據傳輸。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被採樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被採樣。SPI主模塊和與之通信的外設音時鐘相位和極性應該一致。SPI總線接口時序如圖所示。


"

一、SPI總線

串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,Motorola公司生產的絕大多數MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用於CPU與各種外圍器件進行全雙工、同步串行通訊。SPI可以同時發出和接收串行數據。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK)、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。這些外圍器件可以是簡單的TTL移位寄存器,複雜的LCD顯示驅動器,A/D、D/A轉換子系統或其他的MCU。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSI)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節後,從另一個外圍器件接收的字節數據進入移位寄存器中。主SPI的時鐘信號(SCK)使傳輸同步。其典型系統框圖如下圖所示。

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI主要特點有: 可以同時發出和接收串行數據;

• 可以當作主機或從機工作;

• 提供頻率可編程時鐘;

• 發送結束中斷標誌;

• 寫衝突保護;

• 總線競爭保護等。

圖2示出SPI總線工作的四種方式,其中使用的最為廣泛的是SPI0和SPI3方式(實線表示):

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI 模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性(CPOL)對傳輸協議沒有重大的影響。如果 CPOL=0,串行同步時鐘的空閒狀態為低電平;如果CPOL=1,串行同步時鐘的空閒狀態為高電平。時鐘相位(CPHA)能夠配置用於選擇兩種不同的傳輸協議之一進行數據傳輸。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被採樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被採樣。SPI主模塊和與之通信的外設音時鐘相位和極性應該一致。SPI總線接口時序如圖所示。


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?


"

一、SPI總線

串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,Motorola公司生產的絕大多數MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用於CPU與各種外圍器件進行全雙工、同步串行通訊。SPI可以同時發出和接收串行數據。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK)、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。這些外圍器件可以是簡單的TTL移位寄存器,複雜的LCD顯示驅動器,A/D、D/A轉換子系統或其他的MCU。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSI)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節後,從另一個外圍器件接收的字節數據進入移位寄存器中。主SPI的時鐘信號(SCK)使傳輸同步。其典型系統框圖如下圖所示。

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI主要特點有: 可以同時發出和接收串行數據;

• 可以當作主機或從機工作;

• 提供頻率可編程時鐘;

• 發送結束中斷標誌;

• 寫衝突保護;

• 總線競爭保護等。

圖2示出SPI總線工作的四種方式,其中使用的最為廣泛的是SPI0和SPI3方式(實線表示):

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI 模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性(CPOL)對傳輸協議沒有重大的影響。如果 CPOL=0,串行同步時鐘的空閒狀態為低電平;如果CPOL=1,串行同步時鐘的空閒狀態為高電平。時鐘相位(CPHA)能夠配置用於選擇兩種不同的傳輸協議之一進行數據傳輸。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被採樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被採樣。SPI主模塊和與之通信的外設音時鐘相位和極性應該一致。SPI總線接口時序如圖所示。


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



二、CAN總線

什麼是CAN總線?

CAN全稱為Controller Area Network,即控制器局域網,由德國Bosch 公司最先提出,是國際上應用最廣泛的現場總線之一。CAN 是一種多主方式的串行通訊總線,基本設計規範要求有高的位速率、高抗電磁干擾性,而且要能夠檢測出總線的任何錯誤。當信號傳輸距離達10Km 時CAN 仍可提供高達50Kbit/s 的數據傳輸速率。

CAN 具有十分優越的特點:

A、較低的成本與極高的總線利用率;

B、 數據傳輸距離可長達10Km,傳輸速率可高達1Mbit/s;

C、可靠的錯誤處理和檢錯機制,發送的信息遭到破壞後可自動重發;

D、節點在錯誤嚴重的情況下具有自動退出總線的功能;

E、報文不包含源地址或目標地址僅用標誌符來指示功能信息和優先級信息;

由於人為、自然、其它外界環境的影響和人們對公交系統的安全可靠性、真實、實時性的追求,使得我們對通信方式,通信設備有了更高的要求,基於CAN總線的網絡則成為我們最佳的選擇

CAN總線

 

現場總線是當今自動化領域技術發展的熱點之一,被譽為自動化領域的計算機局域網。它的出現為分佈式控制系統實現各節點之間實時、可靠的數據通信提供了強有力的技術支持。CAN(Controller Area Network)屬於現場總線的範疇,它是一種有效支持分佈式控制或實時控制的串行通信網絡。較之目前許多RS-485基於R線構建的分佈式控制系統而言。

基於CAN總線的分佈式控制系統在以下方面具有明顯的優越性:

首先,CAN控制器工作於多主方式,網絡中的各節點都可根據總線訪問優先權(取決於報文標識符)採用無損結構的逐位仲裁的方式競爭向總線發送數據,且CAN協議廢除了站地址編碼,而代之以對通信數據進行編碼,這可使不同的節點同時接收到相同的數據,這些特點使得CAN總線構成的網絡各節點之間的數據通信實時性強,並且容易構成冗餘結構,提高系統的可靠性和系統的靈活性。而利用RS-485只能構成主從式結構系統,通信方式也只能以主站輪詢的方式進行,系統的實時性、可靠性較差;

其次,CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會出現象在RS-485網絡中,當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現象在網絡中,因個別節點出現問題,使得總線處於“死鎖”狀態。

而且,CAN具有的完善的通信協議可由CAN控制器芯片及其接口芯片來實現,從而大大降低系統開發難度,縮短了開發週期,這些是隻僅僅有電氣協議的RS-485所無法比擬的。另外,與其它現場總線比較而言,CAN總線是具有通信速率高、容易實現、且性價比高等諸多特點的一種已形成國際標準的現場總線。這些也是目前 CAN總線應用於眾多領域,具有強勁的市場競爭力的重要原因。

CAN (Controller Area Network)即控制器局域網絡,屬於工業現場總線的範疇。與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性。由於其良好的性能及獨特的設計,CAN總線越來越受到人們的重視。它在汽車領域上的應用是最廣泛的,世界上一些著名的汽車製造廠商,如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時捷)、ROLLS-ROYCE(勞斯萊斯)和JAGUAR(美洲豹)等都採用了CAN總線來實現汽車內部控制系統與各檢測和執行機構間的數據通信。同時,由於CAN總線本身的特點,其應用範圍目前已不再侷限於汽車行業,而向自動控制、航空航天、航海、過程工業、機械工業、紡織機械、農用機械、機器人、數控機床、醫療器械及傳感器等領域發展。CAN已經形成國際標準,並已被公認為幾種最有前途的現場總線之一。其典型的應用協議有: SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

1 . 什麼是CAN總線?

CAN意為Controller Area Network的縮寫,意為控制區域網絡。是國際上流行的現場總線中的一種。是一種特別適合於組建互連的設備網絡系統或子系統。

2.CAN總線特點?

CAN是到目前為止為數不多的有國際標準的現場總線

CAN通訊距離最大是10公里(設速率為5Kbps),或最大通信速率為1Mbps(設通信距離為40米)。

CAN總線上的節點數可達110個。通信介質可在雙絞線,同軸電纜,光纖中選擇。

CAN採用非破壞性的總線仲裁技術,當多個節點同時發送數據時,優先級低的節點會主動退出發送,高優先級的節點可繼續發送,節省總線仲裁時間。

CAN是多主方式工作,網上的任一節點均可在任意時刻主動地向網絡上其他節點發送信息。

CAN採用報文識別符識別網絡上的節點,從而把節點分成不同的優先級,高優先級的節點享有傳送報文的優先權。

報文是短幀結構,短的傳送時間使其受干擾概率低,CAN有很好的效驗機制,這些都保證了CAN通信的可靠性。

3.CAN總線應用領域

CAN總線最初是德國BOSCH為汽車行業的監測,控制而設計的。現已應用到鐵路、交通、國防、工程、工業機械、紡織、農用機械、數控、醫療器械機器人、樓宇、安防等方面。

三、I2C(Inter-Integrated Circuit)總線

I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用於連接微控制器及其外圍設備。I2C總線產生於在80年代,最初為音頻和視頻設備開發,如今主要在服務器管理中使用,其中包括單個組件狀態的通信。例如管理員可對各個組件進行查詢,以管理系統的配置或掌握組件的功能狀態,如電源和系統風扇。可隨時監控內存、硬盤、網絡、系統溫度等多個參數,增加了系統的安全性,方便了管理。

1、I2C總線特點

I2C總線最主要的優點是其簡單性和有效性。由於接口直接在組件之上,因此I2C總線佔用的空間非常小,減少了電路板的空間和芯片管腳的數量,降低了互聯成本。總線的長度可高達25英尺,並且能夠以10Kbps的最大傳輸速率支持40個組件。I2C總線的另一個優點是,它支持多主控(multimastering), 其中任何能夠進行發送和接收的設備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。當然,在任何時間點上只能有一個主控。

2、I2C總線工作原理

2.1、總線的構成及信號類型

I2C總線是由數據線SDA和時鐘SCL構成的串行總線,可發送和接收數據。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均並聯在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上並接的每一模塊電路既是主控器(或被控器),又是發送器(或接收器),這取決於它所要完成的功能。CPU發出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調整的類別(如對比度、亮度等)及需要調整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關。

I2C總線在傳送數據過程中共有三種類型信號, 它們分別是:開始信號、結束信號和應答信號。

開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據。

結束信號:SCL為低電平時,SDA由低電平向高電平跳變,結束傳送數據。

應答信號:接收數據的IC在接收到8bit數據後,向發送數據的IC發出特定的低電平脈衝,表示已收到數據。CPU向受控單元發出一個信號後,等待受控單元發出一個應答信號,CPU接收到應答信號後,根據實際情況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現故障。

目前有很多半導體集成電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監控芯片等也提供I2C接口。

3、總線基本操作

I2C規程運用主/從雙向通訊。器件發送數據到總線上,則定義為發送器,器件接收數據則定義為接收器。主器件和從器件都可以工作於接收和發送狀態。 總線必須由主器件(通常為微控制器)控制,主器件產生串行時鐘(SCL)控制總線的傳輸方向,併產生起始和停止條件。SDA線上的數據狀態僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態的改變被用來表示起始和停止條件。

3.1、控制字節

在起始條件之後,必須是器件的控制字節,其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應為1010),接著三位為片選,最後一位為讀寫位,當為1時為讀操作,為0時為寫操作。

3.2、寫操作

寫操作分為字節寫和頁面寫兩種操作,對於頁面寫根據芯片的一次裝載的字節不同有所不同。

3.3、讀操作

讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。圖4給出的是順序讀的時序圖。應當注意的是:最後一個讀操作的第9個時鐘週期不是“不關心”。為了結束讀操作,主機必須在第9個週期間發出停止條件或者在第9個時鐘週期內保持SDA為高電平、然後發出停止條件。

在I2C總線的應用中應注意的事項總結為以下幾點 :

1)、嚴格按照時序圖的要求進行操作,

2)、若與口線上帶內部上拉電阻的單片機接口連接,可以不外加上拉電阻。

3)、程序中為配合相應的傳輸速率,在對口線操作的指令後可用NOP指令加一定的延時。

4)、為了減少意外的干擾信號將EEPROM內的數據改寫可用外部寫保護引腳(如果有),或者在EEPROM內部沒有用的空間寫入標誌字,每次上電時或復位時做一次檢測,判斷EEPROM是否被意外改寫。

添加:I2C 總線

在現代電子系統中,有為數眾多的IC 需要進行相互之間以及與外界的通信。為了提供硬件的效率和簡化電路的設計,PHILIPS 開發了一種用於內部IC 控制的簡單的雙向兩線串行總線I2C(inter IC 總線)。I2C 總線支持任何一種IC 製造工藝,並且PHILIPS 和其他廠商提供了種類非常豐富的I2C 兼容芯片。作為一個專利的控制總線,I2C 已經成為世界性的工業標準。

每個I2C 器件都有一個唯一的地址,而且可以是單接收的器件(例如:LCD 驅動器)或者可以接收也可以發送的器件(例如:存儲器)。發送器或接收器可以在主模式或從模式下操作,這取決於芯片是否必須啟動數據的傳輸還是僅僅被尋址。I2C 是一個多主總線,即它可以由多個連接的器件控制。

早期的I2C 總線數據傳輸速率最高為100Kbits/s,採用7 位尋址。但是由於數據傳輸速率和應用功能的迅速增加,I2C 總線也增強為快速模式(400Kbits/s)和10位尋址以滿足更高速度和更大尋址空間的需求。

I2C 總線始終和先進技術保持同步,但仍然保持其向下兼容性。並且最近還增加了高速模式,其速度可達3.4Mbits/s。它使得I2C 總線能夠支持現有以及將來的高速串行傳輸應用,例如EEPROM 和Flash 存儲器。

四、I2S總線

I2S有3個主要信號:

1、串行時鐘SCLK,也叫位時鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個脈衝。SCLK的頻率=2×採樣頻率×採樣位數

2、幀時鐘LRCK,用於切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。LRCK的頻率等於採樣頻率。

3、串行數據SDATA,就是用二進制補碼錶示的音頻數據。I2S(Inter-IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準。在飛利浦公司的I2S標準中,既規定了硬件接口規範,也規定了數字音頻數據的格式。

I2S有3個主要信號:

1.串行時鐘SCLK,也叫位時鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個脈衝。SCLK的頻率=2×採樣頻率×採樣位數

2. 幀時鐘LRCK,用於切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。LRCK的頻率等於採樣頻率。3.串行數據SDATA,就是用二進制補碼錶示的音頻數據。

有時為了使系統間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統時鐘(Sys Clock),是採樣頻率的256倍或384倍。一個典型的I2S信號見圖3。(圖3 I2S信號)圖3


"

一、SPI總線

串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,Motorola公司生產的絕大多數MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用於CPU與各種外圍器件進行全雙工、同步串行通訊。SPI可以同時發出和接收串行數據。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK)、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。這些外圍器件可以是簡單的TTL移位寄存器,複雜的LCD顯示驅動器,A/D、D/A轉換子系統或其他的MCU。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSI)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節後,從另一個外圍器件接收的字節數據進入移位寄存器中。主SPI的時鐘信號(SCK)使傳輸同步。其典型系統框圖如下圖所示。

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI主要特點有: 可以同時發出和接收串行數據;

• 可以當作主機或從機工作;

• 提供頻率可編程時鐘;

• 發送結束中斷標誌;

• 寫衝突保護;

• 總線競爭保護等。

圖2示出SPI總線工作的四種方式,其中使用的最為廣泛的是SPI0和SPI3方式(實線表示):

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI 模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性(CPOL)對傳輸協議沒有重大的影響。如果 CPOL=0,串行同步時鐘的空閒狀態為低電平;如果CPOL=1,串行同步時鐘的空閒狀態為高電平。時鐘相位(CPHA)能夠配置用於選擇兩種不同的傳輸協議之一進行數據傳輸。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被採樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被採樣。SPI主模塊和與之通信的外設音時鐘相位和極性應該一致。SPI總線接口時序如圖所示。


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



二、CAN總線

什麼是CAN總線?

CAN全稱為Controller Area Network,即控制器局域網,由德國Bosch 公司最先提出,是國際上應用最廣泛的現場總線之一。CAN 是一種多主方式的串行通訊總線,基本設計規範要求有高的位速率、高抗電磁干擾性,而且要能夠檢測出總線的任何錯誤。當信號傳輸距離達10Km 時CAN 仍可提供高達50Kbit/s 的數據傳輸速率。

CAN 具有十分優越的特點:

A、較低的成本與極高的總線利用率;

B、 數據傳輸距離可長達10Km,傳輸速率可高達1Mbit/s;

C、可靠的錯誤處理和檢錯機制,發送的信息遭到破壞後可自動重發;

D、節點在錯誤嚴重的情況下具有自動退出總線的功能;

E、報文不包含源地址或目標地址僅用標誌符來指示功能信息和優先級信息;

由於人為、自然、其它外界環境的影響和人們對公交系統的安全可靠性、真實、實時性的追求,使得我們對通信方式,通信設備有了更高的要求,基於CAN總線的網絡則成為我們最佳的選擇

CAN總線

 

現場總線是當今自動化領域技術發展的熱點之一,被譽為自動化領域的計算機局域網。它的出現為分佈式控制系統實現各節點之間實時、可靠的數據通信提供了強有力的技術支持。CAN(Controller Area Network)屬於現場總線的範疇,它是一種有效支持分佈式控制或實時控制的串行通信網絡。較之目前許多RS-485基於R線構建的分佈式控制系統而言。

基於CAN總線的分佈式控制系統在以下方面具有明顯的優越性:

首先,CAN控制器工作於多主方式,網絡中的各節點都可根據總線訪問優先權(取決於報文標識符)採用無損結構的逐位仲裁的方式競爭向總線發送數據,且CAN協議廢除了站地址編碼,而代之以對通信數據進行編碼,這可使不同的節點同時接收到相同的數據,這些特點使得CAN總線構成的網絡各節點之間的數據通信實時性強,並且容易構成冗餘結構,提高系統的可靠性和系統的靈活性。而利用RS-485只能構成主從式結構系統,通信方式也只能以主站輪詢的方式進行,系統的實時性、可靠性較差;

其次,CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會出現象在RS-485網絡中,當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現象在網絡中,因個別節點出現問題,使得總線處於“死鎖”狀態。

而且,CAN具有的完善的通信協議可由CAN控制器芯片及其接口芯片來實現,從而大大降低系統開發難度,縮短了開發週期,這些是隻僅僅有電氣協議的RS-485所無法比擬的。另外,與其它現場總線比較而言,CAN總線是具有通信速率高、容易實現、且性價比高等諸多特點的一種已形成國際標準的現場總線。這些也是目前 CAN總線應用於眾多領域,具有強勁的市場競爭力的重要原因。

CAN (Controller Area Network)即控制器局域網絡,屬於工業現場總線的範疇。與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性。由於其良好的性能及獨特的設計,CAN總線越來越受到人們的重視。它在汽車領域上的應用是最廣泛的,世界上一些著名的汽車製造廠商,如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時捷)、ROLLS-ROYCE(勞斯萊斯)和JAGUAR(美洲豹)等都採用了CAN總線來實現汽車內部控制系統與各檢測和執行機構間的數據通信。同時,由於CAN總線本身的特點,其應用範圍目前已不再侷限於汽車行業,而向自動控制、航空航天、航海、過程工業、機械工業、紡織機械、農用機械、機器人、數控機床、醫療器械及傳感器等領域發展。CAN已經形成國際標準,並已被公認為幾種最有前途的現場總線之一。其典型的應用協議有: SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

1 . 什麼是CAN總線?

CAN意為Controller Area Network的縮寫,意為控制區域網絡。是國際上流行的現場總線中的一種。是一種特別適合於組建互連的設備網絡系統或子系統。

2.CAN總線特點?

CAN是到目前為止為數不多的有國際標準的現場總線

CAN通訊距離最大是10公里(設速率為5Kbps),或最大通信速率為1Mbps(設通信距離為40米)。

CAN總線上的節點數可達110個。通信介質可在雙絞線,同軸電纜,光纖中選擇。

CAN採用非破壞性的總線仲裁技術,當多個節點同時發送數據時,優先級低的節點會主動退出發送,高優先級的節點可繼續發送,節省總線仲裁時間。

CAN是多主方式工作,網上的任一節點均可在任意時刻主動地向網絡上其他節點發送信息。

CAN採用報文識別符識別網絡上的節點,從而把節點分成不同的優先級,高優先級的節點享有傳送報文的優先權。

報文是短幀結構,短的傳送時間使其受干擾概率低,CAN有很好的效驗機制,這些都保證了CAN通信的可靠性。

3.CAN總線應用領域

CAN總線最初是德國BOSCH為汽車行業的監測,控制而設計的。現已應用到鐵路、交通、國防、工程、工業機械、紡織、農用機械、數控、醫療器械機器人、樓宇、安防等方面。

三、I2C(Inter-Integrated Circuit)總線

I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用於連接微控制器及其外圍設備。I2C總線產生於在80年代,最初為音頻和視頻設備開發,如今主要在服務器管理中使用,其中包括單個組件狀態的通信。例如管理員可對各個組件進行查詢,以管理系統的配置或掌握組件的功能狀態,如電源和系統風扇。可隨時監控內存、硬盤、網絡、系統溫度等多個參數,增加了系統的安全性,方便了管理。

1、I2C總線特點

I2C總線最主要的優點是其簡單性和有效性。由於接口直接在組件之上,因此I2C總線佔用的空間非常小,減少了電路板的空間和芯片管腳的數量,降低了互聯成本。總線的長度可高達25英尺,並且能夠以10Kbps的最大傳輸速率支持40個組件。I2C總線的另一個優點是,它支持多主控(multimastering), 其中任何能夠進行發送和接收的設備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。當然,在任何時間點上只能有一個主控。

2、I2C總線工作原理

2.1、總線的構成及信號類型

I2C總線是由數據線SDA和時鐘SCL構成的串行總線,可發送和接收數據。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均並聯在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上並接的每一模塊電路既是主控器(或被控器),又是發送器(或接收器),這取決於它所要完成的功能。CPU發出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調整的類別(如對比度、亮度等)及需要調整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關。

I2C總線在傳送數據過程中共有三種類型信號, 它們分別是:開始信號、結束信號和應答信號。

開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據。

結束信號:SCL為低電平時,SDA由低電平向高電平跳變,結束傳送數據。

應答信號:接收數據的IC在接收到8bit數據後,向發送數據的IC發出特定的低電平脈衝,表示已收到數據。CPU向受控單元發出一個信號後,等待受控單元發出一個應答信號,CPU接收到應答信號後,根據實際情況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現故障。

目前有很多半導體集成電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監控芯片等也提供I2C接口。

3、總線基本操作

I2C規程運用主/從雙向通訊。器件發送數據到總線上,則定義為發送器,器件接收數據則定義為接收器。主器件和從器件都可以工作於接收和發送狀態。 總線必須由主器件(通常為微控制器)控制,主器件產生串行時鐘(SCL)控制總線的傳輸方向,併產生起始和停止條件。SDA線上的數據狀態僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態的改變被用來表示起始和停止條件。

3.1、控制字節

在起始條件之後,必須是器件的控制字節,其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應為1010),接著三位為片選,最後一位為讀寫位,當為1時為讀操作,為0時為寫操作。

3.2、寫操作

寫操作分為字節寫和頁面寫兩種操作,對於頁面寫根據芯片的一次裝載的字節不同有所不同。

3.3、讀操作

讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。圖4給出的是順序讀的時序圖。應當注意的是:最後一個讀操作的第9個時鐘週期不是“不關心”。為了結束讀操作,主機必須在第9個週期間發出停止條件或者在第9個時鐘週期內保持SDA為高電平、然後發出停止條件。

在I2C總線的應用中應注意的事項總結為以下幾點 :

1)、嚴格按照時序圖的要求進行操作,

2)、若與口線上帶內部上拉電阻的單片機接口連接,可以不外加上拉電阻。

3)、程序中為配合相應的傳輸速率,在對口線操作的指令後可用NOP指令加一定的延時。

4)、為了減少意外的干擾信號將EEPROM內的數據改寫可用外部寫保護引腳(如果有),或者在EEPROM內部沒有用的空間寫入標誌字,每次上電時或復位時做一次檢測,判斷EEPROM是否被意外改寫。

添加:I2C 總線

在現代電子系統中,有為數眾多的IC 需要進行相互之間以及與外界的通信。為了提供硬件的效率和簡化電路的設計,PHILIPS 開發了一種用於內部IC 控制的簡單的雙向兩線串行總線I2C(inter IC 總線)。I2C 總線支持任何一種IC 製造工藝,並且PHILIPS 和其他廠商提供了種類非常豐富的I2C 兼容芯片。作為一個專利的控制總線,I2C 已經成為世界性的工業標準。

每個I2C 器件都有一個唯一的地址,而且可以是單接收的器件(例如:LCD 驅動器)或者可以接收也可以發送的器件(例如:存儲器)。發送器或接收器可以在主模式或從模式下操作,這取決於芯片是否必須啟動數據的傳輸還是僅僅被尋址。I2C 是一個多主總線,即它可以由多個連接的器件控制。

早期的I2C 總線數據傳輸速率最高為100Kbits/s,採用7 位尋址。但是由於數據傳輸速率和應用功能的迅速增加,I2C 總線也增強為快速模式(400Kbits/s)和10位尋址以滿足更高速度和更大尋址空間的需求。

I2C 總線始終和先進技術保持同步,但仍然保持其向下兼容性。並且最近還增加了高速模式,其速度可達3.4Mbits/s。它使得I2C 總線能夠支持現有以及將來的高速串行傳輸應用,例如EEPROM 和Flash 存儲器。

四、I2S總線

I2S有3個主要信號:

1、串行時鐘SCLK,也叫位時鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個脈衝。SCLK的頻率=2×採樣頻率×採樣位數

2、幀時鐘LRCK,用於切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。LRCK的頻率等於採樣頻率。

3、串行數據SDATA,就是用二進制補碼錶示的音頻數據。I2S(Inter-IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準。在飛利浦公司的I2S標準中,既規定了硬件接口規範,也規定了數字音頻數據的格式。

I2S有3個主要信號:

1.串行時鐘SCLK,也叫位時鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個脈衝。SCLK的頻率=2×採樣頻率×採樣位數

2. 幀時鐘LRCK,用於切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。LRCK的頻率等於採樣頻率。3.串行數據SDATA,就是用二進制補碼錶示的音頻數據。

有時為了使系統間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統時鐘(Sys Clock),是採樣頻率的256倍或384倍。一個典型的I2S信號見圖3。(圖3 I2S信號)圖3


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



I2S格式的信號無論有多少位有效數據,數據的最高位總是出現在LRCK變化(也就是一幀開始)後的第2個SCLK脈衝處。這就使得接收端與發送端的有效位數可以不同。如果接收端能處理的有效位數少於發送端,可以放棄數據幀中多餘的低位數據;如果接收端能處理的有效位數多於發送端,可以自行補足剩餘的位。這種同步機制使得數字音頻設備的互連更加方便,而且不會造成數據錯位。

隨著技術的發展,在統一的 I2S接口下,出現了多種不同的數據格式。根據SDATA數據相對於LRCK和SCLK的位置不同,分為左對齊(較少使用)、I2S格式(即飛利浦規定的格式)和右對齊(也叫日本格式、普通格式)。這些不同的格式見圖4和圖5。(圖4 幾種非I2S格式)圖4(圖5 幾種I2S格式)圖5 


"

一、SPI總線

串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口,Motorola公司生產的絕大多數MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用於CPU與各種外圍器件進行全雙工、同步串行通訊。SPI可以同時發出和接收串行數據。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK)、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。這些外圍器件可以是簡單的TTL移位寄存器,複雜的LCD顯示驅動器,A/D、D/A轉換子系統或其他的MCU。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSI)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節後,從另一個外圍器件接收的字節數據進入移位寄存器中。主SPI的時鐘信號(SCK)使傳輸同步。其典型系統框圖如下圖所示。

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI主要特點有: 可以同時發出和接收串行數據;

• 可以當作主機或從機工作;

• 提供頻率可編程時鐘;

• 發送結束中斷標誌;

• 寫衝突保護;

• 總線競爭保護等。

圖2示出SPI總線工作的四種方式,其中使用的最為廣泛的是SPI0和SPI3方式(實線表示):

I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



SPI 模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性(CPOL)對傳輸協議沒有重大的影響。如果 CPOL=0,串行同步時鐘的空閒狀態為低電平;如果CPOL=1,串行同步時鐘的空閒狀態為高電平。時鐘相位(CPHA)能夠配置用於選擇兩種不同的傳輸協議之一進行數據傳輸。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被採樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被採樣。SPI主模塊和與之通信的外設音時鐘相位和極性應該一致。SPI總線接口時序如圖所示。


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



二、CAN總線

什麼是CAN總線?

CAN全稱為Controller Area Network,即控制器局域網,由德國Bosch 公司最先提出,是國際上應用最廣泛的現場總線之一。CAN 是一種多主方式的串行通訊總線,基本設計規範要求有高的位速率、高抗電磁干擾性,而且要能夠檢測出總線的任何錯誤。當信號傳輸距離達10Km 時CAN 仍可提供高達50Kbit/s 的數據傳輸速率。

CAN 具有十分優越的特點:

A、較低的成本與極高的總線利用率;

B、 數據傳輸距離可長達10Km,傳輸速率可高達1Mbit/s;

C、可靠的錯誤處理和檢錯機制,發送的信息遭到破壞後可自動重發;

D、節點在錯誤嚴重的情況下具有自動退出總線的功能;

E、報文不包含源地址或目標地址僅用標誌符來指示功能信息和優先級信息;

由於人為、自然、其它外界環境的影響和人們對公交系統的安全可靠性、真實、實時性的追求,使得我們對通信方式,通信設備有了更高的要求,基於CAN總線的網絡則成為我們最佳的選擇

CAN總線

 

現場總線是當今自動化領域技術發展的熱點之一,被譽為自動化領域的計算機局域網。它的出現為分佈式控制系統實現各節點之間實時、可靠的數據通信提供了強有力的技術支持。CAN(Controller Area Network)屬於現場總線的範疇,它是一種有效支持分佈式控制或實時控制的串行通信網絡。較之目前許多RS-485基於R線構建的分佈式控制系統而言。

基於CAN總線的分佈式控制系統在以下方面具有明顯的優越性:

首先,CAN控制器工作於多主方式,網絡中的各節點都可根據總線訪問優先權(取決於報文標識符)採用無損結構的逐位仲裁的方式競爭向總線發送數據,且CAN協議廢除了站地址編碼,而代之以對通信數據進行編碼,這可使不同的節點同時接收到相同的數據,這些特點使得CAN總線構成的網絡各節點之間的數據通信實時性強,並且容易構成冗餘結構,提高系統的可靠性和系統的靈活性。而利用RS-485只能構成主從式結構系統,通信方式也只能以主站輪詢的方式進行,系統的實時性、可靠性較差;

其次,CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會出現象在RS-485網絡中,當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現象在網絡中,因個別節點出現問題,使得總線處於“死鎖”狀態。

而且,CAN具有的完善的通信協議可由CAN控制器芯片及其接口芯片來實現,從而大大降低系統開發難度,縮短了開發週期,這些是隻僅僅有電氣協議的RS-485所無法比擬的。另外,與其它現場總線比較而言,CAN總線是具有通信速率高、容易實現、且性價比高等諸多特點的一種已形成國際標準的現場總線。這些也是目前 CAN總線應用於眾多領域,具有強勁的市場競爭力的重要原因。

CAN (Controller Area Network)即控制器局域網絡,屬於工業現場總線的範疇。與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性。由於其良好的性能及獨特的設計,CAN總線越來越受到人們的重視。它在汽車領域上的應用是最廣泛的,世界上一些著名的汽車製造廠商,如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時捷)、ROLLS-ROYCE(勞斯萊斯)和JAGUAR(美洲豹)等都採用了CAN總線來實現汽車內部控制系統與各檢測和執行機構間的數據通信。同時,由於CAN總線本身的特點,其應用範圍目前已不再侷限於汽車行業,而向自動控制、航空航天、航海、過程工業、機械工業、紡織機械、農用機械、機器人、數控機床、醫療器械及傳感器等領域發展。CAN已經形成國際標準,並已被公認為幾種最有前途的現場總線之一。其典型的應用協議有: SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

1 . 什麼是CAN總線?

CAN意為Controller Area Network的縮寫,意為控制區域網絡。是國際上流行的現場總線中的一種。是一種特別適合於組建互連的設備網絡系統或子系統。

2.CAN總線特點?

CAN是到目前為止為數不多的有國際標準的現場總線

CAN通訊距離最大是10公里(設速率為5Kbps),或最大通信速率為1Mbps(設通信距離為40米)。

CAN總線上的節點數可達110個。通信介質可在雙絞線,同軸電纜,光纖中選擇。

CAN採用非破壞性的總線仲裁技術,當多個節點同時發送數據時,優先級低的節點會主動退出發送,高優先級的節點可繼續發送,節省總線仲裁時間。

CAN是多主方式工作,網上的任一節點均可在任意時刻主動地向網絡上其他節點發送信息。

CAN採用報文識別符識別網絡上的節點,從而把節點分成不同的優先級,高優先級的節點享有傳送報文的優先權。

報文是短幀結構,短的傳送時間使其受干擾概率低,CAN有很好的效驗機制,這些都保證了CAN通信的可靠性。

3.CAN總線應用領域

CAN總線最初是德國BOSCH為汽車行業的監測,控制而設計的。現已應用到鐵路、交通、國防、工程、工業機械、紡織、農用機械、數控、醫療器械機器人、樓宇、安防等方面。

三、I2C(Inter-Integrated Circuit)總線

I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用於連接微控制器及其外圍設備。I2C總線產生於在80年代,最初為音頻和視頻設備開發,如今主要在服務器管理中使用,其中包括單個組件狀態的通信。例如管理員可對各個組件進行查詢,以管理系統的配置或掌握組件的功能狀態,如電源和系統風扇。可隨時監控內存、硬盤、網絡、系統溫度等多個參數,增加了系統的安全性,方便了管理。

1、I2C總線特點

I2C總線最主要的優點是其簡單性和有效性。由於接口直接在組件之上,因此I2C總線佔用的空間非常小,減少了電路板的空間和芯片管腳的數量,降低了互聯成本。總線的長度可高達25英尺,並且能夠以10Kbps的最大傳輸速率支持40個組件。I2C總線的另一個優點是,它支持多主控(multimastering), 其中任何能夠進行發送和接收的設備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。當然,在任何時間點上只能有一個主控。

2、I2C總線工作原理

2.1、總線的構成及信號類型

I2C總線是由數據線SDA和時鐘SCL構成的串行總線,可發送和接收數據。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均並聯在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上並接的每一模塊電路既是主控器(或被控器),又是發送器(或接收器),這取決於它所要完成的功能。CPU發出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調整的類別(如對比度、亮度等)及需要調整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關。

I2C總線在傳送數據過程中共有三種類型信號, 它們分別是:開始信號、結束信號和應答信號。

開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據。

結束信號:SCL為低電平時,SDA由低電平向高電平跳變,結束傳送數據。

應答信號:接收數據的IC在接收到8bit數據後,向發送數據的IC發出特定的低電平脈衝,表示已收到數據。CPU向受控單元發出一個信號後,等待受控單元發出一個應答信號,CPU接收到應答信號後,根據實際情況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現故障。

目前有很多半導體集成電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監控芯片等也提供I2C接口。

3、總線基本操作

I2C規程運用主/從雙向通訊。器件發送數據到總線上,則定義為發送器,器件接收數據則定義為接收器。主器件和從器件都可以工作於接收和發送狀態。 總線必須由主器件(通常為微控制器)控制,主器件產生串行時鐘(SCL)控制總線的傳輸方向,併產生起始和停止條件。SDA線上的數據狀態僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態的改變被用來表示起始和停止條件。

3.1、控制字節

在起始條件之後,必須是器件的控制字節,其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應為1010),接著三位為片選,最後一位為讀寫位,當為1時為讀操作,為0時為寫操作。

3.2、寫操作

寫操作分為字節寫和頁面寫兩種操作,對於頁面寫根據芯片的一次裝載的字節不同有所不同。

3.3、讀操作

讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。圖4給出的是順序讀的時序圖。應當注意的是:最後一個讀操作的第9個時鐘週期不是“不關心”。為了結束讀操作,主機必須在第9個週期間發出停止條件或者在第9個時鐘週期內保持SDA為高電平、然後發出停止條件。

在I2C總線的應用中應注意的事項總結為以下幾點 :

1)、嚴格按照時序圖的要求進行操作,

2)、若與口線上帶內部上拉電阻的單片機接口連接,可以不外加上拉電阻。

3)、程序中為配合相應的傳輸速率,在對口線操作的指令後可用NOP指令加一定的延時。

4)、為了減少意外的干擾信號將EEPROM內的數據改寫可用外部寫保護引腳(如果有),或者在EEPROM內部沒有用的空間寫入標誌字,每次上電時或復位時做一次檢測,判斷EEPROM是否被意外改寫。

添加:I2C 總線

在現代電子系統中,有為數眾多的IC 需要進行相互之間以及與外界的通信。為了提供硬件的效率和簡化電路的設計,PHILIPS 開發了一種用於內部IC 控制的簡單的雙向兩線串行總線I2C(inter IC 總線)。I2C 總線支持任何一種IC 製造工藝,並且PHILIPS 和其他廠商提供了種類非常豐富的I2C 兼容芯片。作為一個專利的控制總線,I2C 已經成為世界性的工業標準。

每個I2C 器件都有一個唯一的地址,而且可以是單接收的器件(例如:LCD 驅動器)或者可以接收也可以發送的器件(例如:存儲器)。發送器或接收器可以在主模式或從模式下操作,這取決於芯片是否必須啟動數據的傳輸還是僅僅被尋址。I2C 是一個多主總線,即它可以由多個連接的器件控制。

早期的I2C 總線數據傳輸速率最高為100Kbits/s,採用7 位尋址。但是由於數據傳輸速率和應用功能的迅速增加,I2C 總線也增強為快速模式(400Kbits/s)和10位尋址以滿足更高速度和更大尋址空間的需求。

I2C 總線始終和先進技術保持同步,但仍然保持其向下兼容性。並且最近還增加了高速模式,其速度可達3.4Mbits/s。它使得I2C 總線能夠支持現有以及將來的高速串行傳輸應用,例如EEPROM 和Flash 存儲器。

四、I2S總線

I2S有3個主要信號:

1、串行時鐘SCLK,也叫位時鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個脈衝。SCLK的頻率=2×採樣頻率×採樣位數

2、幀時鐘LRCK,用於切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。LRCK的頻率等於採樣頻率。

3、串行數據SDATA,就是用二進制補碼錶示的音頻數據。I2S(Inter-IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準。在飛利浦公司的I2S標準中,既規定了硬件接口規範,也規定了數字音頻數據的格式。

I2S有3個主要信號:

1.串行時鐘SCLK,也叫位時鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個脈衝。SCLK的頻率=2×採樣頻率×採樣位數

2. 幀時鐘LRCK,用於切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。LRCK的頻率等於採樣頻率。3.串行數據SDATA,就是用二進制補碼錶示的音頻數據。

有時為了使系統間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統時鐘(Sys Clock),是採樣頻率的256倍或384倍。一個典型的I2S信號見圖3。(圖3 I2S信號)圖3


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?



I2S格式的信號無論有多少位有效數據,數據的最高位總是出現在LRCK變化(也就是一幀開始)後的第2個SCLK脈衝處。這就使得接收端與發送端的有效位數可以不同。如果接收端能處理的有效位數少於發送端,可以放棄數據幀中多餘的低位數據;如果接收端能處理的有效位數多於發送端,可以自行補足剩餘的位。這種同步機制使得數字音頻設備的互連更加方便,而且不會造成數據錯位。

隨著技術的發展,在統一的 I2S接口下,出現了多種不同的數據格式。根據SDATA數據相對於LRCK和SCLK的位置不同,分為左對齊(較少使用)、I2S格式(即飛利浦規定的格式)和右對齊(也叫日本格式、普通格式)。這些不同的格式見圖4和圖5。(圖4 幾種非I2S格式)圖4(圖5 幾種I2S格式)圖5 


I2S、CAN、SPI、I2C、SSP總線知識介紹,它們的區別是什麼?


為了保證數字音頻信號的正確傳輸,發送端和接收端應該採用相同的數據格式和長度。當然,對I2S格式來說數據長度可以不同

五、SSP 總線

SSP 總線兼容SPI,SSI 和Microwire 總線的接口。

內容整理自網絡


臥龍會IT技術圈,臥虎藏龍,IT高手匯聚!歡迎加入我們的頭條圈子,每月都邀請資深大枷來給大家分享知識講座直播!

本週日晚8點,我們仿真講座繼續,運用HFSS軟件講解《傳輸線理論在高速PCB設計領域的應用 》進入下面圈子看精華內容

"

相關推薦

推薦中...