2017年9月7日 星期四

如何簡單的分析MCU I/O是否損壞

曾經在一個產品的試產階段,發現IC Chip die(裸晶)做bonding(打線)完後回來的產品有一堆故障,因為當時是冬天,也不確定IC打線製程定沒問題,這時候想到IC的I/O port都有設計ESD protection diode,這時候電表的功用來了,直接用電表二極體檔位量測一下ESD Diode是否電壓約為0.65V左右,發現產品故障的,大部分diode量測電壓都有問題,架構圖如下:

後來詢問打線廠時,將IC封膠去除用顯微鏡觀察I/OPAD狀況發現有破裂,是因為IC的PAD鋁墊層過薄,導致超音波熔接Wire時把鋁墊層打裂,導致IC有故障的狀況,可能是打線的克數過重,導致破裂也有可能,這時觀察號電流也會增加,都可以當作參考數據!

如要正確性高一點的話,可以用半導體分析儀直接量測二極體的IV Curve,Diode從負電壓掃描到正電壓,自動會跑出來Current Curve,教科書上有很多類似的如圖,曾經用來分析I2C的CLK/DATA pin故障情況,由於單純用電表量沒辦法百分之百正確,畢竟有些I/O要死不死的就比較難用二極體電壓判定,用分析儀來跑IV Curve判定會比較正確,只不過一台很昂貴,並非一般廠商會購買的!

補充: 有網友表示這要看 ESD的設計了,很多IC會用更複雜的MOSFET 開關來做ESD保護電路,這時特性可能就不會完全與diode相同,雖然MOSFET到S/D和sub還是存在巨大的PN junction,但又多了控制!
在我的經驗來說之前用半導體分析儀時有時會分析不出來,去跟IC設計人員詢問,因為保護電路是用MOSFET設計的,如果遇到這種情況就會比較棘手,不過基本上若是一般MCU的I/O應該都是判定得出來的!

STM32於IAR 9.3以後的版本將uart導向至printf

首先,請先參考如以下IAR提供的"在IAR Embedded Workbench中实现打印输出技術資料" https://www.iar.com/cn/knowledge/support/technical-notes/general/implementing-printf-ou...