99久久亚洲女同一区二区_国产成人亚洲欧美二区综_中国精品一级毛片免费播放_午夜福利深夜XX00视频无卡顿_动漫人物打扑克牌又疼又叫_中午字幕在线播放_深夜福利网站在线_国产成人免费福利网站_欧美成年黄网站色高清视频_欧美色黄禁片短视频

固話:0592-8011678 熱線:13306028255 客服 :
 

單片機

stm32啟動方式+上(下)拉電阻 二合一

分類:單片機 發(fā)布:2019-03-20 10:47:16 瀏覽:439次 Tag:

最近做stm32項目,糾結(jié)過其啟動方式。 
看到篇不錯的文章,轉(zhuǎn)載一下。原文格式不太好,內(nèi)容也有很多奇怪的地方(尤其是第二篇,就先認(rèn)為原文是原創(chuàng),只是作者的思路我不懂吧),都一一刪改。想看原文的朋友鏈接如下: 
http://www.ithao123.cn/content-3065243.html Duanxx的STM32學(xué)習(xí): 啟動模式,BOOT0和BOOT1詳解 
http://bluefish.blog.51cto.com/214870/1239098 上拉電阻與下拉電阻的作用

所謂啟動,一般來說就是指我們下好程序后,重啟芯片時,SYSCLK的第4個上升沿,BOOT引腳的值將被鎖存。用戶可以通過設(shè)置BOOT1和BOOT0引腳的狀態(tài),來選擇在復(fù)位后的啟動模式。

Main Flash memory是STM32內(nèi)置的Flash,一般我們使用JTAG或者SWD模式下載程序時,就是下載到這個里面,重啟后也直接從這啟動程序。

System memory從系統(tǒng)存儲器啟動,這種模式啟動的程序功能是由廠家設(shè)置的。一般來說,這種啟動方式用的比較少。系統(tǒng)存儲器是芯片內(nèi)部一塊特定的區(qū)域,STM32在出廠時,由ST在這個區(qū)域內(nèi)部預(yù)置了一段BootLoader,也就是我們常說的ISP程序,這是一塊ROM,出廠后無法修改。 
一般來說,我們選用這種啟動模式時,是為了從串口下載程序,因為在廠家提供的BootLoader中,提供了串口下載程序的固件,可以通過這個BootLoader將程序下載到系統(tǒng)的Flash中。但是這個下載方式需要以下步驟:

  1. Step1:將BOOT0設(shè)置為1,BOOT1設(shè)置為0,然后按下復(fù)位鍵,這樣才能從系統(tǒng)存儲器啟動BootLoader

  2. Step2:最后在BootLoader的幫助下,通過串口下載程序到Flash中

  3. Step3:程序下載完成后,又有需要將BOOT0設(shè)置為GND,手動復(fù)位,這樣,STM32才可以從Flash中啟動 
    可以看到,利用串口下載程序還是比較的麻煩,需要跳帽跳來跳去的,非常的不注重用戶體驗。

Embedded SRAM 內(nèi)置SRAM,既然是SRAM,自然也就沒有程序存儲的能力了,這個模式一般用于程序調(diào)試。 
假如我只修改了代碼中一個小小的地方,然后就需要重新擦除整個Flash,比較的費時,可以考慮從這個模式啟動代碼(也就是STM32的內(nèi)存中),用于快速的程序調(diào)試,等程序調(diào)試完成后,在將程序下載到SRAM中。

因此,比較常見的選擇方式是BOOT0接地,當(dāng)然啦,如果自己畫stm32系統(tǒng)板的話,最好也要留下其他兩個啟動方式。對于大型程序使用SRAM進(jìn)行調(diào)試還是很有必要的。

