魯杰爽
(湖北職業(yè)技術(shù)學(xué)院,湖北孝感,432000)
在“新工科”理念的引領(lǐng)下,高校在工程教育創(chuàng)新改革中更加注重大學(xué)生的專業(yè)實(shí)踐技能[1]。單片機(jī)應(yīng)用技術(shù)是高職電子信息類專業(yè)、自動化類專業(yè)必修的一門非常重要的專業(yè)基礎(chǔ)課,在智能控制中應(yīng)用廣泛[2~3]。在教學(xué)過程中,我們采用基于項(xiàng)目制作導(dǎo)向的教學(xué)模式,教學(xué)做一體化,教師邊做邊講,學(xué)生邊做邊學(xué),學(xué)生在制作實(shí)踐中掌握單片機(jī)開發(fā)的綜合專業(yè)技能。
單片機(jī)制作項(xiàng)目采用模塊化電路設(shè)計,將項(xiàng)目分成多個功能獨(dú)立的子模塊,每個獨(dú)立的電路模塊功能相對獨(dú)立、特性明確、界面清晰。模塊化設(shè)計具有獨(dú)立設(shè)計、獨(dú)立組裝、獨(dú)立調(diào)試、便于故障分析檢測,大大降低了電路設(shè)計和實(shí)現(xiàn)的難度,提高了電路的電氣性能。為了更好地培養(yǎng)學(xué)生的創(chuàng)新設(shè)計能力,提高學(xué)生的硬件電路裝調(diào)和故障分析能力,也可以采用在洞洞板上焊接電子元件和連接導(dǎo)線來制作這些模塊電路板,這樣能夠顯著提升學(xué)生的專業(yè)實(shí)踐技能。
單片機(jī)系統(tǒng)板是制作項(xiàng)目中核心的模塊電路板。在制作過程中如果單片機(jī)系統(tǒng)板出現(xiàn)故障,因?yàn)闆]有專門的檢測儀器,板子上也沒有LED燈之類的各種故障狀態(tài)指示信號,往往無法直接判斷出故障原因。只能針對不同電路結(jié)構(gòu)的單片機(jī)系統(tǒng)板,采取不同的檢測方案,來進(jìn)行故障的分析與排除。
下面以一種典型的單片機(jī)系統(tǒng)板為例,如圖1所示,介紹其故障檢測的基本原理,當(dāng)它不能正常工作時,該如何進(jìn)行故障的分析和排除。
圖1 一種典型的單片機(jī)系統(tǒng)板模塊電路
模塊電路板檢測的基本依據(jù)就是看它是否實(shí)現(xiàn)了預(yù)期的獨(dú)立功能。
該單片機(jī)系統(tǒng)板,一方面通過P0 口分時復(fù)用地向外輸送8 位數(shù)據(jù)信號,從而形成單片機(jī)與外部設(shè)備交換數(shù)據(jù)的8位雙向數(shù)據(jù)總線。為了提高數(shù)據(jù)總線上能夠“掛接”外部設(shè)備的數(shù)量,該數(shù)據(jù)總線經(jīng)過了雙向功率驅(qū)動器74LS245 與外部設(shè)備進(jìn)行數(shù)據(jù)的交換,以提高數(shù)據(jù)總線的輸出功率。
另一方面P0 口分時復(fù)用,也通過地址鎖存器芯片74LS373,向外部輸送外RAM 存儲單元的低8 位地址信號,連同P2 口送出的外RAM 存儲單元高8 位地址信號,共同構(gòu)成單片機(jī)與外部設(shè)備的16 位地址信號總線。該模塊單元還將P2 口的高3 位地址信號,經(jīng)譯碼器74LS138 譯碼后可以形成8 個外部設(shè)備片選信號C0、C1 等,從而可以連接數(shù)量更多的外部設(shè)備,方便系統(tǒng)的擴(kuò)展。
該單片機(jī)系統(tǒng)板還對外提供了常用的讀信號、寫信號等控制信號。
單片機(jī)系統(tǒng)板是否工作正常,就是要通過檢測電路板輸出的地址信號、數(shù)據(jù)信號和控制信號等是否正常來加以判斷。
根據(jù)該單片機(jī)系統(tǒng)板的功能,主要對其輸出的高8 位地址信號、低8 位地址信號、8 位數(shù)據(jù)信號、讀出/寫入控制信號進(jìn)行逐步的測試和故障分析。
為了測試這三類信號,編寫了下面的綜合測試程序,下載到單片機(jī)系統(tǒng)板中運(yùn)行,然后用示波器檢查這三類信號是否正常,來分析判斷故障所在。
(1)檢查單片機(jī)輸出的高8 位地址信號
對電路原理圖進(jìn)行分析,可以計算出該電路板輸出的外部設(shè)備片選信號C0、C1、C2、C3 的地址分別為0x00XX,0x20XX、0x40XX、0x60XX(X 表示該位信號可以任意)。單片機(jī)向外部設(shè)備讀寫數(shù)據(jù)時,一般需要經(jīng)過輸出外部設(shè)備地址信號、輸出讀/寫控制信號、讀出/寫入數(shù)據(jù)等3 個階段,因此可以讓單片機(jī)分別向這幾個外部設(shè)備地址發(fā)送寫數(shù)據(jù)指令,經(jīng)過指令的解釋執(zhí)行,就會分別輸出這幾個外部設(shè)備地址,從而輸出C0、C1、C2、C3 的片選信號。
丘吉爾有句名言,我寧可失去一個印度,也不愿失去一位莎士比亞。其中的深刻之處,正在于指出了歷史文化不僅是一個民族無法割舍的血脈基因,更蘊(yùn)含著破解各種難題的鑰匙。”文化是一所高校賴以生存、發(fā)展的根基和血脈,高校校園文化對學(xué)生成長有著潛移默化、耳濡默染的效應(yīng),可以教化、培育和提高人的知識、素質(zhì)和技能,從而推動人的全面發(fā)展。因此,高職輔導(dǎo)員要時刻牢記高職教育目的與職能,自覺承擔(dān)培育學(xué)生文化自信的責(zé)任,通過創(chuàng)建具有高職特色的文化,浸潤、教化具有高職特質(zhì)的專門人才。
據(jù)此原理編寫了上述測試程序,將它下載到單片機(jī)中運(yùn)行,如果運(yùn)行正常,就可以用示波器檢測到C0、C1、C2、C3 信號的輸出波形。如圖2 所示。
圖2 單片機(jī)輸出的高8 位地址信號波形圖
如果沒有信號輸出,則表明電路存在故障,需要進(jìn)行故障的檢測與排除。故障檢測的基本步驟是從輸出級向輸入級逐級單元進(jìn)行排除。每一級單元都分別以各核心芯片或元件為中心,判斷某級芯片是否有故障的基本方法,是依次檢查周圍電路提供給該芯片的各輸入信號是否都正常,如果某個輸入信號不正常,則應(yīng)逆序向前檢查與其相連接的上一級單元電路的輸出信號是否正常。如果該級芯片所有的輸入信號都檢測正常,但其輸出信號不正常,則可以斷定是該芯片已經(jīng)損壞,更換芯片就可以正常工作。
據(jù)此方法,從74LS138 譯碼器芯片查起,檢查其各種輸入信號是否正常(包括VCC 和E3 引腳是否有+5V 電壓,和GND 引腳是否接地,A、B、C 引腳是否有連續(xù)方波信號輸入)。如果這些輸入信號都正常,則可以判定是譯碼器芯片已經(jīng)損壞,更換即可。如果某個輸入信號不正常,則如A 引腳沒有方波信號輸入,則應(yīng)逆向檢查與其相連接的上一級單片機(jī)芯片是否正常工作。如果單片機(jī)工作正常,則表明單片機(jī)芯片的P25 引腳與譯碼器的A 引腳的連接線不通,通常情況是這2 個引腳虛焊、連接線焊接錯誤、連接線斷開、與其他連接線短路等原因造成的,可以通過萬用表的歐姆檔很容易就可以查找到問題所在。
還有另外一種可能,那就是單片機(jī)芯片可能存在故障而沒有正常工作,自然也就沒有輸出P25 地址信號。單片機(jī)是否正常工作,可以通過檢查其ALE 引腳是否有方波信號輸出(其頻率大概是晶振頻率的六分之一)來加以判定。如果ALE 沒有信號輸出,則表明單片機(jī)沒有正常工作。此時,可以依次檢查單片機(jī)芯片的VCC 和引腳是否有+5V 電壓、GND 引腳是否接地、RESET 引腳的復(fù)位信號是否正常(在開機(jī)通電瞬間,RESET 引腳有一個電壓沖高回落過程,這一點(diǎn)用指針式萬用表可以很容易觀察得到)、XTAL2 晶振引腳(18 號引腳)是否有振蕩脈沖信號輸出。如果這些信號都正常,那就可以斷定是單片機(jī)芯片損壞了,需要進(jìn)行更換。
實(shí)踐中,往往在查找分析這些信號時,就找到了故障問題所在,如線路虛焊、斷開、短路、元件損壞等。
(2)檢查單片機(jī)輸出的低8 位地址信號
類似于單片機(jī)輸送高8 位地址信號的過程,可以讓單片機(jī)分別向這幾個外部設(shè)備地址(0x0055,0x20AA,0x4055,0x60AA)發(fā)送寫數(shù)據(jù)指令,經(jīng)過指令的解釋執(zhí)行,就會讓低8 位地址總線(A0~A7)中的每個信號線不停地循環(huán)輸出高電平和低電平,從而形成圖3 所示的輸出信號波形。
圖3 單片機(jī)輸出的低8 位地址信號
運(yùn)行上述測試程序時,繼續(xù)用示波器檢查圖中A0、A1、A2、A3 信號。運(yùn)行正常時,應(yīng)有圖3 所示的波形輸出(A4、A5、A6、A7 信號也是這樣檢查),如果沒有這樣的波形則表明相關(guān)電路有故障。
類似的,查找故障的方法,也是從地址鎖存器芯片74LS373 開始,檢查VCC 引腳是否+5V 電壓、GND 引腳是否接地、引腳是否接地,LE 引腳是否有振蕩脈沖信號輸入,如果這些信號都正常,此時再檢查74LS373 的D0-D3 引腳是否有類似上圖的波形信號輸入,如果有則表明該地址鎖存器芯片損壞而需要更換,如果沒有這種波形信號輸入,同樣應(yīng)該順著該信號去查找上一級單片機(jī)芯片對應(yīng)的輸出引腳。
(3)檢查單片機(jī)輸出的8 位數(shù)據(jù)總線信號
檢測數(shù)據(jù)總線信號的方法,是讓單片機(jī)循環(huán)地向數(shù)據(jù)總線D0~D7 輸出0x55 和0xAA,從而讓數(shù)據(jù)總線中的每個數(shù)據(jù)線上循環(huán)地輸出高電平和低電平,從而形成連續(xù)方波的輸出。運(yùn)行上述測試程序時,繼續(xù)用示波器檢查圖中8 位數(shù)據(jù)信號D0-D7。運(yùn)行正常時,應(yīng)有圖4 所示的波形輸出。
圖4 單片機(jī)輸出的8 位數(shù)據(jù)信號波形圖
同樣地,如果檢測不到上面的波形輸出,則首先應(yīng)檢查雙向功率驅(qū)動芯片74LS245 的輸入信號:VCC 引腳是否接+5V,GND 引腳是否接地,引腳是否接地,DIR 引腳是否有振蕩脈沖輸入,檢查完這些引腳的輸入信號正常,再檢查芯片74LS245 的輸入信號A0-A7,如果這些信號不正常,則同樣地也要順著這些信號查找其上一級芯片對應(yīng)的輸出信號是否正常。例如如果DIR 引腳沒有振蕩脈沖輸入的話,那就要用示波器檢查其上一級單片機(jī)芯片的讀信號(17號)引腳是否有振蕩脈沖的輸出。
(4)檢查單片機(jī)輸出的控制信號
本單片機(jī)系統(tǒng)板對外輸出的控制信號就是寫信號L2 和讀信號L3。讓單片機(jī)運(yùn)行上述測試程序,使單片機(jī)循環(huán)地對外部設(shè)備寫入數(shù)據(jù),如前所述,單片機(jī)將循環(huán)地輸出寫信號,然后用示波器直接檢查單片機(jī)的寫信號的輸出波形,如果能夠檢測到連續(xù)的振蕩脈沖波形,則說明工作正常,否則就可以采用本文前面所述的單片機(jī)芯片檢測方法。讀信號的檢查方法類似,不再贅述。
單片機(jī)系統(tǒng)板是最重要的模塊電路板,故障檢測的基本依據(jù)就是通過設(shè)計并運(yùn)行針對性的測試程序,檢查它是否實(shí)現(xiàn)了預(yù)期的獨(dú)立功能,包括輸出地址信號、數(shù)據(jù)信號和控制信號。故障檢測的基本步驟是從輸出級向輸入級逐級單元進(jìn)行排除,判斷某級芯片是否有故障的基本方法,是依次檢查周圍電路提供給該芯片的各輸入信號是否都正常,不正常則逆序檢查其上一級單元對應(yīng)的輸出信號,直至查找到故障并加以排除。本文介紹的單片機(jī)系統(tǒng)板的故障測試程序的編寫和故障的檢測分析方法,能夠有效幫助大學(xué)生在單片機(jī)項(xiàng)目設(shè)計與制作過程中檢測排除故障,培養(yǎng)過硬的專業(yè)實(shí)踐技能。