JDM PIC 編程器制作
前段時(shí)間rd09朋友提供了FENG3對(duì)JDM PIC 編程器改進(jìn)版的制作方法,我照做了一個(gè),覺(jué)得這是一款性價(jià)比非常高的燒寫器,為讓大家在制作過(guò)程中少走彎路,盡快品嘗到成功的喜悅,特撰此文共享。
JDM PIC 編程器最初的設(shè)計(jì)是一個(gè)奇特的創(chuàng)新,它非常靈活地運(yùn)用了三極管及串口的工作原理,在無(wú)外部電源供應(yīng)的情況下實(shí)現(xiàn)了VDD+5V、VPP+ 13V電源供應(yīng)和時(shí)鐘、數(shù)據(jù)的收發(fā)。而且串口的使用也不拘泥于其端口引腳的原定義,令人不得不佩服設(shè)計(jì)者的智慧。當(dāng)初原設(shè)計(jì)時(shí)作者應(yīng)該寫了一個(gè)DOS下的驅(qū)動(dòng),而后來(lái)IC-PROG對(duì)其的支持使其在WINDOWS下面發(fā)揚(yáng)光大。鑒于現(xiàn)在JDM被推薦和受歡迎的程度,我們實(shí)在應(yīng)該感謝Jens Dyekjar Madsen創(chuàng)造了JDM,而B(niǎo)onny Gijzen對(duì)它的支持則使其發(fā)揚(yáng)光大。
下圖是其最初的設(shè)計(jì)線路,使用25針的串口,其端口名稱在9針的串口中同樣可以找到。RTS口在提供時(shí)鐘信號(hào)的同時(shí)還通過(guò)D3、D4整流、5.1V (D2)穩(wěn)壓管提供+5.1V的VDD電壓,DTR與CTS配合實(shí)現(xiàn)數(shù)據(jù)的傳送與接受,而TxD則提供燒寫時(shí)的VPP+13V,這里+13V經(jīng)過(guò)D6與 D2串連穩(wěn)壓得到。這里VDD是一直有供應(yīng),而VPP只在燒寫時(shí)供應(yīng)。
下圖是日本一個(gè)火腿族FENG3的改良版,最初的改良是為了使其可以用同一個(gè)卡座燒寫40PIN及以下的直插式MCU,并且加了一個(gè)LED指示燒寫狀態(tài)。其后又增加了Q3,為的是在VPP在VDD之前加到MCU上,我在他的網(wǎng)站上沒(méi)有找到關(guān)于為何要“VPP Befor VDD”的理由,但我猜想是為了一些有內(nèi)部RC振蕩的MCU所設(shè)計(jì),因?yàn)槿绻褂糜袃?nèi)部振蕩的MCU而又選擇了這個(gè)功能,在多次重復(fù)燒寫時(shí)可能出現(xiàn)問(wèn)題。試想如果MCU原來(lái)燒有程序,在VDD上電的同時(shí)MCU開(kāi)始運(yùn)作,由于有許多腳接地,在MCU初始化端口后就會(huì)導(dǎo)致某些設(shè)置成輸出腳對(duì)地短路而燒壞 MCU。但是這里實(shí)現(xiàn)這個(gè)功能時(shí)有個(gè)問(wèn)題,這將在其后說(shuō)明。
按FENG3的說(shuō)明,“制作這個(gè)燒寫器之前,我推薦首先查一下您的個(gè)人計(jì)算機(jī)串口有沒(méi)有足夠的電壓輸出。如果TxD, DTR, 和 RTS沒(méi)有超過(guò)±7.5V,這個(gè)燒寫器將不能正常工作。特別是最近的手提電腦通常使用低電壓的RS232芯片?!蔽以谶@里要說(shuō)明的是,實(shí)際上在±7.5V 范圍燒寫器還是不能工作的。至少要達(dá)到13.5V才行。什么道理大家可以想到。
FENG3提示其它的要點(diǎn)有6個(gè),請(qǐng)制作者仔細(xì)閱讀:
串口的地線 直接與燒寫器的VDD相連,電路圖中所有的接地符號(hào)均是PIC燒寫器的地,請(qǐng)不要將串口的地與燒寫器的地相連。(我一年前做過(guò)一個(gè)沒(méi)成功,因?yàn)楫?dāng)時(shí)沒(méi)搞清,誤將串口的地和燒寫器的地相連)
這個(gè)PIC燒寫器的VPP必須在燒8-18PIN和28-40PIN時(shí)通過(guò)一個(gè)開(kāi)關(guān)切換,如果您在燒寫時(shí)沒(méi)有正確地選擇好開(kāi)關(guān)的位置,過(guò)電壓可能將您的PIC燒壞。
?這個(gè)PIC燒寫器不支持所有的PIC MCU,(不支持PIC16C5X; 20PIN的PIC16C770/771可以通過(guò)使用一個(gè)轉(zhuǎn)接頭來(lái)燒寫。
因我沒(méi)有全系列的PIC芯片,所以我沒(méi)有試過(guò)所有的PIC,使用這個(gè)燒寫器我成功燒寫并校驗(yàn)成功了如下型號(hào): PIC12F629, PIC12F675, PIC16F627, PIC16F628, PIC16F630, PIC16F676, PIC16F818, PIC16F819, PIC16F84A, PIC16F873, PIC16F877A, PIC18F2320, PIC18F452.(本人成功燒寫和校驗(yàn)了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選項(xiàng),而不要選擇DIRECT I/O,因?yàn)樵?2位操作系統(tǒng)中是不允許一般軟件直接操作硬件的。雖然這樣寫的速度會(huì)慢一點(diǎn),但沒(méi)辦法。最多把I/O DELAY值設(shè)置成0,但要看電腦配置和芯片燒寫校驗(yàn)錯(cuò)誤率怎樣,我的1.7G賽揚(yáng)設(shè)置成DELAY=0時(shí)燒寫一片2K字的16F72大概25秒左右,已經(jīng)很不錯(cuò)了。如果燒寫成功率不高,那就設(shè)置得長(zhǎng)一點(diǎn)。WIN98一下我沒(méi)試過(guò)。)見(jiàn)下圖.
[!--empirenews.page--]
rd09 朋友的貼子中有它的PCB圖,照此我制作了一個(gè),但是僅燒寫了一次就壞掉!LED也不亮了,查是D6—6.2V的穩(wěn)壓管燒掉。究其原因,原來(lái)我使用的是 1/2W的穩(wěn)壓管,而臺(tái)式機(jī)的RS232接口的輸出電流可達(dá)20mA,兩個(gè)穩(wěn)壓管應(yīng)該選用1W的才行。而且6.2V的穩(wěn)壓管不是標(biāo)準(zhǔn)的型號(hào),所以干脆采用精密的穩(wěn)壓基準(zhǔn)TL431+合適的分壓電阻代替,再次燒寫,結(jié)果還是不行!LED也很亮,就是校驗(yàn)失?。≡跓龑憰r(shí)測(cè)量13V電壓居然只有3.5V?結(jié)果查下來(lái)是第一次燒寫過(guò)的那片16F873犧牲了……換一個(gè)16F72上,燒寫、校驗(yàn)一次OK!感謝RD09!感謝JDM!為了讓大家提高制作的成功率,下面我再將我制作中零件的選型和改進(jìn)要點(diǎn)給大家共享:
兩個(gè)穩(wěn)壓管,上面提到了需要1W的,推薦使用TL431,它的電流可達(dá)100mA,更詳細(xì)的參數(shù)和使用方法見(jiàn)它的數(shù)據(jù)手冊(cè)。
兩個(gè)三極管,耐壓要達(dá)到50V以上,電流100mA以上,截止頻率大于30MHZ,我使用2SC945代替,只是腳位不一樣,安裝時(shí)需要扭過(guò),或者朋友們也可自己重新畫PCB圖。
場(chǎng)效應(yīng)管的選擇:上面提過(guò)要實(shí)現(xiàn)VPP BEFORE VDD功能有問(wèn)題,我在線路板上用了一個(gè)IRF9014,F(xiàn)ENG3在BBS中推薦使用2SJ377,我裝好以后發(fā)現(xiàn)無(wú)論燒寫與否VDD+5不能被完全關(guān)斷,實(shí)際上P溝道的場(chǎng)效應(yīng)管需要負(fù)電壓才能導(dǎo)通,我測(cè)量TxD端,在不燒寫時(shí)電壓為0V,沒(méi)有所期望的-15V電壓出現(xiàn),所以那個(gè)MOSFET不能被完全關(guān)斷。好在我燒寫的是28PIN的16F7X,此電壓只要在燒寫時(shí)有+3.5——+5V就行了。如果不燒寫有內(nèi)部振蕩的MCU,這個(gè)管子不接也罷,況且P 溝道的MOSFET又少又貴。在實(shí)際使用中我做了如圖3的改動(dòng):使用NPN的管子,電流大于500mA,耐壓大于15V,、我選用8050,這樣就沒(méi)有問(wèn)題了。如果怕TxD有負(fù)電壓輸出而擊穿Q3的BE腳,可以在B極串一個(gè)二極管。改進(jìn)后的電路如下圖。
電阻均可采用1/8W或1/4W ±5%的碳膜電阻。
串口插座為9針母插。
其它材料恕不多述。
燒寫時(shí)芯片的放置見(jiàn)下圖: