[嵌入式]S5PV210通訊介面

丫就是熊個貓貓發表於2016-12-26

S5PV210通訊介面

一.UART介面

1. UART介面概念

資料通訊的基本方式可分為並行通訊與序列通訊兩種。

並行通訊:是指利用多條資料傳輸線將一個資料的各位同時傳送。它的特點是傳輸速度快,適用於短距離通訊,但要求通訊速率較高的應用場合。

序列通訊:是指利用一條傳輸線將資料一位位地順序傳送。特點是通訊線路簡單,利用簡單的線纜就可實現通訊,降低成本,適用於遠距離通訊,但傳輸速度慢的應用場合。

非同步序列通訊概念

非同步通訊以一個字元為傳輸單位,通訊中兩個字元間的時間間隔是不固定的,然而在同一個字元中的兩個相鄰位程式碼間的時間間隔是固定的。

通訊協議(通訊規程):是指通訊雙方約定的一些規則。在使用非同步串列埠傳送一個字元的資訊時,對資料格式有如下約定:規定有空閒位、起始位、資料位、奇偶校驗位、停止位。

非同步通訊的時序


1)起始位:先發出一個邏輯”0”訊號,表示傳輸字元的開始。

2)資料位:緊接著起始位之後。資料位的個數可以是4、5、6、7、8等,構成一個字元。通常採用ASCII碼。從最低位開始傳送,靠時鐘定位。

3)奇偶校驗位:資料位加上這一位後,使得“1”的位數應為偶數(偶校驗)或奇數(奇校驗),以此來校驗資料傳送的正確性。

4)停止位:它是一個字元資料的結束標誌。可以是1位、1.5位、2位的高電平。

5)空閒位:處於邏輯“1”狀態,表示當前線路上沒有資料傳送。

波特率

波特率是衡量資料傳送速率的指標。表示每秒鐘傳送的二進位制位數。例如資料傳送速率為120字元/秒,而每一個字元為10位,則其傳送的波特率為10×120=1200位/秒=1200波特。

注:非同步通訊是按字元傳輸的,接收裝置在收到起始訊號之後只要在一個字元的傳輸時間內能和傳送裝置保持同步就能正確接收。下一個字元起始位的到來又使同步重新校準(依靠檢測起始位來實現傳送與接收方的時鐘自同步的)。

2. RS-232C序列介面標準

根據資料傳送方向的不同有以下三種方式:單工方式半雙工方式和全雙工方式


RS-232介面標準

序列介面標準:指的是計算機或終端(資料終端裝置DTE)的序列介面電路與調變解調器MODEM等(資料通訊裝置DCE)之間的連線標準。

目前常用的序列通訊介面標準是RS-232C標準。(P193)

3. S5PV210晶片的非同步序列通訊

S5PV210中的非同步序列通訊模組提供4獨立的非同步序列輸入/輸出埠。

    每一個UART包含一個波特率發生器、一個發射機、一個接收機和一個控制單元。波特率發生器使用PCLK或SCLK_UART,發射機和接收機包含FIFOs和資料移位暫存器,要傳送的資料被寫進Tx FIFO,然後被複制到傳送移位暫存器中,最後資料通過傳送管腳(TxDn)被移位出去。接收資料時,資料通過RxDn管腳移位進入接收移位暫存器,然後將接收移位暫存器中的資料複製到Rx FIFO中。

    UART操作包括資料傳送、資料接收、中斷產生等。S5PV210晶片的UART機制支援波特率發生器、迴圈往復模式,紅外模式和自動流控制等。

4. S5PV210晶片的UART暫存器

S5PV210進行UART通訊涉及的暫存器有:引腳配置暫存器、UART線控暫存器、UART控制暫存器、FIFO暫存器等。(P197)

UART例項(P203)。實驗指導書(P86)

二.SPI介面

三.I2C介面

1. I2C匯流排工作原理

1)        I2C匯流排硬體結構

I2C匯流排允許若干相容器件(如儲存器、A/D和D/A轉換器、序列IO擴充套件以及LED和LCD驅動器等)共享匯流排。I2C序列匯流排有兩根訊號線:一根雙向的資料線SDA;另一根是時鐘線SCL。所有接到I2C匯流排上的裝置的序列資料都接到匯流排的SDA線,各裝置的時鐘線SCL接到匯流排的SCL。I2C匯流排可以達到100kb/s的資料速率。

2)        裝置與匯流排的介面電路


為了避免匯流排訊號的混亂,要求各裝置連線到匯流排的輸出端必須是開漏輸出或集電極開路輸出的結構。

3)        資料線SDA與時鐘線SCL

裝置上的序列資料線SDA介面電路是雙向的,輸出電路用於向匯流排上發資料,輸入電路用於接收匯流排上的資料。序列時鐘線也是雙向的,

作為控制匯流排資料傳送的主機要通過SCL輸出電路傳送時鐘訊號,同時要檢測匯流排上SCL上的電平以決定什麼時候發下一個時鐘脈衝電平;