下面講一下上拉電阻與下拉電阻的區(qū)別: 
上拉電阻就是把不確定的信號通過一個電阻鉗位在高電平,此電阻還起到限流的作用。同理,下拉電阻是把不確定的信號鉗位在低電平。上拉電阻是指器件的輸入電流,而下拉指的是輸出電流。 
那么在什么時候使用上、下拉電阻呢? 
1、當(dāng)TTL電路驅(qū)動CMOS電路時,如果TTL電路輸出的高電平低于CMOS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。 
2、OC門電路必須加上拉電阻,以提高輸出的搞電平值。 
3、為加大輸出引腳的驅(qū)動能力,有的單片機管腳上也常使用上拉電阻。 
4、在CMOS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻降低輸入阻抗,提供泄荷通路。 
5、芯片的管腳加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限,增強抗干擾能力。 
6、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。 
7、長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。 
另外,上拉電阻阻值的選擇原則包括: 
1、從節(jié)約功耗及芯片的灌電流能力考慮應(yīng)當(dāng)足夠大;電阻大,電流小。 
2、從確保足夠的驅(qū)動電流考慮應(yīng)當(dāng)足夠小;電阻小,電流大。 
3、對于高速電路,過大的上拉電阻可能邊沿變平緩。 
綜合考慮以上三點,通常在1k到10k之間選取。對下拉電阻也有類似道理

關(guān)于上拉電阻,看圖。

作為輸入接VCC等于1,接GND=0。 
 
如果按鍵短路(按下)電阻為零,按鍵按下,Out=0,當(dāng)按鍵斷開,Out=?顯然當(dāng)Out懸空輸出VCC,這可以用儀表測量。這個VCC就是靠R1“上拉”產(chǎn)生的,顧名思義,R1就是上拉電阻。上拉電阻的大小,取決于輸出接負(fù)載的需要,通常邏輯電路對高電平輸出阻抗很大,要求輸出電流很小,在上拉電阻上壓降可以忽略,當(dāng)然上拉電阻不能太大,否則就不能忽略了。

實際電路還有這種結(jié)構(gòu) 
 
這里的R1也是上拉電阻。

單片機P0口輸出結(jié)構(gòu)一部分電路類似下圖,實際可能用的是場效應(yīng)管。 
 
當(dāng)Q1,Q2分別導(dǎo)通,可以對外輸出0和1,當(dāng)Q1,Q2都不導(dǎo)通時?要想輸出1,咋辦?外接上拉電阻!

為什么要使用拉電阻: 
一般作單鍵觸發(fā)使用時,如果IC本身沒有內(nèi)接電阻,為了使單鍵維持在不被觸發(fā)的狀態(tài)或是觸發(fā)后回到原狀態(tài),必須在IC外部另接一電阻。

關(guān)于下拉電阻,用得少,道理和上面一樣,只不過通過電阻“下拉”到GND。

這里不再詳細(xì)說明

數(shù)字電路有三種狀態(tài):高電平、低電平、和高阻狀態(tài),有些應(yīng)用場合不希望出現(xiàn)高阻狀態(tài),可以通過上拉電阻或下拉電阻的方式使處于穩(wěn)定狀態(tài),具體視設(shè)計要求而定!一般說的是I/O端口,有的可以設(shè)置,有的不可以設(shè)置,有的是內(nèi)置,有的是需要外接,I/O端口的輸出類似與一個三極管的C,當(dāng)C接通過一個電阻和電源連接在一起的時候,該電阻成為上C拉電阻,也就是說,如果該端口正常時為高電平,C通過一個電阻和地連接在一起的時候,該電阻稱為下拉電阻,使該端口平時為低電平。 
上拉電阻是用來解決總線驅(qū)動能力不足時提供電流的。一般說法是拉電流,下拉電阻是用來吸收電流的,也就是灌電流。


相關(guān)文章
在線留言聯(lián)系我們
電話:0592-8011678
傳真:0592-8011678
聯(lián)系人:王女士
24H熱線:13306028255
聯(lián)系QQ: 656368133
郵箱:656368133@qq.com
網(wǎng)址:633100.cn
QQ在線咨詢
銷售電話:
13306028255
0592-8011678
656368133
掃碼添加微信