摘要:隨著現代電子技術的迅速發展,芯片的應用越來越廣泛。在實驗室的學習案例中,74系列邏輯芯片的使用越來越頻繁,保證芯片邏輯功能完好,才能確保實驗結果準確。若對實驗所需芯片的好壞進行檢測,需核查芯片型號并逐一檢測各個引腳,這往往需要耗費大量的時間和精力。針對74系列14和16引腳芯片,設計了一款基于STM32F103單片機的自識別及檢測指示儀。
關鍵詞:數字邏輯芯片;自識別;芯片檢測
中圖分類號:TM712 文獻標識碼:A
文章編號:1009-3044(2025)04-0130-03 開放科學(資源服務) 標識碼(OSID) :
0 引言
數字芯片是數字電子實驗中基礎且關鍵的硬件[1],芯片的完好程度直接影響實驗結果的準確性。由于學生操作不規范或在存儲過程中對芯片造成的損壞,可能導致芯片邏輯功能失效。同時,實驗室采購的芯片無法頻繁更換。因此,設計數字邏輯芯片檢測儀非常有必要。本設計以實驗室中常用的74系列14引腳和16引腳芯片為檢測對象,支持檢測的芯片型號包括:74LS00、74LS08、74LS20、74LS32、74LS54、74LS74、74LS86、74LS138、74LS151、74LS153、74LS161、74LS192等12種。該裝置能夠依據芯片的工作原理和內部邏輯功能特征,自動識別芯片型號并判斷其邏輯功能是否完好[2]。通過優化檢測程序,提高了芯片識別的速度和準確性,并將檢測結果實時顯示在LCD液晶屏上,便于用戶直觀地了解檢測結果。
1 整體方案介紹
檢驗數字芯片的完好性,即檢驗其邏輯功能是否完整。該檢測裝置具備以下功能:1) 自適應檢測14引腳和16引腳芯片;2) 自動識別芯片型號;3) 檢測芯片邏輯功能是否完好。系統由主控模塊、芯片檢測接口模塊、LCD液晶顯示模塊、電流檢測模塊、LED提示模塊和電源模塊組成。其整體測試框圖如圖1所示。
2 工作原理設計
2.1 多型號芯片處理原理
14引腳和16引腳芯片的VCC端均位于右上角第一個引腳,但14引腳芯片的GND端位于7引腳,而16 引腳芯片的GND端位于8引腳。為節約成本,采用16 引腳的IC底座,14引腳芯片可以頂端對齊放置。測試函數能夠自適應地將7或8引腳置為低電平,使芯片處于工作狀態[3]。IC底座與STM32單片機的連接方式如圖2所示。
通過分析不同芯片的邏輯功能,封裝測試任務中引腳模式切換的函數[4]。表1顯示,大部分芯片的輸入輸出引腳狀態一致,但74LS54芯片需要額外配置兩個輸入引腳作為輸出,且僅有一個PA5引腳作為輸入。而74LS20芯片則無須重新編寫測試函數,因為PA2和PB5作為輸入引腳時,不會產生邏輯信號沖突或短路問題。
由表2 可知,可將74LS151、74LS153 和74LS161 的測試函數按順序排列編寫,因其輸入引腳大致相同,引腳狀態轉換時的工作量較小。其余型號芯片則根據其具體的邏輯功能進行對應的測試函數編寫。
2.2 主控引腳預處理設計
本設計選用STM32F103單片機作為主控芯片,該芯片的最高時鐘頻率可達72 MHz,并集成了多種常用外設。由于單片機I/O口與數字邏輯芯片的電平不兼容,因此需要添加電平轉換模塊進行轉換。為防止運行不同測試函數時,單片機引腳與待測芯片引腳之間導通產生過大電流而損壞芯片,在IC底座和電平轉換模塊之間添加限流電阻[5]。通過對比不同輸入狀態下的輸出結果與真值表,可以識別出芯片型號。由于采用16引腳IC底座,STM32F103C8T6單片機需要配置15個I/O口引腳,第16個引腳連接電源正極。需要注意的是,不同型號芯片在IC底座同一位置的引腳輸入輸出狀態不同。例如,74LS00 和74LS02 芯片中,74LS00芯片底座1端口為輸入,而74LS02的1號端口為輸出。因此,不同芯片的測試函數需要配置不同的引腳端口狀態[6]。由于多數芯片需要較多的輸入狀態,暫時將STM32F103C8T6單片機所需的15個I/O口配置為推挽輸出狀態,并將配置過程封裝成函數[7]。以74LS00為例,首先配置15個I/O口為推挽輸出模式,將底座7引腳置為低電平使芯片開始工作。四組2輸入與非門共有4個輸出端口,需要配置4個輸入引腳來接收芯片的輸出信號。通過端口配置寄存器(GPIO_CRL 或GPIO_CRH) 可以重新配置I/O 口的輸入輸出狀態。以74LS00的1Y輸出端為例,將其連接至STM32單片機的PB7引腳時,需要將PB7引腳的推挽輸出模式改為上拉輸入模式。
該步驟需要執行的代碼如下:
GPIOB -gt;CRLamp;=0X0FFFFFFF;GPIOB-gt;CRL|=8lt;lt;28。其中GPIOB -gt;CRLamp;=0X0FFFFFFF這個操作是清除 CRL 中引腳7的相關位設置。8的二進制表示為1000,因此MODE[1:0]兩位為00,配置引腳為輸入模式;CNF[1:0]兩位為10,配置引腳為上拉輸入模式,最終將GPIO_Pin_7引腳配置為上拉輸入模式。同理可以將上拉輸入模式配置為推挽輸出模式。
2.3 邏輯芯片型號和功能檢測
檢測開始時,將所有引腳置為高電平,并添加高精度電流傳感器(MAX4080SASA) 來檢測芯片是否插反。電流檢測模塊的輸出電壓由STM32F103內置的12位ADC進行采集,若芯片插反,引腳底座的VCC端口會產生較大電流,此時系統會自動將7或8引腳置為高電平,防止其持續處于短路狀態。同時,LCD1602顯示屏會顯示相應的提示信息。
測試函數首先會查詢支持自檢測型號芯片的真值表[8],并以任務遍歷的形式逐一執行測試函數。以74LS00(四組2輸入與非門) 為例,說明14引腳芯片的測試方法,如圖3所示。
當執行到74LS00的測試函數時,根據以下四個電平狀態組合進行測試:1A=高電平,1B=高電平;1A= 高電平,1B=低電平;1A=低電平,1B=高電平;1A=低電平,1B=低電平(2A2B、3A3B和4A4B同理) 。分別測試1Y、2Y、3Y和4Y的輸出結果,若檢測通過,則將對應標志位置為高電平。如果至少有三個與非門的標志位被置為高電平,則確認芯片為74LS00型號。確認芯片型號后,進一步判斷其邏輯功能是否完整。如果任意一個與非門的標志位未置為高電平,則認為該芯片功能出現故障。
以74LS161(同步四位二進制計數器) 為例說明16 引腳芯片的測試方法,如圖4所示。
當執行到74LS161 測試函數時,首先測試清零端。將引腳底座1端口置為高電平,檢測Q0、Q1、Q2 和Q3是否為低電平,若檢測結果正確則將對應標志位置為高電平。接著測試預置數功能。將D0、D1、D2 和D3設置為1101,設置延時等待一個上升沿,檢測Q0、Q1、Q2和Q3是否為1101,若結果正確則將對應標志位置為高電平,進位輸出端和計數控制端的測試方法類似。最后將4個標志位進行與運算,若結果為“真”則表示芯片功能正常。
3 硬件電路設計
3.1 主控芯片介紹
STM32F103C8T6 的芯片工作電壓范圍在2.0~3.6V,最佳工作電壓在3.3V。芯片具有上電/斷電復位(POR/PDR)和可編程電壓檢測器。芯片可以外接4~16MHz外部晶體振蕩器,通過內部PLL倍頻,最高可達72 MHz。內部有經過出廠調校的40kHz RC振蕩器,以及帶有校準功能的32kHz RTC振蕩器。具有低功耗模式,包括睡眠、停機和待機模式。STM32F103 系列具有2個12位模數轉換器,1微秒轉換時間,最多支持16個輸入通道。基于以上特性,本次設計選擇STM32F103C8T6作為主控芯片。
3.2 電源模塊
考慮到此儀器的便攜性,選擇18650鋰電池作為供電電源[9]。使用兩個18650鋰電池配合LM2596S穩壓模塊,為芯片測試提供5V 供電電壓;同時,通過AMS1117降壓模塊將電壓降至3.3 V,為STM32F103C8T6主控芯片供電。
3.3 芯片檢測接口模塊
由于STM32F103單片機與數字邏輯芯片的邏輯電平不同,需要使用雙向電平轉換器進行電平匹配。本次設計選用TXS0108E高速全雙工8路電平轉換模塊。該模塊支持雙向電平轉換,適用于常見的3.3V與5V電平之間的轉換。
3.4 LED 提示模塊
LED提示模塊用于直觀顯示數字邏輯芯片檢測儀的工作狀態。三個LED燈分別為紅燈、綠燈和黃燈。上電后,黃燈亮起表示檢測插座未插入芯片。插入芯片后,黃燈熄滅。若綠燈亮起,表示芯片邏輯功能完好;若紅燈亮起,則表示芯片功能已損壞。
3.5 電流檢測模塊
MAX4080 是一款高精度檢流放大器,具有極低的輸入失調電壓(VOS)。在 25°C 時,其最大輸入失調電壓為 ±0.6 mV;在 -40°C 至 +125°C 的整個工作溫度范圍內,最大輸入失調電壓為 ±1.2 mV。MAX4080 電流檢測模塊通過 16 引腳與底座連接,用于實時監測引腳電流[10]。如果檢測到較大電流,可能是待測芯片插反。此時,模塊會觸發保護機制,通過單片機將底座的 7 引腳或 8 引腳置為高電平,從而切斷電路,防止待測芯片因短路而損壞。
3.6 電路保護模塊
在電平轉換模塊與IC底座之間的每個引腳串聯一個1KΩ的限流電阻,此做法是防止運行不同測試函數時,單片機引腳與待測芯片引腳之間導通產生較大電流從而燒壞芯片。經過電路實際測試,添加限流電阻后不會對輸出高低電平的狀態產生影響,且當引腳之間導通時的電流大小為2.62mA不會導致芯片燒壞。
4 軟件設計
系統的軟件設計流程圖如圖5所示。當系統進行上電或復位后,首先會對系統時鐘、定時器以及LCD1602液晶顯示屏進行初始化。初始化完畢后,進入基礎頁面,LED提示模塊亮黃燈表示無芯片插入。插入待檢測的數字邏輯芯片后,系統會對數字芯片的12或14個引腳的輸入狀態進行組合,并將輸出結果與真值表進行比較。完成對芯片具體型號的檢測后,在LCD1602液晶顯示屏的第一行實時顯示型號,再檢查其邏輯功能是否完好。若完好,則在LCD1602液晶顯示屏第二行實時顯示“Chip intact”,若芯片功能有誤,則顯示“Chip damage”。
5 系統測試
測試開始前,首先確認待測芯片的正反,再將待測芯片插入到IC底座上。如果待測芯片在底座上插反,則電流模塊上檢測的電流值會過大。此時,單片機會將PA6或PA7引腳拉高以防止其一直處于短路狀態。須注意的是,14引腳的待測芯片須頂格插入IC 底座。待測芯片正常工作后,根據已編寫的測試函數進行任務遍歷測試。在測試完一個型號后,進行下一個型號測試之前,會重新配置引腳端口的狀態。本次實驗總共測試了100個正常芯片和30個故障芯片,其統計結果如表3所示。
6 結論
針對數字電子技術實驗課程中常見的74系列芯片損壞和重復使用率低的問題,本文設計了一種數字邏輯芯片檢測儀。該儀器能夠根據芯片的工作原理和內部特征自動識別型號,并判斷其邏輯功能是否完好。通過對檢測程序進行優化,提升了芯片識別的速度和準確性,并實時將檢測結果顯示在LCD液晶屏上,方便用戶直觀地了解檢測結果。
參考文獻:
[1] 華國環,董文鋒,費敬敬,等.基于模擬選擇開關和故障字典的數字芯片檢測系統[J].儀表技術與傳感器,2018(7):77-80.
[2] 楊恒敏.74HC595芯片對單片機IO口的擴展原理與應用[J].信息與電腦(理論版),2020,32(4):120-122.
[3] 黃曉宗.ESD保護器件研究及其在電路協同設計中的應用[D].成都:電子科技大學,2017.
[4] 徐銀霞“. 數字邏輯” 課程教學方法探討[J].中國電力教育,2013(28):104-105.
[5] 董文鋒.基于ESD保護電路的數字邏輯芯片檢測系統[D].南京:南京信息工程大學,2019.
[6] 牛恩濤.模擬集成電路的測試技術研究[D].北京:華北電力大學,2015.
[7] 劉瀟.一種數字電子實驗常用芯片檢測指示儀的研究[J].電腦開發與應用,2013,26(10):66-67.
[8] 胡曉進.數字電子技術的實驗教學分析[J].電子技術(上海),2023,52(4):268-269.
[9] 蔡妍娜.基于多核心的便攜式多線檢測儀的設計與實現[J].電子技術,2017,46(9):43-45.
[10] 羅穎,謝小軍,朱才溢,等.基于霍爾傳感器的直流電能計量裝置設計[J].中國檢驗檢測,2020(6):7-12.
【通聯編輯:光文玲】