正文 第一章 I2C總線控製技術原理與基本檢修方法(三)(1 / 3)

1.2.1軟件編碼與運行基礎知識

1.數製與數製轉換

I2C總線控製係統通常采用二進製和十六進製來表示操作指令,通過一係列操作指令的傳送來實現各種控製功能。因此熟悉各種數製的意義及數製轉換關係將有助於認識I2C總線控製係統的軟件編碼與運行規則。

2.編碼的信息單位

I2C總線上傳輸的每一位編碼稱為1比特或稱為1碼。比特位可用來表示微處理器處理信息的能力。例如:I2C總線控製的彩色電視機微處理器一般為8他(位)微處理器。微處理器的比特位越多,處理數據信息的能力越強,對電路的控製能力也越強。

3.指令編碼的表示方式

由於I2C總線控製係統硬件電路隻能識別二進製數,所以總線控製係統的指令均由二進製編碼組成。為了閱讀和書寫方便,常把它寫成十六進製形式。通常稱這樣的指令為機器指令。I2C總線控製係統一般有數百條指令,即使采用十六進製書寫和記憶也不容易。為了便於記憶和使用,製造廠家對指令係統的每一條指令都給出了助記符。助記符是根據機器指令不同的功能和操作對象來描述指令的符號。助記符采用英文編寫來推繪指令的特征,它不但便於記憶,也便於理解和分類。這種用助記符形式來表示的機器指令稱為彙編語言指令。

指令一般分為操作碼和操作數兩部分,操作碼規定操作的類型,操作數給串參加操作的數據或存放數據的地址。對於單字節指令有兩種情況:一種是操作碼、操作數均包含在這一個字節之內;另一種情況是隻有操作碼無操作數。對於雙字節指令,均是一個字節為操作碼,一個字節為操作數。對於三字節指令,一般是一個字節為操作碼,兩個字節為操作數。

操作碼與操作數之間必須用空格分隔,操作數與操作數之間必須用逗號“,”分隔;帶方括號的項可有可無,稱為選項。操作碼是指令的核心,不可缺少。

4.串行接口與串行通訊的特點

串行通訊與並行通訊方式微處理器與受控電路的信息交換稱為通信。基本的通信方式有兩種:

並行通信:所傳送數據的各位同時發送或接收。

串行通信:所傳送數據的各位按順序一位一位地發送或接收。

在並行通信中,一個並行數據占多少位二進製數,就要多少根傳輸線。這種方式的特點是通信速度快,但傳輸線多,結構複雜。串行通信僅需一到兩根傳輸線,適應彩色電視機減少內部連線的要求。並行通信及串行通信的連接方式:

5.串行通訊的製式

在串行通信中,數據是在兩集成電路之間傳送的。按照數據傳送方向,串行通信可分為半雙工製式和全雙工製式。

半雙工製式:在半雙工製式下,甲機和乙機之間隻有一個通信回路,接收和發送不能同時進行,隻能分時發送和接收,即甲機發送乙機接收,或者乙機發送甲機接收,因而兩機之間隻需一條數據線。

全雙工製式:在全雙工製式下,甲、乙兩集成電路之間數據的發送和接收可以同時進行,稱為全雙工傳送。全雙工形式的串行通信必須使用兩根數據線。

彩色電視機的I2C總線控製係統采用半雙工串行通訊方式。

通訊協議是指微處理器與受控集成電路之間進行數據傳輸時的一些約定,包括通訊方式、傳輸速率、命令碼的約定等,為了保證I2C總線能夠準確、可靠地通訊,各集成電路都必須遵循統一的通訊協議。

1.2.2I2C總線控製係統軟件運行規則

目前彩色電視機中I2C總線控製係統運行規則主要有兩種標準:一種是由飛利浦公司提出的;一種是由索尼公司提出的。在實際應用中,飛利浦公司的I2C總線規則得到較大範圍推廣,本書介紹的規則均為飛利浦公司的規則標準。

1.I2C總線技術術語定義

主控器通常指微處理控製器,其重點是確定主控器——輔助器件或發送器——接收器件在I2C總線上的關係。通常這種關係並非是一成不變的,而是取決於某個時間數據轉移的方向,數據轉移可按如下過程處理。

(1)若微控製器灰要發送信息到被控集成電路。

1)微控製器六作為主控器設址被控集成電路,即被控集成電路作為輔助器件。

2)微控製器八作為主發送器傳送數據到被控集成電路,則後者作為輔助接收器。

3)由微控製器人終止轉移。

2)微控製器人作為主接收器來接收被控集成電路的數據,而被控集成電路作為輔助發送器。

3)再由微控製器終止轉移。

在此情況下,仍由微控製器產生定時信號並終止轉移。

2.總線比特位傳送規則

當總線無信息傳遞,即空閑狀態時,兩條線均處於高電平,器件的輸出級連到總線時,采用開漏或開集方式。作為標準模,I2C總線速率來轉移數據;若使用快速模,則以4001山11/3速率轉移數據。必須注意,掛到總線的接口數目取決於總線累計電容值,因此采用這類連接方式,還要考慮到各種不同製造工藝的器件,如雙極性等都掛到總線上,則總線上的邏輯“0”和邏輯“1”很難確定下來。所以通過上拉電阻接到如是很重要的,由此來選定輸出邏輯高電平值。每一個七據位的轉移對應於一個時鍾周期,必須要注意到當時鍾線處於離電平時,數據應保證穩定,而這些數據屬於有效數據;當時鍾線處於低電平時,數據線信號才能進行離、低狀態轉移。

3.I2C總線字節傳送規則

對於模擬電視接收機而言,微控製器通常采用8位,在31從線上每個字節長也為8位,但每次轉移所傳送數據的字節數是不受限製的。數據傳送字節總是從最高位從38開始,而每個字節後,必須緊跟著一個確認;從瓦是由接收方發送過來,以便確認是否接收到該信號。如果接收器不能收到數據的完整字節,此時可以實施內部中斷,使時鍾線處於低電平,強製發送器處於等待狀態,直至接收器能讀出完整字節後,再使拉到高電平,繼續進行數據傳送。必須注意到,確認信號是通過數據線由接收器(輔助器件的發送器)發送到主控器的(主控器的接收器在此期間,主發送器不得傳送信息,而輔助接收器入線拉為低電平。

1.2.3I2C總線控製係統軟件應用實例

1.I2C總線地址數據表示方式

在I2C總線控製係統中,主控器(微處理器)為了將控製數據可靠地傳輸給指定的受控集成電路,需要為每一塊集成電路編製一個地址碼,通過地址碼來確認信息傳輸到哪一塊集成電路。

由於目前集成電路的集成度越來越髙,每一塊集成電路可能包含著許多要調整和控製的項目,若要對某集成電路的某個項目進行控製調整,還需對集成電路內的單元功能電路設置一個子地址。如果將總線數據線用電話線路作比喻,輔助地址相當於一個單位的總機號,而子地址相當於該單位某一部門的分機號。

在這裏雙分別表示信息是發送還是接收(讀出發送和接收是微控製器的表示方式,對被控集成電路而言,采用寫入和讀出表示。當雙位為“0”時,表示主控器將把數據寫入所選擇的被控集成電路;當似雙位為“1”時,表示主控器將從被控集成電路讀取數據。

2.總線數據傳送格式與軟件流程