找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3410|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32單片機(jī)的架構(gòu)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:81272 發(fā)表于 2015-5-27 16:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
今天,我們來認(rèn)識(shí)一下STM32單片機(jī)的內(nèi)部架構(gòu)。內(nèi)部架構(gòu)也就是這個(gè)單片機(jī)有哪些東西組成。

眾所周知,單片機(jī)是由PC機(jī)發(fā)展而來的。它是把我們PC機(jī)所擁有的CPU、RAM、ROM、I/O系統(tǒng)、定時(shí)器、串口等功能集成到一個(gè)硅片上而構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng)。由于計(jì)算器強(qiáng)大的數(shù)據(jù)處理能力和控制能力,以及單片機(jī)的高可靠性、高抗干擾性、價(jià)格便宜等優(yōu)點(diǎn)而被廣泛的應(yīng)用于工業(yè)控制、醫(yī)療器械、信息通信等領(lǐng)域。
圖1 單片機(jī)內(nèi)部結(jié)構(gòu)圖




上圖是一個(gè)單片機(jī)內(nèi)部所具有的各種部件。接下來我們看一下這些部件都有什么作用。
1、CPU:
   CPU又叫中央處理器。它具備數(shù)據(jù)計(jì)算和指令執(zhí)行的功能。那它都能做哪些運(yùn)算呢。比如我們常用的加、減、乘、除、微分、積分等等。哪些屬于指令的執(zhí)行呢,比如,要計(jì)算加法,那么加法就是一個(gè)指令。當(dāng)然CPU還能執(zhí)行很多指令,具體的指令要去看這個(gè)單片機(jī)的指令系統(tǒng)。
2、RAM:
       RAM又叫數(shù)據(jù)存儲(chǔ)器、隨機(jī)存儲(chǔ)器。它具有可讀可寫的特點(diǎn)(這里的可讀可寫指的是可以在程序的運(yùn)行過程中對(duì)它直接操作),掉電數(shù)據(jù)丟失。為什么需要RAM呢。因?yàn)槌绦蛟趫?zhí)行指令或者做運(yùn)算時(shí)會(huì)產(chǎn)生一些中間變量,而這些中間變量就需要存儲(chǔ)在RAM中。這就像我們?nèi)祟愒谟?jì)算1+2的時(shí)候,首先我們會(huì)在紙上寫出1+2這個(gè)式子,同樣對(duì)于單片機(jī)也是如此,如果它不記下來的話,那么用的時(shí)候這些數(shù)據(jù)就丟失了。
   3、ROM:
      ROM又叫做程序存儲(chǔ)器,只讀存儲(chǔ)器。它具有只讀不能寫、掉電數(shù)據(jù)不丟失的特點(diǎn)(實(shí)際上隨著電子技術(shù)的發(fā)展,ROM也有可讀可寫的,不過寫的方法比較特殊)。主要用來存放我們的代碼。
   4、I/0系統(tǒng):
      I/O系統(tǒng)是單片機(jī)和外部電路打交道的直接窗口,它把單片機(jī)的0,1代碼變成電路中的高低電平。
   5、外設(shè):
      外設(shè)指能獨(dú)立完成一定功能的一塊電路。它的作用就像一個(gè)公司的某個(gè)部門一樣,他們能完成一定的功能,但是要受總經(jīng)理(CPU)的控制。
CPU要進(jìn)行指令執(zhí)行、數(shù)據(jù)處理、外設(shè)控制,首先要做的就是從ROM中取出指令,然后執(zhí)行指令,如果指令的執(zhí)行有中間變量,就要在RAM中保存,執(zhí)行完后要去控制外設(shè)來完成特定的功能。從上面我們可以看出,這系列的操作,CPU都要不停的和ROM、RAM、外設(shè)、I/O系統(tǒng)通信,他們的通信通過很多根導(dǎo)線傳輸數(shù)據(jù),這就是總線系統(tǒng)(當(dāng)然這些導(dǎo)線都是集成在單片機(jī)內(nèi)部的,我們是看不到的)。
接下來我們來看一下STM32的內(nèi)部結(jié)構(gòu)

圖中的Cortex-M3就是CPU,F(xiàn)lash就是ROM,SRAM就是RAM,總線矩陣連接著各種總線。圖中紅色方框中就是STM32單片機(jī)的外設(shè)。從上圖我們可以看出,STM32的外設(shè)是比較豐富的,同樣也是比較復(fù)雜的。
接下來我們來分析一下STM32單片機(jī)的最小系統(tǒng):
一:電源:
      任何一個(gè)電子產(chǎn)品要想正常工作,首先必不可少的就是電源。
