Q1: 請介紹一下MCU的測試方法。
A1:MCU從生產出來到封裝出貨的每個不同的階段會有不同的測試方法,其中主要會有兩種:中測和成測。
所謂中測即是WAFER的測試,它會包含產品的功能驗證及AC、DC的測試。項目相當繁多,以HOLTEK產品為例最主要的幾項如下:
1. 接續性測試:檢測每一根I/OPIN內接的保護用二極管是否功能無誤;
2. 功能測試:以產品設計者所提供測試資料(TEST PATTERN)灌入IC,檢查其結果是否與當時SIMULATION時狀態一樣;
3. STANDBY電流測試:測量IC處于HALT模式時即每一個接點(PAD)在1態0態或Z態保持不變時的漏電流是否符合最低之規格;
4. 耗電測試:整顆IC的靜態耗電與動態耗電;
5. 輸入電壓測試:測量每個輸入接腳的輸入電壓反應特性;
6. 輸出電壓測試:測量每個輸出接腳的輸出電壓位準;
7. 相關頻率特性(AC)測試,也是通過外灌一定頻率,從I/O口來看輸出是否與之匹配;
8. 為了保證IC生產的長期且穩定品質,還會做產品的可靠性測試,這些測試包括ESD測試,LATCH UP測試,溫度循環測試,高溫貯存測試,濕度貯存測試等;
成測則是產品封裝好后的測試,即PACKAGE測試。即是所有通過中測的產品封裝后的測試,方法主要是機臺自動測試,但測試項目仍與WAFER TEST相同。PACKAGE TEST的目的是在確定IC在封裝過程中是否有任何損壞。
Q2:C語言和匯編語言在開發單片機時各有哪些優缺點?
A2:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是占用資源少、程序執行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。
C語言是一種結構化的高級語言。其優點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是占用資源較多,執行效率沒有匯編高。
對于目前普遍使用的RISC架構的8bit MCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機器碼,很容易出現ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執行什么動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在單片機開發中,我們還是建議采用匯編語言比較好。
Q3:初學者到底是應該先學C還是匯編?
A3:對于單片機的初學者來說,應該從匯編學起。因為匯編語言是最接近機器碼的一種語言,可以加深初學者對單片機各個功能模塊的了解,從而打好扎實的基礎。
Q4:MCU在射頻控制時,MCU的時鐘(晶振)、數據線會輻射基頻或基頻的倍頻,被低噪放LNA放大后進入混頻,出現帶內的Spur,無法濾除。請問有沒有好的解決方法?
A4:在設計高頻電路用電路板有許多注意事項,尤其是GHz等級的高頻電路,更需要注意各電子元件pad與印刷pattern的長度對電路特性所造成的影響。
最近幾年高頻電路與數位電路共用相同電路板,構成所謂的混載電路系統似乎有增加的趨勢,類似如此的設計經常會造成數位電路動作時,高頻電路卻發生動作不穩定等現象,其中原因之一是數位電路產生的噪訊,影響高頻電路正常動作所致。為了避免上述問題除了設法分割兩電路block之外,設計電路板之前充分檢討設計構想,才是根本應有的手法,基本上設計高頻電路用電路板必需掌握下列三大原則:
高質感;
不可取巧;
不可倉促搶時間。
以下是設計高頻電路板的一些建議:
(a)印刷pattern的長度會影響電路特性。
尤其是傳輸速度為GHz高速數位電路的傳輸線路,通常會使用strip line,同時藉由調整配線長度補正傳輸延遲時間,其實這也意味著電子元件的設置位置對電路特性具有絕對性的影響。
(b)Ground作大better。
銅箔面整體設置ground層,而連接via的better ground則是高頻電路板與高速數位電路板共同的特徵,此外高頻電路板最忌諱使用幅寬細窄的印刷pattern描繪ground。
(c)電子元件的ground端子,以最短的長度與電路板的ground連接。
具體方法是在電子元件的ground端子pad附近設置via,使電子元件能以最短的長度與電路板的ground連接。
(d)信號線作短配線設計。





