01
共同點和區(qū)別
STM32F10x芯片由絲印所體現(xiàn)出的共同點和區(qū)別。規(guī)則:101基本型,102USB基本型,103增強(qiáng)型,105或107互聯(lián)型。T:36腳,C:48腳,R:64腳,V:100腳,Z:144腳。C:256K SRAM, D:384K SRAM, E:512K SRAM。
正對芯片的絲印,會看到芯片左下角會有一個小圓點(正方向),有的在右上角會有一個稍大點的圓圈標(biāo)記,靠近左下角小圓點的管腳號為1,然后以逆時針方向,ZET6最后一個管腳號為144,VET6最后一個管腳號為100,即是Z的管腳多于V的,說以說Z的功能也要多于V的;接下來說說絲印上的ARM和ST,crotex-Mx內(nèi)核是由ARM公司(就叫做IP廠商)設(shè)計的,一塊32除了內(nèi)核還必須有外圍電路,ST公司在獲得ARM內(nèi)核設(shè)計的授權(quán)后,據(jù)此設(shè)計出外圍電路(SOC廠商,像三星,蘋果,飛思卡爾。。。都是SOC廠商,其使用的內(nèi)核都是IP廠商授權(quán)的),比如說儲存程序的FLASH,儲存變量的SRAM,外設(shè)(GPIO,IIC,SPI,USTAR等等),小結(jié)一下32的芯片構(gòu)架是由內(nèi)核(驅(qū)動單元)和外設(shè)(被動單元)組成。
02
STM32F10xx 的系統(tǒng)框架的理解
(1)驅(qū)動單元Icode總線:我們寫好的程序?qū)懞煤笸ㄟ^編譯都變成一條條指令存儲在外設(shè)的FLASH里面,內(nèi)核要讀取這些指令來執(zhí)行程序就必須通過Icode總線(專門用來取指)。
DCode總線與DMA總線:即為DATA,我們知道常量const 存放在內(nèi)部FLASH里面,而變量存在內(nèi)部SRAM里面。這些數(shù)據(jù)可以由DCode和DMA來讀取,為了避免兩者同時去讀取數(shù)據(jù)從而造成沖突,所以在兩者讀取數(shù)據(jù)的時候會有一個總線矩陣來裁定誰來讀取數(shù)據(jù)。
System總線:讀取數(shù)據(jù),最主要還是用來訪問外設(shè)的寄存器,即讀寫寄存器都是通過這條總線來完成的。
DMA總線:說先說這條總線也是主要老傳輸數(shù)據(jù)的,這個數(shù)據(jù)可以是某個外設(shè)的數(shù)據(jù)寄存器,可以是SRAM,可以是內(nèi)部的FLASH
以一個例子來說明DMA總線的作用,還有簡單的區(qū)分一下DMA和DCode的區(qū)別,如果我們沒有DMA ,現(xiàn)在要從SRAM里讀取一個數(shù)據(jù)到內(nèi)部的外設(shè)數(shù)據(jù)寄存器DR,首先CPU通過DCode總線將數(shù)據(jù)從SRAM讀到CPU的內(nèi)部的通用寄存器里來暫存數(shù)據(jù),然后在通過DCode總線將數(shù)據(jù)傳到DR,這樣通過了CPU作為數(shù)據(jù)的中轉(zhuǎn)。但是我們現(xiàn)在有了DMA總線,只需要CPU發(fā)送命令就可以將SRAM里的數(shù)據(jù)直接發(fā)送到DR。
(2)被動單元內(nèi)部FLASH:內(nèi)部閃存存儲器,我們編寫好的程序通過編譯后變成一條條指令存放在這里,Crotex-Mx通過ICode總線訪問內(nèi)部FLASH來取指。
內(nèi)部SRAM:Static Random Access Memory它是一種具有靜止存取功能的內(nèi)存,不需要刷新電路即能保存它內(nèi)部存儲的數(shù)據(jù)。不像DRAM(Dynamic Random Access Memory)那樣需要刷新電路,每隔一段時間,固定要對DRAM刷新充電一次,否則內(nèi)部的數(shù)據(jù)即會消失,因此SRAM具有較高的性能,但是SRAM也有它的缺點,即它的集成度較低,相同容量的DRAM內(nèi)存可以設(shè)計為較小的體積,但是SRAM卻需要很大的體積,所以在主板上SRAM存儲器要占用一部分面積。當(dāng)然SRAM的優(yōu)點就是速度快,不必配合內(nèi)存刷新電路,可提高整體的工作效率.SRAM的缺點是集成度低,功耗較大,相同的容量體積較大,而且價格較高,所以少量用于關(guān)鍵性系統(tǒng)以提高效率。像程序的變量,堆棧等等的開銷都是基于內(nèi)部的SRAM,Crotex-Mx通過DCode總線來訪問它。
FSMC:Flexible Static Memory Controller可變靜態(tài)存儲控制器,這是STM32系列采用一種新型的存儲器擴(kuò)展技術(shù),由于通過對特殊功能寄存器的設(shè)置,F(xiàn)SMC能夠根據(jù)不同的外部存儲器類型,發(fā)出相應(yīng)的數(shù)據(jù)/地址/控制信號類型以匹配信號的速度,從而使得STM32系列微控制器不僅能夠應(yīng)用各種不同類型、不同速度的外部靜態(tài)存儲器,而且能夠在不增加外部器件的情況下同時擴(kuò)展多種不同類型的靜態(tài)存儲器,滿足系統(tǒng)設(shè)計對存儲容量、產(chǎn)品體積以及成本的綜合要求。強(qiáng)調(diào)一下,只能拓展靜態(tài)內(nèi)存。
STM32F10xx系統(tǒng)時鐘樹:
如圖左邊部分:1.HSI是高速內(nèi)部時鐘,RC振蕩器頻率為16MHz,可以直接作為系統(tǒng)時鐘或經(jīng)過二分頻后用作PLL的輸入。2.HSE是高速外部時鐘,可接4~26MHz石英陶瓷諧振器或者接外部時鐘源,可以直接作為系統(tǒng)時鐘或經(jīng)過二分頻后用作PLL的輸入。3.LSE是低速外部時鐘,接32.768KHz石英晶體,主要是RTC時鐘源。4.LSI是低速內(nèi)部時鐘,RC振蕩器,32KHz左右,供獨立看門狗和自動喚醒單元使用。5.PLL圍鎖相環(huán)倍頻輸出,32上面有兩個PLL。
-
芯片
+關(guān)注
關(guān)注
455文章
50714瀏覽量
423129 -
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355721
原文標(biāo)題:學(xué)院推薦 | 新手必學(xué):詳解stm32體系架構(gòu)
文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論