為S51板自制USB-ISP下載線
在網(wǎng)上搜了下,主要有兩種方案,一種是用FT245串口芯片加ATMEGA8的方案,另一種是只用ATMEGA8進(jìn)行USB串口協(xié)議的軟件模擬和ISP下載全部完成。據(jù)說(shuō)第一種穩(wěn)定,但成本高,電路復(fù)雜,不便自制。我們還是本著低成本,簡(jiǎn)單易做的原則進(jìn)行。就用單個(gè)M8來(lái)做。
本文引用地址:http://www.ex-cimer.com/article/201611/317359.htm好!廢話少說(shuō),干活。在網(wǎng)上搜了一下找了個(gè)BUG少,易于自制的圖。
在制做前首先要搞清楚幾點(diǎn),第一,這個(gè)USB下載線本身就是一AVR單片機(jī),在制做完成后首先也得通過(guò)其它并或串口ISP下載線給它下載程序,這樣它才能工作。第二先得大概了解一下這個(gè)AVR單機(jī)機(jī)M8的基本資料。這樣才能對(duì)電路有個(gè)了解,從而便于調(diào)試。因此,你原先用的并口ISP下載線在這里還得起著關(guān)鍵的作用,可別扔掉啊!我圖示一下這個(gè)過(guò)程先:
接下來(lái)按上述圖的要求準(zhǔn)備元件。
元件準(zhǔn)備好后,先得檢測(cè)下質(zhì)量,電阻的阻值、發(fā)光管的極性、電容是否有短路。要測(cè)試下兩個(gè)穩(wěn)壓管的穩(wěn)壓值是否正確。最最重要的是先把USB接口用延長(zhǎng)線接到PC上,然后用萬(wàn)用表測(cè)一下正極在哪,做個(gè)標(biāo)記,這樣就能搞清楚了D+、D-的位置,也不會(huì)接反電源了。免得焊好后發(fā)現(xiàn)錯(cuò)了極性反復(fù)焊,焊盤很容易脫落,也避免接反燒了元件。(我開始用的是USB公頭接口,后來(lái)發(fā)現(xiàn)在板子上吃不上勁,稍一用力很可能會(huì)松脫。所以換成母口了)
電路圖我整理了一下,因?yàn)橛械脑恍枰?,有的為了方便檢查,避免漏連了線。
焊接過(guò)程就沒(méi)什么好說(shuō)的了,不是PCB板,是洞洞板的,在事先大概做個(gè)布局(布局原則就是減短引長(zhǎng)度,跳線盡量少。好像我做的跳線并不少哦?。┤缓缶桶凑丈厦娴碾娐穲D焊接,完成后如下圖,感覺是不是還不錯(cuò)?:
再來(lái)張反面吧,有點(diǎn)慘不忍睹吧!
在調(diào)試前也還得先弄清幾個(gè)問(wèn)題:
第一、電源題:原先的并口下載線是靠S51板上來(lái)供電的,也就是說(shuō)當(dāng)你焊好你的USB-ISP板后給它裝固件時(shí),USB-ISP板得向原并口下載線供電,而固件裝好后USB-ISP板就是靠PC的USB口向我們的USB-IS板供電了,而你以后的51實(shí)驗(yàn)板就不能向這個(gè)USB-ISP板供電了,否則PC和51實(shí)驗(yàn)板都向USB-ISP供電,那么電壓不同就有可能燒壞PC口或元件的。因此J2跳線就是為了區(qū)別裝固件和正常下載而使用的。裝固件時(shí)另附電源加在USB-ISP上,J2短接,可以過(guò)J2口向原來(lái)的并口下載線供電。當(dāng)正常使用時(shí),USB-ISP板上的附加電源撤掉,由PC的USB口供電,將J2斷開,隔離開USB-ISP板和51板電源。
J1是降速跳線,短接時(shí)慢速,在裝固件時(shí)要求在慢速下。J3是M8復(fù)位跳線,裝固件時(shí)要求M8在復(fù)位狀態(tài)。正常使用時(shí)就斷開這三個(gè)跳線了。
第二、ISP接口問(wèn)題:得弄清下載接口的對(duì)應(yīng)接線,MOSI、MISO、RST、SCK要一一對(duì)應(yīng)不能弄錯(cuò)。也就是說(shuō)你原先并口下載線的并口各功能線接到十針的ISP接口和USB-ISP下載線的接口要對(duì)得上。例如我的51板是自己做的,上面的十針下載接口是我自己隨意接的沒(méi)有按照什么標(biāo)準(zhǔn)。因此我做并口下載線時(shí),就將并口下載線上的各功能線與51板上的一一對(duì)應(yīng),這樣就能調(diào)試通?,F(xiàn)在做USB-ISP下載線還是一樣,得按照我自己的十針接口方式,只要各功能線準(zhǔn)確無(wú)誤地對(duì)上就好。
J1是降速跳線,短接時(shí)慢速,在裝固件時(shí)要求在慢速下。J3是M8復(fù)位跳線,裝固件時(shí)要求M8在復(fù)位狀態(tài)。正常使用時(shí)就斷開這三個(gè)跳線了。
不同的PC端下載軟件對(duì)并口腳的定義是不同的,這一點(diǎn)一定要弄清楚,否則是不可能正常下載的。有的軟件有配置文件,可以跟據(jù)你的要求設(shè)置并口的某個(gè)腳為什么功能。如ISPLAY 1.5。它的配置文件如圖:
你可以通過(guò)修改這些MOSI、MISO、SCK、RST、OE、LE等功能輸出的并口腳號(hào)以適應(yīng)你的下載線。
我的原先并口下載線用的是官方的一張圖:
它的配套PC端下載軟件ISP-30A是不能自己設(shè)定并口引腳號(hào)的。界面如下圖。
好!下面開始調(diào)試,檢查USB-ISP下載板沒(méi)有連錯(cuò)線或短路現(xiàn)象。將USB-ISP下載板的三個(gè)跳線短接,接上外加電源,測(cè)量電流為6mA,應(yīng)該沒(méi)問(wèn)題。將原先的并口下載線的并口端接至PC,將十腳ISP接口端與USB下載板對(duì)接,測(cè)量并口板上的電壓已正常。如下圖:(我這是示意圖,因?yàn)樵诜孔永锊迳螾C光線不好,照得不清楚)
此時(shí)USB下載板上的發(fā)光管是不會(huì)亮的,因?yàn)樗锩鏇](méi)有程序還無(wú)法運(yùn)行。開始進(jìn)行下載。在PC上運(yùn)行ISPLAY1.5如圖:
事先我將配置文件Pin_config.ini內(nèi)的各功能線已修改為和我的并口下載線相同的腳號(hào)。在左下角的“程序設(shè)置”里選好那個(gè)配置文件。點(diǎn)擊“檢測(cè)器件”鈕,但始終檢測(cè)不到器件,如上圖。我想我的并口下載線肯定是好的,一直在用啊!難道配置文件不起作用?或那個(gè)LE控制時(shí)序和我那個(gè)板上的要求不同?干脆用那個(gè)我一直使用的ISP-30A試試吧!于是將它運(yùn)行。因?yàn)槭且oATMEGA8下載程序,所以在器件選項(xiàng)里選MEGA8。
果然,我點(diǎn)了下Read,居然能正常讀取了,于是我點(diǎn)Open file然后選擇網(wǎng)上下的那個(gè)11K大小的main.hex,點(diǎn)擊Write接下來(lái)就是寫程序和校驗(yàn)一切OK。然后點(diǎn)擊Fuse Bytes(熔絲字節(jié)),在下圖的SUT0和CKSEL0前點(diǎn)上勾,
然后回到主界面點(diǎn)Write LBs。當(dāng)寫完之后我把三個(gè)跳線一拔,綠色發(fā)光管已經(jīng)亮起,說(shuō)明M8的程序運(yùn)行了。這樣我的USB下載板的固件就算裝好了。
將USB下載板從并口下載器上拔下,我去掉附加電源后將它插到PC的USB口上,立即就發(fā)現(xiàn)了新USB設(shè)備,一切沒(méi)有懸念,安裝驅(qū)動(dòng)程序一路正常(這部分軟件的使用網(wǎng)上已寫的很詳細(xì),我就不重復(fù)了),PC告訴我設(shè)備可以使用了。我將我的51板和USB下載線連上
運(yùn)行PROGISP1.6.6
一陣狂喜過(guò)后我在“編程器及接口”下的選擇框中選USBASP,在“選擇芯片”里選AT89S51。
點(diǎn)擊“芯片識(shí)別字”右邊的RD鈕,哦!可就是檢測(cè)不到器件如下圖:
彈出這個(gè)窗,說(shuō)明USB下載線是正常的了,就是檢測(cè)不到51目標(biāo)板。莫非是ISP連線太長(zhǎng)?我又做了根只有10CM的ISP連線,但狀況依舊。唉!沮喪啊。休息休息,喝口水……
突然想起網(wǎng)上說(shuō)起過(guò)用修改過(guò)的固件可以針對(duì)51板出現(xiàn)的Chip Enable Program Error。立即上網(wǎng)找來(lái)那個(gè)18K大小的USBISP.hex,重做剛才的下載工作,一切順利,再運(yùn)行PROGISP1.6.6
哈哈!檢測(cè)到51器件了,
特征字不匹配,不管它了,先點(diǎn)擊“是”。于是便試著點(diǎn)擊“讀出Flash”鈕。成功!
我接著點(diǎn)“調(diào)入Flash”選擇一個(gè)我以前的HEX文件,點(diǎn)擊下面的自動(dòng),紅色的發(fā)光管在不停地閃爍著,我開心??!
然而在寫完后校驗(yàn)時(shí)卻總通不過(guò),汗!
是下載線太長(zhǎng)不穩(wěn)定?就剩10CM長(zhǎng)了,難道真的天都不可憐我嗎?在一陣無(wú)助的胡亂操作中,突發(fā)奇想選AT89S52試試。
這一試不要緊呀!居然成功啦! 反復(fù)下載不同的程序,一切都OK。
再換上我那長(zhǎng)40CM的ISP連線,反復(fù)下載程序試驗(yàn),你猜怎么著?不要太穩(wěn)定哦!
至此大功告成!
總結(jié):
下載固件時(shí),如果你原先的并口下載軟件支持ATMEGA8。最好就用你一直使用的并口下載軟件。這樣可以先排除并口下載線上的問(wèn)題。
遇到問(wèn)題多試試幾種操作,不要輕易放棄。
還有就是這個(gè)PROGISP1.66是不是有BUG?明明是S51,偏偏要選S52才能正常讀寫。還有那個(gè)ISPLAY1.5,估計(jì)不是配置文件不起作用就是那個(gè)LE的時(shí)序和我并口下載線上的要求不一樣。后面抽空再找找原因。
謝謝大家捧場(chǎng)!哪位手癢也想做的給我留言,我會(huì)將全部資料發(fā)給你們。我在對(duì)驅(qū)動(dòng)的安裝和后面的下載寫的較略是因?yàn)榫W(wǎng)上已把軟件部分寫的很細(xì)了,上網(wǎng)一搜“USB-ISP”就能搜到。好了!寫的不夠詳盡之處請(qǐng)拍磚,我再加料啊!
再秀張大圖吧!
評(píng)論