沈楨宇,賴義漢,楊秋忠,高 瑞,李 峙
(龍巖學(xué)院 物理與機(jī)電工程學(xué)院,福建 龍巖 364012)
在各類大中專院校電子信息類專業(yè)中均開設(shè)有電子技術(shù)課程,在課程的實驗、實訓(xùn)等活動中,學(xué)生會使用大量的數(shù)字集成邏輯芯片。由于循環(huán)使用次數(shù)較多,或?qū)W生操作不當(dāng)導(dǎo)致芯片損壞率比較高,部分芯片使用時間較長,芯片表面的標(biāo)識符字跡模糊不清,無法識別其具體型號[1]。由于故障芯片會給實驗和電路調(diào)試造成很大的麻煩,會導(dǎo)致時間和精力上毫無意義的浪費[2-3],因此,每次實驗前都需要對芯片進(jìn)行功能檢測。為能快速檢測芯片的型號及邏輯功能,設(shè)計了一款以STC15系列單片機(jī)和OpenMV攝像頭來實現(xiàn)集成邏輯芯片自動檢測,具有芯片型號自動識別和芯片故障自動檢測等功能,能顯示芯片管腳圖,實驗無需查看手冊,其結(jié)構(gòu)簡單、檢測速度快、操作方便的檢測器,在數(shù)字邏輯電路實踐教學(xué)和數(shù)字系統(tǒng)設(shè)計中有良好的應(yīng)用推廣價值。
集成邏輯芯片檢測器主要由OpenMV攝像頭識別模塊和單片機(jī)檢測系統(tǒng)組成,單片機(jī)檢測系統(tǒng)由20腳IC緊鎖座、過流檢測電路、液晶顯示模塊、報警電路等組成,系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)方框圖
首先,OpenMV攝像頭模塊讀取被測邏輯芯片上的標(biāo)識符信息,并通過圖像識別算法識別芯片型號,通過串口發(fā)送給單片機(jī)檢測系統(tǒng)。單片機(jī)通過串口接收OpenMV攝像頭模塊發(fā)送來的芯片型號信息,并根據(jù)被測芯片型號產(chǎn)生對應(yīng)的邏輯測試信號給被測芯片,并讀取被測芯片的輸出邏輯值,與事先設(shè)定好的邏輯真值表進(jìn)行對比,如果符合該芯片的真值表功能,則說明芯片功能正常,芯片沒有損壞,否則說明芯片已損壞。當(dāng)被測芯片表面標(biāo)識符模糊攝像頭無法識別時,系統(tǒng)自動采用 “盲檢”模式,即把不同型號芯片的檢測程序逐一運(yùn)行,若遇到某個型號芯片的檢測程序檢測出正確結(jié)果,則芯片正常,顯示出該芯片型號的信息。若每個檢測程序都檢測錯誤,則表示無此芯片或芯片損壞。
系統(tǒng)控制器采用STCl5F2K60S2系列增強(qiáng)型單片機(jī),其I/O口設(shè)置為推挽輸出模式,每個I/O口輸出電流最大可達(dá)到20 mA[4],其高電平電壓為5 V,低電平電壓接近0 V,由于被測集成邏輯芯片的工作電壓一般為5 V,單片機(jī)的I/O口可直接與被測邏輯芯片的輸入輸出口連接。電路原理圖如圖2所示。
圖2 單片機(jī)控制電路原理圖
由于大部分?jǐn)?shù)字集成邏輯芯片電源端VDD和GND腳分布在芯片的對角上,即電源在芯片的最右上腳,GND在芯片的最左下腳,為解決不同管腳芯片電源和地分布不同問題,在檢測時,將所有芯片統(tǒng)一往緊鎖座的頂部靠齊,則芯片的最右上端即為緊鎖座的第20腳,固定接正電源,不同管腳的邏輯芯片只是接地不同,在設(shè)計時只要將單片機(jī)連接待測芯片的接地端的I/O口輸出低電平即可。
OpenMV攝像頭模塊是一個成本低、功能強(qiáng)大的機(jī)器視覺模塊,它以STM32單片機(jī)為核心,集成了OV7725攝像頭芯片;提供了UART、I2C以及GPIO等接口[5];內(nèi)置了一些圖像處理功能,用C語言或Python語言等可以高效地實現(xiàn)核心機(jī)器視覺算法,可以直接調(diào)用已經(jīng)封裝好的圖像處理函數(shù);在圖像識別時,幀率可達(dá)85~90幀,速度快。在采用OpenMV攝像頭進(jìn)行識別時,首先要對所有的邏輯芯片進(jìn)行模型學(xué)習(xí)訓(xùn)練,建立模型庫,才能正常識別芯片的型號[6]。
本設(shè)計使用了OpenMV模塊的串口 4根引腳,VCC與GND分別接入+3.3 V與GND,其串口通信接口分別與單片機(jī)的RXD、TXD連接,波特率配置為115200bps,通過串口把檢測到的芯片型號發(fā)送給單片機(jī)。
顯示屏采用OLED顯示模塊,其分辨率為128×64點陣,可顯示漢字及英文字母等信息,其主要功能顯示芯片的型號、功能、狀態(tài)及相關(guān)提示信息等。單片機(jī)與OLED顯示屏之間采用4針接口,主要有VCC、GND、SCL、SDA,其中SCL和SDA為IIC串行通信接口,單片機(jī)通過模擬IIC協(xié)議與OLED進(jìn)行通信,發(fā)送相關(guān)的顯示數(shù)據(jù)。
在芯片檢測時,為防止被測芯片不小心插反或者芯片內(nèi)部已擊穿時電流過大燒毀其他芯片及電路,電路需增加過流檢測及報警電路。過流檢測電路是在外部電源接口與被測芯片電源VDD端之間串接了一個十幾歐姆的保護(hù)電阻,從而將電流信號轉(zhuǎn)換成電壓信號,通過單片機(jī)內(nèi)部ADC模塊檢測待測芯片電源端的電壓值,在芯片正常工作時,其工作電流較小,電源電壓接近VDD,當(dāng)芯片插反或短路時,電流較大,保護(hù)電阻的壓降增大,芯片的電源電壓會變小,此時系統(tǒng)產(chǎn)生報警,提醒用戶芯片插反或芯片擊穿。
軟件設(shè)計部分主要包括攝像頭識別模塊及單片機(jī)檢測模塊,當(dāng)攝像頭成功讀取芯片標(biāo)識符時,通過串口發(fā)送至單片機(jī),若攝像頭無法識別,則發(fā)送0xAA信號,攝像頭工作流程圖如圖3所示。單片機(jī)接收到發(fā)送來的芯片型號,啟動相應(yīng)芯片的檢測函數(shù),若接收到0xAA信號,則系統(tǒng)采用“盲檢”方式,逐一調(diào)用預(yù)存的所有芯片檢測函數(shù),直到返回邏輯“1”或者執(zhí)行完所有檢測函數(shù)為止。若所有函數(shù)執(zhí)行后,仍然得不到正確的結(jié)果,則OLED液晶屏顯示“芯片已壞”或“無此芯片”,在檢測過程中,若過流檢測電路電流過大,則系統(tǒng)會產(chǎn)生聲音報警,提醒用戶更換芯片,單片機(jī)檢測系統(tǒng)工作流程如圖4所示。
圖3 OpenMV攝像頭工作流程圖
圖4 單片機(jī)檢測系統(tǒng)工作流程圖
檢測器結(jié)構(gòu)如圖5所示,為提高芯片的識別效果,OpenMV攝像頭采用長焦鏡頭,首先要對所有待測芯片進(jìn)行學(xué)習(xí)訓(xùn)練,形成模型庫,在識別過程中,檢測相似度在85%以上為識別成功,圖6是對74LS161、74LS86和74LS20等芯片進(jìn)行的相似度測試,總體相似度都在89%以上。
圖5 檢測器結(jié)構(gòu)圖
圖6 74LS161、74LS86等芯片OpenMV識別相似度
在過流保護(hù)電路測試中,對74LS112等芯片進(jìn)行了測試,芯片外部電源電壓為5.06 V,當(dāng)被測芯片正常放置和插反時,測量其電源端的電壓及電流的大小,其數(shù)據(jù)如表1所示,正常工作時,電源電流一般低于20 mA,若插反時,芯片的電流都比較大,一般都會超過50 mA以上。
表1 74LS112正插與反插芯片電源端電壓與電流
系統(tǒng)對部分組合邏輯芯片和時序邏輯芯片的功能及故障進(jìn)行綜合測試,測試結(jié)果如表2所示,檢測器都能很好地識別芯片的功能及芯片的工作狀態(tài)。
表2 部分組合邏輯和時序邏輯芯片檢測情況表
系統(tǒng)主要采用單片機(jī)與OpenMV攝像頭模塊的有機(jī)組合,通過圖像識別技術(shù)和單片機(jī)的檢測技術(shù),能夠快速地檢測邏輯芯片的功能及狀態(tài);對74LS系列和CC4000等系列邏輯芯片進(jìn)行了測試,效果良好,成功率達(dá)99%以上。若要增加新的檢測邏輯芯片,只要更新單片機(jī)中的函數(shù)庫即可,硬件電路簡單,操作方便,該檢測儀可適用于絕大部分的邏輯芯片的功能及故障檢測。