來(lái)源 | TsinghuaJoking
STC單片機(jī)的程序下載使用ISP模式,下載程序通過(guò)微機(jī)上串口,或者USB轉(zhuǎn)串口,與單片機(jī)上特定的下載端口相連進(jìn)行下載。不需要任何第三方的下載器,調(diào)試器便可以完成單片機(jī)的開(kāi)發(fā),使用起來(lái)非常方便,但缺點(diǎn)是每次下載都需要人工復(fù)位才行。
本文介紹一種全自動(dòng)STC下載電路,使得整個(gè)下載過(guò)程不需要人工干預(yù),這就大大提高的程序的開(kāi)發(fā)效率,使得通過(guò)下載-運(yùn)行-測(cè)試 模式完成程序的開(kāi)發(fā)。
STC下載模式介紹
STC單片機(jī)ISP下載程序過(guò)程具有非常確定的流程,通過(guò)以下三個(gè)步驟。
PC在TXD每隔10ms發(fā)送兩個(gè)相連的0xff字節(jié);
單片機(jī)上電,并發(fā)送給相關(guān)的信息;
PC重新握手后繼續(xù)完成芯片的擦寫(xiě)和下載程序。
其中單片機(jī)上電,進(jìn)行冷啟動(dòng)是一個(gè)必要的環(huán)節(jié)。往往在單片機(jī)設(shè)計(jì)的時(shí)候。這部分通過(guò)手動(dòng)的機(jī)械開(kāi)關(guān)來(lái)給單片機(jī)上電。設(shè)計(jì)的全自動(dòng)下載電路就是來(lái)替代手動(dòng)上電的環(huán)節(jié)。
為了避免單片機(jī)從下載串口管腳獲取電能,則需要通過(guò)電阻和二極管來(lái)進(jìn)行有效的隔離。
相關(guān)的下載實(shí)驗(yàn)參見(jiàn)下面的博文:
STC單片機(jī)下載實(shí)驗(yàn)
STC下載程序界面。其中最低波特率設(shè)置為19200, 最高波特率設(shè)置為115200下載的成功率比較高。至于其它的設(shè)置為何單片機(jī)無(wú)法下載,還無(wú)法進(jìn)行解釋。
▲ STC-ISP(V6.87C)下載程序界面
全自動(dòng)下載電路
1. 基本原理
計(jì)算機(jī)下載程序時(shí),會(huì)在串口(或者USB轉(zhuǎn)串口)的TXD管腳上出現(xiàn)低電平脈沖,并且在整個(gè)下載程序過(guò)程,TXD都會(huì)有低電平脈沖。設(shè)計(jì)的電路板可以通過(guò)檢測(cè)該低脈沖,來(lái)產(chǎn)生單片機(jī)電源上電控制脈沖,使得單片機(jī)斷電,然后重新上電。模擬原本手工操作的過(guò)程。
單片機(jī)供電部分,原本通過(guò)一個(gè)開(kāi)關(guān),現(xiàn)在是通過(guò)一個(gè)受控繼電器開(kāi)關(guān)完成掉電和上電過(guò)程。
2. 電路的功能描述
根據(jù)前面描述的原理,全自動(dòng)下載電路包括有兩部分:
USB轉(zhuǎn)串口電路:這部分是由PL2303(SOP-8)完成;
電源控制電路:這部分包括有兩個(gè)單穩(wěn)態(tài)時(shí)間定時(shí)電路和繼電器電路組成;
電路功能框架如下圖所示:
▲ 全自動(dòng)下載電路框圖
關(guān)于USB轉(zhuǎn)串口部分可以參見(jiàn)博文“Prolific PL2303SA 調(diào)試[2]”中的內(nèi)容,在這里就省略了。
電源控制電路中,可重復(fù)觸發(fā)單穩(wěn)態(tài)定時(shí)器是將微機(jī)串口TXD上的脈沖合并成一個(gè)大的脈沖。該脈沖再驅(qū)動(dòng)后面的單穩(wěn)態(tài)定時(shí)器形成一個(gè)電源開(kāi)關(guān)脈沖信號(hào),驅(qū)動(dòng)繼電器完成單片機(jī)的電源開(kāi)關(guān)。
觀察STC的下載程序的波形,可以看到在整個(gè)下載過(guò)程中,脈沖中的最大時(shí)間間隔在0.5~1秒鐘,所以設(shè)計(jì)可重復(fù)觸發(fā)的單穩(wěn)態(tài)定時(shí)器的時(shí)間常數(shù)需要大于一秒鐘。
▲ STC下載程序過(guò)程
考慮到單片機(jī)掉電過(guò)程中,電路中包括有儲(chǔ)能電源濾波電容,需要放電,根據(jù)手工測(cè)試,掉電時(shí)間大于1秒鐘基本上可以保證單片機(jī)電路可靠掉電。所以第二個(gè)單穩(wěn)態(tài)定時(shí)器的時(shí)間設(shè)置為1秒鐘。
使用繼電器來(lái)控制單片機(jī)的電源,可以適應(yīng)單片機(jī)電路工作不同的電流范圍。這比使用半導(dǎo)體開(kāi)關(guān)器件有更加可靠的控制效果。另外,這也可以將調(diào)試電路的工作電源與下載板的工作電源有效的隔離。
3. 電路原理圖
(1)電路圖
全自動(dòng)程序下載接口板的原理圖如下圖所示。
▲ 全自動(dòng)程序下載接口板
(2) 電路功能描述
定時(shí)器使用施密特反相器74HC14來(lái)設(shè)計(jì)。由于HC14中包括有六個(gè)相同的反相器,而在實(shí)際中只需要三個(gè)。所以為了保證工作的可靠和接近理想狀態(tài),就將HC14中六個(gè)反相器并聯(lián)成三個(gè)反相器。
第一組反相器是對(duì)TXD信號(hào)進(jìn)行隔離,并驅(qū)動(dòng)后面的二極管+RC電路。二極管D1, 電阻R11,電容C1,C2組成了可重復(fù)觸發(fā)的單穩(wěn)態(tài)電路,由第二組反相器整形后,驅(qū)動(dòng)后面的單穩(wěn)態(tài)定時(shí)器。
第二組定時(shí)器是由電容C20,電阻R12以及D3組成,最后經(jīng)過(guò)第三組反相器形成開(kāi)關(guān)脈沖,通過(guò)三極管T1驅(qū)動(dòng)繼電器RL1完成單片機(jī)電源的斷開(kāi)與接入。
PL2303輸出的RXD信號(hào)也通過(guò)繼電器RL1另外一組開(kāi)關(guān)與單片機(jī)相連,這樣也可以確保在單片機(jī)斷電的時(shí)候,RXD不會(huì)給單片機(jī)供電。PL2303的TXD還是通過(guò)二極管D2與單片機(jī)相連,可以在單片機(jī)掉電時(shí)不向單片機(jī)供電。
(3)輔助電路功能
除了上面主要電路功能之外,按鈕BTN1可以實(shí)現(xiàn)手動(dòng)控制繼電器的開(kāi)關(guān),在必要的時(shí)候手動(dòng)控制下載過(guò)程。
發(fā)光二極管LED顯示可重復(fù)觸發(fā)單穩(wěn)態(tài)電路的狀態(tài)。當(dāng)它滅的時(shí)候,才能夠進(jìn)行下一次程序下載;當(dāng)LED亮的時(shí)候,說(shuō)明上一次下載過(guò)程還沒(méi)有完成,此時(shí)不能夠進(jìn)行下載程序。
4. PCB板
繪制實(shí)驗(yàn)電路,其中為了適合快速單面制版,對(duì)電路元器件的布局和布線做了考慮。如果使用商業(yè)制版,可以考慮雙面排布元器件,以便進(jìn)一步縮小電路的面積。
經(jīng)過(guò)快速制版和焊接,形成全自動(dòng)下載電路的測(cè)試版。
根據(jù)原理圖設(shè)計(jì),下載板的五個(gè)引線的功能定義如下表所示:
序號(hào)功能符號(hào)
1工作電源+5V
2單片機(jī)電源+5VC
3底線GND
4串口輸入RXD
5串口輸出TXD
功能測(cè)試
1. 測(cè)試單片機(jī)系統(tǒng)
使用STM15W415AS單片機(jī)的實(shí)驗(yàn)板作為測(cè)試,利用面包板固定測(cè)試單片機(jī)電路板。將下載板的接口通過(guò)面包板與測(cè)試單片機(jī)板的電源、下載串口線相連。
▲ 全自動(dòng)下載板與測(cè)試電路
2. 測(cè)試過(guò)程
設(shè)置STC的ISP程序,選擇MCU型號(hào),調(diào)入測(cè)試程序。設(shè)置最低波特率為19200, 最高波特率115200。
(1)測(cè)試下載程序
按動(dòng)下載/編程按鈕,便可以開(kāi)始下載程序。此時(shí)下載板上的繼電器會(huì)自動(dòng)斷開(kāi)一秒鐘,然后重新上電。ISP程序完成握手信號(hào)之后,對(duì)單片機(jī)進(jìn)行擦除、編程等過(guò)程。當(dāng)操作成功之后,經(jīng)過(guò)大約2秒鐘,下載板上的LED熄滅。之后便可以進(jìn)行下一次的程序下載了。
▲ 自動(dòng)下載程序
(2)測(cè)試“檢測(cè)MCU選項(xiàng)”
按動(dòng)“檢測(cè)MCU選項(xiàng)”,可以自動(dòng)完成單片機(jī)的選項(xiàng)測(cè)試。
小結(jié)
在單片機(jī)開(kāi)發(fā)中,為了簡(jiǎn)化調(diào)試過(guò)程,可以通過(guò)迭代“下載-運(yùn)行”過(guò)程完成程序的開(kāi)發(fā)驗(yàn)證過(guò)程。使用全自動(dòng)下載電路板,則可以避免在程序下載過(guò)程中的手動(dòng)開(kāi)關(guān),提高程序開(kāi)發(fā)的效率。
在STC-ISP程序中,包括有“當(dāng)目標(biāo)文件變化時(shí)自動(dòng)裝載并發(fā)送下載命令” 選項(xiàng),利用該選項(xiàng),可以在程序開(kāi)發(fā)IDE完成對(duì)工程文件編譯之后,自動(dòng)觸發(fā)ISP程序下載。此時(shí),全自動(dòng)下載板將原來(lái)手工對(duì)電源控制的過(guò)程省略,實(shí)現(xiàn)了程序的修改-編譯-下載-觀察的自動(dòng)過(guò)程,提高了程序開(kāi)發(fā)的效率。
下面使用touch命令來(lái)模擬修改HEX文件,可以看到可以直接觸發(fā)ISP程序完成自動(dòng)單片機(jī)程序下載。
本文所涉及到的電路板的AltiumDesign工程文件可以CSDN中下載。
編輯:jq
-
單片機(jī)
+關(guān)注
關(guān)注
6039文章
44579瀏覽量
636417 -
ISP
+關(guān)注
關(guān)注
6文章
477瀏覽量
51882 -
STC
+關(guān)注
關(guān)注
14文章
299瀏覽量
66279 -
下載電路
+關(guān)注
關(guān)注
3文章
7瀏覽量
4306
原文標(biāo)題:自制STC單片機(jī)下載電路,再也不用人工干預(yù)了
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論