早期的微控制器都具有固定的I/O,雖然可以將一個內部周邊連接到I/O接腳,但這些接腳受到限制,也不可能調節這些輸出。而一些現代的微控制器不僅能夠將周邊路由到任何I/O接腳,還可以對輸出進行配置和客製化以滿足特定需求。本文將討論如何在PSoC上利用這種功能來簡化設計專案的測試。

筆者曾經撰寫過幾篇文章,談到關於我測試自己設計之產品的方法;我也嘗試在一款新產品中構建這些概念(參考圖1),可以看到有不少I/O連結,所用的嵌入式微控制器是PSoC5LP。關於這款元件我已經寫過不少,現在要再來一次!

我認為解決這個問題的最佳方法,是使用內建測試來啟動輸出以響應某些輸入,這將使測試治具更加簡單,因為它只需要硬體而不需要對外部元件進行額外程式設計。

20190315_ReConfigurability_TA31P1

圖1:一款以PSoC5LP為基礎的控制器,其中大多數零組件安裝在底部。圖中貼膠帶的地方是用以保護隱私。
(來源:Aubrey Kagan)

一個讓我困擾的問題是,該款產品有一個串列埠,其RS-485介面(半雙工)使用常見的MAX485。如果沒有某種形式的外部UART,要如何進行測試?也許可以使用示波器來檢查接收,但是反向資料怎麼辦?在以前有摩托羅拉(Motorola)的UART轉頻元件(MC14469),但該元件已經停產,所以這個方法行不通。

我理智地想了一下,我不是要檢查UART是否正常,而是要看支援硬體是否正常。因此我要做的就是在第一次測試中激發微控制器輸出,並在第二次測試中激發微控制器輸入並讀取。我本來可以使用UART的中斷(break)功能──如果它有這個功能的話,並且要是採用PSoC5LP元件的案例;儘管它涉及額外的中斷。老實說,我是開始寫這篇文章時才冒出這個想法。

20190315_ReConfigurability_TA31P2

圖2:微控制器上典型的嵌入式UART,帶有半專用I/O接腳。
(來源:Aubrey Kagan / PSoC Creator)

在一顆典型的微控制器上,UART連結被導出至一組或多組I/O接腳,然後透過配置暫存器(register)來啟用,如圖2所示。在某些可重配置微控制器上,特別是PSoC5LP,可以添加暫存器,並設置UART接腳與微控制器實體I/O接腳之間的元件,如圖3所示。

20190315_ReConfigurability_TA31P3

圖3:硬體設定允許為測試重配置輸出。
(來源:Aubrey Kagan /PSoC Creator)

UART的輸出接腳透過多工器(multiplexer)連接到I/O接腳...

...繼續閱讀請連結EE Times Taiwan網站