JDM PIC 編程器制作
前段時間rd09朋友提供了FENG3對JDM PIC 編程器改進版的制作方法,我照做了一個,覺得這是一款性價比非常高的燒寫器,為讓大家在制作過程中少走彎路,盡快品嘗到成功的喜悅,特撰此文共享。
JDM PIC 編程器最初的設(shè)計是一個奇特的創(chuàng)新,它非常靈活地運用了三極管及串口的工作原理,在無外部電源供應(yīng)的情況下實現(xiàn)了VDD+5V、VPP+ 13V電源供應(yīng)和時鐘、數(shù)據(jù)的收發(fā)。而且串口的使用也不拘泥于其端口引腳的原定義,令人不得不佩服設(shè)計者的智慧。當初原設(shè)計時作者應(yīng)該寫了一個DOS下的驅(qū)動,而后來IC-PROG對其的支持使其在WINDOWS下面發(fā)揚光大。鑒于現(xiàn)在JDM被推薦和受歡迎的程度,我們實在應(yīng)該感謝Jens Dyekjar Madsen創(chuàng)造了JDM,而Bonny Gijzen對它的支持則使其發(fā)揚光大。
下圖是其最初的設(shè)計線路,使用25針的串口,其端口名稱在9針的串口中同樣可以找到。RTS口在提供時鐘信號的同時還通過D3、D4整流、5.1V (D2)穩(wěn)壓管提供+5.1V的VDD電壓,DTR與CTS配合實現(xiàn)數(shù)據(jù)的傳送與接受,而TxD則提供燒寫時的VPP+13V,這里+13V經(jīng)過D6與 D2串連穩(wěn)壓得到。這里VDD是一直有供應(yīng),而VPP只在燒寫時供應(yīng)。
下圖是日本一個火腿族FENG3的改良版,最初的改良是為了使其可以用同一個卡座燒寫40PIN及以下的直插式MCU,并且加了一個LED指示燒寫狀態(tài)。其后又增加了Q3,為的是在VPP在VDD之前加到MCU上,我在他的網(wǎng)站上沒有找到關(guān)于為何要“VPP Befor VDD”的理由,但我猜想是為了一些有內(nèi)部RC振蕩的MCU所設(shè)計,因為如果使用有內(nèi)部振蕩的MCU而又選擇了這個功能,在多次重復(fù)燒寫時可能出現(xiàn)問題。試想如果MCU原來燒有程序,在VDD上電的同時MCU開始運作,由于有許多腳接地,在MCU初始化端口后就會導(dǎo)致某些設(shè)置成輸出腳對地短路而燒壞 MCU。但是這里實現(xiàn)這個功能時有個問題,這將在其后說明。
按FENG3的說明,“制作這個燒寫器之前,我推薦首先查一下您的個人計算機串口有沒有足夠的電壓輸出。如果TxD, DTR, 和 RTS沒有超過±7.5V,這個燒寫器將不能正常工作。特別是最近的手提電腦通常使用低電壓的RS232芯片?!蔽以谶@里要說明的是,實際上在±7.5V 范圍燒寫器還是不能工作的。至少要達到13.5V才行。什么道理大家可以想到。
FENG3提示其它的要點有6個,請制作者仔細閱讀:
串口的地線 直接與燒寫器的VDD相連,電路圖中所有的接地符號均是PIC燒寫器的地,請不要將串口的地與燒寫器的地相連。(我一年前做過一個沒成功,因為當時沒搞清,誤將串口的地和燒寫器的地相連)
這個PIC燒寫器的VPP必須在燒8-18PIN和28-40PIN時通過一個開關(guān)切換,如果您在燒寫時沒有正確地選擇好開關(guān)的位置,過電壓可能將您的PIC燒壞。
?這個PIC燒寫器不支持所有的PIC MCU,(不支持PIC16C5X; 20PIN的PIC16C770/771可以通過使用一個轉(zhuǎn)接頭來燒寫。
因我沒有全系列的PIC芯片,所以我沒有試過所有的PIC,使用這個燒寫器我成功燒寫并校驗成功了如下型號: PIC12F629, PIC12F675, PIC16F627, PIC16F628, PIC16F630, PIC16F676, PIC16F818, PIC16F819, PIC16F84A, PIC16F873, PIC16F877A, PIC18F2320, PIC18F452.(本人成功燒寫和校驗了16F7X系列)。
燒寫軟件使用Bonny Gijzen. 的IC-Prog,目前的版本是1.05C,大家可以到http://www.IC-PROG.COM去下載。
IC-Prog 中的Hardware settings(硬件設(shè)置)同JDM programmer.(這里我要提醒大家注意,如果使用WINDOW2000以上,Hardware settings的INTERFACE中要選擇WINDOWS API選項,而不要選擇DIRECT I/O,因為在32位操作系統(tǒng)中是不允許一般軟件直接操作硬件的。雖然這樣寫的速度會慢一點,但沒辦法。最多把I/O DELAY值設(shè)置成0,但要看電腦配置和芯片燒寫校驗錯誤率怎樣,我的1.7G賽揚設(shè)置成DELAY=0時燒寫一片2K字的16F72大概25秒左右,已經(jīng)很不錯了。如果燒寫成功率不高,那就設(shè)置得長一點。WIN98一下我沒試過。)見下圖.
評論