歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> USBasp制作資料及全過程(菜鳥版)

USBasp制作資料及全過程(菜鳥版)

日期:2017/2/28 15:50:44   编辑:Linux教程

正如圈圈所說,“在這個USB流行的時代,下載線也得要趕上時髦才行。並且現在很多電腦已經沒有並口和串口了,以前使用並口和串口的ISP下載線已經無法再繼續使用了,所以自己制作一個USB下載線已經刻不容緩”。本人這學期剛剛接觸單片機,就因電腦沒有並口而不得不自做一個,USB的下載線——USBasp。這是我平生第一次搞電子制作,前後碰到很多的問題,經過N次的“放棄”,得到眾多網友的幫助,歷經長達十天的時間才制作成功。謹以此文作為紀念,並以此感謝幫助過我的廣大網友!倘若能幫到一兩個像我這樣剛剛接觸單片機的菜鳥朋友,小弟將深感欣慰!

一、usbasp 的一般性介紹:

下載線,是“ISP”(In System Programmability:“在系統編程”)或“IAP”(In Application Programing:“在應用編程”) ,都是“在線編程”的一種方式。

下載線,是“ISP”(In System Programmability:“在系統編程”)或“IAP”(In Application Programing:“在應用編程”) ,都是“在線編程”的一種方式。

這裡的 usbasp 下載線,則是指 利用ATMega8芯片,模擬USB接口、並控制下載過程的一種電路單元;主要適合於AVR系列芯片的程序下載(讀寫),現在使有網友改正的固件可以用於S51,S52系列芯片的程序下載(本人就是用於給AT89S52下載 )。

fischl_de usbasp 是 usbasp下載線的“鼻祖”,已經連續推出了多種版本。其網頁鏈接是: ;如果您有興趣深入,該網頁上有源程序可以參考

2、usbasp 由於不需要電腦串口或並口,僅使用電腦USB接口,所以具有一定的實用價值;國內亦已進行了不少的仿制和改進。比較集中的討論,可以去 ouravr

3、usbasp 下載線可以適用的MCU芯片,和usbasp本身的固件(控制程序)以及配套使用的電腦軟件相關。譬如,下面具體介紹的 usbasp的固件,就增加了對於89s51/89s52芯片的支持。

1、fischl_de usbasp 提供的“公版”電路圖(2007-07-23

這個公版電路和以前的公版電路的區別,是在其USB接口的數據線上,增加了兩個3V6的穩壓二極管D1/D2;以便於更好地和電腦的USB接口的信號線電平匹配,提高 usbasp 下載線的適應性。

2。改進版usbasp

以上改進版usbasp由zhifeng在中提供。

3. wxf 實際制作用的電路圖:

特別注意:上面兩個電路圖的ISP輸出端子定義,是不同的——

4。本人自做的電路圖跟以上“改進版usbasp”基本相同,也是來自網上,因網上有相應的PCB圖,懶於自己動手,於是稍做改動而用之(將原來的母口USB改為公口USB)。(本人自己也畫過PCB圖,但不理想!)

以上壓縮包中包含本人制作時用的原理圖和PCB文件(已改)。

三、制作過程

1.跟椐上面的資料制作電路板並焊上元件。

2。給ATmega8芯片下載固件及修改熔絲位!

說明:1).如果你跟我一樣,第一次接觸單片機,還不知道固件為何物,那我告訴你固件就是一個單片機程序,也就是你在下面的地址中下載 的壓縮包裡面的.hex文件,如:。因為你用來做USB下載線的芯片ATmega8本身就是一個單片機,需要下載程序(固件)才能工作。可使用編程器下載,也可以用並口的下載線對它在線編程。本人就是用並口的下載線配合ISPlay在線編程的!

2).網上的USBasp固件版本很多,一般來說用新版本的固件較好,老版本不支持S52、S51的下載。新版本一般可自動調節速度(電路圖中的調速跳線可不用)並支持s51、s52的下載。特別推薦用billowtust改寫的固件,不但可自動調節速度,支持s51、s52的下載,還解決了因復位電容太大而在在線編程時出現“chip enable program error!”的問題。

