0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解析單片機(jī)ISP自動(dòng)下載程序電路設(shè)計(jì)原理

GReq_mcu168 ? 來源:程序員大本營(yíng) ? 作者:程序員大本營(yíng) ? 2021-04-06 16:43 ? 次閱讀

STM32 單片機(jī)有Boot啟動(dòng)方式,在用UART串口下載程序時(shí),需要手動(dòng)設(shè)置Boot的啟動(dòng)方式,可能有點(diǎn)麻煩,通過設(shè)計(jì)電路可以實(shí)現(xiàn)自動(dòng)ISP下載。下面和大家分享一下設(shè)計(jì)原理。STM32支持仿真器和串口下載程序。將要介紹的內(nèi)容,屬于串口下載,即我們通常說的ISP下載。

手動(dòng)ISP下載程序,我們已經(jīng)知道了,控制BOOT0引腳實(shí)現(xiàn)。STM32上電,會(huì)自動(dòng)檢測(cè)BOOT0引腳是什么電平,如果是高電平,等待用戶下載程序;如果是低電平,運(yùn)行用戶之前下載到單片機(jī)的程序。所以我們需要把BOOT0引腳引出,然后控制其接地或接VCC來下載程序或者運(yùn)行程序。在調(diào)試過程中,我們需要不斷的控制BOOT0,非常麻煩。那么,自動(dòng)ISP就該出場(chǎng)了。

自動(dòng)ISP,把BOOT0與地直接連接,那么每次上電就會(huì)運(yùn)行程序,而且只要點(diǎn)擊電腦上的“下載”按鈕,就開始下載程序,下載完程序,就開始執(zhí)行。實(shí)現(xiàn)此目的,需要借助串口握手信號(hào)DTR和RTS。下面是深圳鵬遠(yuǎn)電通科技有限公司研發(fā)的免費(fèi)ISP下載軟件,請(qǐng)看紅色的框里面的部分。

a62fdf92-9404-11eb-8b86-12bb97331649.jpg

DTR連接RESET(復(fù)位引腳),控制復(fù)位,RTS連接BOOT0,用來控制程序運(yùn)行或者等待下載。下面說明如何用USB轉(zhuǎn)TTL芯片實(shí)現(xiàn)STM32自動(dòng)ISP。CH340芯片如下圖所示:

a638da70-9404-11eb-8b86-12bb97331649.png

CH340芯片,DTR和RTS引腳在一般情況下是高電平,低電平有效。因?yàn)镾TM32的RESET引腳,也是一般情況下是高電平,低電平復(fù)位,所以DTR可以與RESET直接連接。但是BOOT0是高電平下載程序,低電平運(yùn)行程序,正好與RTS相反,所以我們需要把它反相,加一個(gè)NPN三極管即可。電路如下圖所示:

a6540af2-9404-11eb-8b86-12bb97331649.jpg

ISP軟件的選擇:

a65fa4de-9404-11eb-8b86-12bb97331649.png

看了上圖的選擇,有些人一定會(huì)產(chǎn)生疑慮。按道理應(yīng)該是低電平復(fù)位,然后低電平進(jìn)入BOOTLoader呀。但是,有一點(diǎn)需要注意,它這里講的高低電平,是針對(duì)電腦原始的9針串口的,也就是“232電平”,我們用的USB轉(zhuǎn)TTL芯片是“TTL電平”,正好相反。下載過程和結(jié)果如下圖所示:

a6673afa-9404-11eb-8b86-12bb97331649.jpg

注意:CH340在剛上電,穩(wěn)定需要幾秒鐘時(shí)間,在此期間,DTR引腳會(huì)有兩次或者三次的變低情況,這樣會(huì)引起單片機(jī)上電后復(fù)位兩三次,穩(wěn)定后不會(huì)影響程序運(yùn)行。如果不想讓單片機(jī)上電復(fù)位好幾次,上電的時(shí)候把DTR與RESET斷開即可。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50818

    瀏覽量

    423716
  • ISP
    ISP
    +關(guān)注

    關(guān)注

    6

    文章

    477

    瀏覽量

    51841
  • 單機(jī)片
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    11751

原文標(biāo)題:?jiǎn)纹瑱C(jī)ISP自動(dòng)下載程序電路設(shè)計(jì)原理

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)怎么寫入程序

    程序通常涉及以下幾個(gè)步驟: 選擇單片機(jī)和開發(fā)環(huán)境 : 確定項(xiàng)目需求,選擇合適的單片機(jī)型號(hào)。 安裝相應(yīng)的開發(fā)環(huán)境,如Keil、IAR、MPLAB等。 硬件連接 : 將單片機(jī)連接到開發(fā)板或
    的頭像 發(fā)表于 10-21 11:21 ?473次閱讀

    32位單片機(jī)電路設(shè)計(jì)技巧分享!

    。在這種情況下,使用32位單片機(jī)比在電路中使用幾個(gè)邏輯IC更經(jīng)濟(jì)。 3.當(dāng)程序的代碼大小對(duì)于8位單片機(jī)而言太大時(shí)。32位單片機(jī)內(nèi)置了更大的
    發(fā)表于 09-25 11:21

    PY32F002B單片機(jī) ISP 串口下載注意事項(xiàng)

    PY32F002B 沒有 BOOT,需要用 ISP 串口下載的話需要下載串口引導(dǎo)程序下載這個(gè)目錄下的 IAP
    的頭像 發(fā)表于 07-16 17:07 ?1109次閱讀
    PY32F002B<b class='flag-5'>單片機(jī)</b> <b class='flag-5'>ISP</b> 串口<b class='flag-5'>下載</b>注意事項(xiàng)

    基于51單片機(jī)兩路紅黃綠交通燈電路圖及程序

    :? ? ? 單片機(jī)愛好者、電子類專業(yè)學(xué)生、電子diy愛好者。本資源能學(xué)到什么:? ? ? ? ?可以通過查看電路學(xué)習(xí)電路設(shè)計(jì)原理,查看代碼學(xué)習(xí)代碼編寫原理,通過電路圖打樣制作并燒錄
    發(fā)表于 06-24 17:32 ?2次下載

    基于51單片機(jī)四路紅黃綠交通燈電路圖及程序

    :? ? ? 單片機(jī)愛好者、電子類專業(yè)學(xué)生、電子diy愛好者。本資源能學(xué)到什么:? ? ? ? ?可以通過查看電路學(xué)習(xí)電路設(shè)計(jì)原理,查看代碼學(xué)習(xí)代碼編寫原理,通過電路圖打樣制作并燒錄
    發(fā)表于 06-24 17:31 ?2次下載

    基于51單片機(jī)采集DS18B20多點(diǎn)溫度電路圖及程序元件清單

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)采集DS18B20多點(diǎn)溫度電路圖及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言
    發(fā)表于 06-24 17:30 ?0次下載

    基于51單片機(jī)16x16點(diǎn)陣顯示電路圖及程序元件清單

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)16x16點(diǎn)陣顯示電路圖及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言
    發(fā)表于 06-21 14:34 ?4次下載

    基于51單片機(jī)分立器件超聲波測(cè)距電路圖及程序元件清單

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)分立器件超聲波測(cè)距電路圖及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言
    發(fā)表于 06-20 16:17 ?0次下載

    基于51單片機(jī)直流電機(jī)驅(qū)動(dòng)測(cè)速電路圖及程序及元件清單

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)直流電機(jī)驅(qū)動(dòng)測(cè)速電路圖及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言
    發(fā)表于 06-20 16:16 ?1次下載

    基于51單片機(jī)8路搶答器電路圖proteus仿真及程序

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)8路搶答器電路圖proteus仿真及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言
    發(fā)表于 06-19 14:15 ?1次下載

    基于51單片機(jī)SHT11溫濕度檢測(cè)proteus仿真及電路程序

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)SHT11溫濕度檢測(cè)proteus仿真及電路程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言
    發(fā)表于 06-19 11:45 ?0次下載

    基于51單片機(jī)16路搶答器電路圖及程序元件清單

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)16路搶答器電路圖及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序
    發(fā)表于 06-19 11:38 ?2次下載

    基于51單片機(jī)數(shù)碼管數(shù)字鐘電路圖及程序

    :? ? ? 單片機(jī)愛好者、電子類專業(yè)學(xué)生、電子diy愛好者。本資源能學(xué)到什么:? ? ? ? ?可以通過查看電路學(xué)習(xí)電路設(shè)計(jì)原理,查看代碼學(xué)習(xí)代碼編寫原理,通過電路圖打樣制作并燒錄
    發(fā)表于 06-18 10:14 ?0次下載

    基于51單片機(jī)ADC0832雙路電壓0-5v檢測(cè)電路圖及程序

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)ADC0832雙路電壓0-5v檢測(cè)電路圖及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言
    發(fā)表于 06-18 10:13 ?3次下載

    基于51單片機(jī)0-10V電壓表電路圖及程序

    :? ? ? 單片機(jī)愛好者、電子類專業(yè)學(xué)生、電子diy愛好者。本資源能學(xué)到什么:? ? ? ? ?可以通過查看電路學(xué)習(xí)電路設(shè)計(jì)原理,查看代碼學(xué)習(xí)代碼編寫原理,通過電路圖打樣制作并燒錄
    發(fā)表于 06-17 14:24 ?2次下載