STM32硬件結(jié)構(gòu)學(xué)習(xí)
STM32硬件學(xué)習(xí)流水帳----電源
分類:
1.工作電源 2.備份域電源 3.adc供電參考電源
工作電源2-3.6v
備份域電源用于RTC時鐘模塊和備份域寄存器保存
adc供電參考電源:為提高精度ADC具有單獨的工作電源和參考電源基準(zhǔn)
注意100腳以上的STM32才有ADC參考電源基準(zhǔn),100腳以下ADC參考電源基準(zhǔn)內(nèi)部連接到ADC供電電源上
除此外還有內(nèi)部1.8,由芯片內(nèi)部調(diào)節(jié)器提供.
STM32硬件學(xué)習(xí)流水帳----時鐘
STM32有多個時鐘源:
1.外部高速時鐘HSE,可由外部輸入時鐘信號或者外接晶體構(gòu)成振蕩器構(gòu)成.
2.內(nèi)部高速時鐘SHI,頻率為8M,精度1%
3.外部低速時鐘源LSE,接32768Hz晶體,為RTC提供高精度時鐘
4.內(nèi)部低速時鐘LSI 32k Hz,為看門狗單元和自動喚醒單元提供時鐘
其中HSE,HSI能直接作為系統(tǒng)時鐘,或者通過PLL倍頻提供系統(tǒng)工作時鐘.
注意:
HSI用作PLL輸入,PLL能輸出的最大時鐘只能為64MHz
STM32硬件學(xué)習(xí)流水帳----系統(tǒng)存儲結(jié)構(gòu)
STM32的程序存儲器,數(shù)據(jù)存儲器,寄存器和IO端口被組織到一個4GB線性空間.
可尋址的存儲空間被分為8個512M主塊.
STM32存儲編碼格式為小端編碼格式.
嵌入式SRAM可以字,半字,字節(jié)方式訪問,起始地址為0x2000000.
STM32的位段是一種別名機制,即將用戶數(shù)據(jù)存儲空間的某字節(jié)某位映射到0x22000000開始的別名空間.
例如0x20000030中的第2為映射為:
0x22000000+0x30*32+2 = 0x22000602
對0x22000602的寫即為對0x20000030的第位讀修改寫
STM32的flash存儲器物理上分成主塊和信息塊,主塊16K*64bits,每個主塊分成128個1KB大小的頁面.
信息快大小258*64bits,每個信息塊分成2頁+16B,每頁大小2KB
STM32硬件學(xué)習(xí)流水帳----調(diào)試接口
STM32支持jtag接口和swd串行調(diào)試接口兩種調(diào)試口,
其中swd調(diào)試口只占用swdio和swclk兩個口線,
相比jtag可以有更多的引腳可用,
并且可以使用較小尺寸的調(diào)試插座.
JILINK V7支持SWD接口.
STM32上電默認(rèn)的是jtag接口.
當(dāng)使用swd接口,多余的jtag接口IO端口需要重新映射為通用IO端口
STM32硬件學(xué)習(xí)流水帳----復(fù)位
STM32復(fù)位分為:系統(tǒng)復(fù)位,電源復(fù)位,備份域復(fù)位
系統(tǒng)復(fù)位復(fù)位除了時鐘控制寄存器的復(fù)位標(biāo)志和備份域寄存器以外的所有寄存器.
系統(tǒng)復(fù)位由NRST引腳低電平,窗口看門狗和獨立看門狗以及軟件復(fù)位和低功耗管理復(fù)位等原因引起.
電源復(fù)位由上電/掉電復(fù)位(POR和PDR)兩種和待機模式退出引起
電源復(fù)位將復(fù)位除了備份域寄存器以外的所有寄存器.
備份域復(fù)位由軟件備份域復(fù)位和電源備份域復(fù)位兩種原因引起.
電源備份域復(fù)位是指VDD和Vbat都掉電的時候,其中一個突然上電引起的復(fù)位
復(fù)位向量位置為0x00000004
STM32硬件學(xué)習(xí)流水帳----主要電氣特性
STM32供電電壓-0.3---4.0v.
STM32的部分引腳具有5v容忍特性,其電壓輸入范圍為vss-0.3到5.5v
其他引腳的供電電壓范圍是:vss-0.3v到vdd+0.3v
flash等待周期:
0-24MHz 0等待狀態(tài)
24-48MHz 1等待狀態(tài)
48MHz以上 2個等待狀態(tài)
flash中運行代碼,72MHz的時候所有外設(shè)使能時候的電流為50.3mA,所有外設(shè)禁止的時候電流為32.9mA.
VDD腳總電流IVDD最大150mA,
VSS腳總電流IVSS最大150mA,
IO引腳最大電流25mA和-25mA.
flash 擦寫次數(shù)最小 1萬次
flash數(shù)據(jù)/指令保存年限最小 20年
弱上拉/弱下拉等效電阻40k歐姆.
GPIOs引腳入出典型電流值為8mA.
STM32硬件學(xué)習(xí)流水帳----GPIO
STM32的GPIO可以由軟件配置成:
輸入浮空,輸入上拉,輸入下拉,
模擬輸入
開漏輸出,推挽輸出,
開漏復(fù)用,推挽復(fù)用.
STM32復(fù)位后,IO端口處于輸入浮空狀態(tài).
JTAG引腳復(fù)位以后,處于上拉或者下拉狀態(tài).
所有IO端口都具有外部中斷能力,端口必須配置成輸入模式,才能使用外部中斷功能.
IO端口復(fù)用功能配置:
對于復(fù)用功能輸入,端口可以配置成任意輸入模式或者復(fù)用功能輸出模式.
對于復(fù)用功能輸出,端口必須配置成復(fù)用功能輸出
對于雙向復(fù)用功能,端口必須配置成復(fù)用功能輸出
STM32的部分IO端口的復(fù)用功能可以重新映射成另外的復(fù)用功能.
STM32具有GPIO鎖定機制,即鎖定GPIO配置,下次復(fù)位前不能再修改.
當(dāng)LSE振蕩器關(guān)閉時,OSC32_IN和OSC32_OUT可以用作通用IO PC14和PC15.
當(dāng)進(jìn)入待機模式或者備份域由Vbat供電,PC14,PC15功能丟失,該兩個IO口線設(shè)置為模擬輸入功能.
OSC_IN和OSC_OUT可以重新映射為GPIO PD0,PD1.
注意PD0,PD1用于輸出地時候僅能用于50MHz輸出模式.
注意:PC13,PC14,PC15只能用于2MHz的輸出模式,,最多只能帶30pf的負(fù)載,并且同時只能使用一個引腳!
擴展閱讀:STM32中斷機制
編輯:admin 最后修改時間:2018-05-22