3)、因芯片ATmega8是AVR單片機,與51單片機不同,除了要給它下載程序外還要修改它的熔絲位才能正常工作。關於熔絲位改法網上有多種不同的改法,本人也不剛接觸單片機,還不知道其中的原理(如果你知道的話還請你教教我),只知道按圈圈介紹的改法是可以正常使用的:”首先將兩個跳線J1和J3連上,然後用其它的ISP編程器給它下載固件。下載固件後,還要配置熔絲,配置為外部高速晶體模式,即對CKSEL0編程(CKSEL0=0,CKSEL1~3=1)。SUT0也編程(即SUT0=0)。然後將J1和J3跳線斷開,就可以使用了“。(引自圈圈的BLOG: ”J1“.”J3“是改進版usbasp中的”J1“、“J3”,不同版本電路圖可能標號不同,注意區別)

熔絲位也可以用ISPlay修改,但注意在ISPlay中熔絲位選項中打勾表示的是”0“,空表示”1“。一定不要搞錯!要不有可能會將芯片鎖住,鎖住就不能再用了!本人就鎖壞了一片。

正確熔絲配置:

點擊上圖中的“寫入”即可!

把你那下載固件及修改熔絲後的USBasp插到電腦USB口上,如果電腦提示發現新硬件USBasp,恭喜你,你成功了!!若你的電腦無法識別!則說明你的USBasp還問題!請仔細檢查電路、固件及熔絲位!

特別提醒:需要確保您的電腦的USB接口是完好的;確保您的USB延長線的質量是可靠的——最好是直接插入電腦後面的USB插座裡

3.驅動

libusb0.dll、libusb0.sys、usbasp.inf,需要先行拷貝到電腦裡某個合適的子目錄裡的一個文件夾裡;

4。配套下載軟件PROGISP1.6.6:

給S52下載時的配置:

至此:你就可以跟我一樣用 自己做的USB下載線給自己的單片機下載程序了!!

若你的電腦無法識別!則說明你的USBasp還問題!應該仔細檢查電路、固件、熔絲位、電腦的USB接口是完好的、確保您的USB延長線的質量是可靠!如果你用的是改正版電路,可以在USB的D-、D+與GND之間加上2個3.6V的穩壓管試試。

若電腦已以識別,並正常安裝了驅動。但用它下載程序時提示“chip enable program error!”。可以肯定你的USB下載線已經沒有問題了!這時應該檢查你的目標板是否有問題!連接USBasp與目標板的連線是否有問題,連線是否太長(最好不要超過30CM)。還可以用我推薦的billowtust改寫的固件試試看!

說明:

從網上看到好多人在說usbasp的穩定性問題,下面講講我的經驗,不妥的地方請各位指正。

1.

2.

有可能會有極少數的電腦(你的電腦應該不是,如果真那麼巧你就可以去買彩票了^_^)不能使用 usbasp 下載線——無法正常安裝 usbasp 驅動程序和進行正常的下載進程。

3. 由於avr模擬usb對時序的要求很高,對於晶振包括諧振電容,走線就應有一定的要求,如果選擇搞得不合理,就會造成工作起來不穩定,比如裝不上驅動,裝上驅動後,在通訊時少量數據不會出錯,大量數據時就會出錯。如果是連接正常後,在下載數據時出錯就可能是這個原因。

4. 由於usb電源標准是3.3v這樣選擇D+,D-上的三個電阻一定要合適否則可能也會出錯。從原理上說只要遵循usb1.1協議的主機接口都可正常的與usbasp通訊,否則的情況其他的硬件實現的usb設備也不能通訊。

有可能會有極少數的電腦(你的電腦應該不是,如果真那麼巧你就可以去買彩票了^_^)不能使用 usbasp 下載線——無法正常安裝 usbasp 驅動程序和進行正常的下載進程。

3. 由於avr模擬usb對時序的要求很高,對於晶振包括諧振電容,走線就應有一定的要求,如果選擇搞得不合理,就會造成工作起來不穩定,比如裝不上驅動,裝上驅動後,在通訊時少量數據不會出錯,大量數據時就會出錯。如果是連接正常後,在下載數據時出錯就可能是這個原因。

4. 由於usb電源標准是3.3v這樣選擇D+,D-上的三個電阻一定要合適否則可能也會出錯。從原理上說只要遵循usb1.1協議的主機接口都可正常的與usbasp通訊,否則的情況其他的硬件實現的usb設備也不能通訊。

Copyright © Linux教程網 All Rights Reserved