前言
最近除錯NXP FRDM-MCXN947開發板,發現它的硬體i2c介面讀取的感測器資料老是不對,排查了硬體電路也發現不了啥問題;於是乎想到用邏輯分析儀試一下,果然很快定位到問題所在;還是那句話,用對的工具做對的事情,別浪費時間!這篇文章主要關於邏輯分析儀的使用教程
介紹
nanoDLA 是MuseLab推出硬體軟體以及上位機均開源的邏輯分析儀,外觀精緻小巧,功能豐富,價格低廉,最高可支援24Mhz取樣率,同時支援百餘種協議解析。可以較好的滿足電子工程師日常的開發除錯需求,在問題定位、多元件的複雜系統、時序分析、效能分析等場景可以大大提升開發效率
我的邏輯分析儀,此處應該要有照片
安裝
將開源倉庫的資料取回來
git clone --recursive https://github.com/wuxx/nanoDLA.git
pulseview軟體包在nanoDLA\software
路徑下,雙擊安裝
安裝過程超級簡單,選擇合適的安裝路徑,其它一概預設就可以了
邏輯分析儀接上USB type C線,插上電腦,開啟Windows10的裝置管理器發現多了個通用序列匯流排裝置(fx2lafw)
開啟Zadig,選擇Options->List All Devices
,核取方塊選擇fx2lafw(USB ID為 1D50:608C),點選Install Driver
安裝驅動即可
使用
開啟pulseview軟體,軟體介面如下
① 選擇邏輯分析儀裝置號,這裡裝完驅動預設就可以了
② 配置通道是否顯示,預設全部開啟
③ 取樣率配置
④ 取樣頻率配置
⑤ 解碼型別配置,點選會彈出一個各種匯流排協議的下拉框(i2c、spi、CAN等)
⑥ 開始採集按鈕
使用示例
i2c
事先得正確接線:SCL、SDA、GND三個引腳就夠了,CH0接SCL、CH2接SDA、GND接器件的地線
配置通道,只需要使能D0和D2兩個通道
配置取樣率(1 M Samples)和取樣頻率(500 kHz)
點選工具欄最右邊的解碼協議選擇按鈕,下拉選擇i2c匯流排
雙擊i2c解碼器,在彈出的對話方塊中:SCL選D0,SDA選D2
點選採集即可採集到i2c波形資料
選擇一個波形報文放大,可以看到整個主從裝置通訊過程:從裝置地址為0x23,主裝置每次都會往0x23的裝置地址寫0x00的資料,然後再從0x23讀取兩個位元組的資料,這就是PSoc™62和BH1750的i2c通訊過程,讀寫過程的應答標誌也一目瞭然
另外
我們也可以使用示波器的協議解碼功能,檢視i2c的解碼資料,可能沒有邏輯分析儀支援的功能那麼多,但也夠用了
參考
wuxx/nanoDLA: 24MHz sampling rate Logic Analyzer based on fx2lafw (github.com)