技术支持

Acute逻辑分析仪 I2C总线触发应用技术文档

 

I2C 觸發

 

1 使用目的

1.1 I2C觸發

觸發提供邏輯分析儀的I2C觸發之快速應用方案,本功能僅於TravelLogic系列產品提供。

2 硬體操作

2.1 硬體連接

連接邏輯分析儀的通道0、通道1至支援I2CMicrochip demo boardSW2.8(SCK)SW2.7(SDA) 腳位及接地腳,如圖1

3 應用程式操作

3.1 啟動I2C觸發

開啟邏輯分析儀軟體,在工具列上點擊 或是選取「硬體/硬體參數設定」,並按照圖2編號順序,執行下列動作:

Step 1. 選取「I2C Trigger」,根據需求,選擇適當的通道數。

Step 2. 設定「採樣率」,原則上採樣率為待測物頻率的4~6倍左右最合適;但是採樣率越高可以看到越細緻的訊號波形。

Step 3. 調整適當的「記憶深度」。

      3.2 設定觸發準位

在工具列上點擊 或是選取「硬體/觸發電壓」。設定觸發準位之前,建議可使用示波器來觀察I2C的訊號波形,確定觸發準位電壓值

 

3.3 新增I2C通道

在工具列上點擊 ,選取「I2C分析」,產生I2C通道。如圖5

3.4 觸發參數設定

  3.4.1 選取「I2C通訊協定觸發」

在工具列上點擊 ,選取「I2C通訊協定觸發」,或是選取「硬體/觸發條件」。

如圖6


I2C觸發參數設定」對話方塊,如圖7

   3.4.2 通道設定

在「I2C觸發參數設定」對話方塊中,通道設定輸入SCL0」及SDA1」。如圖8

  3.4.3 觸發模式設定

在「觸發模式設定」選擇要觸發的模式,我們提供九種模式供使用者選擇。如圖9

模式1. 選擇Start為觸發條件 按下Capture後,觸發成功,游標T會停在Start的前緣。如圖10

模式2. 選擇Re-Start為觸發條件,功能同模式1

模式3. 選擇Start or Re-Start為觸發條件,功能同模式1,表示任兩個都可以觸發。

模式4. 選擇Stop為觸發條件,功能同模式1

模式5. 選擇Missing Ack為觸發條件,表示Not Acknowledge (NACK),功能同模式1

 

以上五種模式,若觸發成功後,游標T一樣停在前緣。如圖10

模式6. 選擇Match Sequently為觸發條件 由多個單階式觸發組合而成的觸發條件,最多有16個階層。如圖11

 

3.5 擷取波形

從步驟3.13.4設定完成後,在工具列上點擊 ,擷取波形,或是選取「硬體/

始擷取」,即可擷取波形。  

 

4  FAQ

    接下來的問題與回答均針對在「I2C觸發參數設定」的對話方塊中如何設定。

 

Q1若想找出Data 25hNACKI2C Trigger該如何設定?

 

A1:按照圖26的編號順序,執行下列動作。

1.觸發模式設定選取「Match Sequently」,如圖26

              2. P1選取「Then Trigger」,點擊P1進入設定。

3.勾選「Check Acknowledge」,並設定為「NACK」,緊接著在「Data/Address

輸入25h,點選「=」。   

Q2I2C送以下資料

       Read 26h, Data 36h, 28h, 35h, 45h

若想找出 Readaddress26hI2C TriggerData/Address該如何設定?

 

A2:按照圖27編號順序,執行下列動作。

              1. 觸發模式設定選取「Match Sequently」,如圖27

              2. P1選取「Then Trigger」,點擊P1進入設定。

3. 勾選「Address」,並設定為「Read」,接著在「Data/Address」輸入00100110b或者是26h也可以,點選「=」。

Q3I2C送以下資料

       Write 26h, Data 22h, 21h, 23h, 20h, 29h

若想找出Data 20h, 21h, 22h, 23h的資料,Data/AddressDon’t care該如何設定?

 

       A3:按照圖28的編號順序,執行下列動作。

1.      在「I2C觸發參數設定」對話方塊中,觸發模式設定選取「Match Sequently」,如圖28

2.      P1選取「Then Trigger」,點擊P1進入設定。     

 

00100001 (21h)

00100010 (22h)

00100011 (23h)

00101001 (29h)

00100000 (20h)

 

由這四個數字的8bit可以看出,20h21h22h23h僅改變後面2bit,所以我們可以把這2bitDon’t care,方便跟29h分出區別。

在「Data/Address」輸入001000XXb,點選「=」。

Q4I2C送以下資料

      Write 12h, Data 20h, 56h, 25h, 34h, 22h

若想找出非Data 20h, 56h, 25h的其他資料,All Match該如何設定?

       A4:觸發模式設定選取「All Match」,如圖29

P1選取「Used」,點擊P1進入設定,因為要找Data,所以「Address」不要勾選,接著在「Data/Address」輸入20h,點選「!=」,如圖30

P2P3一樣作法。

觸發後結果,游標T停在34h的後緣,同時滿足P1P2P3的條件。如圖31

