到現(xiàn)在為止我深信STK500會成為AVR單片機(jī)的主流下載器,接著我收集資料分別DIY了AVR910串口下載線,AVRISP下載線,STK500下載線JTAG仿真器等一些工具,在參考了包括atmel原裝在內(nèi)的各種各樣的AVR STK500和AVR JTAGICE的線路之后,我設(shè)計了這個RSR232/USB雙接口的STK500ISP/JTAG二合一的產(chǎn)品,為什么做了個2合1的東西?主要是由于大部分人不喜歡用仿真器,但是RS232有了,USB有了,外殼有了,PCB只想做一次,雖說是2合1其實(shí)只是通訊線路用電子開關(guān)切換來共用,其它都是分開的并且和atmel的固件完全一樣,為了加上USB接口我到市場買回好幾種USB轉(zhuǎn)串口線進(jìn)行測試,經(jīng)過測試比較發(fā)現(xiàn)芯片為PL-2303HX的轉(zhuǎn)換線兼容性和穩(wěn)定性較好,最后就選定了這個芯片做USB接口,線路設(shè)計出來后又想讓它工作于STK500的下載界面(一般大家叫的STK500下載器工作于AVRISP下載界面)因此加了一個74HC165,再后來一想我不能比別人做得更完善一些嗎?接著又加了一個tiny2313用于STK500的自動升級與自修復(fù),因此就有了現(xiàn)在的這個AVRISP/STK500下載界面相兼容并且STK500可以ebn文件自動升級的PCB。查看原理圖 商城有供DIY的PCB和其它配件出售。
在按照原理圖DIY通過之后開始選外殼,多方比較最終選擇了質(zhì)量最好的這個:
外殼選定之后開始設(shè)計PCB,完工之后就是這個樣子:(部分元件裝背面)板上有三組撥動開關(guān),第一組4位稱為k1全部撥到ON的位置,是用自身的STK500對JTAG的那個mega16進(jìn)行寫初始程序或手工升級和修復(fù)用的,默認(rèn)k1全部撥到OFF為JTAG正常使用;中間2位的那一組稱為k2,k2-1撥到ON的位置用于強(qiáng)制使用RS232通訊,這個時候USB只有取電的作用,k2-1默認(rèn)撥到OFF則RS232/USB自動轉(zhuǎn)換,沒有插USB的時候RS232會和仿真器接通,這個時候由目標(biāo)板給仿真器供電,插入USB的時候通訊由USB取代;k2-2默認(rèn)撥到OFF的位置,撥到ON則對STK500進(jìn)行stk500.ebn文件升級或修復(fù)(AVRISP界面直接點(diǎn)Upgrade就可以升級);右邊那一組稱為k3用于控制供電模式,默認(rèn)k3-1為ON由USB給仿真器供電,k3都撥到ON則系統(tǒng)由USB供電并對外輸出4.2V@200mA的電源。
裝上芯片之后:那個2303(或FT232RL)芯片旁邊有沒有晶體振蕩器都是正常的,沒有的話就是內(nèi)置晶振,有就是外置晶振。
到現(xiàn)在才發(fā)現(xiàn)最難的工作還在后頭,此外殼從寧波三和殼體公司定購,質(zhì)量絕對一流,到貨之后發(fā)愁了,串口和USB插頭的位置要開孔,首先想到的是數(shù)控激光切割機(jī)開孔,經(jīng)過實(shí)驗(yàn)一般的激光切割機(jī)雖然可以切10mm厚的壓克力但是切不動3mm厚的這個外殼,銑床加工經(jīng)過試驗(yàn)效率太低廢品率居高不下,¥6.5元一個的外殼一下報廢一個實(shí)在心疼,看來這個方法也不行,最后抱著試試看找了一家模具雕刻廠總算是比較滿意了,慢工出細(xì)活換來的是成本的上升但看上去更專業(yè)。
此外殼側(cè)邊有一個孔正好做可編程頻率輸出端子,剛好可以插一根杜邦插線,具體輸出頻率是多少請在STK500下載界面Board菜單中選取,2006年1月8日以后出售的2in1這個頻率輸出端還有一個啟動STK500估件升級的功能:在斷電并拔掉所有聯(lián)機(jī)線的情況下,用杜邦插線將頻率輸出端和ISP插座左下角GND的那根插針連接,然后插入USB電纜接著啟動AVRProg進(jìn)行升級或修復(fù)STK500固件,早先要撥一個開關(guān)才能更新或維修STK500現(xiàn)在不用撥了。
看看底部的接口吧,左邊是STK500ISP接口,右邊是JTAGICE仿真器接口
接通USB插頭,左邊第一個紅色LED為電源指示燈(USB-power),第二個綠色LED為STK500電源指示(STK500-power),第三個黃色LED為STK500ISP下載指示燈(STK500-RUN),第四個綠色LED為JTAG連接到目標(biāo)板的電源指示燈(Board-power),第五個LED為JTAGICE仿真器運(yùn)行指示燈(JTAG-RUN),雖說ISP和JTAG兩條10芯扁平電纜插錯不一定損壞設(shè)備,但是不做保證也不推薦這樣做,即使兩條電纜同時插上STK500ISP和JTAG端口,這時設(shè)備會選擇接通JTAG工作但是仍然不推薦用戶這樣做,應(yīng)該根據(jù)需要該插哪條就插哪條。 最后打包:串口延長線×1 USB連接線×1 ISP線×2+1 頻率輸出杜邦插線×1 2合1主機(jī)×1 USB Driver 1CD
可以用AVR Studio的4.0或更高版本控制STK500和JTAGICE,選擇STK500or AVRISP和Auto或者具體的COM?端口進(jìn)行聯(lián)機(jī),點(diǎn)擊avr studio主窗口中的圖標(biāo)
連接STK500ISP:
連接JTAGICE仿真器:聯(lián)機(jī)之前請確保本設(shè)備已經(jīng)和目標(biāo)板有連接且LED4點(diǎn)亮。
進(jìn)行JTAGICE聯(lián)機(jī)時請確保目標(biāo)AVR選中如下熔絲項:如下圖
下圖是在avrstudio里打開STK500 program的聯(lián)機(jī)圖片1,在ISP下面有高壓編程選項但不可使用,在“program”標(biāo)簽中的下拉菜單中選擇AVR目標(biāo)器件,在Flash標(biāo)簽的瀏覽按鈕處裝載intel-hex文件。
下圖是在avrstudio里打開STK500 program的聯(lián)機(jī)圖片2,有一個STK500Osc選項,它從可編程頻率輸出端輸出一個頻率可選為3.69M 1.84M 1.23M32.7KHZ的方波信號,我沒有示波器也沒有頻率計無法準(zhǔn)確的去測量,將我的MEGA16試驗(yàn)板熔絲選為外部晶體振蕩器,接著我拆掉晶體并且從Osc端接一根線到XTAL一端,試驗(yàn)板上的AVR開始運(yùn)行了,如果選擇頻率為STOP則實(shí)驗(yàn)板單片機(jī)停止運(yùn)行,看來這個頻率輸出端是可用的;如果你的目標(biāo)AVR不小心將熔絲設(shè)成了外部時鐘而鎖住,這個可編程頻率輸出端就可以派上用場啦,另外你還可以用VTarget測量出目標(biāo)板或者STK500編程器本身的供電電壓,另外還有一個ISP選項,一般來說其頻率必須等于或小于目標(biāo)單片機(jī)運(yùn)行頻率的1/4,否則不能正常下載。
下圖是在avrstudio里打開STK500 program的聯(lián)機(jī)圖片,可以讀出AVR芯片的特征字,還可以對內(nèi)部RC振蕩器頻率進(jìn)行校準(zhǔn),校準(zhǔn)字可以選擇寫入flash或者eeprom里面。
熔絲選擇項:
鎖定位選項:
批量自動編程選項:
關(guān)于在AVR studio中詳細(xì)使用STK500和JTAG ICE請參考馬潮老師翻譯的avrstudio中文幫助
STK500常見故障現(xiàn)象:如下圖,表示STK500設(shè)備本身是好的,請檢查BoardISP選項,一般來說其頻率必須等于或小于目標(biāo)單片機(jī)運(yùn)行頻率的1/4否則不能下載或讀取到錯誤的溶絲位等,比如目標(biāo)AVR時鐘1M選115KHz,2M以上選460KHz,7.3728M及以上選1.845M
JTAG常見故障現(xiàn)象:如下圖,表示JTAG本身是好的,只是無法和目標(biāo)AVR聯(lián)機(jī),請檢查目標(biāo)AVR芯片和JTAG接線是否正確?JTAG溶絲使能設(shè)置好沒有?JTAG電纜可能有斷線更換一條再試。
avr stk500支持的裝置列表:
AT86RF401 90CAN128
AT89S51 AT89S52 AT90PWM2AT90PWM3
90s1200 90s2313 90s2323 90s2343 90s4414 90s4433 90s4434 90s8515 90s8535
mega103 mega128mega16 mega161 mega162 mega163 mega165 mega168 mega169 mega32 mega323mega325 mega329 mega406 mega48
mega64 mega8 mega8515mega8535 mega88 mega2560 mega2561 mega3250 mega3290 mega644 mega645mega6450 mega649 mega6490
tiny11 tiny12 tiny15 tiny22tiny2313 tiny22 tiny24 tiny26 tiny28 tiny45
stk500下載器固件下載壓縮包里有2個hex文件,一個是舊版本,一個是新版本,不過使用了這個套件之后你已經(jīng)用不著它們了,因?yàn)槟悻F(xiàn)在可以直接把a(bǔ)vrstudio里面帶的那個stk500.ebn升級用的固件直接燒進(jìn)去就好了,使用之前請先下載對應(yīng)你操作系統(tǒng)的USB驅(qū)動并安裝。查看mega8535的熔絲位