新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 為S51板自制USB-ISP下載線

為S51板自制USB-ISP下載線

作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
現(xiàn)在的筆記本包括臺(tái)式機(jī)都漸漸地舍棄了并口、串口;很多網(wǎng)友也跟我說,臺(tái)式?jīng)]有并口了,下載線沒法用了,讓我?guī)退胂朕k法。看來做個(gè)USB-ISP下載線是勢(shì)在必行了。

  在網(wǎng)上搜了下,主要有兩種方案,一種是用FT245串口芯片加ATMEGA8的方案,另一種是只用ATMEGA8進(jìn)行USB串口協(xié)議的軟件模擬和ISP下載全部完成。據(jù)說第一種穩(wěn)定,但成本高,電路復(fù)雜,不便自制。我們還是本著低成本,簡(jiǎn)單易做的原則進(jìn)行。就用單個(gè)M8來做。

本文引用地址:http://butianyuan.cn/article/201611/317359.htm

  好!廢話少說,干活。在網(wǎng)上搜了一下找了個(gè)BUG少,易于自制的圖。

  在制做前首先要搞清楚幾點(diǎn),第一,這個(gè)USB下載線本身就是一AVR單片機(jī),在制做完成后首先也得通過其它并或串口ISP下載線給它下載程序,這樣它才能工作。第二先得大概了解一下這個(gè)AVR單機(jī)機(jī)M8的基本資料。這樣才能對(duì)電路有個(gè)了解,從而便于調(diào)試。因此,你原先用的并口ISP下載線在這里還得起著關(guān)鍵的作用,可別扔掉啊!我圖示一下這個(gè)過程先:


接下來按上述圖的要求準(zhǔn)備元件。

  元件準(zhǔn)備好后,先得檢測(cè)下質(zhì)量,電阻的阻值、發(fā)光管的極性、電容是否有短路。要測(cè)試下兩個(gè)穩(wěn)壓管的穩(wěn)壓值是否正確。最最重要的是先把USB接口用延長(zhǎng)線接到PC上,然后用萬用表測(cè)一下正極在哪,做個(gè)標(biāo)記,這樣就能搞清楚了D+、D-的位置,也不會(huì)接反電源了。免得焊好后發(fā)現(xiàn)錯(cuò)了極性反復(fù)焊,焊盤很容易脫落,也避免接反燒了元件。(我開始用的是USB公頭接口,后來發(fā)現(xiàn)在板子上吃不上勁,稍一用力很可能會(huì)松脫。所以換成母口了)

  電路圖我整理了一下,因?yàn)橛械脑恍枰?,有的為了方便檢查,避免漏連了線。