Q5:選擇Start為觸發條件,Pass Count設為1時,接著先讓LA擷取波形,然後再送I2C

      息,當LA擷取完成後,為何觸發的結果,游標T並不是停在第二個Start?如圖32

A5:由於Capture的開頭並沒有Stop,所以解析出來的第一個封包無法判定是Start或是

      Re-Start,硬體會忽略掉這一個封包。

                                                                           

Q6:系統內有兩個I2C deviceHost連接,某些特殊情況下,兩個device都同時使用I2C

      導致Address錯誤,請問如何設定Trigger,以便於抓到此類錯誤?

 

 

 

A6:假設其中一個deviceaddress10h,另一個為20h

按照圖34的編號順序,執行下列動作。

1. 觸發模式設定選取「All Match」,如圖34

2. P1/P2選取「Used」,點擊P1/P2進入設定。

3. 勾選「Address」,並設定為「Don’t care」。

4. 在「Data/Address」輸入10h/20h,點選「!=」。

 

觸發後結果,游標T停在R:17,同時滿足P1P2的條件(!=10h & !=20h)。如圖35

 

Q7:假設Start的正常寬度為40us,想抓Start寬度不夠時觸發,請問如何設定?

 

A7:按照圖36的編號順序,執行下列動作。

1. 觸發模式設定選取「Timing Violation」,如圖36

2. 勾選「tBUF」,並設定為「40000」。

觸發後結果,如圖37

5           I2C 雜訊之處理

 

I2C量測過程中,當爬升(Rising)或下降(Falling)的訊號在觸發準位附近時,訊號可能有雜訊抖動或是波形緩慢轉態造成邏輯分析儀在這個觸發準位的臨界點擷取到看似雜訊(Glitch/Noise)的訊號,如圖38

此情況會造成I2C分析的錯誤,以下提出3個解決方案供使用者參考

1.    降低邏輯分析儀採樣頻率。

此方法主要是降低採樣頻率使得一些高頻雜訊無法被邏輯分析儀所擷取到來過濾掉高頻雜訊。

優點: 操作簡單。

缺點: 1.可能忽略掉其他原因所造成的雜訊。

              2.過低的採樣率可能造成無法擷取到正確的I2C訊號。

 

2.      在高採樣頻率時,使用突波過濾功能,如圖39

此方法是讓邏輯分析儀前端輸入訊號通過一個低通濾波器,藉由所設定的脈波寬度來過濾掉高頻雜訊。

優點: 操作簡單。

缺點: 可能忽略掉其他原因所造成的雜訊。

38中的I2C Clock(CH 0)所擷取到的突波約為5ns,所以在突波過濾設定中設定濾除小於10ns的突波,如圖40

 

 

    然後再重新擷取一次該訊號,小於10ns的突波就會被濾除掉。

 

1.    使用舒密特(Schmitt)觸發電路功能,如圖41、圖42

此方法利用兩組觸發準位來過濾掉訊號在單一觸發準位時,因訊號轉態過緩或是訊號抖動造成在這個觸發準位的臨界點擷取到的雜訊。此為採用電子學正規處理法,為最佳處置法。

 

由於邏輯分析儀每個通道只會有1個觸發準位設定。因此,使用舒密特電路功能時,必須同時使用兩個通道來進行量測。因TravelLogic硬體上只有兩組觸發準位電路,分別是第一組:通道0-17,第二組:通道18-35在啟用舒密特電路功能時,必須分別設定觸發準位(Threshold–HighThreshold–Low)

 

 

 

設定I2C Clock(CH0) I2C Data(CH1)觸發準位Threshold–High: 2.75V, Threshold–Low: 1V,如圖42

 

然後再重新擷取一次該訊號即可,I2C即可正常分析。

 

 

聯絡我們

有關皇晶科技電子量測產品、應用及服務的詳細資訊,可查詢我們的網站:

http://www.acute.com.tw/

電子郵件信箱: service@acute.com.tw

皇晶科技股份有限公司

新北市三重區24159重新路5609122樓之8 (湯城園區)

電話:+886-2-2999-3275 傳真:+886-2-2999-3276

本資料中的產品規格及說明如有修改,恕不另行通知。

版權© 2011 皇晶科技股份有限公司

 

 

每個階層的右邊有選項可以選擇,包括NextThenIf以及Then Trigger,是用來選擇每層之間的關係。每個階層之間的關係可為連續觸發 (Next) 或是非連連續觸發 (ThenIf)。如圖11為例,第一階和第二階為連續觸發,第二階和第三階之間為非連續觸發,以此類推。所以只要每一階的關係連在一起就代表這兩階之間是連續觸發;相反的,如果兩階之間的關係沒有相連就代表這兩階之間是非連續觸發。圖11的第十三、十四、十五和十六階沒有顯示,代表這個設定為十二階的多階觸發 (因為P12設為Then Trigger)

 

每個階層必須單獨設定。點擊P1I2C Value Setting的對話方塊如圖12顯示。

 

按下Capture後,上述例子觸發成功,游標T會停在35h的後緣。如圖25

^