步驟1:功能和零件
*來自usbtiny isp的編程邏輯,成熟的avr-dude支持
*小占用空間
*最少的組件
*為目標(biāo)設(shè)備供電
請(qǐng)注意,目標(biāo)mcus的io線不受保護(hù)。您可以根據(jù)框架http://www.v-usb上的工作,在SCK和MOSI上添加1k-2k電阻,以防止可能的錯(cuò)誤連接
引用
.obdev.at/vusb/
usbtiny isp http://www.xs4all.nl/~dicks/avr/usbtiny/
零件清單
* attiny45/85(85 )更容易實(shí)現(xiàn))
* 3.6v齊納二極管(1n747,BZX79,。.避免使用1W類型)
* 68ohm電阻x 2
* 1.5K電阻
*迷你面包板170結(jié)點(diǎn)
* usb電纜(美元商店的usb打印機(jī)電纜很好)
* 1k/2k電阻,用于io線路保護(hù)(可選)
需要工具
*一個(gè)工作的AVR編程器(是的,這是一個(gè)陷阱22,我們需要一個(gè)來實(shí)現(xiàn))
*正常工作的avr編程環(huán)境
步驟2:面包板布局,原理圖和構(gòu)造
構(gòu)造
*遵循面包板布局,可能沒有組件,3個(gè)電阻器,2個(gè)二極管,1個(gè)蓋帽和一個(gè)8針的單片機(jī)。
*得到一個(gè)美元lar shop usb打印機(jī)電纜切斷了打印機(jī)的一端,將有4條裸露的電線,固定并使其成為4針公接頭,我們將用它來連接面包板。請(qǐng)查閱原理圖以了解布局和引腳分配(J1)。
*注意二極管的極性。
構(gòu)建并刷新項(xiàng)目
該項(xiàng)目是內(nèi)置有帶有avr-gcc工具鏈的linux ubuntu透明框。假設(shè)您已經(jīng)有這樣的環(huán)境,或者您可以從互聯(lián)網(wǎng)上找到如何進(jìn)行設(shè)置的方法。源代碼是從繼承許可的gnu gpl v2。
源代碼遵循v-usb推薦的約定,您可以下載源軟件包vusbtiny.tgz并解壓縮到項(xiàng)目目錄中。在您的源目錄中,有一個(gè)main.c,這是我修改過的usbtiny程序員的版本。還有一個(gè)usbdrv子目錄,其中包含v-usb層。在構(gòu)建時(shí),請(qǐng)遵守上述兩個(gè)項(xiàng)目的許可條款。我關(guān)于程序員邏輯的資料是基于Dick Streefland版本而不是ladyada版本(盡管它們幾乎相同)。
對(duì)于那些沒有構(gòu)建太鏈的人,可以使用以下代碼二進(jìn)制
單擊下載vusbtiny.hex
并使用avrdude來刷新固件
avrdude -c usbtiny -p t45 -e -V -U flash:w :usbtiny.hex
(如果您的設(shè)備是tiny85,請(qǐng)?jiān)诖颂幭螺d-p t45 w/-p t85)
源文件
點(diǎn)擊下載vusbtiny.tgz
將源程序包保存到工作目錄中
tar -zxvf vusbtiny.tgz
*做cd vsubtiny,更改為vusbtiny工作目錄
*根據(jù)要使用的芯片為目標(biāo)設(shè)備調(diào)整makefile。即PROGRAMMER_MCU = t45或t85
*做make
*附加您喜歡的ISP程序員
*修改makefile并在需要時(shí)更改您的avrdude參數(shù)。當(dāng)時(shí)的股票是USBTiny程序員。即AVRDUDE_PROGRAMMERID = usbtiny
*通過make install刷新固件
刷新固件后,我們需要正確設(shè)置保險(xiǎn)絲,在此項(xiàng)目中將引腳1重置為io
* v-usb層要求用于USB定時(shí)的ppl時(shí)鐘
*禁用復(fù)位引腳,因?yàn)槲覀冃枰獙⑵溆米鱥o
avrdude -c usbtiny -p t45 -V -U lfuse:w :0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xff:m
此設(shè)置禁用了通過5V SPI的進(jìn)一步編程,因?yàn)槲覀冃枰狪O的RESET引腳(pin1)。您將需要聯(lián)系HVSP程序員來恢復(fù)保險(xiǎn)絲。
步驟3:用法和應(yīng)用
直接在面包板上閃爍
如果您正在使用vusbtiny閃爍8針AVR設(shè)備,則只需將目標(biāo)設(shè)備按在編程器頂部即可設(shè)備。編程器的設(shè)計(jì)使編程引腳與目標(biāo)引腳匹配。雖然有一個(gè)技巧,但是您需要隔離編程器mcu上的引腳2和3,因?yàn)樗鼈兪沁B接到PC的USB D +和D-引腳。我使用透明膠帶切割以實(shí)現(xiàn)此目的,您可以在照片上看到它。下面顯示的是在tiny45上的tiny13v“騎乘”,準(zhǔn)備接收固件。
ISP通過跳線閃爍
以通過ISP編程目標(biāo)電路(系統(tǒng)內(nèi)編程),則需要ISP電纜。在這里,我沒有使用標(biāo)準(zhǔn)的2x3或2x5排針。取而代之的是,我使用的1x6跳線對(duì)面包板更友好,您可以通過將它們映射到J2來制作2x3或2x5引腳接頭,如面包板布局和示意圖所示。下圖顯示了一個(gè)tiny2313準(zhǔn)備通過ISP進(jìn)行刷新。
故障排除
*無法刷新固件?檢查您的原始程序員,可能需要通過avrdude中的-B標(biāo)志來調(diào)整時(shí)間。嘗試讀取芯片1st,可能是保險(xiǎn)絲壞了,可能是您的芯片需要外部時(shí)鐘信號(hào)。您可能需要將芯片重新設(shè)置為默認(rèn)的第1個(gè)。
*如果使用不同的io引腳,檢查代碼和連接,請(qǐng)檢查連接
**您可以用500mw,400mw類型的齊納二極管替換
*您可以嘗試將R3值減小到1.2K或更小
*您更有可能遇到avrdude的計(jì)時(shí)問題,請(qǐng)嘗試-v標(biāo)志avrdude,使用較短的USB電纜都有幫助
責(zé)任編輯:wv
-
編程器
+關(guān)注
關(guān)注
9文章
393瀏覽量
42275
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論