圖2.STM32的電源框圖


上圖是STM32的電源框圖:從圖中我們可以看出STM32有四組電源系統(tǒng):
1.VREF+、VREF-:這是STM32內(nèi)部AD轉(zhuǎn)換器(一種片內(nèi)外設(shè))所需要的參考電壓
2.VDDA、VSSA:這是STM32內(nèi)部AD轉(zhuǎn)換器所需要的供電電源
3.VSS、VDD:這是STM32內(nèi)部數(shù)字電路所需要的電源(圖中有詳細(xì)的描述)。
4.VBAT:后備電池,通常用紐扣電池。實(shí)現(xiàn)在主電源掉電的情況下給后備區(qū)域供電。
關(guān)于這些電源的電壓取值范圍,STM32的參考手冊(cè)上有詳細(xì)的說明。
二:復(fù)位
STM32支持三種復(fù)位方式:系統(tǒng)復(fù)位、電源復(fù)位、備份區(qū)域復(fù)位
1.系統(tǒng)復(fù)位:當(dāng)發(fā)生以下任何一個(gè)事件時(shí),產(chǎn)生一個(gè)系統(tǒng)復(fù)位
          1.NRST引腳上的低電平(也就是外部復(fù)位)
          2.窗口看門狗計(jì)數(shù)終止
          3.獨(dú)立看門狗計(jì)數(shù)終止
          4.軟件復(fù)位
          5.低功耗管理復(fù)位
   2.電源復(fù)位:當(dāng)發(fā)生以下任何一個(gè)事件時(shí),產(chǎn)生一個(gè)電源復(fù)位
          1.上電/掉電復(fù)位
          2.從待機(jī)模式返回
   3.備份域復(fù)位:
          1.軟件復(fù)位(軟件產(chǎn)生一個(gè)備份域復(fù)位信號(hào))
          2.在VDD和VBAT兩者都掉電的前提下,VDD或者VBAT上電將引發(fā)備份域復(fù)位。
以上是STM32的復(fù)位系統(tǒng),需要我們使用者做的就是外部復(fù)位電路圖的設(shè)計(jì),關(guān)于這個(gè)圖的設(shè)計(jì)請(qǐng)參照STM32課程中的原理圖。
三:時(shí)鐘系統(tǒng)(震蕩電路)
由于單片機(jī)(包括內(nèi)核、存儲(chǔ)器和外設(shè))是時(shí)序邏輯電路,在工作時(shí)必須要一個(gè)時(shí)鐘來驅(qū)動(dòng)。
圖3.STM32的時(shí)鐘系統(tǒng)

上圖是STM32的時(shí)鐘系統(tǒng),紅色方框中代表的是時(shí)鐘的來源:
1. 8MHZ  HSI RC   通過稱其為內(nèi)部高速時(shí)鐘
2.LSI RC  40KHZ   通常稱其為內(nèi)部低速時(shí)鐘
3.OSC_INT和OSC_OUT組成了外部高速時(shí)鐘。時(shí)鐘范圍為4--16MHZ
4.OSC32_IN和OSC32_OUT組成了外部低速時(shí)鐘。時(shí)鐘為32.768KHZ
5.SYSCLK  系統(tǒng)時(shí)鐘,最大72MHZ
從圖中我們可以看出,SYSCLK可以有HSI、HSE、PLLCLK來提供,而PLLCLK又來源于HSI/2、HSE、HSE/2、LSE/128。而SYSCLK經(jīng)過AHB預(yù)分頻器、APB1預(yù)分頻器、APB2預(yù)分頻器后供各個(gè)外設(shè)使用。
STM32單片機(jī)復(fù)位后把HSI直接作為SYSCLK使用,那這個(gè)時(shí)候系統(tǒng)就運(yùn)行在8MHZ的頻率下。由于HSI的精度較差,SYSCLK速度較低等原因,我們需要對(duì)STM32的時(shí)鐘系統(tǒng)進(jìn)行配置。一般配置的過程如下。
單片機(jī)復(fù)位后,首先啟動(dòng)HSE,等待HSE時(shí)鐘穩(wěn)定后,把HSE作為PLL的輸入,PLLMUL把PLL的輸入時(shí)鐘8倍頻后做為SYSCLK,那么系統(tǒng)時(shí)鐘就工作在72MHZ。時(shí)鐘的來源是外部時(shí)鐘。這段代碼的實(shí)現(xiàn)在STM32的庫函數(shù) system_stm32f10x.c文件中的SystemInit()函數(shù)中。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表