stm32f103rbt6引腳圖


引言
STM32F103RBT6 是意法半導(dǎo)體(STMicroelectronics)推出的一款基于 Cortex - M3 內(nèi)核的 32 位微控制器,在眾多嵌入式系統(tǒng)應(yīng)用中發(fā)揮著關(guān)鍵作用。它采用 LQFP64 封裝,擁有 64 個(gè)引腳,這些引腳承擔(dān)著豐富多樣的功能,涵蓋電源供應(yīng)、信號(hào)輸入輸出、外設(shè)連接等多個(gè)方面,是實(shí)現(xiàn)系統(tǒng)功能的重要接口。對(duì)其引腳圖及功能的深入理解,是進(jìn)行基于該芯片的嵌入式系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)與調(diào)試的基礎(chǔ)。
STM32F103RBT6 芯片概述
芯片特點(diǎn)
STM32F103RBT6 芯片具備出色的性能與豐富的資源。其 Cortex - M3 內(nèi)核運(yùn)行頻率可達(dá) 72MHz,能夠高效處理各種復(fù)雜任務(wù)。內(nèi)置 128KB 的 Flash 存儲(chǔ)器,可用于存儲(chǔ)程序代碼及重要數(shù)據(jù),確保系統(tǒng)斷電后數(shù)據(jù)不丟失;64KB 的 SRAM 則為程序運(yùn)行時(shí)的數(shù)據(jù)存儲(chǔ)與操作提供了快速的讀寫空間,保障了系統(tǒng)運(yùn)行的高效性。該芯片還集成了眾多功能強(qiáng)大的外設(shè),如多個(gè)通用同步異步收發(fā)器(USART)、串行外設(shè)接口(SPI)、集成電路總線(I2C)、通用定時(shí)器(TIM)、高級(jí)控制定時(shí)器(TIM1 和 TIM8)、模擬數(shù)字轉(zhuǎn)換器(ADC)等,這些外設(shè)極大地拓展了芯片的應(yīng)用范圍,使其能夠滿足多種不同類型應(yīng)用的需求。
應(yīng)用領(lǐng)域
由于其性能與資源優(yōu)勢(shì),STM32F103RBT6 廣泛應(yīng)用于工業(yè)控制領(lǐng)域,可實(shí)現(xiàn)對(duì)電機(jī)的精準(zhǔn)控制、工業(yè)設(shè)備的自動(dòng)化監(jiān)測(cè)與調(diào)控等;在智能家居系統(tǒng)中,用于控制家電設(shè)備、實(shí)現(xiàn)環(huán)境監(jiān)測(cè)與智能安防等功能;在消費(fèi)電子領(lǐng)域,如智能手環(huán)、智能玩具等產(chǎn)品中,負(fù)責(zé)數(shù)據(jù)處理、通信以及用戶交互等任務(wù);在醫(yī)療設(shè)備中,也能承擔(dān)諸如數(shù)據(jù)采集、控制執(zhí)行等關(guān)鍵工作,為醫(yī)療設(shè)備的穩(wěn)定運(yùn)行提供有力支持。
引腳總體布局
STM32F103RBT6 采用 LQFP64 封裝,引腳呈方形分布,四周均有引腳引出。從正面看,芯片的左上角為第 1 引腳,按照逆時(shí)針?lè)较蛞来尉幪?hào)至第 64 引腳。這種布局方式在保證引腳功能實(shí)現(xiàn)的同時(shí),兼顧了芯片的尺寸與布線的便利性,為電路板的設(shè)計(jì)與制作提供了一定的優(yōu)勢(shì)。
在實(shí)際應(yīng)用中,引腳布局對(duì)電路板的布線設(shè)計(jì)有著重要影響。合理的布線能夠減少信號(hào)干擾,提高系統(tǒng)的穩(wěn)定性與可靠性。例如,電源引腳與接地引腳應(yīng)盡量靠近,以降低電源回路的阻抗,減少電源噪聲對(duì)其他信號(hào)的影響;高速信號(hào)引腳應(yīng)盡量短且遠(yuǎn)離低速信號(hào)引腳,避免信號(hào)之間的串?dāng)_等。
電源與地引腳
VDD 引腳
VDD 引腳是主電源輸入引腳,為芯片提供 3.3V 的工作電壓。在 STM32F103RBT6 中,多個(gè)引腳被定義為 VDD 引腳,如 11、28、50 等引腳。這些 VDD 引腳的設(shè)置,一方面是為了滿足芯片內(nèi)部不同模塊對(duì)電源的需求,確保各個(gè)模塊能夠穩(wěn)定工作;另一方面,通過(guò)多個(gè)引腳供電,可以分擔(dān)電流負(fù)載,降低每個(gè)引腳的電流密度,從而提高電源供應(yīng)的可靠性與穩(wěn)定性。
在硬件設(shè)計(jì)中,為了保證電源的穩(wěn)定,每個(gè) VDD 引腳都需要連接一個(gè) 0.1uF 的陶瓷電容到地。陶瓷電容具有良好的高頻特性,能夠有效濾除電源中的高頻噪聲,為芯片提供干凈穩(wěn)定的電源。對(duì)于 VDD3 引腳,除了 0.1uF 的陶瓷電容外,還需要再接一個(gè) 4.7~10uF 的鉭電容。鉭電容的容量較大,能夠在芯片瞬間電流需求變化時(shí),提供一定的電荷儲(chǔ)備,起到穩(wěn)定電源電壓的作用,避免電源電壓出現(xiàn)較大波動(dòng)。
VSS 引腳
VSS 引腳為接地引腳,是芯片電路的參考地。與 VDD 引腳相對(duì)應(yīng),STM32F103RBT6 也有多個(gè) VSS 引腳,如 12、27、49、63 等引腳。這些接地引腳在芯片內(nèi)部與各個(gè)電路模塊相連,為電路提供統(tǒng)一的參考電位,確保信號(hào)的準(zhǔn)確傳輸與電路的正常工作。
在電路板設(shè)計(jì)中,接地引腳的合理布局與連接至關(guān)重要。所有的 VSS 引腳應(yīng)通過(guò)大面積的接地平面連接在一起,形成一個(gè)低阻抗的接地網(wǎng)絡(luò)。這樣可以減少接地回路中的電阻與電感,降低不同電路模塊之間通過(guò)接地回路產(chǎn)生的干擾。同時(shí),接地平面還能起到屏蔽作用,減少外界電磁干擾對(duì)芯片內(nèi)部電路的影響。
VBAT 引腳
VBAT 引腳用于連接后備電池,為實(shí)時(shí)時(shí)鐘(RTC)和備份寄存器提供獨(dú)立的電源供應(yīng)。當(dāng)主電源 VDD 斷電后,VBAT 引腳所連接的電池能夠繼續(xù)為 RTC 和備份寄存器供電,保證 RTC 的計(jì)時(shí)功能不間斷,以及備份寄存器中的數(shù)據(jù)不丟失。這一功能在許多對(duì)時(shí)間精度要求較高且需要在斷電情況下保存關(guān)鍵數(shù)據(jù)的應(yīng)用中具有重要意義,如智能電表、數(shù)據(jù)記錄儀等設(shè)備。
如果應(yīng)用場(chǎng)景中不需要使用 RTC 和備份寄存器的掉電保持功能,VBAT 引腳可以直接連接到 VDD。但需要注意的是,在這種情況下,當(dāng)主電源 VDD 斷電時(shí),RTC 和備份寄存器將無(wú)法繼續(xù)工作,其中的數(shù)據(jù)也將丟失。
VREF + 和 VREF - 引腳
VREF + 和 VREF - 引腳是模擬數(shù)字轉(zhuǎn)換器(ADC)的參考電壓輸入引腳。VREF + 引腳輸入的是 ADC 的正參考電壓,VREF - 引腳輸入的是 ADC 的負(fù)參考電壓。ADC 在進(jìn)行模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換過(guò)程中,需要一個(gè)穩(wěn)定且準(zhǔn)確的參考電壓作為基準(zhǔn),參考電壓的精度與穩(wěn)定性直接影響 ADC 的轉(zhuǎn)換精度。
通常情況下,VREF + 引腳可以連接到 VDDA(模擬電源),此時(shí) ADC 的參考電壓范圍與 VDDA 的電壓值相關(guān)。若需要更精確的參考電壓,也可以外接一個(gè)高精度的外部參考源。無(wú)論采用哪種方式,都需要在 VREF + 引腳處連接一個(gè) 10nF 的陶瓷電容和一個(gè) 1nF 的鉭電容到地,以濾除參考電壓中的噪聲,保證參考電壓的穩(wěn)定性。VREF - 引腳一般直接連接到 VSSA(模擬地),確保參考電壓的負(fù)端穩(wěn)定。
VDDA 和 VSSA 引腳
VDDA 引腳為模擬電源引腳,專門為芯片內(nèi)部的模擬電路部分,如 ADC、DAC(數(shù)字模擬轉(zhuǎn)換器)等提供電源。與主電源 VDD 不同,VDDA 需要更加穩(wěn)定、純凈的電源供應(yīng),以保證模擬電路的高精度工作。在硬件設(shè)計(jì)中,VDDA 引腳需要連接一個(gè) 10nF 的陶瓷電容和一個(gè) 1nF 的鉭電容到地,通過(guò)這兩個(gè)電容的濾波作用,去除電源中的高頻和低頻噪聲,為模擬電路提供干凈的電源。
VSSA 引腳為模擬地引腳,是模擬電路的參考地。它與 VSS(數(shù)字地)在芯片內(nèi)部通常是分開(kāi)的,但在電路板設(shè)計(jì)中,一般會(huì)通過(guò)一個(gè)單點(diǎn)接地的方式將 VSSA 和 VSS 連接在一起,以避免數(shù)字電路產(chǎn)生的噪聲通過(guò)接地回路耦合到模擬電路中,影響模擬電路的性能。
通用輸入輸出(GPIO)引腳
GPIO 端口概述
STM32F103RBT6 擁有多個(gè) GPIO 端口,包括 PA0 - PA15、PB0 - PB15、PC0 - PC15 等。這些 GPIO 端口具有高度的靈活性,可通過(guò)軟件配置為輸入模式、輸出模式、復(fù)用功能模式以及模擬輸入模式等,以滿足不同應(yīng)用場(chǎng)景下與外部設(shè)備的接口需求。
每個(gè) GPIO 端口都由多個(gè)寄存器進(jìn)行控制,如端口配置低寄存器(CRL)、端口配置高寄存器(CRH)用于配置引腳的工作模式與輸出類型;端口輸入數(shù)據(jù)寄存器(IDR)用于讀取引腳的輸入狀態(tài);端口輸出數(shù)據(jù)寄存器(ODR)用于控制引腳的輸出電平;位設(shè)置 / 清除寄存器(BSRR)和端口位清除寄存器(BRR)則提供了更便捷的方式來(lái)設(shè)置或清除引腳的輸出狀態(tài)。
GPIO 端口 A(PA0 - PA15)
PA0 - PA15 引腳是 GPIO 端口 A 的 16 個(gè)引腳。在默認(rèn)情況下,它們作為通用的輸入輸出引腳使用。例如,當(dāng)配置為輸入模式時(shí),可用于連接外部按鍵、傳感器等輸入設(shè)備,通過(guò)讀取 IDR 寄存器的值來(lái)獲取外部設(shè)備的狀態(tài)。若將 PA0 配置為浮空輸入模式,當(dāng)外部按鍵未按下時(shí),PA0 引腳的電平狀態(tài)不確定,處于浮空狀態(tài);當(dāng)按鍵按下時(shí),PA0 引腳將連接到地,電平變?yōu)榈碗娖?,此時(shí)通過(guò)讀取 IDR 寄存器中對(duì)應(yīng) PA0 的位,即可判斷按鍵是否按下。
當(dāng)配置為輸出模式時(shí),PA0 - PA15 引腳可用于驅(qū)動(dòng)外部的 LED、繼電器等輸出設(shè)備。以驅(qū)動(dòng) LED 為例,將 PA1 配置為推挽輸出模式,通過(guò)向 ODR 寄存器中對(duì)應(yīng) PA1 的位寫入 1 或 0,即可控制 PA1 引腳輸出高電平或低電平,從而控制 LED 的亮滅。若寫入 1,PA1 引腳輸出高電平,LED 導(dǎo)通點(diǎn)亮;寫入 0,PA1 引腳輸出低電平,LED 熄滅。
此外,PA0 - PA15 引腳還具有豐富的復(fù)用功能。例如,PA9 和 PA10 引腳可復(fù)用為 USART1 的發(fā)送(TX)和接收(RX)引腳,用于實(shí)現(xiàn)串口通信功能。在使用復(fù)用功能時(shí),需要先在相應(yīng)的寄存器中配置引腳的復(fù)用功能模式,同時(shí)確保 USART1 的時(shí)鐘已開(kāi)啟,并對(duì) USART1 的相關(guān)寄存器進(jìn)行正確配置,才能實(shí)現(xiàn)穩(wěn)定可靠的串口通信。
GPIO 端口 B(PB0 - PB15)
PB0 - PB15 引腳構(gòu)成了 GPIO 端口 B。與 GPIO 端口 A 類似,它們同樣具備多種工作模式。在輸入模式下,可用于采集外部信號(hào),如將 PB2 配置為上拉輸入模式,連接到一個(gè)外部的傳感器信號(hào)輸出端。由于配置為上拉輸入,在傳感器未輸出有效信號(hào)時(shí),PB2 引腳通過(guò)內(nèi)部上拉電阻保持高電平;當(dāng)傳感器輸出低電平時(shí),PB2 引腳電平被拉低,通過(guò)讀取 IDR 寄存器可獲取傳感器的狀態(tài)變化。
在輸出模式方面,若將 PB5 配置為開(kāi)漏輸出模式,可用于連接一些需要雙向通信的設(shè)備,如某些 I2C 設(shè)備的數(shù)據(jù)線(SDA)。開(kāi)漏輸出模式下,引腳只能輸出低電平,當(dāng)需要輸出高電平時(shí),需要外部上拉電阻將引腳電平拉高。這種輸出模式在 I2C 通信中非常有用,因?yàn)? I2C 總線采用的是漏極開(kāi)路的方式,多個(gè)設(shè)備可以共享同一根數(shù)據(jù)線,通過(guò)開(kāi)漏輸出和上拉電阻的配合,實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸。
PB0 - PB15 引腳也有復(fù)用功能。比如,PB6 和 PB7 引腳可復(fù)用為 I2C1 的時(shí)鐘線(SCL)和數(shù)據(jù)線(SDA),用于實(shí)現(xiàn) I2C 通信協(xié)議。在進(jìn)行 I2C 通信時(shí),不僅要正確配置 PB6 和 PB7 的復(fù)用功能模式,還需要對(duì) I2C1 的相關(guān)寄存器進(jìn)行設(shè)置,包括時(shí)鐘頻率、地址等參數(shù),以確保與外部 I2C 設(shè)備能夠正常通信。
GPIO 端口 C(PC0 - PC15)
PC0 - PC15 引腳屬于 GPIO 端口 C。在實(shí)際應(yīng)用中,PC13 - PC15 引腳具有一些特殊的性質(zhì)。這三個(gè)引腳內(nèi)部連接了模擬開(kāi)關(guān),其驅(qū)動(dòng)能力相對(duì)較弱,不能直接用于驅(qū)動(dòng)較大電流的負(fù)載,如點(diǎn)亮普通的 LED 燈。并且,這三個(gè)引腳不能同時(shí)使用,在設(shè)計(jì)時(shí)需要根據(jù)具體需求合理選擇使用其中一個(gè)或兩個(gè)引腳。例如,在一些低功耗的應(yīng)用場(chǎng)景中,可能會(huì)選擇使用 PC13 引腳連接一個(gè)低功耗的指示 LED,通過(guò)控制 PC13 引腳的輸出電平來(lái)指示系統(tǒng)的工作狀態(tài)。由于其驅(qū)動(dòng)能力有限,需要選擇合適的限流電阻與 LED 串聯(lián),以保證 LED 能夠正常工作且不會(huì)對(duì)引腳造成損壞。
對(duì)于 PC0 - PC12 引腳,它們與 PA 和 PB 端口的引腳類似,可靈活配置為各種工作模式與復(fù)用功能。例如,PC1 可配置為定時(shí)器 TIM2 的通道 1 輸入捕獲引腳,用于測(cè)量外部脈沖信號(hào)的頻率、占空比等參數(shù)。在這種應(yīng)用中,需要將 PC1 配置為復(fù)用功能輸入模式,并對(duì) TIM2 的相關(guān)寄存器進(jìn)行設(shè)置,包括定時(shí)器的時(shí)鐘分頻、計(jì)數(shù)模式、捕獲模式等,以實(shí)現(xiàn)對(duì)外部脈沖信號(hào)的準(zhǔn)確捕獲與測(cè)量。
GPIO 工作模式詳解
輸入模式
浮空輸入:在浮空輸入模式下,GPIO 引腳內(nèi)部既無(wú)上拉電阻也無(wú)下拉電阻,引腳電平完全由外部輸入信號(hào)決定。這種模式適用于外部信號(hào)源能夠穩(wěn)定提供高電平或低電平,且對(duì)引腳輸入狀態(tài)的讀取精度要求不高的場(chǎng)景。例如,在一些簡(jiǎn)單的按鍵檢測(cè)電路中,若按鍵一端連接到 GPIO 引腳,另一端接地,當(dāng)按鍵未按下時(shí),引腳處于浮空狀態(tài),電平不確定;當(dāng)按鍵按下時(shí),引腳接地,電平變?yōu)榈碗娖?,通過(guò)讀取引腳狀態(tài)即可判斷按鍵是否按下。
上拉輸入:上拉輸入模式下,GPIO 引腳內(nèi)部通過(guò)上拉電阻連接到 VDD。此時(shí),若外部沒(méi)有輸入信號(hào)或輸入高阻態(tài)信號(hào),引腳電平將被上拉電阻拉高為高電平;當(dāng)外部輸入低電平時(shí),引腳電平被拉低。這種模式常用于連接一些需要默認(rèn)處于高電平狀態(tài)的輸入設(shè)備,如某些傳感器的輸出信號(hào)在正常情況下為高電平,當(dāng)傳感器檢測(cè)到特定事件時(shí),輸出低電平。通過(guò)將 GPIO 引腳配置為上拉輸入模式,可以方便地檢測(cè)傳感器的狀態(tài)變化。
下拉輸入:下拉輸入模式與上拉輸入模式相反,GPIO 引腳內(nèi)部通過(guò)下拉電阻連接到 VSS。當(dāng)外部沒(méi)有輸入信號(hào)或輸入高阻態(tài)信號(hào)時(shí),引腳電平被下拉電阻拉低為低電平;當(dāng)外部輸入高電平時(shí),引腳電平被拉高。這種模式適用于需要默認(rèn)處于低電平狀態(tài)的輸入設(shè)備連接,例如一些復(fù)位信號(hào)輸入引腳,在正常情況下為低電平,當(dāng)需要復(fù)位系統(tǒng)時(shí),輸入高電平信號(hào)。
模擬輸入:模擬輸入模式下,GPIO 引腳直接連接到芯片內(nèi)部的模擬輸入通道,用于采集外部的模擬信號(hào),如電壓、電流等。此時(shí),引腳不再進(jìn)行數(shù)字信號(hào)的處理,而是將外部模擬信號(hào)直接傳輸給內(nèi)部的模擬電路,如 ADC 模塊。在使用模擬輸入模式時(shí),需要確保外部模擬信號(hào)的幅值在芯片允許的輸入范圍內(nèi),并且要注意信號(hào)的穩(wěn)定性與抗干擾性,以保證 ADC 能夠準(zhǔn)確地進(jìn)行模擬數(shù)字轉(zhuǎn)換。
輸出模式
推挽輸出:推挽輸出模式下,GPIO 引腳內(nèi)部由兩個(gè)晶體管組成推挽結(jié)構(gòu),一個(gè)晶體管用于輸出高電平,將引腳連接到 VDD;另一個(gè)晶體管用于輸出低電平,將引腳連接到 VSS。這種輸出模式能夠提供較強(qiáng)的驅(qū)動(dòng)能力,可直接驅(qū)動(dòng)一些負(fù)載,如 LED 燈、小型繼電器等。當(dāng)需要輸出高電平時(shí),連接到 VDD 的晶體管導(dǎo)通,引腳輸出高電平;當(dāng)需要輸出低電平時(shí),連接到 VSS 的晶體管導(dǎo)通,引腳輸出低電平。推挽輸出模式適用于對(duì)輸出電平的驅(qū)動(dòng)能力和轉(zhuǎn)換速度要求較高的應(yīng)用場(chǎng)景。
開(kāi)漏輸出:開(kāi)漏輸出模式下,GPIO 引腳內(nèi)部只有一個(gè)連接到 VSS 的晶體管,當(dāng)需要輸出低電平時(shí),晶體管導(dǎo)通,引腳接地;當(dāng)需要輸出高電平時(shí),晶體管截止,引腳處于高阻態(tài),需要外部上拉電阻將引腳電平拉高。這種輸出模式常用于需要實(shí)現(xiàn)線與功能或需要與其他具有不同電平標(biāo)準(zhǔn)的設(shè)備進(jìn)行接口的場(chǎng)景。例如,在 I2C 通信中,由于多個(gè)設(shè)備共享同一根數(shù)據(jù)線,采用開(kāi)漏輸出模式可以避免不同設(shè)備同時(shí)輸出高電平時(shí)產(chǎn)生沖突,通過(guò)上拉電阻將數(shù)據(jù)線拉高,實(shí)現(xiàn)數(shù)據(jù)的正確傳輸。
復(fù)用推挽輸出:復(fù)用推挽輸出模式與推挽輸出模式類似,只是此時(shí) GPIO 引腳被復(fù)用為其他外設(shè)的功能引腳,如 USART 的 TX 引腳、SPI 的 SCK 引腳等。在這種模式下,引腳的輸出由相應(yīng)的外設(shè)控制,而不是直接由 GPIO 端口的輸出寄存器控制。使用復(fù)用推挽輸出模式時(shí),需要確保對(duì)應(yīng)的外設(shè)已正確配置且時(shí)鐘已開(kāi)啟,以保證外設(shè)能夠正常工作并通過(guò)引腳輸出正確的信號(hào)。
復(fù)用開(kāi)漏輸出:復(fù)用開(kāi)漏輸出模式結(jié)合了復(fù)用功能和開(kāi)漏輸出的特點(diǎn)。此時(shí) GPIO 引腳作為其他外設(shè)的功能引腳,且輸出為開(kāi)漏形式。與開(kāi)漏輸出模式一樣,需要外部上拉電阻來(lái)提供高電平。這種模式常用于一些需要雙向通信且對(duì)電平兼容性要求較高的外設(shè)接口,如某些 SPI 從設(shè)備的 MOSI 引腳,采用復(fù)用開(kāi)漏輸出模式可以在與主設(shè)備通信時(shí),更好地適應(yīng)不同的電平標(biāo)準(zhǔn)和通信需求。
時(shí)鐘引腳
OSC_IN 和 OSC_OUT 引腳
OSC_IN 和 OSC_OUT 引腳用于連接外部高速晶振,為芯片提供高速時(shí)鐘信號(hào)。該晶振的頻率范圍一般為 4 - 16MHz,常見(jiàn)的為 8MHz。外部高速晶振產(chǎn)生的穩(wěn)定時(shí)鐘信號(hào)輸入到 OSC_IN 引腳,經(jīng)過(guò)芯片內(nèi)部的時(shí)鐘電路處理后,從 OSC_OUT 引腳輸出經(jīng)過(guò)分頻或倍頻后的時(shí)鐘信號(hào),為芯片的各個(gè)模塊提供所需的時(shí)鐘源。
高速時(shí)鐘信號(hào)是芯片正常運(yùn)行的關(guān)鍵,它決定了芯片的運(yùn)行速度與性能。例如,Cortex - M3 內(nèi)核的運(yùn)行頻率可達(dá) 72MHz,這一高頻運(yùn)行依賴于穩(wěn)定且準(zhǔn)確的高速時(shí)鐘信號(hào)。在硬件設(shè)計(jì)中,連接到 OSC_IN 和 OSC_OUT 引腳的晶振需要匹配合適的負(fù)載電容,一般為 16 - 22pF。負(fù)載電容的選擇會(huì)影響晶振的起振特性和振蕩頻率的準(zhǔn)確性。如果負(fù)載電容取值不當(dāng),可能導(dǎo)致晶振無(wú)法起振,或者振蕩頻率偏離標(biāo)準(zhǔn)值,從而影響整個(gè)系統(tǒng)的時(shí)鐘精度。在實(shí)際電路設(shè)計(jì)中,需要根據(jù)晶振的規(guī)格書(shū)來(lái)選擇合適的負(fù)載電容,并進(jìn)行適當(dāng)?shù)恼{(diào)試和優(yōu)化。此外,為了減少外界電磁干擾對(duì)時(shí)鐘信號(hào)的影響,OSC_IN 和 OSC_OUT 引腳的布線應(yīng)盡量短且遠(yuǎn)離其他高頻信號(hào)線路,同時(shí)可以在晶振周圍鋪設(shè)接地銅箔,起到屏蔽作用。
OSC32_IN 和 OSC32_OUT 引腳
OSC32_IN 和 OSC32_OUT 引腳用于連接外部低速晶振,通常為 32.768kHz 的晶振,該晶振主要為實(shí)時(shí)時(shí)鐘(RTC)提供時(shí)鐘信號(hào)。32.768kHz 是一個(gè)標(biāo)準(zhǔn)的時(shí)鐘頻率,其周期為 31.25ms,通過(guò) RTC 內(nèi)部的分頻電路,可以很方便地實(shí)現(xiàn)秒、分、時(shí)等時(shí)間單位的計(jì)時(shí)。與高速晶振類似,連接到 OSC32_IN 和 OSC32_OUT 引腳的低速晶振也需要匹配合適的負(fù)載電容,一般為 6 - 12pF 。
在一些低功耗應(yīng)用場(chǎng)景中,當(dāng)系統(tǒng)進(jìn)入待機(jī)或停止模式時(shí),主時(shí)鐘可能會(huì)停止工作,但 RTC 可以依靠低速晶振持續(xù)運(yùn)行,從而保證時(shí)間的連續(xù)性。此外,低速晶振的功耗相對(duì)較低,這對(duì)于一些對(duì)功耗要求嚴(yán)格的設(shè)備,如電子手表、便攜式數(shù)據(jù)記錄儀等來(lái)說(shuō),是非常重要的。在電路設(shè)計(jì)時(shí),同樣要注意 OSC32_IN 和 OSC32_OUT 引腳的布線,避免與其他信號(hào)產(chǎn)生干擾,確保 RTC 時(shí)鐘信號(hào)的穩(wěn)定和準(zhǔn)確。
MCO(Microcontroller Clock Output)引腳
MCO 引腳即微控制器時(shí)鐘輸出引腳,它可以將芯片內(nèi)部的時(shí)鐘信號(hào)經(jīng)過(guò)分頻或倍頻后輸出到外部。MCO 引腳可輸出的時(shí)鐘信號(hào)來(lái)源有多種選擇,包括 HSI(內(nèi)部高速時(shí)鐘)、HSE(外部高速晶振時(shí)鐘)、PLL(鎖相環(huán))輸出時(shí)鐘以及系統(tǒng)時(shí)鐘(SYSCLK)等 。通過(guò)對(duì)相關(guān)寄存器的配置,可以選擇不同的時(shí)鐘源,并設(shè)置相應(yīng)的分頻系數(shù),從而得到不同頻率的輸出時(shí)鐘信號(hào)。
MCO 引腳的主要應(yīng)用場(chǎng)景之一是為外部其他設(shè)備提供時(shí)鐘信號(hào)。例如,在一個(gè)由多個(gè)微控制器或外設(shè)組成的復(fù)雜系統(tǒng)中,可能需要一個(gè)統(tǒng)一的時(shí)鐘源來(lái)同步各個(gè)設(shè)備的工作。此時(shí),可以將 STM32F103RBT6 的 MCO 引腳配置為輸出合適頻率的時(shí)鐘信號(hào),為其他設(shè)備提供同步時(shí)鐘,確保整個(gè)系統(tǒng)的協(xié)調(diào)運(yùn)行。此外,MCO 引腳輸出的時(shí)鐘信號(hào)還可以用于調(diào)試和測(cè)量,通過(guò)測(cè)量 MCO 引腳輸出的時(shí)鐘頻率,可以驗(yàn)證芯片內(nèi)部時(shí)鐘配置是否正確,以及系統(tǒng)時(shí)鐘是否穩(wěn)定。
復(fù)位引腳
NRST(Reset)引腳
NRST 引腳為低電平有效復(fù)位引腳。當(dāng)該引腳接收到低電平信號(hào)時(shí),芯片將進(jìn)入復(fù)位狀態(tài),所有內(nèi)部寄存器將被設(shè)置為初始值,程序計(jì)數(shù)器(PC)也將被重置,系統(tǒng)從復(fù)位向量地址開(kāi)始執(zhí)行程序。NRST 引腳的復(fù)位信號(hào)可以由外部電路產(chǎn)生,常見(jiàn)的復(fù)位電路包括簡(jiǎn)單的 RC 復(fù)位電路、專用的復(fù)位芯片等。
在使用 RC 復(fù)位電路時(shí),通常由一個(gè)電阻和一個(gè)電容組成。當(dāng)系統(tǒng)上電時(shí),電容兩端電壓不能突變,NRST 引腳處于低電平狀態(tài),隨著電容的充電,NRST 引腳的電平逐漸升高,當(dāng)達(dá)到芯片內(nèi)部規(guī)定的復(fù)位閾值電平時(shí),芯片退出復(fù)位狀態(tài),開(kāi)始正常運(yùn)行。為了確??煽繌?fù)位,RC 復(fù)位電路的參數(shù)需要根據(jù)芯片的要求進(jìn)行合理選擇,一般電阻取值在 1 - 10kΩ 之間,電容取值在 0.1 - 10μF 之間。
使用專用復(fù)位芯片可以提供更精確和可靠的復(fù)位信號(hào)。專用復(fù)位芯片通常具有多種功能,如電源監(jiān)測(cè)、手動(dòng)復(fù)位、看門狗復(fù)位等。電源監(jiān)測(cè)功能可以實(shí)時(shí)監(jiān)測(cè)系統(tǒng)電源電壓,當(dāng)電源電壓低于設(shè)定的閾值時(shí),復(fù)位芯片將輸出復(fù)位信號(hào),確保芯片在電源不穩(wěn)定的情況下能夠可靠復(fù)位。手動(dòng)復(fù)位功能則允許用戶通過(guò)按下復(fù)位按鍵來(lái)觸發(fā)復(fù)位信號(hào),方便系統(tǒng)的調(diào)試和故障排除。看門狗復(fù)位功能可以防止程序跑飛,當(dāng)程序在一定時(shí)間內(nèi)沒(méi)有及時(shí)喂狗(即沒(méi)有對(duì)看門狗計(jì)數(shù)器進(jìn)行清零操作)時(shí),看門狗復(fù)位芯片將輸出復(fù)位信號(hào),使系統(tǒng)重新啟動(dòng)。
無(wú)論采用哪種復(fù)位方式,在設(shè)計(jì)電路時(shí)都要注意 NRST 引腳的布線,避免受到干擾。同時(shí),復(fù)位信號(hào)的低電平持續(xù)時(shí)間需要滿足芯片的要求,一般至少需要保持幾個(gè)時(shí)鐘周期,以確保芯片能夠完成復(fù)位操作。
外設(shè)功能引腳
USART 引腳
STM32F103RBT6 集成了多個(gè)通用同步異步收發(fā)器(USART),與之對(duì)應(yīng)的引腳用于實(shí)現(xiàn)串口通信功能。以 USART1 為例,PA9 引腳復(fù)用為 USART1 的 TX(發(fā)送)引腳,PA10 引腳復(fù)用為 USART1 的 RX(接收)引腳。在進(jìn)行串口通信時(shí),TX 引腳用于將芯片內(nèi)部的數(shù)字信號(hào)轉(zhuǎn)換為串行的電平信號(hào)發(fā)送到外部設(shè)備,而 RX 引腳則用于接收外部設(shè)備發(fā)送過(guò)來(lái)的串行電平信號(hào),并轉(zhuǎn)換為芯片內(nèi)部能夠處理的數(shù)字信號(hào)。
USART 支持多種通信模式,包括全雙工異步通信、半雙工同步通信以及全雙工同步通信等。在全雙工異步通信模式下,TX 和 RX 引腳可以同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送和接收,通信雙方只需要在波特率上保持一致,就可以進(jìn)行數(shù)據(jù)傳輸。為了確保數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,還需要對(duì) USART 的其他參數(shù)進(jìn)行配置,如數(shù)據(jù)位長(zhǎng)度(一般為 8 位或 9 位)、停止位長(zhǎng)度(1 位、1.5 位或 2 位)、奇偶校驗(yàn)方式(奇校驗(yàn)、偶校驗(yàn)或無(wú)校驗(yàn))等。
在硬件設(shè)計(jì)中,USART 引腳與外部設(shè)備連接時(shí),可能需要進(jìn)行電平轉(zhuǎn)換。例如,當(dāng)與 PC 機(jī)的串口進(jìn)行通信時(shí),由于 PC 機(jī)串口采用的是 RS - 232 電平標(biāo)準(zhǔn),而 STM32F103RBT6 的 USART 引腳輸出的是 TTL 電平,兩者電平標(biāo)準(zhǔn)不兼容,因此需要使用電平轉(zhuǎn)換芯片(如 MAX232 等)將 TTL 電平轉(zhuǎn)換為 RS - 232 電平,或者將 RS - 232 電平轉(zhuǎn)換為 TTL 電平,才能實(shí)現(xiàn)正常通信。此外,為了提高通信的抗干擾能力,還可以在 USART 引腳上添加一些濾波和保護(hù)電路,如串聯(lián)電阻、并聯(lián)電容以及添加 TVS 管等。
SPI 引腳
該芯片集成的串行外設(shè)接口(SPI)也有對(duì)應(yīng)的引腳。以 SPI1 為例,PA5 引腳復(fù)用為 SPI1 的 SCK(時(shí)鐘)引腳,用于輸出同步時(shí)鐘信號(hào),控制數(shù)據(jù)的傳輸節(jié)奏;PA6 引腳復(fù)用為 SPI1 的 MISO(主入從出)引腳,在主設(shè)備模式下,該引腳用于接收從設(shè)備發(fā)送過(guò)來(lái)的數(shù)據(jù),在從設(shè)備模式下,用于向主設(shè)備發(fā)送數(shù)據(jù);PA7 引腳復(fù)用為 SPI1 的 MOSI(主出從入)引腳,在主設(shè)備模式下,用于向從設(shè)備發(fā)送數(shù)據(jù),在從設(shè)備模式下,用于接收主設(shè)備發(fā)送過(guò)來(lái)的數(shù)據(jù) 。
SPI 通信是一種高速、全雙工、同步的通信協(xié)議,通常用于與 Flash 存儲(chǔ)器、ADC、DAC、傳感器等外設(shè)進(jìn)行通信。在進(jìn)行 SPI 通信時(shí),主設(shè)備通過(guò) SCK 引腳輸出時(shí)鐘信號(hào),控制數(shù)據(jù)在 MOSI 和 MISO 引腳上的傳輸。主設(shè)備和從設(shè)備之間的數(shù)據(jù)傳輸是基于時(shí)鐘信號(hào)的上升沿或下降沿進(jìn)行的,具體取決于 SPI 的工作模式(SPI 有四種工作模式,通過(guò)配置相關(guān)寄存器來(lái)選擇)。
在硬件設(shè)計(jì)中,SPI 引腳的布線需要注意信號(hào)完整性。由于 SPI 通信速度較快,為了減少信號(hào)反射和串?dāng)_,SPI 引腳的布線應(yīng)盡量短且等長(zhǎng),同時(shí)要避免與其他高頻信號(hào)線路平行走線。此外,對(duì)于多個(gè) SPI 設(shè)備連接到同一個(gè)主設(shè)備的情況,需要通過(guò)片選(CS)信號(hào)來(lái)選擇具體的從設(shè)備進(jìn)行通信。在 STM32F103RBT6 中,片選信號(hào)可以通過(guò)普通的 GPIO 引腳來(lái)控制,當(dāng)需要與某個(gè)從設(shè)備通信時(shí),將對(duì)應(yīng)的 GPIO 引腳設(shè)置為低電平,使該從設(shè)備被選中,從而進(jìn)行數(shù)據(jù)傳輸。
I2C 引腳
I2C 引腳主要用于實(shí)現(xiàn)集成電路總線(I2C)通信協(xié)議。以 I2C1 為例,PB6 引腳復(fù)用為 I2C1 的 SCL(時(shí)鐘)引腳,用于輸出時(shí)鐘信號(hào),協(xié)調(diào)總線上各設(shè)備之間的數(shù)據(jù)傳輸時(shí)序;PB7 引腳復(fù)用為 I2C1 的 SDA(數(shù)據(jù))引腳,用于傳輸數(shù)據(jù)。I2C 總線是一種二線制、半雙工的串行通信總線,支持多主多從通信模式,總線上的設(shè)備通過(guò)唯一的地址進(jìn)行識(shí)別。
在 I2C 通信過(guò)程中,SCL 引腳輸出的時(shí)鐘信號(hào)控制數(shù)據(jù)在 SDA 引腳上的傳輸。數(shù)據(jù)在 SCL 時(shí)鐘信號(hào)的高電平期間保持穩(wěn)定,在 SCL 時(shí)鐘信號(hào)的低電平期間可以進(jìn)行改變。起始條件是當(dāng) SCL 為高電平時(shí),SDA 由高電平跳變?yōu)榈碗娖剑煌V箺l件是當(dāng) SCL 為高電平時(shí),SDA 由低電平跳變?yōu)楦唠娖?。在?shù)據(jù)傳輸過(guò)程中,每個(gè)字節(jié)后面都需要跟隨一個(gè)應(yīng)答位(ACK),用于確認(rèn)數(shù)據(jù)是否被正確接收。
由于 I2C 總線采用開(kāi)漏輸出的方式,因此 SDA 和 SCL 引腳都需要外接上拉電阻,一般電阻取值在 4.7 - 10kΩ 之間。上拉電阻的作用是在沒(méi)有設(shè)備驅(qū)動(dòng)引腳時(shí),將引腳電平拉高,確??偩€處于空閑狀態(tài)。在硬件設(shè)計(jì)中,當(dāng)總線上連接多個(gè) I2C 設(shè)備時(shí),需要注意各設(shè)備的地址不能沖突,并且要合理安排布線,避免信號(hào)干擾,以保證 I2C 通信的穩(wěn)定性和可靠性。
ADC 引腳
STM32F103RBT6 內(nèi)部集成的模擬數(shù)字轉(zhuǎn)換器(ADC)有多個(gè)對(duì)應(yīng)的輸入引腳,如 PA0 - PA15、PB0 - PB15、PC0 - PC15 等引腳在配置為模擬輸入模式時(shí),可以作為 ADC 的輸入通道,用于采集外部的模擬信號(hào),如電壓、電流等,并將其轉(zhuǎn)換為數(shù)字信號(hào)供芯片內(nèi)部處理。
該芯片的 ADC 具有 16 個(gè)轉(zhuǎn)換通道,可以通過(guò)軟件配置選擇其中一個(gè)或多個(gè)通道進(jìn)行模擬信號(hào)轉(zhuǎn)換。ADC 的轉(zhuǎn)換精度為 12 位,即可以將模擬信號(hào)轉(zhuǎn)換為 0 - 4095 之間的數(shù)字值(假設(shè)參考電壓為 3.3V ,則分辨率為 3.3V / 4096 ≈ 0.806mV )。在進(jìn)行 ADC 轉(zhuǎn)換時(shí),需要對(duì) ADC 的相關(guān)寄存器進(jìn)行配置,包括轉(zhuǎn)換模式(單次轉(zhuǎn)換、連續(xù)轉(zhuǎn)換等)、采樣時(shí)間、通道選擇等參數(shù)。
為了提高 ADC 轉(zhuǎn)換的精度和穩(wěn)定性,在硬件設(shè)計(jì)中,ADC 輸入引腳需要進(jìn)行適當(dāng)?shù)奶幚?。例如,?duì)于輸入的模擬信號(hào),需要進(jìn)行濾波處理,以去除信號(hào)中的噪聲??梢圆捎?RC 濾波電路,通過(guò)合理選擇電阻和電容的值,對(duì)不同頻率的噪聲進(jìn)行抑制。此外,還需要注意 ADC 輸入引腳的輸入電壓范圍,確保輸入電壓在芯片允許的范圍內(nèi)(一般為 0 - VREF + ),否則可能會(huì)損壞芯片或?qū)е罗D(zhuǎn)換結(jié)果不準(zhǔn)確。
DAC 引腳
STM32F103RBT6 部分型號(hào)集成了數(shù)字模擬轉(zhuǎn)換器(DAC),與之對(duì)應(yīng)的引腳用于將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)輸出。例如,PA4 引腳可復(fù)用為 DAC1 的輸出通道 1,PA5 引腳可復(fù)用為 DAC1 的輸出通道 2 。DAC 可以將芯片內(nèi)部的數(shù)字信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的模擬電壓信號(hào)輸出,輸出電壓范圍一般為 0 - VREF + 。
在使用 DAC 時(shí),需要對(duì) DAC 的相關(guān)寄存器進(jìn)行配置,包括使能 DAC 通道、選擇輸出模式(緩沖模式或非緩沖模式)等。在緩沖模式下,DAC 輸出引腳的驅(qū)動(dòng)能力較強(qiáng),可以直接驅(qū)動(dòng)一些負(fù)載;在非緩沖模式下,輸出引腳的驅(qū)動(dòng)能力較弱,但可以獲得更好的線性度。為了提高 DAC 輸出信號(hào)的質(zhì)量,在硬件設(shè)計(jì)中,可以在 DAC 輸出引腳上添加一些濾波電路,如低通濾波電路,以平滑輸出的模擬信號(hào),減少高頻噪聲的影響。同時(shí),也要注意與 DAC 引腳連接的后續(xù)電路的輸入阻抗匹配問(wèn)題,確保模擬信號(hào)能夠準(zhǔn)確傳輸和處理。
JTAG 和 SWD 引腳
JTAG 引腳
JTAG(Joint Test Action Group)引腳主要用于芯片的調(diào)試和編程,其相關(guān)引腳包括 TMS(Test Mode Select)、TCK(Test Clock)、TDI(Test Data In)、TDO(Test Data Out)等。在 STM32F103RBT6 中,PA13 引腳復(fù)用為 JTAG - TMS / SWDIO(SWD 數(shù)據(jù)輸入輸出)引腳,PA14 引腳復(fù)用為 JTAG - TCK / SWCLK(SWD 時(shí)鐘)引腳,PA15 引腳復(fù)用為 JTAG - TDI 引腳,PB3 引腳復(fù)用為 JTAG - TDO 引腳 。
TMS 引腳用于選擇 JTAG 的測(cè)試模式,通過(guò)在 TMS 引腳上輸入不同的電平序列,可以進(jìn)入不同的測(cè)試模式,如復(fù)位模式、選擇 DR 掃描模式、選擇 IR 掃描模式等;TCK 引腳為測(cè)試時(shí)鐘引腳,為 JTAG 操作提供時(shí)鐘信號(hào);TDI 引腳用于將測(cè)試數(shù)據(jù)或編程數(shù)據(jù)輸入到芯片內(nèi)部;TDO 引腳用于將芯片內(nèi)部的測(cè)試結(jié)果或編程狀態(tài)數(shù)據(jù)輸出。
使用 JTAG 接口可以方便地對(duì)芯片進(jìn)行程序下載、調(diào)試和測(cè)試。在調(diào)試過(guò)程中,可以通過(guò) JTAG 接口對(duì)芯片內(nèi)部的寄存器、內(nèi)存等進(jìn)行讀寫操作,觀察程序的運(yùn)行狀態(tài),設(shè)置斷點(diǎn),單步執(zhí)行程序等,有助于快速定位和解決程序中的問(wèn)題。然而,JTAG 接口占用的引腳較多,在一些對(duì)引腳資源要求嚴(yán)格的應(yīng)用場(chǎng)景中,可能不太適用。
SWD 引腳
SWD(Serial Wire Debug)引腳是一種替代 JTAG 的調(diào)試接口,相比 JTAG 接口,SWD 接口只需要兩根線(SWDIO 和 SWCLK)即可實(shí)現(xiàn)調(diào)試和編程功能,大大節(jié)省了引腳資源。PA13 引腳復(fù)用的 SWDIO 引腳用于數(shù)據(jù)的輸入和輸出,PA14 引腳復(fù)用的 SWCLK 引腳用于提供時(shí)鐘信號(hào)。
SWD 接口的工作原理與 JTAG 類似,通過(guò) SWDIO 引腳傳輸調(diào)試命令和數(shù)據(jù),SWCLK 引腳提供時(shí)鐘同步。在實(shí)際應(yīng)用中,許多調(diào)試工具都支持 SWD 接口,如 ST - Link 調(diào)試器等。使用 SWD 接口進(jìn)行程序下載和調(diào)試時(shí),操作簡(jiǎn)單方便,且能夠滿足大多數(shù)情況下的調(diào)試需求。在設(shè)計(jì)電路板時(shí),如果不需要使用 JTAG 接口的全部功能,選擇使用 SWD 接口可以釋放更多的 GPIO 引腳用于其他功能,提高引腳資源的利用率。
總結(jié)
STM32F103RBT6 的 64 個(gè)引腳各自承擔(dān)著不同的功能,從電源與地引腳為芯片提供穩(wěn)定的工作環(huán)境,到通用輸入輸出引腳實(shí)現(xiàn)靈活的信號(hào)輸入輸出,再到各類外設(shè)功能引腳支持豐富的通信協(xié)議和數(shù)據(jù)處理,以及時(shí)鐘引腳、復(fù)位引腳、JTAG 和 SWD 引腳等為芯片的運(yùn)行、調(diào)試和編程提供保障。深入理解每個(gè)引腳的功能、特性以及使用方法,對(duì)于基于該芯片進(jìn)行嵌入式系統(tǒng)的設(shè)計(jì)、開(kāi)發(fā)和優(yōu)化至關(guān)重要。在實(shí)際應(yīng)用中,需要根據(jù)具體的項(xiàng)目需求,合理配置和使用這些引腳,同時(shí)注意硬件設(shè)計(jì)中的各種細(xì)節(jié)問(wèn)題,如電源濾波、信號(hào)布線、電平轉(zhuǎn)換、抗干擾措施等,以確保系統(tǒng)的穩(wěn)定性、可靠性和高性能。隨著技術(shù)的不斷發(fā)展,雖然新的微控制器不斷涌現(xiàn),但對(duì) STM32F103RBT6 引腳的深入學(xué)習(xí)和研究,依然能夠?yàn)檎莆掌渌⒖刂破鞯膽?yīng)用奠定堅(jiān)實(shí)的基礎(chǔ),有助于工程師在嵌入式領(lǐng)域不斷創(chuàng)新和探索。
責(zé)任編輯:David
【免責(zé)聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來(lái)源于網(wǎng)絡(luò)引用或其他公開(kāi)資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對(duì)本文的引用持有異議,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。
2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對(duì)內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請(qǐng)讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。
拍明芯城擁有對(duì)此聲明的最終解釋權(quán)。