焊接過程就沒什么好說的了,不是PCB板,是洞洞板的,在事先大概做個(gè)布局(布局原則就是減短引長(zhǎng)度,跳線盡量少。好像我做的跳線并不少哦?。┤缓缶桶凑丈厦娴碾娐穲D焊接,完成后如下圖,感覺是不是還不錯(cuò)?:

再來張反面吧,有點(diǎn)慘不忍睹吧!

在調(diào)試前也還得先弄清幾個(gè)問題:
  第一、電源題:原先的并口下載線是靠S51板上來供電的,也就是說當(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短接,可以過J2口向原來的并口下載線供電。當(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接口問題:得弄清下載接口的對(duì)應(yīng)接線,MOSI、MISO、RST、SCK要一一對(duì)應(yīng)不能弄錯(cuò)。也就是說你原先并口下載線的并口各功能線接到十針的ISP接口和USB-ISP下載線的接口要對(duì)得上。例如我的51板是自己做的,上面的十針下載接口是我自己隨意接的沒有按照什么標(biāo)準(zhǔn)。因此我做并口下載線時(shí),就將并口下載線上的各功能線與51板上的一一對(duì)應(yīng),這樣就能調(diào)試通。現(xiàn)在做USB-ISP下載線還是一樣,得按照我自己的十針接口方式,只要各功能線準(zhǔn)確無誤地對(duì)上就好。
  J1是降速跳線,短接時(shí)慢速,在裝固件時(shí)要求在慢速下。J3是M8復(fù)位跳線,裝固件時(shí)要求M8在復(fù)位狀態(tài)。正常使用時(shí)就斷開這三個(gè)跳線了。
  不同的PC端下載軟件對(duì)并口腳的定義是不同的,這一點(diǎn)一定要弄清楚,否則是不可能正常下載的。有的軟件有配置文件,可以跟據(jù)你的要求設(shè)置并口的某個(gè)腳為什么功能。如ISPLAY 1.5。它的配置文件如圖:

你可以通過修改這些MOSI、MISO、SCK、RST、OE、LE等功能輸出的并口腳號(hào)以適應(yīng)你的下載線。

  我的原先并口下載線用的是官方的一張圖:

它的配套PC端下載軟件ISP-30A是不能自己設(shè)定并口引腳號(hào)的。界面如下圖。

好!下面開始調(diào)試,檢查USB-ISP下載板沒有連錯(cuò)線或短路現(xiàn)象。將USB-ISP下載板的三個(gè)跳線短接,接上外加電源,測(cè)量電流為6mA,應(yīng)該沒問題。將原先的并口下載線的并口端接至PC,將十腳ISP接口端與USB下載板對(duì)接,測(cè)量并口板上的電壓已正常。如下圖:(我這是示意圖,因?yàn)樵诜孔永锊迳螾C光線不好,照得不清楚)

此時(shí)USB下載板上的發(fā)光管是不會(huì)亮的,因?yàn)樗锩鏇]有程序還無法運(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接下來就是寫程序和校驗(yàn)一切OK。然后點(diǎn)擊Fuse Bytes(熔絲字節(jié)),在下圖的SUT0和CKSEL0前點(diǎn)上勾,

  然后回到主界面點(diǎn)Write LBs。當(dāng)寫完之后我把三個(gè)跳線一拔,綠色發(fā)光管已經(jīng)亮起,說明M8的程序運(yùn)行了。這樣我的USB下載板的固件就算裝好了。
  將USB下載板從并口下載器上拔下,我去掉附加電源后將它插到PC的USB口上,立即就發(fā)現(xiàn)了新USB設(shè)備,一切沒有懸念,安裝驅(qū)動(dòng)程序一路正常(這部分軟件的使用網(wǎng)上已寫的很詳細(xì),我就不重復(fù)了),PC告訴我設(shè)備可以使用了。我將我的51板和USB下載線連上

運(yùn)行PROGISP1.6.6

  一陣狂喜過后我在“編程器及接口”下的選擇框中選USBASP,在“選擇芯片”里選AT89S51。
點(diǎn)擊“芯片識(shí)別字”右邊的RD鈕,哦!可就是檢測(cè)不到器件如下圖:

  彈出這個(gè)窗,說明USB下載線是正常的了,就是檢測(cè)不到51目標(biāo)板。莫非是ISP連線太長(zhǎng)?我又做了根只有10CM的ISP連線,但狀況依舊。唉!沮喪啊。休息休息,喝口水……
  突然想起網(wǎng)上說起過用修改過的固件可以針對(duì)51板出現(xiàn)的Chip Enable Program Error。立即上網(wǎng)找來那個(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í)卻總通不過,汗!

  是下載線太長(zhǎng)不穩(wěn)定?就剩10CM長(zhǎng)了,難道真的天都不可憐我嗎?在一陣無助的胡亂操作中,突發(fā)奇想選AT89S52試試。
  這一試不要緊呀!居然成功啦! 反復(fù)下載不同的程序,一切都OK。
  再換上我那長(zhǎng)40CM的ISP連線,反復(fù)下載程序試驗(yàn),你猜怎么著?不要太穩(wěn)定哦!

  至此大功告成!

總結(jié):
  下載固件時(shí),如果你原先的并口下載軟件支持ATMEGA8。最好就用你一直使用的并口下載軟件。這樣可以先排除并口下載線上的問題。
  遇到問題多試試幾種操作,不要輕易放棄。
  還有就是這個(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)拍磚,我再加料啊!
  再秀張大圖吧!




關(guān)鍵詞: S51板USB-ISP下載

評(píng)論


技術(shù)專區(qū)

關(guān)閉