概述
簡介
這是一個簡單的開源USB AVR編程器的文檔, SPI接口。它價格低廉,易于制造,可與avrdude完美兼容,與AVRStudio兼容并在 Windows,Linux 和 MacOS X 下進行了測試。
該項目基于USBtiny代碼和設計,非常適合學生和初學者,或者作為備用程序員。主要改進包括:調整代碼以使其充當SpokePOV接口,添加低級bitbang命令,以及添加“ USB良好” LED。其他更改包括新的VID/PID(使其正式化),刪除了一些命令并在引腳上移動了一點。
您可以使用原理圖和固件來構建此設計,或者購買套件從Adafruit網上商店。擁有完整的套件可以解決購買或構建USB編程器的“雞與蛋”問題,然后需要某種編程器來“啟動”。 (請參閱USBasp,AVRdoper,USBprog)
所有固件代碼均在GPL下分發,硬件設計布局文件為CC 2.5屬性/類似。
這有什么好處?
易于制作
超低成本:程序員的零件成本為16美元,不到AVRISP價格的一半v2! (套件為22美元,可從adafruit商店購買。)
套件隨附6針和10針AVR標準連接器和電纜。并非來自Atmel的程序員幾乎都沒有! (包括AVRISP v2)
易于構建:所有通孔零件,都是通用的,可以從大型分銷商處獲得。
易于使用
與AVRdude兼容-v5.5中添加了對usbtiny的支持!
可使用libusb在Windows上使用USB驅動程序,Mac OS X或Linux上不需要驅動程序。
耐用的現成機箱
高速!最大時鐘頻率為400KHz。寫入速度:1Kb/s,讀取速度:2Kb/s。 (Atmega8的寫入時間為8s,讀取/驗證的時間為4s)
2個LED指示“ USB/Power good”和“ Busy”
I/O被緩沖以允許對2V-6V目標(v2)
可與任何具有64K閃存(或更少閃存)的AVR ISP芯片配合使用-不適用于Atmega1281/1280/2561/2560
》
易于供電
以更低的電壓關閉5V USB總線大于100mA的電流以使其可以與未供電的USB集線器一起使用
易于訪問的跳線,以通過USB為目標項目供電(目標必須能夠承受5V的電壓)
刪除跳線并它會自供電,但會緩沖I/O以匹配目標設備。 (v2)
易于擴展
與libusb輕松連接
現有固件允許使用USB快速進行SPI接口
Bit-bang命令提供8位I/O控制(包括LED)以進行打開結束的項目構想
常見問題解答
這是作為匯編程序員出售的嗎?
尚未,它僅作為工具包提供。
組裝起來有多難?
“制作!”中有非常清楚的說明。鏈接。這是一個簡單的工具包,對于擁有適當工具的任何人來說,即使是他們的第一個焊接項目,也應該相當容易。 “》
這適用于Linux嗎?
《我class =“ collapsed-icon”》
是。我們已經在linux(Ubuntu 7.04)上對其進行了測試,并且它不需要任何奇怪的東西,因此它可以與任何發行版一起使用。如果遇到問題,請確保您以root用戶身份運行以擁有設備權限。
為什么沒有Serial/COM/port(或/dev/ttyXX設備) )?
USBtiny不是USB串行設備,而是它自己的Avrdude可以理解的USB協議。插入時將看不到COM端口或串行端口。
我可以使用USBtiny發送串行消息嗎? Arduino嗎?
否,USBtiny不會創建串行端口并且無法執行那。它使用ISP連接而不是串行直接對芯片進行編程。 Arduino不是AVR程序員,它們是帶有在串行端口上運行的引導程序的AVR。
可以編程哪些芯片?
任何使用ISP接口進行編程并具有64K或更少閃存的AVR都可以
諸如Atmega1280/1281和Atmega2560/2561之類的芯片具有超過64K的值,并且無法進行編程。
使用TPI接口的芯片,如Attiny4/5/9/無法編程10個。
某些非常老的芯片(例如AT90S1200等)不能編程
我可以使用USBtinyISP編程引導加載程序(如Arduino那樣)嗎?
是,這就是AVR程序員可以做的。我們建議在IDE中使用“內置” bootloader-burner來完成此操作。
如何將引導程序編程到Arduino上?
將新的AVR芯片(例如Atmega328)放入Arduino的正確的方向
將跳線從USBtinyISP移除
將USBtiny中的跳線插入USB中
將Arduino插入DC或USB以使其通電
將USBtinyISP的6針電纜插入Arduino,以使針1標記與電纜上的紅色線對齊
啟動Arduino IDE
選擇芯片/Tools-》 Board菜單中使用的/Arduino
不要選擇COM/串行端口
選擇Tools-》 Burn Bootloader-》 w/USBtinyISP
USBtinyISP紅色LED應點亮。對該芯片進行編程將需要一兩分鐘。
完成后,IDE會告訴您它已經完成并且紅色LED會熄滅。
我需要幫助才能正常工作
檢查幫助!頁面。
是否可以使用8051內核(AT89)系列芯片?
USBtinyISP設計僅可與AVR核心芯片(ATtiny/ATmega/etc)一起使用。但是,盧卡斯·基耶薩(Lucas Chiesa)和他的同僚在移植此版本以支持8051內核芯片方面做得非常出色。
circle-o“》
什么是“自我程序”?
最初的USBtinyISP可以由另一位程序員通過跳針編程。現在已經不存在了,因為現在有一個緩沖區。您應該忽略跳線。
此外,您不能自己編程usbtiny。
制作!
制作
分步
制作USBtinyISP從工具包開始很容易,只需執行以下步驟:
準備和教程
零件清單檢查(v2.0),或者如果您使用的是舊版本,則使用v1的零件清單.0
一起焊接! (v2.0)或較舊的版本,請安裝v1.0的程序集
準備工作
準備焊接,
教程!了解如何用噸焊接
別忘了也學習如何使用萬用表!
工具。組裝需要一些工具。這些工具均不包含在內。如果您沒有它們,現在將是借閱或購買它們的好時機。每當組裝/固定/修改電子設備時,它們都非常方便!我提供了購買鏈接,但是,當然,您應該在最方便/最便宜的地方獲取它們。其中許多零件都可以在Radio Shack或其他(更高質量的)DIY電子產品商店中找到。
烙鐵
您可能會在本地五金店找到的任何入門級“多合一”烙鐵都可以工作。與生活中的大多數事物一樣,您可以買得到。
升級到高端電烙鐵設置,例如我們在商店中購買的Hakko FX-888,將使焊接變得既輕松又有趣。
請勿使用“冷熱”烙鐵!它們不適合用于精密的電子工作,并且會損壞套件(請參閱此處)。
單擊此處購買我們的入門級可調30W 110V烙鐵。
單擊此處可升級至原裝Hakko FX-888可調溫度
焊料
您將需要松香芯,60/40焊料。好的焊料是一件好事。不良的焊錫會導致橋接和冷焊點難以找到。
單擊此處購買一盤含鉛焊料(建議初學者使用)。
單擊此處購買一盤無鉛焊料。
萬用表
您將需要可以測量的高質量基本萬用表電壓和連續性。
單擊此處購買基本的萬用表。
單擊此處購買頂部的萬用表。
單擊此處購買便攜式萬用表。
齊平斜角刀具
您將需要齊平斜角刀具一旦將它們焊接到位,就修剪掉導線和引線。
單擊此處b
焊錫吸盤
奇怪的是,這是該拆焊真空工具的技術術語。對于清理錯誤很有用,每個電氣工程師的辦公桌上都會出現一個錯誤。
單擊此處購買一個錯誤。
用放大鏡幫助第三只手
不是絕對必要的,但是它會使處理速度大大提高,并且會使焊接變得更加困難
在這里撿一個。
好燈。比您想象的重要。
零件清單
套件零件清單檢查并確保您的套件包含以下部件。有時我們會出錯,因此請仔細檢查所有內容,如果需要更換,請通過電子郵件[受電子郵件保護]!
圖片名稱描述零件編號分銷商數量
IC1微控制器(在套件中購買時已預先編程)ATTINY2313-20PUDigikey
Mouser1
IC2緩沖芯片
(v2的新功能)74AHC125Mouser1
XTL112.00 MH z陶瓷振蕩器
請確保其上顯示12.00ZTT-12.00MT鼠標1
C1繞過0.1uF電容器(104)
可能是藍色的通用Digikey
鼠標1
C2繞過100uF/6.3V電解電容器(照片顯示10V,但6.3V可以)
v2.0的新功能通用Digikey
鼠標1
R1010K 1/4W 5%電阻器(棕色,黑色橙色金)
10KQBK-ND1
R3,R4,R5,R6,R71.5K 1/4W 5%電阻器(棕綠色紅色金)
1.5KQB K-ND5
R1,R227-68 ohm 1/4W 5%電阻
47QBK-ND2
LED1紅色3mm LED通用Mouser1
LED2綠色3mm LED
Mouser
Digikey1
Digikey2
X1USB B型公插口通用Mouser
Digikey1
JP210針盒接頭3M 30310-6002HBMouser
Digikey1
JP16針平頭(0.1“ x 0.1”)Molex 10-89-7062Mouser1
JP32針直角標頭Tyco 640453-2鼠標1
JP3‘跳線/分流通用Mouser1
10針IDC電纜通用電纜Digikey1
6針IDC電纜通用電纜
1
PCB電路板
v2.0與v1.0外觀不同
Adafruit Industries1
案例機箱Pactec CNS-0407Mouser
Pactec1
示意圖(v2.0)點擊放大。。.
出售它!
哦,很熱!
第一步是將套件焊接在一起。如果您以前從未焊接過,請查看“準備”頁面以獲取教程和更多內容。
檢查工具包以確認您具有所有必需的零件,請閱讀零件頁面以獲取所需零件清單。工具包中應該有。
下一步是USB連接器和12.00MHz的陶瓷振蕩器。 USB連接器是我們用來插入計算機的接口,振蕩器確保USBtiny微控制器以非常挑剔的USB協議速率進行通信所需的精確速率運行。
振蕩器可以插入“方式”,使它們對稱。 USB連接器應輕松插入。
獲取您的工具準備好了!板虎鉗,烙鐵和焊料,對角線切割器和吸盤(拆焊工具)(如果有)。
下一步,準備將PCB放在虎鉗中,以便您可以輕松地放置和焊接零件!
還請檢查您擁有所需的所有工具,并將烙鐵加熱到650-700degF。
焊接的第一部分是電阻 R1 。該電阻值為47ohm,請檢查零件清單以確保您使用的電阻正確。彎曲電阻器的兩條腿,使其呈釘狀。然后將電阻滑入PCB,使輪廓與絲印上的圖像相匹配。電阻是雙向的,因此您不必擔心以錯誤的方式放置它。
彎曲線腳,以便在翻轉電路板時不會掉線。
重復另一個接頭。
下一步,剪輯多余的使用對角線刀。夾在焊點頂部上方。
完成后,它應該看起來像這樣。如果您在焊點上有粘性的東西,那沒關系,那就是焊料中的松香,可以保護焊點免受氧化。
接下來是另一個47歐姆電阻 R2
這不是像 R1 那樣平放,因此請如圖所示將其彎曲。同樣,由于電阻器雙向工作,哪一端到哪里都沒有關系。
像使用R1一樣焊接電阻。
然后將多余的電線剪掉。
既然您已經對電阻器進行了很多練習,那么可以一次完成剩余的5個電阻器。放置 R10 (10K上拉電阻), R3,R5 和 R6 (用于USB連接,LED和輸出緩沖區的1.5K電阻)。
如果您將UsbtinyISP與SpokePOV套件一起使用,請同時安裝R4和R7(1.5K)。如果不是這樣,您可能希望將這些電阻器切換為跳線(請參見第二張照片以完成),因為這意味著可以對帶有加載引腳的目標板進行編程。
注意:有時74AHC125比絲網印刷要大一些,因此一旦芯片安裝到位,您可能希望稍后放置 R7 。
焊接并裁剪所有線索。
接下來是兩個3.6V齊納二極管, D1 和 D2 。
這些二極管有助于將微控制器的電壓轉換為3.3V,對于USB連接是安全的。
二極管,un像電阻器一樣,必須以某種方式放置,否則它們將根本無法工作。每個二極管的一端都有一條黑色的小線。確保此末端與絲網印刷圖像上的白線匹配。 (見左)
焊接并鉗位二極管引線。
接下來是完成所有艱苦工作的微控制器插槽。插槽很有用,因為您可以在升級或損壞的情況下更換芯片。插座上有一個小凹口,以指示以哪種方式放入芯片。此凹口應與絲網印刷圖像中的凹口匹配,在此圖片中,該凹口在左側。
第二步
因為插座的插針已經很短了,所以不需要修剪。
下一個要放置的是74AHC125緩沖區。該芯片對從USBtiny微控制器到被編程設備的信號進行電平轉換。這樣,您就可以安全地對電壓范圍從1.8V到5.5V的芯片進行編程。
必須正確放置集成電路,檢查芯片末端的凹口與絲網印刷圖像中的凹口是否匹配。
IC出廠時,支腳有些傾斜,這使得很難將其插入PCB。通過將支腿輕輕地彎曲到平坦的桌面上以使其完全筆直來準備焊接。
焊接緩沖器的每個引腳,您不需要剪短引線,因為它們已經很短了。
振蕩器的三引腳和USB連接器的所有6引腳中的焊料。確保不要橋接任何方形引腳,并在機械接線片上放置大量焊料。如圖所示,這些在插入電纜時會提供電阻,因此,請務必將它們焊接好。
盡管它們很短,但應盡可能將引腳夾到振蕩器上,以確保它們不會彎曲并接觸另一個組件。
接下來是兩個指示燈,綠色的 LED2 和紅色的 LED1 。這些LED使您知道USB設備已成功連接,并且正在對目標設備進行編程。
LED是二極管,必須正確放置,否則它們不會點亮,這非常令人困惑。確保LED的較長(正極)引線進入標有+的孔中。看到左側的圖像。
LED也應該非常靠近外殼頂部,這樣您就可以通過鉆孔看到光線,彎曲導線時,請確保LED伸出上方約1/2英寸
焊接并修剪兩個LED。
接下來是兩個電容器,分別為 C1 和 C2。 這些提供了一些電源過濾,以使USBtinyISP的穩定性降低。 C1 進入USB連接器旁邊的角落。它是一種非極性陶瓷電容器,因此可以任意使用。
C2 是一種極化電解。它只能以一種方式進行。確保電容器的長腳通過+插入孔中。彎曲電容器,使其位于緩沖芯片的頂部。
焊接并夾住電容器的兩條引線。
即將完成!最后一部分是電纜的插頭和跳線插頭。如圖所示,10針插座的插頭上有一個缺口,請確保它與絲印匹配。
6針插座的插頭上應插入長針。
2針跳線的長針指出了。
標頭的所有引腳中的焊料。您不需要剪裁它們,因為它們已經很短了。
現在繼續制作電纜并將PCB放入外殼中。
如果您不使用USBtiny與SpokePOV套件通信,并且使用的目標負載SCK和MOSI引腳,則可能需要用跳線代替R4和R7,因為1.5K電阻器將無法驅動負載!
制作6針電纜(舊套件,無預制) 6針電纜)
AVR編程有兩種標準,即6針和10針接頭連接器。因此,重要的是AVR編程人員必須同時使用兩種類型的電纜。 10針電纜很容易獲得,但6針電纜必須定制。但是,制作電纜非常容易,只需執行以下步驟即可!
如果您將適配器用于輻條或不需要6針電纜,則可以跳過此部分。
請勿使用尖嘴鉗嘗試將碎片壓在一起。您必須從兩側施加非常平坦的壓力。
例如,使用工具的平坦側面壓在桌面上。
很難找到6芯帶狀電纜,因此您可能會得到10芯電線。 (該套件隨附6芯)。如果是這樣,只需使用對角線切割器(或小刀)切一個凹口,以使紅色刀柄位于6芯側。
撕下電纜,應將其干凈地分開。
您現在可以組裝電纜。
重要的是,鍵(連接器中的凸起)和紅色條紋必須對齊。匹配左側的圖像,僅在距離邊緣一毫米的范圍內插入導體即可。
開始使用,只需用手指壓一下以確保電線正確對齊即可開始使用。您將無法以這種方式完成電纜連接,所以請不要嘗試!
或者更好,一個惡習!慢慢將兩側擠壓在一起,直到它們鎖定。
做另一端,跟蹤鍵和紅線。
是的!您有兩條電纜!
案例
最后是時候讓程序員使用這個案例了。
拿起PCB,兩半殼體和您自己制作的電纜。
插入兩根電纜,如圖所示,紅色條紋位于頂部,這樣電纜就不會在插頭上彎曲(這種情況下不適合)
將PCB放入下殼體的一半中。
6針電纜可能帶有應力消除裝置,可以夾住。您并不是真正需要它們,但是如果您確實希望減輕應力,則將其放在到達目標的那一個上:如果消除應力位打開,電纜將無法容納。
排列LED并將其頂部對齊。完成!
下一步,請閱讀使用手冊。
無法正常工作嗎?不用擔心,可以在論壇中獲得幫助!
零件(v1.0)
套件零件列表
這是非常舊的套件的列表,不太可能您有一個v1.0,但我們保留了它作為歷史記錄
/tr》
圖像名稱》描述分銷商數量單價總計
IC1微控制器(在套件中購買時已預先編程)ATTINY2313-20PU
Digikey&Mouser1$ 2.36$ 2.36
XTL112.00 MHz陶瓷振蕩器ZTT-12.00MT1$ 0.54$ 0.54
C1繞過104電容器(0.1uF)
可能是藍色BC1160CT-ND1$ 0.07$ 0.07
R1010K 1/4W 5%電阻(棕色,黑色橙色金)10KQBK-ND1$ 0.05$ 0.05
R3,R4,R5,R6,R71.5K 1/4W 5%電阻器(棕綠色紅色金)1.5KQBK-ND5$ 0.05$ 0.25
R1,R227-68 ohm 1/4W 5%電阻47QBK -ND2$ 0.05$ 0.10
LED1紅色3mm LEDLTL-1CHE1$ 0.09$ 0.09
LED2綠色3mm LEDLTL-1CHG1$ 0.09$ 0.09
D1,D23.3V齊納二極管1N5226B2$ 0.08$ 0.16
X1USB類型B公插孔61729-0010BLF1$ 1.04$ 1.04
JP210針盒接頭
1$ 0.42$ 0.42
JP16針直頭Molex 10-89-70621$ 0.36$ 0.36
JP32針直角插頭鼠標(640453-2)1$ 0.23$ 0.23
JP3’跳線/分流鼠標(71363-102LF)1$ 0.10$ 0.10
10針IDC電纜Digikey
鼠標1$ 1.45$ 1.45
6英寸帶狀電纜(6芯)Digikey1$ 0.90$ 0.90
6-pin IDC插頭FCI 71600-006LF
鼠標2$ 0.53$ 1.06
PCB電路板Adafruit Industries1$ 5.00$ 5.00
案例機箱Pactec CNS-0407
Mouser
Pactec1$ 1.66$ 1.66
總計$ 16
焊料(v1.0)
V1.0說明!
這些是v1.0 USBtinyISP的說明。如果您的PCB看起來有些不同,則可能是v2.0,應該在此處查看說明。
您不太可能擁有v1.0,但我們會將其保留為歷史記錄
將其焊接!
第一步是將套件焊接在一起。如果您以前從未焊接過,請查看“準備”頁面以獲取教程和更多內容。
檢查套件,以確認您具有所有必需的部件(缺少0.1uF電容器,哎呀!)。
準備好工具!板虎鉗,烙鐵和焊料,對角切割器和吸盤(拆焊工具)(如果有)。
將虎鉗插入虎鉗中并加熱烙鐵,以便您可以開始使用!
放置第一個組件:10K電阻,如圖所示。電阻是無方向性的,因此您可以以“任一種”方式放置它們,并且它們可以正常工作。當您將腳穿過PCB時,請將其彎曲,以便在翻轉PCB時不會掉出來。
將PCB翻轉過來。
焊接腿。同時將烙鐵頭的尖端靠在金屬絲腿和金屬環上,經過2次計數,將焊料戳入,直到形成一個漂亮的水池。然后移開焊料,等待半數,然后移開烙鐵。
使用對角線切割器將焊腳上方的焊腳剪斷。
接下來是2個47歐姆電阻。如圖所示放置它們。彎曲腿,翻轉PCB,焊接4個接點并將其夾緊。
接下來是5個1.5K電阻器。如圖所示放置它們,然后將其焊接并切斷引線。
接下來是齊納二極管。二極管是定向的,因此請確保如圖所示放置它們。 PCB圖紙上有一條白色條紋,與玻璃二極管上的黑色條紋相匹配。
接下來的部分是USB連接器(銀色的大部分),12.00MHz的陶瓷振蕩器(三個引腳的部分)和陶瓷電容器(黃色的小部分)。
電容器和振蕩器是無方向性的,因此它們可以以任何一種方式運行。 USB連接器只能以一種方式進入并卡入到位。
在焊接零件時,請確保在用于固定USB連接器的兩個插腳上放大量的焊料。機械連接:實際上,焊料在這里起著“膠水”的作用,將零件固定在適當的位置!
接下來是標題和微控制器插槽。 6針接頭連接器沒有方向,因此只能以任何一種方式放置。
10針盒接頭連接器具有一個凹口,該凹口應與PCB圖形中的凹口匹配。 (此處距離微控制器插座最近)。
如圖所示,應插入直角插頭JP3,并且兩個插腳都伸出PCB上。
微控制器插座還具有以便最后的凹口與圖紙匹配。在這里在右邊。如果您搞砸了它不是世界末日,只需記住以正確的方式放置微控制器即可。
在焊接時,很難將零件固定在適當的位置。您可以嘗試用手指將其“固定”在適當的位置,并如圖所示焊接一個或兩個角。
然后返回并焊接每個連接
接下來是兩個LED。它們應與PCB保持一定距離,以便在有色塑料的末端標記大約1/2英寸(1厘米)。
如圖所示放置LED,紅色的靠近10針接頭,綠色的靠近USB。
LED是定向的,如果將它們向后放置,它們將不會點亮。要弄清楚哪種方法正確,請在PCB上查看LED的圖像。圖像略微變平,表示負極。LED的一根引線短于另一根。短引線也為負極。
在此圖像中,綠色LED的負極打開紅色LED的負極朝上。
與其使LED靠著PCB靠平放,不如將LED彎曲。您做出的1/2英寸標記,使它們突出。將它們焊接到位。
焊接完成。接下來,插入微控制器。您可以通過用指尖或桌面輕輕彎曲腿來做到這一點。
確保如圖所示將其插入,然后將其按入以使其牢固地插入插槽。
使6-針電纜
AVR編程有兩種標準,即6針和10針接頭連接器。因此,重要的是AVR編程人員必須同時使用兩種類型的電纜。 10針電纜很容易獲得,但6針電纜必須定制。但是,制作電纜非常容易,只需執行以下步驟即可!
如果您將適配器用于輻條或不需要6針電纜,則可以跳過此部分。
請勿使用尖嘴鉗嘗試將碎片壓在一起。您必須從兩側施加非常平坦的壓力。
例如,使用工具的平坦側面壓在桌面上。
很難找到6芯帶狀電纜,因此您可能會得到10芯電線。 (該套件隨附6芯)。如果是這樣,只需使用對角線切割器(或小刀)切一個凹口,以使紅色刀柄位于6芯側。
撕下電纜,應將其干凈地分開。
您現在可以組裝電纜。
重要的是,鍵(連接器中的凸起)和紅色條紋必須對齊。匹配左側的圖像,僅在距離邊緣一毫米的范圍內插入導體即可。
開始使用,只需用手指壓一下以確保電線正確對齊即可開始使用。您將無法以這種方式完成電纜連接,因此請勿嘗試!
或者更好,一個惡習!慢慢將兩側擠壓在一起,直到它們鎖定。
做另一端,跟蹤鍵和紅線。
是的!您有兩條電纜!
案例
最后是時候讓程序員使用這個案例了。
拿走PCB,兩半殼體和您自己制作的電纜。
插入兩根電纜,如圖所示,頂部是紅色條紋,這樣電纜就不會在插頭上彎曲(這種情況下將無法安裝)。
將PCB放入下殼體的一半。
6針電纜可能會夾住應力消除裝置。您并不是真正需要它們,但是如果您確實希望減輕應力,則將其放在到達目標的那一個上:如果消除應力位打開,電纜將無法容納。
排列LED并對齊頂部。完成!
下一步,請閱讀使用手冊。
無法正常工作嗎?不用擔心,可以在論壇中獲得幫助!
使用它!
使用方法
USBtinyISP非常易于使用,但是這里有一些提示:
指示燈LED
有兩個LED,綠色的USB靠近USB端口,紅色的靠近電纜。
綠色的LED表示USB連接成功。如果綠色LED永遠不亮,并且您確定它是正確的,則枚舉有問題。如果您使用的是Windows或Linux計算機,并且插入電源時綠色LED指示燈不亮,則說明存在問題。如果您有一臺較新的Mac OS計算機,請嘗試通過 avrdude 發送命令-然后LED會亮起(奇怪但正確!)
紅色LED指示USBtinyISP正在“忙”編程。您可能不想拔掉它或正在點亮的正在編程的設備。但是,如果發生軟件崩潰,即使不執行任何操作,LED仍會保持點亮狀態。
編程電纜
有兩種編程電纜:10針ISP電纜和6針ISP電纜。它們是在線AVR編程的兩個主要標準。該程序員不進行JTAG編程
Jumper JP3(USB
JP3電纜附近有一個跳線伸出。當跳線就位(連接兩條線)時,這意味著USBtinyISP正在為要編程的設備提供5V電源。如果您不希望為設備供電,則只需將跳線拔出或確保僅在一根電線上即可。
USBtinyISP只能提供5V電壓,最多可為該設備提供100mA電流。如果需要更多電源,則應卸下跳線并分別為設備供電。 (或者,如果您喜歡冒險,可以將USBtinyISP重新編程為從USB端口要求500mA而不是100mA,但是如果您不知道該怎么做,建議您不要這樣做。)
版本USBtinyISP 1.0會以5V電平將數據發送到設備,無論是否為設備供電,因此請確保其符合5V規范! (請注意,有2個1.5K電阻與數據線串聯以進行保護)
版本2.0 幾乎可以肯定是您所擁有的,使用電平轉換器,以便如果沒有安裝跳線,則它將使用任何目標電壓,這對于您的低壓設備來說要好得多!
因此,如果您的設備需要以3.3的電壓運行V,沒有跳線!
將其用作SPI接口
USBtinyISP可用作“通用” SPI設備。查找如何使用此示例的最佳位置是下載avrdude源代碼并閱讀usbtiny。c
此處是提交的使用c ++在Linux下使用示例的示例。謝謝Matt D!
用戶手冊
使用方法
USBtinyISP非常易于使用,但是這里有一些提示:
div》指示燈LED
有兩個LED,綠色的USB靠近USB端口,紅色的靠近電纜。
綠色的LED表示USB連接成功。如果綠色LED永遠不亮,并且您確定它是正確的,則枚舉有問題。如果您使用的是Windows或Linux計算機,并且插入電源時綠色LED指示燈不亮,則說明存在問題。如果您有一臺較新的Mac OS計算機,請嘗試通過avrdude向其發送命令-該LED然后應點亮(奇怪,但確實如此!)。
紅色LED指示USBtinyISP正在“忙”編程。您可能不想拔掉它或正在點亮的正在編程的設備。但是,如果發生軟件崩潰,即使不執行任何操作,LED仍會保持點亮狀態。
編程電纜
有兩種編程電纜:10針ISP電纜和6針ISP電纜。它們是在線AVR編程的兩個主要標準。該程序員不進行JTAG編程
Jumper JP3(USB
JP3電纜附近有一個跳線伸出。當跳線就位(連接兩條線)時,這意味著USBtinyISP正在為要編程的設備提供5V電源。如果您不希望為設備供電,則只需將跳線拔出或確保僅在一根電線上即可。
USBtinyISP只能提供5V電壓,最多可為該設備提供100mA電流。如果需要更多電源,則應卸下跳線并分別為設備供電。 (或者,如果您喜歡冒險,可以將USBtinyISP重新編程為從USB端口要求500mA而不是100mA,但是如果您不知道該怎么做,建議您不要這樣做。)
版本USBtinyISP 1.0會以5V電平將數據發送到設備,無論是否為設備供電,因此請確保其符合5V規范! (請注意,有2個1.5K電阻與數據線串聯以提供保護)
版本2.0(幾乎可以肯定是您所擁有的)使用了電平轉換器,因此,如果跳線不在位, ,它將使用任何目標電壓,對于您的低壓設備來說要好得多!
因此,如果您的設備需要以3.3V的電壓運行,則不要跳線就位!
將其用作SPI接口
USBtinyISP可以用作“通用” SPI設備。查找如何使用此示例的最佳位置是下載avrdude源代碼并閱讀usbtiny。c
此處是提交的使用c ++在Linux下使用示例的示例。謝謝Matt D!
驅動程序
AVR編程器和SPI接口
Windows 7、8和XP
在您使用之前插入板子,您可能需要安裝驅動程序!
點擊下面下載我們的驅動程序安裝程序
下載Adafruit驅動程序安裝程序(v2.0.0.0)
下載并運行安裝程序
運行安裝程序!由于我們也捆綁了SiLabs和FTDI驅動程序,因此您需要單擊許可證
選擇要安裝的驅動程序:
默認情況下,我們安裝 Feather 32u4 , Feather M0 , Flora 和 Trinket/Pro Trinket/Gemma/USBtinyISP 驅動程序。
您還可以選擇安裝 Arduino Gemma (不同于Adafruit Gemma!),Huzzah和Metro驅動程序
單擊 Install 進行安裝
下一步,將設備插入開放的USB插槽。您應該得到以下彈出窗口:
已安裝驅動程序!現在轉到設備管理器(“開始”菜單-》“設置”-》“控制面板”-》“系統”-》“硬件”)并查找設備:
Mac OS X和Linux
不需要驅動程序。
AVRDUDE
將編程器與AVRDUDE結合使用
AVRDUDE是一種非常流行的命令行程序,用于對AVR芯片進行編程。 Avrdude 5.5及更高版本具有對USBtinyISP的內置支持!在Windows和Mac上查看有關如何安裝正確版本的 avrdude
的說明,以測試 avrdude 是否正常工作,請打開命令行并插入設備后運行命令 avrdude -c usbtiny -p m8 (綠色LED點亮)。
您應該獲得該響應,這意味著它與程序員進行了通信,但找不到一個連接的芯片。
如果找不到程序員,則會收到以下響應:
您可以嘗試將其拔出并重新插入(重置可能會有所幫助)或檢查驅動程序是否已安裝等。
如果將編程器連接至目標板(例如attiny2313目標板)并運行 avrdude -c usbtiny -p t2313 ,則應獲得以下內容,表明它已與芯片正確通信。
使用起來很簡單,只需指出程序員身份即可。 port選項將被忽略,因為它始終使用USB。
您可以使用 -B 選項指定ISP速度。默認情況下,該值為10,表示100KHz時鐘,這對于目標時鐘速度》 500KHz來說是好的。如果希望目標頻率》 4MHz的高速時鐘速率(400KHz),可以使用“ -B 1 ”加快編程速度。要根據延遲值計算SPI頻率,請使用以下公式:
SPI時鐘頻率,單位KHz = 1000/(1.5+ B ),其中 B 是延遲值。
通常,時鐘頻率至少應比目標時鐘頻率大4倍。如果遇到時鐘問題,請嘗試使用“ -B 32”,它甚至可以處理128khz時鐘。
無法使其正常工作嗎?不用擔心,論壇上會提供幫助!
對于Windows 》
有關如何安裝WinAVR的教程,請查看此頁面,其中包含逐步說明。確保您獲得2007年12月20日發行的版本或更高版本。那個擁有avrdude 5.5并帶有usbtiny支持!
別忘了也安裝驅動程序(并查看驅動程序頁面以獲取更多信息)。
對于Mac OS X
有關如何設置Mac進行AVR編程和開發的教程,請查看
如果您安裝了AvrMacPack,它將隨Avrdude 5.5一起提供,并且開箱即用支持usbtiny!
否則,如果已安裝OSX-AVR,請完成以下步驟。
從下載頁面獲取avrdude zip文件。
替換 avrdude 和 avrdude.conf ,無論您在何處安裝它們,可能是/usr/local/bin 和/usr/local/etc ,但不一定取決于您的開發系統!
要查找安裝avrdude的位置,請在 Terminal 窗口中鍵入哪個avrdude ,然后將彈出目錄。要移動文件,請假設您的新 avrdude 二進制文件位于您的名為 usbtiny-avrdude 的文件夾中,鍵入 mv?/usbtiny-avrdude/avrdude 主目錄。要找出conf文件的位置,請在 Terminal 窗口中輸入 avrdude -v 。對 avrdude.conf 做同樣的事情。
(當然要備份舊版本。)
關閉終端并打開一個新終端。如果鍵入 avrdude -c usbtiny -p t2313 (未插入usbtinyisp),則應顯示找不到USB設備0x1781/0xc9f ;否則,請檢查以確保正確地替換了avrdude和avrdude.conf。
現在在此處閱讀有關如何使用avrdude的信息!
如果仍然無法使用,則應從可保證的源代碼中進行編譯。
對于Linux
對于本教程有關如何設置Linux機器進行AVR編程和開發的信息,請查看此頁面,其中包含逐步說明。確保獲得avrdude 5.5版本或更高版本!
如果收到此響應,則說明USB出現權限問題。您可以以root用戶身份運行。。。.
感謝友好的用戶,這里有一個快速修復程序,因此您不必以超級用戶身份運行它:
放置在udev中的規則/etc/udev/rules.d/(或您希望發行的任何地方)中的新規則文件(命名為您想要的名稱)將正確設置USBtinyISP的權限。
SUBSYSTEM ==“ usb”,SYSFS {idVendor} ==“ 1781”,SYSFS {idProduct} ==“ 0c9f”,GROUP =“ users”,MODE =“ 0666”
SUBSYSTEM ==“ usb”,SYSFS {idVendor} ==“ 1781”,SYSFS {idProduct} ==“ 0c9f”,GROUP =“ adm”,MODE =“ 0666”
取決于您的發行版
(一行!)應該可以解決問題。 Sane的行為與
允許普通用戶訪問掃描儀非常相似。
另一個用戶建議:
給出的udev示例不起作用在某些系統上,因為不建議使用SYSFS參數。以下規則適用于最新的Ubuntu系統,并且可能應適用于其他較新的Linux系統:
SUBSYSTEM ==“ usb”,ATTR {product} ==“ USBtiny”,ATTR {idProduct} = =“ 0c9f”,ATTRS {idVendor} ==“ 1781”,MODE =“ 0660”,GROUP =“ dialout”
AVRStudio
最新的AVRStudio支持AVRDUDE,因此您不需要橋接。此頁面可供參考
AVRISP/STK500v2兼容橋
已經有很多用于對AVR進行編程和調試的優秀軟件,例如AVRStudio(Atmel的官方開發軟件)。但是,AVRStudio只真正支持STK500和AVRISP程序員(官方程序員)。
由于您可能想使用AVRStudio的次數很多,因此我編寫了一些軟件膠水,使您可以使用USBtinyISP在STK500/AVRISP兼容模式下。
注釋
這時幾乎所有AVRISP(STK500v2)功能都被仿真。
由于硬件限制,根本沒有實現振蕩器校準。
AT89編程未經測試,并且可能不起作用。
字模式閃存編程未經測試(盡管如果有人告訴我可以做到這一點的芯片,我將對其進行測試)。/li》
模擬ISP時鐘速度設置,盡管速度不是‘true’。也就是說,400KHz ISP時鐘僅意味著最多將以400KHz時鐘。實際上,由于程序員處理USB東西,它通常會變慢。
對于一般開發,我強烈建議使用avrdude,因為這會慢一些,并且可能會更脆弱。
請注意,該軟件為Alpha版。感謝您的報告,評論和建議!
(在論壇中發布)。
如果您發送錯誤報告,請告訴我您使用的是哪種芯片,具體是什么失敗。
第1步。COM橋
通常要模擬的AVRISP通過串行(COM)端口連接到PC。這里的竅門是安裝COM橋,這是一個軟件,它使兩個虛擬COM端口相互連接,因此當您寫入其中一個時,它就會出現在另一個端口上。兼容性軟件位于一個COM端口上,假裝是AVRISP,而AVRStudio軟件則在另一個端口上,以為它已連接到正版編程器!
您只需安裝一次該軟件。
從sourceforge下載免費的com0com橋。確保獲取二進制版本而不是源代碼版本。
保存,提取并運行安裝程序
單擊下一步
重要!取消單擊CNCA0 《-》 CNCB0復選框!
啟動設置命令提示符
您可以輸入幫助以獲取命令列表。
我們要安裝兩個端口,首先檢查設備管理器(開始-》設置-》控制面板-》系統-》硬件)
在端口下,您會看到一個COM端口列表。我們要創建的兩個虛擬端口都必須在COM1和COM9之間。似乎只使用了COM1。
鍵入 install PortName = COM2 PortName = COM6 ,將COM2更改為COM3或COM4(如果已使用其中任何一個)。第二個端口應該是COM5和COM10之間的任何端口。跟蹤這些端口,因為以后需要引用它們。
一旦您按回車鍵,Windows就會彈出一個“發現新硬件”向導,因為它認為還安裝了兩個COM端口。
選擇“不,這次不”,請單擊下一步
選擇“自動安裝”,然后單擊下一步。
您可能需要執行兩次,每個COM端口一次。
下一步,再次檢查設備管理器,新端口應該已經顯示
步驟2。安裝AVRStudio
或您將要使用的任何STK500軟件看著
第3步。下載USBtiny500
從下載頁面獲取。這是我們提供橋接的軟件。
安裝該軟件并運行USBtiny500。
從使用com0com制作的一對COM端口中選擇一個。如果選擇了不可用的一個,則會收到以下警告:
該軟件會記住您選擇的COM端口,因此您只需要執行一次即可。
接下來,該軟件將尋找USBtinyISP,如果找不到,它將顯示:
但是如果同時找到COM端口和編程器,會收到一條準備好的消息:
下一步,啟動AVRstudio,然后打開編程器通訊面板。選擇AVRISP,然后從與com0com配對的端口中選擇另一個COM端口。 AVR Studio會記住此選擇,因此您只需要做一次。
您應該能夠通過軟件與目標進行通信。如果您在與芯片通信時遇到問題,請檢查電源,是否需要晶體或時鐘以及ISP時鐘不太快!您可以在AVR Studio的“董事會”標簽中更改ISP時鐘:
通過橋接器傳遞的最新消息顯示在usbtiny控制臺中:
下載
Windows驅動程序
對于Windows,我們使用改良的LibUSB驅動程序。您可以在此處下載它:
使用libusb v1.12構建的Windows USBtinyISP簽名驅動程序。下面的Windows二進制文件是為此驅動程序構建的。如果您想使用最新的WinAVR,請使用此
出于歷史原因,我們有一個:libusb v1.10內置的Windows USBtinyISP驅動程序。
將此用于較舊的WinAVR。除非必須與綁定到libusb v1.1的舊版本軟件交互,否則不要使用它
AVRDUDE
如果要對AVR微控制器進行編程/刷新,AVRDUDE是推薦使用的軟件,以下是帶有修補程序和USB支持的編譯二進制文件:/p》
最新版本的WinAVR具有支持usbtinyisp的avrdude v5.5,因此只需安裝它即可!(詳細說明在這里)
請確保您沒有安裝v1.12驅動程序而不是v1.10。否則,您將遇到問題。
Mac OS X PPC二進制版本v5.4
將 avrdude.conf 復制到/usr/local/etc 和 avrdude 進入/usr/local/bin
Mac OS X Intel二進制版本v5 .4
將 avrdude.conf 復制到/usr/local/etc 中,將 avrdude 復制到/usr/local/bin
M的修補源代碼ac,Linux或其他unixy機器。
您可以直接使用支持usbtiny的avrdude 5.5!詳細說明在這里
要為自己的計算機編譯avrdude,請首先確保已安裝 libusb (和 libusb-dev )。您可以使用 fink (在Mac上)或 apt-get 或從sourceforge下載它。無論如何,只要嘗試獲取最新版本即可。
接下來,解壓縮源代碼并打開一個終端窗口。 cd 到目錄,然后鍵入 。/configure 或 sh configure ,然后尋找一條滾動的行,其中包含 -lusb中的usb_get_simple_string 。。.是。如果看到它,則說明已正確檢測到libusb。
有時,由于未知原因,已安裝libusb,但未檢測到它。在這種情況下,完成配置后,在同一目錄中編輯 Makefile 。
查找以 LIBUSB = ,然后將其更改為 LIBUSB =“-lusb” (如果您使用的是MacOSX計算機),請將其更改為 LIBUSB =“-lusb -framework CoreFoundation -framework IOKit”
下一步,編輯 ac_cfg.h 并查找/* #undef HAVE_LIBUSB */行,并在其下方添加 #define HAVE_LIBUSB 1
如果您然后 。/make 然后 sudo 。/make install ,則會將 avrdude 放在 /usr/local/etc
《中的/usr/local/bin 和 avrdude.conf div》
v2.0的硬件/固件文件
最新!
固件基于USBtiny代碼origi
EagleCAD原理圖和電路板文件
和原理圖圖像
壓縮所有v2.0固件文件(相關的文件,包括預編譯的hex文件位于 spi 子文件夾中)。
使用預編譯的.hex文件和Makefile作為您的編譯器可能無法將代碼壓縮到適合芯片的大小。根據需要在 spi 中修改Makefile,然后在spi文件夾中鍵入“ make fuse flash”。除此之外,您必須靠自己。
您必須使用avr-gcc v3.4.6和avr-libc v1.4.4作為Winavr-20060421 的一部分來編譯固件。請 不要在論壇上發帖,尋求有關如何編譯或刻錄固件的幫助。
請注意,該固件包含Adafruit VID/PID,而該固件是開放源代碼,而VID/PID不是。要在自己的產品中使用,請替換usbtiny.h中的這些值。您可以在http://www.usb.org/developers/vendor/
v1.0的硬件/固件文件
設計不是單面的,而是封閉的:您將需要焊接在頂部的5根電線。我已經成功地進行了色粉轉移蝕刻。
此固件基于
EagleCAD原理圖和電路板文件
PNG格式的原理圖
壓縮所有v1.0固件文件(基本上是修改過的USBtiny-spi)
您必須使用avr-gcc v3.4.6和avr-libc v1.4.4作為一部分Winavr-20060421 來編譯固件。請 請勿在論壇上發帖,尋求有關如何編譯或刻錄固件的幫助。
v1.04是可能的
用于AVR Studio的USBtiny500兼容橋
下載最新的安裝程序
和源代碼
幫助!!!
常見問題問題
我正在運行avrdude并收到“初始化失敗,rc = 1“
avrdude的此響應表示可以與編程器進行對話,但是編程器不能與芯片進行對話。
檢查:
您的10針和6針電纜是否正確?與手冊中的圖片進行比較。
您是在為芯片供電(已安裝跳線)還是通過VCC插頭引腳為編程器供電?如果沒有安裝跳線,則緩沖芯片(74ahc125)至少需要目標提供2.5V電壓。
如果將芯片編程為具有非常慢的時鐘速度,請使用-B標志,如圖所示這里放慢芯片。 “ -B 32”在大多數情況下都可以勝任,但是您可以像“ -B 250”一樣慢。
芯片是否供電?必須連接AVCC,VCC和所有GND引腳。
是否有時鐘或晶體(如有必要?)
是否保留了MISO/MOSI/SCK/Reset引腳?從切換? (即是否已加載)
目標芯片是否需要晶體?晶體振蕩嗎?
您確定其接線正確嗎?用示波器觀察芯片上的復位線,它應該上下閃爍。觀察SCK引腳,并確保看到8脈沖時鐘。檢查您沒有交換MISO/MOSI。等等。
是否需要“跳變”輸出1.5K電阻?如果您不使用USBtinyISP進行SpokePOV通信,則推薦這樣做,尤其是對于目標芯片連接到MISO/MOSI/SCK線的芯片。在大多數情況下,請查看焊接說明的結尾
,您的編程器工作正常,檢查電纜和引腳,并且目標設備已正確連接。
我們從來沒有遇到過USBtinyISP,它可以與計算機進行通訊而不是與芯片進行通訊,而套件是有缺陷的。總是很壞的芯片,或者是接線,時鐘,比特速度,電源或輸出電阻問題。
不適用于USB 3端口
我們注意到USB 3端口有時比USB 2敏感一些。在這種情況下您可以嘗試更改電纜(請參閱本文)或在USBtinyISP和您的計算機之間放置一個日常的USB集線器。
它不起作用!檢查:
所有零件是否正確安裝?
是否有任何冷焊點或橋梁?
電纜是否正確連接?
電纜是否向后? (紅色導線應在#1位置)
綠燈是否亮起,表明USB枚舉成功? (請注意,在某些Mac電腦上,只有在Avrdude與程序員交談后,綠燈才會亮,很奇怪!)
是否已安裝驅動程序(Windows)?
設備是否已插入設備?目標板? (即它是否已連接至芯片)
目標芯片是否已供電?
目標芯片是否需要晶體?晶體振蕩嗎?
您是否要向已通電的設備提供5V USB電源?
在發布到論壇之前!
我正在運行avrdude,并且收到“ USB讀取錯誤:預期為4,得到-1” (或類似的內容)
有priv的問題,請查看usbtinyisp avrdude linux說明以獲取更多信息。
我的64位計算機似乎無法正常工作!
某些非常舊的工具包出現了此問題,由于功能強大的助手,如果已將補丁提交給avrdude項目,如果您想自己修復它,只需將avrdude中 usbtiny.c 中具有
sizeof(res)
的行替換為
4
此問題在2010年左右得到修復
我正在無法為此項目編譯/刻錄芯片。。.
使用預編譯的.hex文件和Makefile文件,因為較新的avr-gcc編譯器可能無法將代碼壓縮到適合芯片的大小。根據需要修改 spi 中的Makefile,然后在spi文件夾中鍵入“ make fuse flash”。除此之外,您可以自己操作!
我正在運行avrdude,并且收到“找不到USB設備0x1781/0xc9f”
此響應表示無法找到程序員。有許多可能的原因:
如果使用的是最新的WinAVR(它是用舊版本的libusb驅動程序庫構建的),則必須使用v1.10驅動程序。卸載已安裝的驅動程序,并確保安裝正確。
嘗試將其拔出并重新插入
確保已安裝驅動程序(僅Windows)。
li》
確保綠色LED點亮(表示其已通電并已執行USB枚舉)。
確保已安裝libusb,并且它是正確的版本。 (linux/mac)
確保已用下載頁面中的舊版本替換了 libusb0.dll 的舊版本。
確保已安裝當目標已經通電時,不通過USB為目標供電。
如果對usbtinyisp芯片進行了編程,請確保正確設置了保險絲。
我在從頭開始構建此項目時遇到了麻煩。。.
,如果您無法自己完成此項目,建議您購買一個工具包。這不是一個簡單的調試項目!
我正在運行avrdude,我正在運行收到“在avrdude.conf上出錯:370無法識別的字符:‘u’”
這意味著您正確替換了 avrdude.conf ,但沒有替換 avrdude.exe (或在Mac下)/linux,只需 avrdude )在您的計算機上進行搜索,并確認您已使用下載頁面中的修補程序版本替換了avrdude.conf的任何副本。
我正在運行avrdude,卻收到“ avrdude:找不到程序員ID“ usbtiny” 表示您未使用修補程序版本替換 avrdude.exe (或在Mac/Linux下,僅 avrdude )。在計算機上搜索 avrdude.exe ,并確認已使用下載頁面中的修補程序版本替換了avrdude的任何副本。
責任編輯:wv
-
AVR編程器
+關注
關注
0文章
2瀏覽量
906
發布評論請先 登錄
相關推薦
評論