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