記錄一個(gè)很深刻的問(wèn)題,在20180109收到新加工的顯示板,總共500塊,測試了10快。程序能正常燒寫(xiě)進(jìn)驅動(dòng)單片機,但數碼管就是不顯示。當時(shí)就嚇出滿(mǎn)頭大汗,莫不會(huì )是元件買(mǎi)的質(zhì)量不好吧!后續調試研究過(guò)程中假設了N種情況,比如tm1640和或單片機的問(wèn)題,焊接的不好,這下子十八般武藝都用上了,更換芯片,重新加錫焊接,甚至連數碼管都懷疑是不是搞錯了。也懷疑過(guò)測試的同事是不是燒寫(xiě)錯了程序文件,后來(lái)在繼續調試過(guò)程中這些懷疑全都被一一排除。
偶然間發(fā)現把單片機跟tm1640的通信引腳上的下拉濾波電容(1nf)取下后,發(fā)現就正常工作了。一下子就懷疑是不是加工商把1nf電容焊接成100nf的了,剛好手上有沒(méi)有可測試的儀表,儀表都沒(méi)電了。而且那1nf電容跟那100nf電容外形上基本一樣,因此一個(gè)先入為主的念頭就出了,其他的部件都沒(méi)錯了,只有可能是這個(gè)電容搞錯了。立馬聯(lián)系加工商,劈頭蓋臉、毫不講情面地把他們說(shuō)了一頓,一會(huì )兒后他們回復說(shuō)他們沒(méi)搞錯,讓我拿電橋測試。一下子就感覺(jué)到了有點(diǎn)不對勁,對方說(shuō)的那么肯定,難道真是我搞錯了?!
本來(lái)tm1640的廠(chǎng)家參考電路里面用的是100pf的電容下拉濾波的,可是我為了加工濾波和抗干擾效果把那電容加大了10倍,換成了1nf的。難道是1nf的電容太大了,驅動(dòng)信號根本過(guò)不去。接上示波器去看驅動(dòng)波形,發(fā)現時(shí)鐘波形的高低電平時(shí)間只有大約500ns。翻開(kāi)數據手冊,忽然看到最短的有效波形時(shí)間為400ns,忽然有點(diǎn)明白了。因為原先調試的時(shí)候是在12MHZ主頻的情況下進(jìn)行的驅動(dòng)程序編寫(xiě),后來(lái)因為實(shí)際情況需要把主頻更換為33Mhz。不知不覺(jué)中就把相應的驅動(dòng)波形有效時(shí)間減小到了原先的1/3。但是原先的板子上因為沒(méi)有焊接那個(gè)下拉濾波電容,因此波形就基本滿(mǎn)足最小驅動(dòng)時(shí)間??墒且患由?nf電容后,因為電容充電時(shí)間問(wèn)題,減慢了波形的高電平上升速度,因此有效驅動(dòng)時(shí)間減小了,剛剛好小于了器件最短波形時(shí)間要求的400ns。
明白了問(wèn)題點(diǎn)就好出來(lái)了,立馬通過(guò)燒寫(xiě)程序更改主頻,因為驅動(dòng)單片機用的是stc15w204s,內部集成可調RC震蕩,能很方便的通過(guò)燒寫(xiě)程序相關(guān)選項更改芯片的運行頻率。里面把芯片的從最高的33MHZ頻率降到5MHZ頻率,哈哈...奇跡出現了。創(chuàng )世紀之初,天地是一片混沌和黑暗。因為厭倦了黑暗,上帝覺(jué)得光是好的,說(shuō)要有光,于是光有了。
于是修改程序把驅動(dòng)波形時(shí)間加大,通過(guò)示波器這雙眼睛,因為波形有效時(shí)間加長(cháng)了,忽然發(fā)現波形的高電平有個(gè)很長(cháng)的斜坡,咋一看還以為是個(gè)鋸齒波呢。???怎么會(huì )這樣呢?波形上升這么慢,即使有個(gè)1nf的電容在充電,也不應該這么長(cháng)時(shí)間啊,都基本達到4,5us了?what's wrong??
這時(shí)經(jīng)驗立馬起作用了,以前做過(guò)一個(gè)系統,因為沒(méi)有把單片機引腳配置為強推挽模式,導致輸出電流小,很容易受干擾。因為單片機IO口默認模式為準雙向口,弱上拉,輸出驅動(dòng)電流很小,大約只有0.3ma。因此順利成章的就知道了,這里驅動(dòng)波形出現鋸齒波的原因是IO口輸出驅動(dòng)電流太小,導致波形上升慢。繼續修改程序,把驅動(dòng)引腳相關(guān)IO口更改為強推挽模式,哈哈...奇跡有出現了!鋸齒波變成了方方正正的矩形波了。
忽然間感覺(jué)好悲哀,一下子發(fā)現了三個(gè)錯誤。
1、驅動(dòng)程序時(shí)序波形不對,以前竟然一直沒(méi)發(fā)現,因為基本憑經(jīng)驗修改移植驅動(dòng)程序,沒(méi)有通過(guò)示波器看波形,所以一直隱藏著(zhù)這問(wèn)題。
2、驅動(dòng)引腳未配置為推挽模式,以后切記單片機所有對外輸出的驅動(dòng)引腳都要配置為推挽模式。那樣輸出電流才夠,也更不容易受干擾。已經(jīng)是第二次遇到這情況了,好吧!事不過(guò)三??!下不為例?。?!
3、太武斷地責怪他人,在問(wèn)題還未充分有效確認的情況下就去匹配加工商焊接錯了元件??磥?lái)以后還得學(xué)會(huì )克制和忍耐。
logged by guitarhua @20180110
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。