作為接受主機命令的從機,要按匯流排上的SCL的訊號發出或接收SDA上的訊號,也可以向SCL線發出低電平訊號以延長匯流排時鐘訊號週期

匯流排空閒時,因各裝置都是開漏輸出,上拉電阻RP使SDA和SCL線都保持高電平。任一裝置輸出的低電平都使相應的匯流排訊號線變低,也就是說各裝置的SDA是“與”關係,SCL也是“與”關係。

4)        I2C匯流排資料傳輸

匯流排的執行(資料傳輸)由主機控制。所謂主機即啟動資料的傳送(發出啟動訊號),發出時鐘訊號,傳送結束時發出停止訊號的裝置,通常主機是微處理器。被主機尋訪的裝置都稱為從機。為了進行通訊,每個接到I2C匯流排的裝置都有一個唯一的地址,以便於主機尋訪。主機和從機的資料傳送,可以由主機傳送資料到從機,也可以是從機發到主機。凡是傳送資料到匯流排的裝置稱為傳送器,從匯流排上接收資料的裝置被稱為接受器。

5)        同步化

I2C匯流排上允許連線多個微處理器及各種外圍裝置,如儲存器、LED及LCD驅動器、A/D及D/A轉換器等。為了保證資料可靠地傳送,任一時刻匯流排只能有一臺主機,在匯流排空閒時發啟動資料。I2C匯流排允許連線不同傳送速率的裝置,多臺裝置之間時鐘訊號的同步過程稱為同步化。

6)        開始和停止條件


在I2C匯流排傳輸過程中,將兩種特定的況定義為開始和停止條件。

當SCL保持“高”,SDA由“高”變為“低”時為開始條件;

SCL保持“高”,SDA由“低”變為“高”是為停止條件。

開始和停止條件由主控器產生。使用硬體介面可以很容易地檢測開始和停止條件,沒有這種介面的微機必須以每時鐘週期至少兩次對SDA取樣以使檢測這種變化。

7)        資料狀態改變

    SDA資料線上的資料在時鐘SCL為“高”期間必須是穩定的,只有當SCL線上的時鐘訊號為低時,資料線上的“高”或“低”狀態才可以改變。輸出到SDA線上的每個位元組必須是8位,每次傳輸的位元組不受限制,每個位元組必須有一個應答位ACK。

8)        應答訊號


資料傳送具有應答是必須的。與應答對應的時鐘脈衝由主控器產生,傳送器在應答期間必須下拉SDA線。當定址的被控器件不能應答時,資料保持為高,接著主控器產生停止條件終止傳輸。

9)        傳送時序

當SCL保持高電平時,若SDA訊號線上有從高電平到低電平的變化,那麼I2C匯流排資料傳輸就開始了。之後SCL線上出現的是時鐘訊號,SDA上出現資料。SDA上首先傳輸器件地址,在地址傳輸完畢後,接收方傳送一個應答位到傳送方。如果接收器件在完成其他功能(如一內部中斷)前不能接收另一資料的完整位元組時,它可以保持時鐘線SCL為低,以促使傳送器進入等待狀態,當接收器準備好接受資料的其它位元組並釋放時鐘SCL後,資料傳輸進行。最後以終止訊號結束一次資料通訊過程。

10)     資料傳送格式

起始位

被控接收器地址

R/W

應答位

資料

應答位

、、、、

停止位

I2C匯流排在開始條件後的首位元組決定哪個被控器將被主控器選擇,例外的是“通用訪問”地址,它可以定址所有器件。當主控器輸出一地址時,系統中的每一器件都將開始條件後的前七位地址和自己地址比較。如果相同,該器件認為自己被主控器定址,而作為被控接收器或被控傳送器則取決於R/W位。

2. S5PV210晶片的I2C匯流排介面

1)        S5PV210晶片支援4個多主機I2C匯流排序列介面。在多主機I2C匯流排模式下,多個S5PV210微處理器可與從屬裝置之間進行序列資料的接收和傳送。S5PV210中的I2C匯流排使用標準的匯流排仲裁程式。

2)        S5PV210 I2C匯流排介面有四種操作模式,即:主機傳送模式、主機接收模式、從機傳送模式和從機接收模式

3)        任何I2C Tx/Rx操作之前都應先進行以下的步驟:

a)      如果需要,在I2CADD暫存器中寫自己的從機地址。

b)      設定I2CCON暫存器,使能中斷,定義SCL週期。

主機傳送模式流程:                                                                        主機接收模式流程:

              

                   

I2C介面暫存器

多主機I2C匯流排控制暫存器——I2CCON

多主機I2C匯流排控制/狀態暫存器——I2CSTAT

多主機I2C匯流排接收/傳送(Rx/Tx)資料移位暫存器——I2CDS

多主機I2C匯流排地址暫存器——I2CADD

I2C匯流排程式設計例項(P229)

相關文章