<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設計應用 > LED測試與控制的自動化

          LED測試與控制的自動化

          作者: 時間:2011-09-08 來源:網絡 收藏
          發(fā)光二極管(LED)常被用于各種現代電子設計與系統(tǒng)中,以提供影像顯示與狀態(tài)檢視的功能。在機板日趨復雜之際,廠商紛紛尋求更多的測試功能,來檢驗每個組件。而這將會使得邊界掃瞄測試(Boundary Scan Test;BST)演進到加入具備完整功能的內建自我測試(Build-in Self Test;BIST)技術。業(yè)者面臨的挑戰(zhàn)在于至今仍有一些組件的自動測試功能有限,必須依賴人工測試或目測來偵測故障狀況。這類LED可制造出1美元成本的零組件,應用在售價達1萬美元的線路卡或系統(tǒng)中,因此,零組件質量的優(yōu)劣會直接影響顧客滿意度,以及對整體產品質量的觀感。

          瓶頸

          LED的故障通??煞譃閮纱箢?。第一,當LED在插入前置面板顯示器或其它狹小空間時,因組件故障、電路板組裝問題以及機械組裝破損,會造成電子開路與短路。第二種則是當鄰近LED在被激化至相同狀態(tài)時,其色彩與亮度會出現不一致的狀況。利用BST檢驗線路的連續(xù)性,就能在其它組件中找出第一種故障形態(tài)。但在獨立型LED中,內建BST功能并不是一種可行的作法,制造工程師只好以目測方式來檢驗LED。目測的檢驗流程是由技術人員觀察LED狀態(tài),之后再回報所有組件都正常無誤。這種重復性的作業(yè)容易出現人為失誤,因此檢驗更加復雜,以確保技術人員沒有分心出錯。對于測試人員與業(yè)者而言,這種測試流程都不是一種有效率、具有附加價值的方法。
           
          在尋找的替代方法之前,有必要檢視LED在正常系統(tǒng)運作下的運作程序。基本而言,當施加電壓讓二極管進入偏壓狀態(tài)時,LED就會發(fā)光,如(圖一)(a)所示。由于二極管的反應屬于非線性模式,因此通常會在電路中加入一個限流電阻器,以確保不會超過驅動針腳的電流上限。一般而言,單色LED通常是由一個驅動器所,并連結至一個針腳上,另一根針腳則接地(GND)。這種設計可使得一個針腳就可以一個LED。要顯示多種顏色,只要加入其它顏色的LED,并將其輸入端連結至其它針腳即可。

          簡易解決方案

          顯示一個雙色LED組態(tài),使用一個共同的接地端,并連結不同的驅動器。在同一空間內結合兩個或更多不同顏色LED會發(fā)生的情況之一便是若兩個LED同時被激化,其所呈現的混色則取決于兩個LED所顯示的顏色。另一種建置雙埠雙色LED的方法,則是把兩個組態(tài)過的LED以頭接尾的方式連結,任一方的發(fā)光狀態(tài)則取決于進入偏壓狀態(tài)的另一方LED。若需要顯示混色,情況就變得更復雜,系統(tǒng)必須以更快的速度在兩種激化狀態(tài)之間進行切換,如此肉眼才不會看到切換時的閃爍,而讓混色呈現單一顏色狀態(tài),如圖一(c)所示。在以下的討論中,將介紹這種雙色LED,因為它代表最復雜的狀況,而且也涵蓋了其它種類的建置方法。
           
          若針腳1與針腳2輸入相同的電壓(通常為 Vcc 或GND),不會有任何電流產生,而電路中所有點都會測得相同的電壓。當兩個針腳的電壓高低不同時,雙色LED就會產生偏壓,測量點的電壓就會成為一個diode drop(通常為0.7伏特),會高于或低于針腳2的電壓。若能測量到此點的電壓,LED的狀態(tài)就能確定,也能發(fā)展出涵蓋各個LED的測試機制;并且可藉此辨識出LED在制造與測試過程中大部份的故障狀況。就最基本的層面而言,若每個LED連結至一個比較器,并選擇合適的設定點作為比較器的輸入來源,LED就能進行測試流程。在這種測試中,測試器處在完全被動的狀態(tài),因此,LED器必須把LED放在適合的電子狀態(tài)中。

          此外,由于理想狀況是LED在各種不同的狀態(tài)下受測(受激化后顯示不同顏色或是關閉),因此比較器的設定點最好能夠加以調整。但這需要用到更多的組件,機板研發(fā)人員也須增加耗電量。這種方法的主要缺點在于零組件數量過高,因為每個LED需要自己專屬的比較器,或某種形態(tài)的多任務機制來提高LED的涵蓋率,但另一方面卻須減少零組件數量。此外,還須面臨控制所有設定點的復雜作業(yè),以確保在適當的設定點中檢查到正確的數值。
          整合度略高的解決方案可使用多種A/D模擬數字轉換器,并透過多任務機制對所有測試點進行采樣,將結果匯整成處理元素的格式。這些信息可用來分析其所測出的電壓值,對于處于測試中的現有LED組態(tài)而言是否合適。雖然這種方法可減少零組件數量,但仍需要多個組件來執(zhí)行作業(yè),以及處理從測試點所擷取到的數據。而整合度更高的系統(tǒng),則是運用一個具備多種模擬功能的微控制器。這種方式能把A/D采樣以及處理功能整合至單一組件。
          實際的測試流程則類似其它機板測試,其中可能發(fā)生組裝(機板與機箱)錯誤。單一測試模式僅能檢驗出激態(tài)LED是不足以確保運作正常,因此業(yè)界必須發(fā)展出一套完整的測試方案。以下顯示一個雙色LED的范例:

          (1)所有LED關閉(兩個連結至Vcc的針腳)–接地端偵測為短路狀態(tài);
          (2)所有LED關閉(兩個連結至接地端的針腳)–Vcc端偵測為短路狀態(tài);
          (3)所有LED開啟(顏色一)–在顏色一電路信道中偵測到故障;
          (4)所有LED開啟(顏色二)–在顏色二電路信道中偵測到故障;
          (5)所有LED關閉(鄰近LED線路在Vcc端與接地端之間切換)–于LED線路間偵測到短路狀態(tài);
          (6)反復第(5)步驟,偵測反方向的通道。

          完成這六項步驟,就可確定LED所有功能都正常無誤,而且在原始機板組裝或是前置面板的機械組件也沒有任何故障狀況。如此一來,能大幅降低對于人工目測LED功能的依賴,讓制造工程師能夠在制造流程中的任何階段均能夠測試LED功能。此外,設計人員還必須額外考慮負責控制與驅動LED組件,與測試組件之間的協調運作。組件之間必須具備握手(handshaking)機制,確保測試組件了解目前LED 的「預期」狀態(tài),點1的電壓值代表通過測試與測試失敗,如圖二所示。(圖三)顯示一個可程序化的測試電路組態(tài),這個組件是設計用來監(jiān)控26個LED,并透過一個I2C接口與整個系統(tǒng)相連結。這項設計讓系統(tǒng)能對所有設定點進行調整,并指定接下來要測試的組件。運用I2C接口讓外部系統(tǒng)能分析任何測試的結果,以及每個LED的效能表現。
           
          另一種在設計中加入微控制器的方法,就是將控制與測試功能整合在同一個組件中。一般使用的連結埠擴充器可用來支持設計中的LED控制功能,組件中的模擬功能則可用來同時執(zhí)行測試工作。這項整合可簡化設計工作,因為設計人員僅須發(fā)出一個測試指令,讓微控制器負責控管所有的程序,完成后還會自動切換至正常的系統(tǒng)運作狀態(tài)。由于組件必須支持控制與測試功能,雖然額外的針腳與軟件復雜度將衍生出更多的硬件需求;但另一方面也降低系統(tǒng)處理器在制造測試,與正常系統(tǒng)運作時LED控制作業(yè)的負載量。

          結語

          總結來說,目前許多LED都是以目測方式進行檢驗,很容易遇到人為疏失的問題,因此,業(yè)界已發(fā)展出許多替代的測試方法。這些方法不僅能提高測試的可靠度,還帶來部份測試的效益,以取代人工測試流程。這不僅能降低成本,而且能讓LED在組裝流程的任何階段都能進行測試,甚至成為正常啟動程序中的一環(huán)。而現有的LED測試程序均無法提供上述這些功能。


          關鍵詞: LED測試 控制 自動化

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();