試想這樣一個場景,我們新設(shè)計了一款集成了很多芯片的板卡,包括BGA封裝的微控制器,如FPGA/MCU,還有LED、按鍵、串口、傳感器、ADC等基本外設(shè)。
我們需要測試一下硬件電路工作是否正常、焊接是否良好,通常我們會寫個測試代碼,比如控制LED閃爍,讀取按鍵的輸入,串口收發(fā)一些數(shù)據(jù),然后把程序燒錄進(jìn)去,看看現(xiàn)象是否和我們設(shè)計的一致。
當(dāng)現(xiàn)象和設(shè)計不一致時,是代碼設(shè)計的問題、還是硬件原理的問題、又或者是焊接的問題呢?應(yīng)該如何一一排除呢?
這里就可以使用JTAG邊界掃描的測試方法,來驗證到底是哪里出的問題,因為JTAG邊界掃描不需要寫任何代碼,只需要一個BSDL文件,就可以控制和讀取芯片的任意管腳。
下面我們以意法半導(dǎo)體 MCU STM32F103為例,配合JLink,演示JTAG邊界掃描的應(yīng)用。
1. 獲取芯片的BSDL文件
獲取意法半導(dǎo)體MCU的BSDL文件,可以到官方網(wǎng)站搜索BSDL,就會彈出對應(yīng)系列的BSDL文件包。
下載到本地之后解壓,可以看到很多BSDL文件,我們開發(fā)板上的芯片型號是STM32F103ZET6-LQFP144,屬于大容量芯片,所以BSDL文件對應(yīng)的是:
STM32F1_High_density_LQFP144.bsd
2. 硬件連接
使用排線連接JLink和開發(fā)板的JTAG接口。
hw
并確保設(shè)備管理器里JLink驅(qū)動被正確識別。
3. 邊界掃描測試
打開TopJTAG Probe軟件之后,先創(chuàng)建一個工程,并選擇JTAG設(shè)備類型,這里我們使用的是JLink。
如果硬件連接正確,驅(qū)動安裝正常,軟件會自動識別到連接的芯片。
指定芯片所對應(yīng)的BSDL文件,這里我們選擇上一步下載的STM32F1_High_density_LQFP144.bsd
文件,并進(jìn)行IDCODE校驗。
如果IDCODE不匹配,說明選擇的BSDL文件錯誤,之后就進(jìn)入到邊界掃描測試界面了。
點擊Instruction按鈕,可以選擇三種測試命令:
- BYPASS:旁路掉當(dāng)前器件,在菊花鏈拓?fù)浞绞綍r,跳過當(dāng)前器件
- SAMPLE:采樣模式,可以對所有管腳的狀態(tài)進(jìn)行讀取,可以統(tǒng)計電平翻轉(zhuǎn)的次數(shù),或者以波形方式顯示實時狀態(tài)
- EXTEST:可以任意的控制所有外部管腳的狀態(tài),可手動指定為高低電平,高阻態(tài)。
這里我們選擇SAMPLE模式,點擊RUN按鈕,可以看到芯片所有的管腳實時狀態(tài),
在Pins窗口,可以看到所有管腳的實時狀態(tài),選中一個管腳,可以把它添加到Watch窗口,或者Waveform窗口。
切換到EXTEST模式,可以手動設(shè)置管腳的高低電平或高阻狀態(tài)。
Watch窗口信號的還原能力,完全取決于JTAG_TCK的頻率,即管腳信號的采樣時鐘。
4. 總結(jié)
通過邊界掃描可以快速的判斷文章開頭提到的幾個問題,如果使用邊界掃描的方式,發(fā)現(xiàn)讀取和控制管腳的狀態(tài)不對,那么可以判定是焊接的問題,通過編程,甚至可以按照一定的時序來控制管腳的狀態(tài),從而達(dá)到控制外部器件的目的。
總之,邊界掃描是一種非常實用的測試方法,在電路板生產(chǎn)制造、芯片設(shè)計、芯片封測等方面都有很廣泛的應(yīng)用。
-
微控制器
+關(guān)注
關(guān)注
48文章
7574瀏覽量
151713 -
傳感器
+關(guān)注
關(guān)注
2552文章
51276瀏覽量
755065 -
BGA封裝
+關(guān)注
關(guān)注
4文章
118瀏覽量
17959 -
STM32F103
+關(guān)注
關(guān)注
33文章
478瀏覽量
63725 -
LED閃爍
+關(guān)注
關(guān)注
0文章
29瀏覽量
9848
發(fā)布評論請先 登錄
相關(guān)推薦
評論