Cortex_M3內(nèi)核主要是應(yīng)用于低成本、低功耗的場(chǎng)合,并且具有極高的運(yùn)算能力和極強(qiáng)的中斷響應(yīng)能力。Cortex-M3處理器采用純Thumb2指令的執(zhí)行方式,使得這個(gè)具有32位高性能的ARM內(nèi)核能夠?qū)崿F(xiàn)8位和16位的代碼存儲(chǔ)密度。ARM Cortex-M3處理器是使用最少門數(shù)的ARM CPU,核心門數(shù)只有33K,在包含了必要的外設(shè)之后的門數(shù)也只有60K,使得封裝更為小型,成本更加低廉。Cortex-M3采用了ARM V7哈佛架構(gòu),具有帶分支預(yù)測(cè)的3級(jí)流水線,中斷延遲最大只有12個(gè)時(shí)鐘周期,在末尾連鎖的時(shí)候只需要6個(gè)時(shí)鐘周期。同時(shí)具有1.25DMIPS/MHZ的性能和0.19mW/MHZ的功耗。STM32F103ZET6該芯片具有Cortex_M3內(nèi)核、144管腳、64KB SRAM、512 KB FLASH、2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級(jí)定時(shí)器、3個(gè)SPI、2個(gè)IIC、5個(gè)串口、1個(gè)USB、1個(gè)CAN、3個(gè)12位ADC、1個(gè)12位DAC、1個(gè)SDIO接口、1個(gè)FSMC接口以及112個(gè)通用IO口。
一個(gè)最小的核心板原理圖分為電源供電,外部時(shí)鐘,啟動(dòng)方式,復(fù)位,下載五部分。
電源供電部分為主要模擬部分供電與數(shù)字部分供電,11個(gè)數(shù)字部分需要添加11個(gè)去耦電容(見圖1.1)。去耦電容的作用舉個(gè)簡(jiǎn)單的例子。你可以把總電源看作水庫(kù),我們大樓內(nèi)的家家戶戶都需要供水,水不是直接來自于水庫(kù),那樣距離太遠(yuǎn)了,等水過來,我們已經(jīng)渴的不行了。實(shí)際水是來自于大樓頂上的水塔,水塔其實(shí)是一個(gè)暫存的作用。同樣的道理如果微觀來看,高頻器件在工作的時(shí)候,其電流是不連續(xù)的,而且頻率很高,而器件VCC到總電源有一段距離,即便距離不長(zhǎng),在頻率很高的情況下,阻抗Z=i*wL+R,線路的電感影響也會(huì)非常大,會(huì)導(dǎo)致器件在需要電流的時(shí)候,不能被及時(shí)供給。去耦電容可以彌補(bǔ)此不足。這就是為什么很多電路板在高頻器件VCC管腳處放置小電容的原因。
模擬電源部分的地與數(shù)字電源部分的地需要連接起來(見圖1.2),連接起來方式有三種。第一種是磁珠,第二種是電感,第三種是0R電阻。比較三種方法哪種比較適合模擬地與數(shù)字地的單點(diǎn)接地呢?磁珠的等效電路相當(dāng)于帶阻限波器,只對(duì)某個(gè)頻點(diǎn)的噪聲有顯著抑制作用,使用時(shí)需要預(yù)先估計(jì)噪點(diǎn)頻率,以便選用適當(dāng)型號(hào)。對(duì)于頻率不確定或無法預(yù)知的情況,磁珠不合。電感體積大,雜散參數(shù)多,不穩(wěn)定。0歐電阻相當(dāng)于很窄的電流通路,能夠有效地限制環(huán)路電流,使噪聲得到抑制。電阻在所有頻帶上都有衰減作用(0歐電阻也有阻抗),這點(diǎn)比磁珠強(qiáng)。0歐姆電阻可以設(shè)置多個(gè),根據(jù)實(shí)際要求選擇0歐姆電阻數(shù)目,達(dá)到最優(yōu)的設(shè)置要求。所以我們這里的模擬地與數(shù)字地部分我們選用2個(gè)0歐姆電阻并聯(lián)的形式,根據(jù)實(shí)際選擇相應(yīng)的0歐姆電阻的數(shù)目。
STM32F103ZET6屬于低功耗產(chǎn)品,在主時(shí)鐘關(guān)閉的情況,部分功能仍然可以保持正常(見圖1.3)。但是需要裝上備用電池。此處我們選用CR1220紐扣電池接上二極管的方法,在有其他外部電源的時(shí)候啟用外部電源,在突然斷電或者異常狀況下啟用備
選用8M晶振并聯(lián)12M反饋電阻和22pf起振電容。外部32.68KHZ的晶振并聯(lián)10pf起振電容(見圖1.4)。
STM32F103ZET6有三種啟動(dòng)方式(見圖1.5),如表1所示。
(1)用戶閃存就是芯片內(nèi)置的Flash,這種模式直接從0X08000000啟動(dòng),也就是我們自己編寫的代碼的啟動(dòng)方式了.正常情況都應(yīng)該用這種。
(2)SRAM就是芯片內(nèi)置的RAM區(qū),就是內(nèi)存,從0X20000000啟動(dòng)的,也就是說在SRAM模式開始之前,你要確保SRAM里面已經(jīng)有代碼了,否則就是死機(jī)。
(3)系統(tǒng)存儲(chǔ)器就是芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時(shí)在這個(gè)區(qū)域預(yù)置了一段BOOTLOADER,就是通常說的ISP程序。這個(gè)區(qū)域的內(nèi)容在芯片出廠后沒有人能夠修改或擦除,即它是一個(gè)ROM區(qū)。這種模式就是STM32復(fù)位后就執(zhí)行固化在內(nèi)部的BOOTLOADER程序(固化的,我們無法讀寫),然后等待串口數(shù)據(jù),從而實(shí)現(xiàn)串口BOOTLOADER功能。這種模式不會(huì)從用戶存儲(chǔ)區(qū)啟動(dòng)(除非用串口控制其從0X08000000啟動(dòng)),所以在更新了代碼之后,需要設(shè)置為其他模式(FLASH模式)。
復(fù)位按鈕設(shè)置,因?yàn)閺?fù)位按鈕低電平有效,因此采用下拉方式(見圖1.6)。
JLINK V7(見圖1.7)支持JTAG/SWD兩種下載方式。JTAG采用五線制(見表2)。
此外還支持SWD調(diào)試方式,只用兩根線就可以完成調(diào)試過程(見表3)。
耦合電容必須靠近數(shù)字部分,才能起到降低干擾,提供穩(wěn)定電壓的功能。如果遠(yuǎn)離數(shù)字部分耦合電容排除干擾的能力將大大減弱,
表1 《STM32F103ZET6最小系統(tǒng)設(shè)計(jì)》啟動(dòng)方式表
表2 《STM32F103ZET6最小系統(tǒng)設(shè)計(jì)》JTAG五線制定義
表3 《STM32F103ZET6最小系統(tǒng)設(shè)計(jì)》SWD兩線制定義
圖1.1 耦合電容
圖1.2 模擬地與數(shù)字地
圖1.3 備用電源
圖1.4 晶振電路
圖1.5 BOOT選擇電路
圖1.6 復(fù)位電路
圖1.7 JLINK電路圖
圖2.1 導(dǎo)線厚度35um
圖2.2 導(dǎo)線厚度70um
圖3.1 實(shí)物圖正面
圖3.2 實(shí)物圖反面
PCB的敷銅厚度常常用盎司做單位,它與英寸和毫米的轉(zhuǎn)換關(guān)系如下:
1盎司=0.0014英寸=0.0356毫米(mm)
2盎司=0.0028英寸=0.0712毫米(mm)
GB-T_4588.3-2002關(guān)于單面板的熱耗規(guī)定如下:
對(duì)于以銅為導(dǎo)線材料、標(biāo)稱厚度為1.6mm~3.2mm(0.063in~0.125in)的單面印制板,不同寬度和常用厚度的導(dǎo)線溫升與電流之間的關(guān)系(忽略如鎳、金或錫附加鍍層的影響),如圖2.1、2.2所示。
根據(jù)上表我們有了一個(gè)直觀的認(rèn)識(shí),但是作為日常布線仍然不夠。我們接著來看看MIL-S TD-275(美國(guó)軍方標(biāo)準(zhǔn))提到了溫度、電流、與導(dǎo)線截面的關(guān)系。
相關(guān)的計(jì)算公式:I=KT^(0.44)A^(0.725)W=A/d
I=最大的電流,單位為:A
K=降額常數(shù):導(dǎo)線在內(nèi)層時(shí)取值為:0.024;導(dǎo)線在外層時(shí)取值為0.048.
T=最大溫升,單位為:℃
A=導(dǎo)線截面積:?jiǎn)挝粸椋簃il^2
W為線寬
d導(dǎo)線厚度(即為覆銅厚度)算出的線寬即為布線的寬度。根據(jù)此可以計(jì)算相應(yīng)的線寬,再加上25%的余量就能滿足大部分的設(shè)計(jì)要求。
STM32F103ZET6具有144個(gè)管腳,管腳最近的距離僅為9mil,如果覆銅距離過近,可能造成焊接過程管腳與覆銅短路的情況。所以在覆銅的時(shí)候需要格外加大間距。我個(gè)人設(shè)置為30mil。
我們選用的系統(tǒng)屬于低頻電路,模擬電路部分與數(shù)字部分需要分開布置,同時(shí)采取單點(diǎn)接地的方式,避免數(shù)字電路部分干擾模擬部分,從而影響芯片內(nèi)部模擬電路部分的正常工作。
至此我們完成了STM32F103ZET6的最小系統(tǒng)的設(shè)計(jì)(見圖3.1,圖3.2)。這套最小系統(tǒng)可以幫助了解和學(xué)習(xí)STM32,深入了解Cortex_M3內(nèi)核。同時(shí)這套最小系統(tǒng)可以幫助我們進(jìn)行開發(fā)項(xiàng)目前的驗(yàn)證測(cè)試階段的工作,從而設(shè)計(jì)和開發(fā)更加復(fù)雜的項(xiàng)目。
[1]中華人民共和國(guó)國(guó)家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局.印制板的設(shè)計(jì)和使用[Z].2002-11-25.
[2]DEPARTMENT OF DEFENSE Washington.DC 20301.MIL_STD_275E.31 December 1984.
[3]北京三恒星科技公司.Altuim Designer 6設(shè)計(jì)教程[M].2007年2月第1次印刷.北京:電子工業(yè)出版社,2007,2:293-318.