新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > IIC總線測試總結

        IIC總線測試總結

        作者: 時間:2017-01-12 來源:網絡 收藏

        對于Current Address Read,其操作過程為:

        1、主設備發出START信號;

        2、主設備發出DEV SEL信號,之后“R/W”位置1,表示接下來執行讀操作;

        3、從設備應答ACK;

        4、從設備從當前指針所指單元發出數據;

        5、主設備應答位,不應答從數據設備讀入(NO ACK,高電平);

        6、主設備發出STOP信號,結束此次讀操作。

        Sequential Current Read一次可讀出多個數據,每8位數據讀出后,主設備進行一次ACK應答,最后一個數據,主設備不進行應答,應答位置高,之后發出STOP信號結束操作。

        對于Random Address Read,其操作過程為:

        1、主設備發出START信號;

        2、主設備發出DEV SEL信號,之后“R/W”位置0,表示接下來仍執行寫操作;

        3、從設備應答ACK;

        4、主設備發出Byte addr信號,從設備對每8位Byte addr進行一次應答ACK;

        5、主設備再次發出START信號;

        6、主設備再次發出DEV SEL信號,之后“R/W”位置1,表示接下來執行讀操作;

        7、從設備應答ACK;

        8、從設備從之前寫入的Byte addr地址中讀出數據;

        9、主設備不進行應答,應答位置高(NO ACK);

        10、主設備發出STOP信號,結束此次操作。

        三、IIC總線測試項目

        1、時鐘SCL信號質量測試

        包括高電平電壓、低電平電壓、上沖、下沖、上升時間、下降時間、時鐘頻率、高電平脈寬、低電平脈寬。

        2、數據SDA信號質量測試

        包括高電平電壓、低電平電壓、上沖、下沖、上升時間、下降時間。

        3、寫保護WC信號質量測試

        包括高電平電壓、低電平電壓、上沖、下沖。

        4、時序測試

        需要測試的時序如下圖所示:

        圖4 IIC總線時序測試項目圖

        (1) tHD:STA:START信號保持時間。IIC總線是在SCL信號為高電平時,SDA下降沿作為START信號的。該參數是指SDA信號由高變低后,SCL還需要維持高電平的最短時間,以確保START信號成功采樣;

        (2) tHD:DAT:數據保持時間。IIC總線是在時鐘SCL上升沿的時候對數據進行采樣,SDA需在時鐘上升沿來臨前保持穩定;同時SDA需在時鐘SCL為低電平時才能進行轉換。該參數即是時鐘SCL由高變低后,SDA還需要維持上一位數據電平的最短時間;

        (3) tSU:DAT:數據建立時間。指在SCL上升沿來臨之前,SDA此次采樣數據電平需要提前維持的最短時間,以確保此次數據的采樣成功;

        (4) tSU:STA:START信號建立時間。指在SDA下降沿來臨之前,SCL需要提前維持高電平的最短時間,以確保START信號的成功建立;

        (5) tSU:STO:STOP信號建立時間。IIC總線是在SCL信號為高電平時,SDA上升沿作為STOP信號的。該參數是指在SDA上升沿來臨之前,SCL需要提前維持高電平的最短時間,以確保STOP信號的成功建立;

        (6) tBUF:總線釋放最短時間。本次IIC操作結束和下次IIC操作開始需要對總線進行釋放的最短時間;

        (7) tWLDL(tSU:WC):WC信號建立時間。WC信號需要在START信號發出前便完成建立。該參數即在START信號SDA下降沿來臨之前,WC信號需要提前維持低電平以確保成功建立的最短時間;

        (8) tDHWH(tHD:WC):WC信號保持時間。WC信號需要在STOP信號發出后仍維持一段時間。該參數即在STOP信號SDA上升沿發出之后,WC信號仍需維持低電平以確保STOP操作成功完成的最短時間。

        以上便是需要進行測試的項目。

        四、IIC總線測試注意事項

        自己之前在進行IIC總線測試時,由于急于完成,誤認為讀過程就是完全的數據讀出。其實從IIC讀操作過程就可以很明確的得知,讀過程也包含著數據寫入的階段,比如START信號發出,DEV SEL信號發出和Byte addr信號的發出;

        另一方面,由于START信號和STOP信號均是由主設備發出的,因此在測試IIC讀操作時序的時候,僅需要測試tSU:DAT和tHD:DAT兩項參數。而寫操作才需要測試所有時序參數;

        最后在測試過程中,尤其是在讀操作過程中,由于前面先要執行設備識別、地址寫入等寫操作,之后才會出現數據的讀出,如果要用示波器去抓整個讀操作過程,然后再放大局部去讀取時序參數,可能會由于時基過大,局部分辨率不夠,導致讀取的時序參數并不準確。

        對于示波器,自己覺得比較重要的幾個參數包括:帶寬、采樣速率和存儲深度。

        帶寬主要針對的是示波器支持的輸入波形頻率范圍;

        采樣速率主要是指示波器內部對波形的采樣速率,根據香農采樣定理,要想不失真地恢復模擬信號,采樣頻率應該不小于模擬信號頻譜中最高頻率的2倍。而實際上對于輸入的波形,其最高頻率取決于波形的邊沿,可以用5~7倍信號頻率來評估;

        存儲深度主要指示波器存儲采樣點的多少。之所以說在IIC讀操作測試中,為了獲取整個操作過程中的波形,將時基調大,然后再局部放大,受限于存儲深度,局部的波形可能就會失真,讀取出來的參數會有較大誤差。

        因此在讀測試時,可以采用脈寬采樣,由于我們的測試中,用到的是Random Address Read和Sequential Random Read兩種模式,在讀出數據前,主設備還要再發出一次DEV SEL信號,tSU:STA便是在此時測量,但此時的SCL信號脈寬也不同于之前,如下圖紅色框中的波形所示:

        圖5 tSU:STA測試時對應的SCL脈沖波形

        可以先將時基調大,初步測出紅色框中SCL脈寬長度,然后用脈寬采樣,劃定波形脈寬范圍,然后采出波形,這樣得到的讀數據波形便有足夠的采樣點,讀取的參數值也更有參考價值。

        tSU:STA和tBUF也可按此方法采樣測試。

        通過這次測試,使自己更加明白,在做任何事情,不要急于著手,而是先想想看計劃是怎樣,采用什么樣的方法,從總體上理清了頭緒再著手,遇到細節問題再深究。


        上一頁 1 2 下一頁

        關鍵詞: IIC總線測試總

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 萨迦县| 墨江| 尤溪县| 广河县| 玉溪市| 阜新市| 紫金县| 大化| 浦江县| 蒙自县| 内丘县| 清徐县| 南靖县| 天台县| 西乌珠穆沁旗| 广德县| 五大连池市| 福鼎市| 南昌市| 交城县| 托克逊县| 阿克陶县| 丰宁| 金沙县| 仙游县| 廊坊市| 小金县| 蚌埠市| 遵义市| 宜丰县| 宁明县| 宁晋县| 琼海市| 昌平区| 邹城市| 玉溪市| 麦盖提县| 辛集市| 阿克苏市| 镇巴县| 长子县|