當前位置:首頁 > 測試測量 > 測試測量
[導讀]1 I2C總線的工作原理及其特點I2C 總線是一種用于IC器件之間連接的二線制總線,最早由Philips公司推出。它通過SDA(串行數據線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據地址識別每個器件,不管

1 I2C總線的工作原理及其特點

I2C 總線是一種用于IC器件之間連接的二線制總線,最早由Philips公司推出。它通過SDA(串行數據線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據地址識別每個器件,不管是單片機、存儲器、LCD驅動器還是鍵盤接口。串行擴展總線有突出的優(yōu)點,電路結構簡單,程序編寫方便,易于實現用戶系統(tǒng)軟硬件的模塊化、標準化等。

采用I2C總線標準的單片機或IC器件,其內部不僅有I2C接口電路,而且將內部各單元電路按功能劃分為若干相對獨立的模塊,通過軟件尋址實現片選,減少了器件片選線的連接。I2C總線接口電路結構如圖1所示。

當某個器件向總線上發(fā)送信息時,它就是發(fā)送器(也叫主器件),而當其從總線上接收信息時,又成為接收器(也叫從器件)。主器件用于啟動總線上傳送數據并產生時鐘以開放傳送的器件,此時任何被尋址的器件均被認為是從器件。I2C總線的控制完全由掛接在總線上的主器件送出的地址和數據決定。在總線上,既沒有中心機,也沒有優(yōu)先機。

在I2C總線上傳送信息時的時鐘同步信號是由掛接在SCL時鐘線上的所有器件的邏輯“與”完成的。SCL線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使SCL線一直保持低電平,使SCL線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響SCL線的狀廟,于是這些器件將進入高電平等待的狀態(tài)。

當所有器件的時鐘信號都上跳為高電平時,低電平期結束,SCL線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結束高電平期的器件又將SCL線拉成低電平。這樣就在 SCL線上產生一個同步時鐘??梢姡瑫r鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。在I2C總線技術規(guī)范中,開始和結束信號的定義如圖2所示。當時鐘線SCL為高電平時,數據線SDA由高電平跳變?yōu)榈碗娖蕉x為“開始”信號;當SCL線為低電平時,SDA線發(fā)生低電平到高電平的跳變?yōu)?ldquo;結束”信號。

I2C總線還具有廣播呼叫地址用于尋址總線上所有器件的功能。若一個器件不需要廣播呼叫尋址中所提供的任何數據,則可以忽略該地址不作響應。

I2C 總線具有多主控能力,可以對發(fā)生在SDA線上的總線競爭進行仲裁,其仲裁原則是這樣的:當多個主器件同時想占用總線時,如果某個主器件發(fā)送高電平,而另一個主器件發(fā)送低電平,則發(fā)送電平與此時SDA總線電平不符的那個器件將自動關閉其輸出級??偩€競爭的仲裁是在兩個層次上進行的。首先是地址位的比較,如果主器件尋址同一個從器件,則進入數據位的比較,從而確保了競爭仲裁的可靠性。

目前世界上采用的I2C總線有兩個規(guī)范,它們分別是由荷蘭 PHILIPS公司和日本SONY公司提出的?,F在廣泛采用的是PHILIPS公司的I2C總線技術規(guī)范,它已成為被電子行業(yè)認可的總線標準。采用I2C 技術的單片機以及外圍器件已廣泛應用于家用電器、通訊設備及各類電子產品中,而且應用范圍將會越來越廣。

2 IC總線應用下的EEPROH的測試方法

這里以常見的24LC02容量為2K的EEPROM芯片為例來詳細介紹該總線方式下工作的EEPROM測試方法。

2.1 24LC02芯片特點

24LC02是臺灣CERAMATE公司生產的容量為2Kbit的應用于I2C總線工作方式的EEPROM芯片,其芯片管腳定義如圖3。

圖中,A0、A1、A3為片選端,因為I2C總線最多可以掛接16Kbit的EEPROM,也就是說可以掛接8個24LC02芯片,其硬件地址就這三個片選端決定;WP是寫保護端,在發(fā)送Word Address之前起作用。

24LC02在寫入數據的時候有兩種模式:Byte write和Page write,如圖4。

以TESTER作為Master對24LC02寫入數據,然后讀取其數據驗證與寫入的數據是否一致。

對于24LC02的命令格式等細節(jié),這里不再贅述,下面我們來看看24LC02的BLOCK DIAGRAM圖6。

由此可知,在Byte write模式下,一次可寫入8bit數據,而在Page write模式下一次可寫入8bytes的數據。

2.2 24LC02的測試

根據I2C總線工作方式,我們將其測試圖連接如圖5。

芯片中的Start/stop Logic單元處理Start/Stop信號,控制芯片是否開始工作;S1ave address register&comparator單元譯碼Master發(fā)送的Slave address,完成與片選信號的比較,并設定write/read模式;Wordaddress counter單元管理要寫入或讀取的地址,地址由xdec和ydec單元譯碼成行地址和列地址,24LC02的EEPROMArray分為64行×4列字節(jié)單元。

這里我們對于一些簡單的電流測試不再討論,主要討論功能測試。

根據以上分析,我們提出如下測試方法:

對芯片寫入各種不同的字節(jié)數據來驗證讀取到的數據是否和寫入的一致:

(1)每個字節(jié)寫入隨機碼數據,這里隨機碼我們選擇00~FF,共256 bytes,讀取看與寫入的是否一致

如果該項測試通過,說明芯片基本上工作正常,但不能保證EEPROMArray(2Kbit)所有bit位都能正常寫入數據。

這里每個字節(jié)寫入00-FF保證了寫入每個word address的數據都不一樣,其目的是驗證Word address counter、xdec、ydec等單元是否能正常工作。

假設我們這里每個字節(jié)寫入相同的數據(如00或FF等),那么在這種情況下,要是Word address counter無法正常工作,那么我們寫入或讀取的可能是部分地址所指向的EEpromArray中的bit位,而且無法保證xdec和ydec能正常****行地址和列地址,譬如說我們對“10101010”word address所指向的字節(jié)寫入00,如果讀取“101010”這個地址數據時,Word address counter、xdec、ydec任意單元發(fā)生了錯誤,那么最終我們讀取到的數據就不是“10101010”這個地址所指向的字節(jié)數據,也就是說因為每個字節(jié)數據是一樣的,所以即使寫入和讀取的地址發(fā)生了錯位,我們也會認為測試是通過的。

由此可見,要保證Word address counter、xdec、ydec等單元正常工作,我們寫入的數據必須滿足下列三個條件:

①寫入EEPROM Array的每一行數據不一樣(驗證xdec單元);

②寫入EEPROM Array的每一列數據不一樣(驗證ydec單元);

③寫入EEPROM Array的每一個字節(jié)數據不一樣(驗證Word address counter單元);

這就是我們選擇寫入00~FF的理由(當然也可以選擇寫入其他數據,只要符合上述最后一個條件即可)。

(2)每個字節(jié)寫入數據00,讀取看是否與寫入的一致

通過上述第一項測試,其實已經可以基本保證芯片各單元能正常工作,接下來只需測試驗證EEPROM Array(2Kbit)中的每個bit位是否良好,這里寫入數據00,可排除EEPROM Array(2Kbit)中恒為“1”的bit位。

(3)每個字節(jié)寫入數據FF,讀取看是否與寫入的一致

可排除EEPROM Array(2Kbit)中恒為“0”的b“位。

(4)從00H地址開始寫入4個字節(jié)55,接著寫入4個字節(jié)AA,如此重復,直至寫滿256個字節(jié),讀取看是否與寫入的一致。

EEPROM Array中相鄰bit位(包括行相鄰、列相鄰、對角線相鄰)會互相影響。

而24LC02的EEPROM Array分為4列×64行×8bit,所以我們寫入上述的數據使得每個相鄰bit位的數據都不一樣,經過該項測試可排除相鄰bit位的數據竄擾。最好是再測試一下寫入4個字節(jié)AA,寫入4個字節(jié)55……,看讀取與寫入的是否一致。

到此我們完成了全部的功能測試。24LC02讀寫時有page write、byte write、random read、Sequentialread等各種工作模式以及writeprotect功能,這些測試都比較簡單,這里就不再一一贅述了。

由此,我們概括出EEPROM的一般測試方法:

(1)每個字節(jié)寫入random code,讀取驗證是否與寫入時一致,從而測試Word address counter、xdec、ydec等單元是否能正常工作;Random code需要滿足下面這個條件:寫入EEPROMArray的每一個字節(jié)數據不一樣。

(2)每個字節(jié)寫入數據00或FF,讀取驗證是否與寫入時一致,排除EEPROM Array中恒“0”或恒“1”的bit位。

(3)對EEPROM Array寫入相鄰bit位(包括行相鄰、列相鄰、對角線相鄰)都不一樣的數據,讀取驗證是否與寫入時一致,排除相鄰bit位的數據竄擾。

 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