[嵌入式]S5PV210通信接口


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)


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com