淺談單片機(jī)下載程序電路原理
目前為止,接觸單片機(jī)已有不少,從選擇元器件、原理圖、PCB、電路硬件調(diào)試、軟件開(kāi)發(fā)也算小有心得。
單片機(jī)軟件開(kāi)發(fā)里面第一步當(dāng)屬下載程序了,如果這一步都有問(wèn)題,那么后面的一切便無(wú)從談起,記得當(dāng)初剛接觸單片機(jī)時(shí),對(duì)于下載電路方法及原理也是一頭霧水。好在隨著經(jīng)驗(yàn)的積累以及自己的努力探求,現(xiàn)在對(duì)此問(wèn)題算是有了點(diǎn)點(diǎn)自己的經(jīng)驗(yàn)理解。故今天在此針對(duì)常用51單片機(jī)下載程序問(wèn)題做下詳解,以求新手們少走彎路。
原理:?jiǎn)纹瑱C(jī)的TXD、RXD是TTL電平,所以你得萬(wàn)變不離其宗的將其它信號(hào)轉(zhuǎn)成TTL電平,只有這樣給單片機(jī)下載程序才有可能成功!其中CH340、PL2303等芯片是直接將USB信號(hào)轉(zhuǎn)換為T(mén)TL電平,而MAX232等芯片是將TTL轉(zhuǎn)換為RS232信號(hào)或者將RS232信號(hào)轉(zhuǎn)換為T(mén)TL.下面請(qǐng)看利用這種原理的兩種常用方法:
方法一:
請(qǐng)看圖一,這是我們最常見(jiàn)的單片機(jī)下載電路了,其中從②到⑥屬于大家常用的USB轉(zhuǎn)串口線(xiàn),用這種方案的好處是,如果自己的PC帶有串口(可能很老的機(jī)器沒(méi)有USB接口),那么就可以直接給單片機(jī)開(kāi)發(fā)板下載程序,因?yàn)椴捎眠@種方法的開(kāi)發(fā)板必定帶有串口接口嘛。當(dāng)然,如果PC僅有USB接口而不帶串口,那么只能找根USB轉(zhuǎn)串口線(xiàn)了(其電路原理就是圖中②到⑥),這里我推薦大家使用采用CH340芯片的USB轉(zhuǎn)串口線(xiàn),而不要采用PL2303的USB轉(zhuǎn)串口線(xiàn),因?yàn)镻L2303價(jià)錢(qián)便宜所以山寨的水貨較多,這會(huì)導(dǎo)致下載電路不穩(wěn)定,甚至無(wú)法正常下載。同時(shí)此方案的壞處是電路板上必定要做一個(gè)9針串口接口(太巨大了),這必將增加了電路PCB的面積,當(dāng)然也就增加了成本啦!(順便發(fā)表下個(gè)人見(jiàn)解:那個(gè)9針接口實(shí)在太丑,又大又重,無(wú)形中便降低了自己的設(shè)計(jì)檔次,哈哈。所以不推薦這種方法!)
方法二:
請(qǐng)看圖二,這是我經(jīng)常采用的單片機(jī)下載電路。實(shí)踐證明效果非常好,幾乎沒(méi)出過(guò)任何問(wèn)題!它的好處是只需要找根普通的USB2.0線(xiàn)(如圖二中②)就可以下載了,比找根USB轉(zhuǎn)串口線(xiàn)要輕松的多,同時(shí)由于將串口9針接口換成了USB接口,所以電路板的體積、重量也減少了不少,也顯得更美觀(guān)時(shí)尚,呵呵。在此強(qiáng)調(diào)一點(diǎn):推薦使用CH340芯片(可以用CH340G,它引腳間距大很容易焊接)而不是PL2303,上文已說(shuō)PL2303水貨多,況且PL2303的外圍電路比較復(fù)雜,這也給硬件電路的調(diào)試增加了難度。當(dāng)然如果項(xiàng)目對(duì)成本特敏感,那么采用價(jià)錢(qián)相對(duì)較低的PL2303也無(wú)可厚非。大家看到?jīng)],圖二的電路結(jié)構(gòu)比圖一要簡(jiǎn)化很多,那么是不是可以說(shuō)明圖二的性能比圖一要更好呢?應(yīng)該是吧!簡(jiǎn)單的結(jié)構(gòu)出問(wèn)題的概率當(dāng)然更小了!
值得一提的是在使用CH340時(shí),有些問(wèn)題得注意下,因?yàn)楹芏嗤瑢W(xué)反映用CH340下程序失敗,但其實(shí)一般都很容易解決的。經(jīng)本人總結(jié)常見(jiàn)原因有三:
1、某些CH340的引腳給單片機(jī)供了電導(dǎo)致單片機(jī)斷電不徹底(下載程序要斷電重啟),從而導(dǎo)致程序沒(méi)法下載。解決方案:在CH340的TXD引腳反向串聯(lián)一個(gè)二極管(推薦肖特基二極管)、在CH340的RXD引腳串聯(lián)一個(gè)約300歐姆的電阻。如此單片機(jī)可以徹底斷電,問(wèn)題解決!!(特別注意:此種情況不適用于stm32等芯片)
2、有些同學(xué)在給單片機(jī)供電時(shí),為了防反接保護(hù)電路,在電源處串聯(lián)了個(gè)二極管,由于二極管的正向壓降導(dǎo)致單片機(jī)供電不足,從而導(dǎo)致程序無(wú)法下載。解決方案:將二極管用0歐電阻代替或者采用正向壓降很小的二極管,以確保單片機(jī)的正常供電。問(wèn)題解決!!
3、有些同學(xué)由于粗心將CH340的TXD引腳連接了單片機(jī)的TXD引腳,RXD引腳連接了單片機(jī)的RXD引腳,這自然不能下載程序了,一收一發(fā)不用多說(shuō)吧,呵呵。解決方案:將CH340的TXD引腳連接單片機(jī)的RXD引腳,RXD引腳連接單片機(jī)的TXD引腳。問(wèn)題解決!!