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