單片機系統(tǒng)等的硬件調(diào)試方法
2、如果在調(diào)試按功能劃分的器件上出現(xiàn)問題,可以按以下步驟進(jìn)行:
1)檢查原理圖連接是否正確
2)檢查原理圖與PCB圖是否一致
3)檢查原理圖與器件的DATASHEET上引腳是否一致
4)用萬用表檢查是否有虛焊,引腳短路現(xiàn)象
5)查詢器件的DATASHEET,分析一下時序是否一致,同時分析一下命令字是否正確(注意,命令字的順序很重要,前些日子調(diào)試INTEL e28F640這款flash是的時候,在對其擦除和寫操作的時候,就碰到了這樣的問題)
6)有條件的可以用示波器。如我就是通過示波器對SRAM各個引腳進(jìn)行檢查,發(fā)現(xiàn)地址線都是有信號的,而數(shù)據(jù)線無信號出現(xiàn),才找到問題所在。
7)飛線。用別的的口線進(jìn)行控制,看看能不能對其進(jìn)行正常操作,多試驗,才能找到問題出現(xiàn)在什么地方。
3、多觀察,多思考。如我前些日子在調(diào)試320240點陣LCD的時候,發(fā)現(xiàn)怎么也不能出現(xiàn)圖像,后來在偶然的機會下,發(fā)現(xiàn)LCD在MPU的CS2口線下,出現(xiàn)閃動的情況,猜測這時候有數(shù)據(jù)寫入到LCD中,仔細(xì)研究才發(fā)現(xiàn),MPU的DA
4、有可能的情況下,最好焊兩塊板子以上,這樣才好有個比較,硬件上很小的問題有很多時候是很難發(fā)現(xiàn)的。
5、軟件的調(diào)試要和硬件配合進(jìn)行,往往問題可能不是硬件上的。
---------------------------------------------------------------------------------------------------------------------------------------------
單片機應(yīng)用系統(tǒng)硬件調(diào)試技巧
在單片機開發(fā)過程中,從硬件設(shè)計到軟件設(shè)計幾乎是開發(fā)者針對本系統(tǒng)特點親自完成的。這樣雖然可以降低系統(tǒng)成本,提高系統(tǒng)的適應(yīng)性,但是每個系統(tǒng)的調(diào)試占去了總開發(fā)時間的2/3,可見調(diào)試的工作量比較大。單片機系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,許多硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結(jié)合起來調(diào)試以進(jìn)一步排除故障。可見硬件的調(diào)試是基礎(chǔ),如果硬件調(diào)試不通過,軟件設(shè)計則是無從做起。本文結(jié)合作者在單片機開發(fā)過程中體會,討論硬件調(diào)試的技巧。
當(dāng)硬件設(shè)計從布線到焊接安裝完成之后,就開始進(jìn)入硬件調(diào)試階段,調(diào)試大體分為以下幾步。
1 硬件靜態(tài)的調(diào)試
1.1 排除邏輯故障
這類故障往往由于設(shè)計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認(rèn)真對照原理圖,看兩者是否一致。應(yīng)特別注意電源系統(tǒng)檢查,以防止電源短路和極性錯誤,并重點檢查系統(tǒng)總線(地址總線、數(shù)據(jù)總線和控制總線)是否存在相互之間短路或與其它信號線路短路。必要時利用數(shù)字萬用表的短路測試功能,可以縮短排錯時間。
1.2 排除元器件失效
造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞??梢圆扇z查元器件與設(shè)計要求的型號、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。
1.3 排除電源故障
在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。若有高壓,聯(lián)機仿真器調(diào)試時,將會損壞仿真器等,有時會使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。
2 聯(lián)機仿真調(diào)試
聯(lián)機仿真必須借助仿真開發(fā)裝置、示波器、萬用表等工具。這些工具是單片機開發(fā)的最基本工具。
信號線是聯(lián)絡(luò)8031和外部器件的紐帶,如果信號線連結(jié)錯誤或時序不對,那么都會造成對外圍電路讀寫錯誤。51系列單片機的信號線大體分為讀、寫信號線、片選信號線、時鐘信號線、外部程序存貯器讀選通信號(PSEN)、地址鎖存信號(ALE)、復(fù)位信號等幾大類。這些信號大多屬于脈沖信號,對于脈沖信號借助示波器(這里指通用示波器)用常規(guī)方法很難觀測到,必須采取一定措施才能觀測到。應(yīng)該利用軟件編程的方法來實現(xiàn)。例如對片選信號,運行下面的小程序就可以檢測出譯碼片選信號是否正常。
執(zhí)行程序后,就可以利用示波器觀察芯片的片選信號引出腳(用示波器掃描時間為1μs/每格檔),這時應(yīng)看到周期為數(shù)微秒的負(fù)脈沖波形,若看不到則說明譯碼信號有錯誤。
對于電平類信號,觀測起來就比較容易。例如對復(fù)位信號觀測就可以直接利用示波器,當(dāng)按下復(fù)位鍵時,可以看到8031的復(fù)位引腳將變?yōu)楦唠娖?;一旦松開,電平將變低。
總而言之,對于脈沖觸發(fā)類的信號我們要用軟件來配合,并要把程序編為死循環(huán),再利用示波器觀察;對于電平類觸發(fā)信號,可以直接用示波器觀察。
下面結(jié)合在自動配料控制系統(tǒng)中鍵盤、顯示部分的調(diào)試過程來加以說明。本系統(tǒng)中的鍵盤、顯示部分都是由并行口芯片8155擴(kuò)展而成的。8155屬于可編程器件,因而很難劃分硬件和軟件,往往在調(diào)試中即使電路安裝正確沒有一定的指令去指揮它工作,也是無法發(fā)現(xiàn)硬件的故障。因此要使用一些簡單的調(diào)試程序來確定硬件的組裝是否正確、功能是否完整。在本系統(tǒng)中采取了先對顯示器調(diào)試,再對鍵盤調(diào)試。
(1)顯示器部分調(diào)試為了使調(diào)試順利進(jìn)行,首先將8155與LED顯示分離,這樣就可以用靜態(tài)方法先測試LED顯示,分別用規(guī)定的電平加至控制數(shù)碼管段和位顯示的引腳,看數(shù)碼管顯示是否與理論上一致。不一致,一般為LED顯示器接觸不良所致,必須找出故障,排除后再檢測8155電路工作是否正常。對8155應(yīng)進(jìn)行編程調(diào)試時,分為兩個步驟:第一,對其進(jìn)行初始化(即寫入命令控制字,最好定義為輸出方式)后,分別向PA、PB、PC三個口送入#0FFH,這時可以利用萬用表測試各口的位電壓為3.8 V左右,若送入#00H,這時各口的位電壓應(yīng)為0.03 V;第二,將8155與LED結(jié)合起來,借助開發(fā)機,通過編制程序(最好采用“8”字循環(huán)程序)進(jìn)行調(diào)試。若調(diào)試通過后,就可以編制應(yīng)用程序了。
(2)鍵盤調(diào)試一般顯示器調(diào)試通過后,鍵盤調(diào)試就比較簡單,完全可以借助于顯示器,利用程序進(jìn)行調(diào)試。利用開發(fā)裝置對程序進(jìn)行設(shè)置斷點,通過斷點可以檢查程序在斷點前后的鍵值變化,這樣可知鍵盤工作是否正常。
以上討論了借助簡單工具對單片機硬件調(diào)試的方法,這些方法如果利用得好,就可以大大縮短單片機的開發(fā)周期。
評論