SaleaeLogic 16 逻辑分析仪的安装及使用【对 I2C、SPI、串口的信号进行测量】
文章內容:
目錄
- 1 安裝 Saleae Logic 16 邏輯分析儀
- 1.1 下載安裝包
- 1.2 安裝
- 1.3 軟件界面介紹
- 2 測量 I2C、SPI、串口的信號
- 2.1 I2C 數據解析并結合通信協議分析
- 2.1.1 I2C 數據解析
- 2.1.2 結合 I2C 通信協議分析
- 2.2 串口數據解析并結合串口通信協議進行分析
- 2.2.1 串口數據解析
- 2.2.2 結合串口通信協議分析
- 3 總結
- 4 參考資料
1 安裝 Saleae Logic 16 邏輯分析儀
1.1 下載安裝包
點擊下面鏈接,下載安裝包。
SALEAELOGIC16_(邏輯分析儀軟件與說明書-可安裝最新版軟件,但須先看舊版軟件目錄下中文指南中的串口分析案例):https://pan.baidu.com/s/1LXJIvDVQwKM71V82eapegw
提取碼:luha
1.2 安裝
- 根據自己的電腦操作系統選擇對應的版本安裝。
- 這里我用的操作系統是 win10 ,所以我安裝了 Logic+Setup+1.1.34.exe 這個安裝文件。
- 之后一直回車,安裝比較簡單,這里不再啰嗦。
- 安裝完畢后,即可開啟軟件,顯示出如下界面:
在安裝軟件的同時,驅動程序已經被注冊到系統了了,當插入 SALEAE 16 邏輯分析儀后就可以自動安裝安裝驅動。
1.3 軟件界面介紹
-
打開界面如下圖,軟件界面基本是左中右的布局,左邊主要是采集和顯示設置,右邊是分析和解析設置,中間是波形顯示區域。
無邏輯分析儀的時候顯示 Disconnected,左邊是8個通道,使用的時候根據硬件連接選擇對應通過進行配置,中間部分是顯示我們邏輯波形的區域,右邊是添加一些協議數據格式,數據分析區域。 -
點 Start Simulation,可以在波形區域模擬顯示出一些軟件生成的數據,如果您設置了解析(解析設置方法在下面講),可以根據所設置的協議,生成一些符合協議解析要求的模擬數值。
-
由于默認的演示模式是 8 通道的,我們可以設置成 16 通道的。
點擊左上角的符號,之后彈出選擇演示的設備:
我們選擇 LOGIC16 ,之后界面會出現一些 SALEAE16 的設置。
-
每個通道的設置
第一項是波形幅值比例,可以通到進行修改不同的比例。
-
觸發方式選擇
上升沿、下降沿、雙邊沿,主要跟協議信號有關系,比如串口接收數據,起始位是低電平,配置為下降沿觸發就可以。
-
Annotations 選項
可以增加測量電平時間的組數,此處測量兩組,類似示波器測量時間的標線。
-
Analyzers 選項
里面包含了很多協議,常用的串口、SPI、IIC、CAN 等等,都可以進行測量。
這里就先簡單介紹這么多,軟件的詳細使用介紹,可以在上面下載的安裝包里新版本包的 SALEAE16最新軟件的使用說明.pdf 里了解。
使用 Saleae Logic 16 邏輯分析儀對串口分析的案例可以在上面下載的安裝包里老版本包的 上手指南——中文 里了解。
2 測量 I2C、SPI、串口的信號
2.1 I2C 數據解析并結合通信協議分析
2.1.1 I2C 數據解析
- 選擇信號觀測
Analyzers 選項里面包含了很多協議,常用的串口、SPI、IIC、CAN 等等,都可以進行測量。
點擊選擇需要觀測的 I2C 通道:
- 配置通道 0 是 SCL 信號,通道 1 是 SDA 信號
- 邏輯儀連接
| CH0 | SCL(PB6) |
| CH1 | SDA(PB7) |
| GND | GND |
- 點擊左上角 START ,采集數據后觀測:
- 數據分析
首先是開始信號,接下來是發送器件地址,接收到 ACK 信號,寫器件地址,接收到從機 ACK 數據,發送要寫入的數據,接收到從機 ACK 數據,停止信號,這就是一個完整的通訊周期。
2.1.2 結合 I2C 通信協議分析
- IIC 兩線式串行總線,用于連接微控制器及其外圍設備。它是由數據線 SDA 和時鐘 SCL 構成的串行總線,可發送和接收數據。
I2C 總線在傳送數據過程中共有三種類型信號, 它們分別是:開始信號、結束信號和應答信號。
開始信號:SCL 為高電平時, SDA 由高電平向低電平跳變,開始傳送數據。
結束信號:SCL 為高電平時, SDA 由低電平向高電平跳變,結束傳送數據。
應答信號:接收數據的 IC 在接收到 8bit 數據后,向發送數據的 IC 發出特定的低電平脈沖,表示已收到數據。CPU 向受控單元發出一個信號后,等待受控單元發出一個應答信號, CPU 接收到應答信號后,根據實際情況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現故障。 - 單字節通訊流程為:
1、發送起始信號
2、發送設備地址,高位在前
3、ACK 信號,該信號由從機發出,主機接收
4、發送要操作的 eeprom 地址,即是要寫數據到的地址
5、發送要寫入的數據
6、接收從機應答信號
7、發送 stop 信號,通信結束
對比之前的結果分析,可以發現與我們分析的一致。
2.2 串口數據解析并結合串口通信協議進行分析
2.2.1 串口數據解析
-
選擇信號觀測
Analyzers 選項里面,點擊選擇需要觀測的輸出:
-
USART1 串口通道:
-
邏輯儀連接
| CH0 | PA9(TXD) |
| GND | GND |
- 點擊左上角 START ,采集數據后觀測:
- 數據解析
USART1 串口輸出時的具體數據如下圖:
2.2.2 結合串口通信協議分析
-
UART 使用的是異步串行通信。
異步通信以一個字符為傳輸單位,通信中兩個字符間的時間間隔多少是不固定的,然而在同一個字符中的兩個相鄰位間的時間間隔是固定的。 -
串口通信協議數據傳送時,每一個字符為 10 位(1 個起始位,7 個數據位,1 個校驗位,1 個結束位):
起始位—先發出一個邏輯“ 0 ”信號,表示傳輸字符的開始;
數據位—可以是 5~8 位邏輯“ 0 ”或“ 1 ”;
校驗位—數據位加上這一位后,使得“ 1 ”的位數應為偶數(偶校驗)或奇數(奇校驗);
停止位—它是一個字符數據的結束標志。可以是 1 位、1.5 位、2 位的高電平;
空閑位—處于邏輯“ 1 ”狀態,表示當前線路上沒有資料傳送。
從邏輯分析儀的波形可以看到,每一個字符為 10 位,有一個邏輯“ 0 ”的起始位,7 位數據位,1 為奇偶校驗位,1 位高電平停止位,1 為處于邏輯“ 1 ”的空閑位。其中的數據位:1101000 即十六進制數 0x68。
串口波形符合串口通信的數據傳輸格式。
-
串口通信協議數據傳送速率用波特率來表示,即每秒鐘傳送的二進制位數。
數據的波特率為 1s 傳送的碼元符號的個數。
從邏輯分析儀的波形可以看到,實際傳輸一個比特時間為 8.75 us,而之前設置的波特率為 115200,即理論上傳輸一個比特時間為 1/115200=8.68 us,可見串口通信的實際傳輸速率與理論相近,只存在一點點誤差,可能是設備問題造成的。
3 總結
本篇文章先介紹了 Saleae Logic 16 邏輯分析儀的安裝,再簡單介紹了 Saleae Logic 16 邏輯分析儀的界面使用,做的比較簡陋。并對 I2C 和串口通信做了主要分析。
文章有不足之處,敬請大家指教。
4 參考資料
鏈接:https://pan.baidu.com/s/1LXJIvDVQwKM71V82eapegw
提取碼:luha
總結
以上是生活随笔為你收集整理的SaleaeLogic 16 逻辑分析仪的安装及使用【对 I2C、SPI、串口的信号进行测量】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu 安装 魔霸_魔霸大陆电脑版
- 下一篇: 防火卷帘门算料计算公式