ALIENTEK MiniSTM32開(kāi)發(fā)板是一款迷你型的開(kāi)發(fā)板,小巧而不小氣,簡(jiǎn)約而不簡(jiǎn)單。ALIENTEK MiniSTM32開(kāi)發(fā)板的特點(diǎn)包括:
1)小巧。整個(gè)板子尺寸為8cm*10cm*2cm(包括液晶,但不計(jì)算銅柱的高度)。
2)靈活。板上除晶振外的所有的IO口全部引出,特別還有GPIOA和GPIOB的IO口是按順序引出的,可以極大的方便大家擴(kuò)展及使用。
3)資源豐富。板載十多種外設(shè)及接口,讓你暢游STM32
??????? 她的外觀尺寸只有8cm*10cm大小,如下圖所示:
圖1 MiniSTM32 開(kāi)發(fā)板外觀圖
這款MiniSTM32開(kāi)發(fā)板,不求最全,但求最精!板子的設(shè)計(jì)充分考慮了成本與功能這兩個(gè)矛盾面,再結(jié)合實(shí)際使用的經(jīng)驗(yàn)及STM32的特點(diǎn),最終確定了這樣的設(shè)計(jì)??傮w來(lái)說(shuō)是該有的都有,不該有的堅(jiān)決不要,可有可無(wú)的選擇性?xún)r(jià)比最高的留下?,F(xiàn)在向大家介紹ALIENTEK MiniSTM32開(kāi)發(fā)板的各部分硬件,讓大家對(duì)該開(kāi)發(fā)板的各部分硬件原理有個(gè)理解。
??????? CPU
ALIENTEK MiniSTM32選擇的是STM32F103RBT6作為MCU,STM32F103的型號(hào)眾多,我們選擇這款的原因是看重其性?xún)r(jià)比,作為一款低端開(kāi)發(fā)板,選擇STM32F103RBT6是最佳的選擇。128K FLASH、20K SRAM、2個(gè)SPI、3個(gè)串口、1個(gè)USB、1個(gè)CAN、2個(gè)12位的ADC、RTC、51個(gè)可用IO腳…,這樣的配置無(wú)論放到哪里都是很不錯(cuò)的了,更重要的是其價(jià)格,18元左右的零售價(jià),足以秒殺很多其他芯片了,所以我們選擇了它作為我們的主芯片。MCU部分原理圖如下:
圖二 MCU部分原理圖
上圖中中上部的BOOT1用于設(shè)置STM32的啟動(dòng)方式,其對(duì)應(yīng)啟動(dòng)模式如下表所示:
我們用串口下載代碼,則配置BOOT0為1,BOOT1為0即可,如果想讓STM32一按復(fù)位鍵就開(kāi)始跑代碼,則需要配置BOOT0為0,BOOT1隨便設(shè)置都可以。
P3和P1分別用于PORTA和PORTB的IO口引出,其中P2還有部分用于PORTC口的引出。PORTA和PORTB都是按順序排列的,這樣設(shè)計(jì)的目的是為了讓大家更方便地與外部設(shè)備連接。
P2連接了DS18B20的數(shù)據(jù)口以及紅外傳感器的數(shù)據(jù)線(xiàn),它們分別對(duì)應(yīng)著PA0和PA1,只需要通過(guò)跳線(xiàn)帽將P2和P3連接起來(lái)就可以使用了。這里不直接連在一起的原因有二:1,防止紅外傳感器和DS18B20對(duì)這兩個(gè)IO口作為其他功能使用的時(shí)候的影響;2,DS18B20和紅外傳感器還可以用來(lái)給其他板子提供輸入,等于我們的板子為別的板子提供了紅外接口和溫度傳感器,在調(diào)試的時(shí)候,還是蠻有用的。
P4口連接了PL2303的串口輸出,對(duì)應(yīng)著STM32的串口1(PA9/PA10),在使用的時(shí)候,也是通過(guò)跳線(xiàn)帽將這兩處連接起來(lái)。這樣設(shè)計(jì)有2個(gè)好處:1,使得PA9和PA10用作其他用途使用的時(shí)候,不受到PL2303的影響。2,USB轉(zhuǎn)串口可以用作他用,并不僅限這個(gè)板上的STM32使用,也可以連接到其他板子上,這樣ALIENEK MiniSTM32就相當(dāng)于一個(gè)USB串口。
P5口是另外一個(gè)IO引出排陣,將PORTC和PORTD等的剩余IO口從這里引出。
在此部分原理圖中,我們還可以看到STM32F103RBT6的各個(gè)IO口與外設(shè)的連接關(guān)系,這些將在后面給大家介紹。
這里STM32的VBAT采用CR1220紐扣電池和VCC3.3混合供電的方式,在有外部電源(VCC3.3)的時(shí)候,CR1220不給VBAT供電,而在外部電源斷開(kāi)的時(shí)候,則由CR1220給VBAT供電。這樣,VBAT總是有電的,以保證RTC的走時(shí)以及后備寄存器的內(nèi)容不丟失。
該部分還有JTAG,JTAG部分電路如下圖:
圖三 JTAG原理圖
這里采用的是標(biāo)準(zhǔn)的JTAG接法,但是STM32還有SWD接口,SWD只需要最少2跟線(xiàn)(SWCLK和SWDIO)就可以下載并調(diào)試代碼了,這同我們使用串口下載代碼差不多,而且速度更快,能調(diào)試。所以建議大家在設(shè)計(jì)產(chǎn)品的時(shí)候,可以留出SWD來(lái)下載調(diào)試代碼,而摒棄JTAG。STM32的SWD接口與JTAG是共用的,只要接上JTAG,你就可以使用SWD模式了(其實(shí)并不需要JTAG這么多線(xiàn)),JLINKV8和ULINK2都支持SWD。
EEPROM
ALIENTEK MiniSTM32自帶了24C02的EEPROM芯片,該芯片的容量為2Kbit,也就是256個(gè)字節(jié),對(duì)于我們普通應(yīng)用來(lái)說(shuō)是足夠了的。你也可以選擇換大的芯片,因?yàn)樵谠砩鲜羌嫒?4C02~24C512全系列的EEPROM芯片的。其原理圖如下:
圖四 EEPROM原理圖
這里我們把A0~A2均接地,對(duì)24C02來(lái)說(shuō)也就是把地址位設(shè)置成了0了,寫(xiě)程序的時(shí)候要注意這點(diǎn)。IIC_SCL接在MCU的PC12上,IIC_SDA接在MCU的PC11上,這里我們并沒(méi)有接到STM32內(nèi)部的IIC上,因?yàn)镾TM32的IIC是雞肋!如果你想在ALIENTEK MiniSTM32開(kāi)發(fā)板上使用硬件IIC,那么也是可以的,你只需要設(shè)置PC11和PC12為浮空輸入,然后把PB10和PB11(IIC2)或者PB6和PB7(IIC1)通過(guò)飛線(xiàn)連接到PC11和PC12上就可以使用硬件IIC了。
溫度傳感器
溫度傳感器我們使用的是DS18B20,其原理圖如下:
圖五 溫度傳感器原理圖
DS18B20的數(shù)據(jù)腳(18B20_DQ)接P2的第一腳,并沒(méi)有直接連接到MCU,至于為什么,前面已有介紹。要使用這里,我們用跳線(xiàn)帽把PA0和P2-1連接起來(lái)就可以了。
按鍵
ALIENTEK MiniSTM32開(kāi)發(fā)板總共有3個(gè)按鍵,其原理圖如下:
圖六 按鍵輸入原理圖
KEY0和KEY1用作普通按鍵輸入,分別連接在PA13和PA15上,他們都連接在了JTAG相關(guān)的引腳上(KEY0還連接在SWDIO上),這樣,在使用KEY0和KEY1的時(shí)候,就不能使用JTAG來(lái)調(diào)試了,這點(diǎn)在使用的時(shí)候要注意。KEY0和KEY1還和PS/2的DAT和CLK線(xiàn)共用,他們都通過(guò)JTAG的上拉電阻來(lái)提供上拉。
WK_UP按鍵連接到PA0(STM32的WKUP引腳),它除了可以用作普通輸入按鍵外,還可以用作STM32的喚醒輸入。這個(gè)按鍵是高電平觸發(fā)的。PA0還是DS18B20的輸入引腳,所以在使用的時(shí)候要注意哦。
液晶顯示模塊
ALIENTEK MiniSTM32開(kāi)發(fā)板載有目前比較通用的液晶顯示模塊接口,還有其比較有特色的兼容性接口,不僅支持2.4、2.8寸的TFTLCD,還支持OLED顯示器。其原理圖如下:
圖七 液晶顯示模塊原理圖
LCD1是一個(gè)通用的液晶模塊接口。OLED是一個(gè)給OLED顯示模塊供電的接口,它和LCD1拼接在一起。當(dāng)使用2.4’/2.8’的LCD時(shí),我們接到LCD1上就可以了,而當(dāng)我們使用ALIENTEK 的OLED模塊時(shí),則接OLED排陣做電源,同時(shí)會(huì)連接到LCD1上的部分管腳,從而實(shí)現(xiàn)OLED與MCU的連接。ALIENTEK MiniSTM32的LCD接口兼容:ALIENTEK的TFTLCD模塊、紅牛開(kāi)發(fā)板的液晶模塊、CRE開(kāi)發(fā)板的液晶模塊、STMSKY開(kāi)發(fā)板的液晶模塊等。所以,如果有以上幾款開(kāi)發(fā)板的液晶模塊,或者接口與上面原理圖兼容的,都是可以在ALIENTEK MiniSTM32開(kāi)發(fā)板上使用的。
這些引腳與MCU的連接關(guān)系我們?cè)谶@里就不一一列出了,大家可以從MCU的原理圖上找到。T_PEN是觸摸屏的PEN信號(hào)輸出,我們?cè)谶@里加了濾波電路,使得觸摸屏讀數(shù)更加準(zhǔn)確。
紅外接收頭
ALIENTEK MiniSTM32開(kāi)發(fā)板載有紅外接收傳感器HS0038,原理圖如下:
圖八 液晶顯示模塊原理圖
REMOTE_IN接到P2的第二腳,也沒(méi)有直接接在MCU的IO口上,目的也是防止IO口在做其他功能使用的時(shí)候,收到紅外信號(hào)的干擾。
PS/2
ALIENTEK MiniSTM32開(kāi)發(fā)板載有PS/2接口,有了該接口,我們就可以用來(lái)連接外部標(biāo)準(zhǔn)的PS/2鼠標(biāo)鍵盤(pán)了,也就大大的擴(kuò)展了ALIENTEK MiniSTM32的輸入。原理圖如下:
圖九 PS/2接口原理圖
PS_CLK和PS_DAT分別接PA15和PA13,PS/2的信號(hào)線(xiàn)是需要外部提供上拉電阻的,這里我們和JTAG共用,使用JTAG的上拉電阻來(lái)提供,PS/2的CLK和DAT還與兩個(gè)按鍵共用。所以在使用這幾部分的時(shí)候,要特別注意,別沖突,可以分時(shí)復(fù)用。在使用PS/2的時(shí)候,同樣不能使用JTAG調(diào)試。
ALIENTEK MiniSTM32開(kāi)發(fā)板上總共有3個(gè)LED,其原理圖如下:
圖十 LED原理圖
其中PWR是系統(tǒng)電源指示燈,為藍(lán)色。LED0和LED1分別接在PA8和PD2上,PA8還可以通過(guò)TIM1的通道1的PWM輸出來(lái)控制DS0的亮度。為了方便大家判斷,我們選擇了DS0為紅色,DS1為綠色的LED燈。
SD卡
ALIENTEK MiniSTM32開(kāi)發(fā)板載有標(biāo)準(zhǔn)的SD卡接口,有了這個(gè)接口,我們就可以外擴(kuò)大容量存儲(chǔ)設(shè)備,可以用來(lái)記錄數(shù)據(jù)。其原理圖如下:
圖十一 SD卡接口原理圖
SD卡我們使用的是SPI模式通信,SD卡的SPI接口連接到STM32的SPI1上,SD_CS接在PA3上,ALIENTEK MiniSTM32開(kāi)發(fā)板上的SPI1總共由4個(gè)外設(shè)共用,他們分別是:SD卡、NRF24L01無(wú)線(xiàn)模塊、JF24C無(wú)線(xiàn)模塊和W25X16。他們可以通過(guò)不同的片選信號(hào)來(lái)分時(shí)復(fù)用。
無(wú)線(xiàn)模塊
ALIENTEK MiniSTM32開(kāi)發(fā)板板載了2款無(wú)線(xiàn)模塊的接口,NRF24L01模塊和JF24C模塊,他們都屬于2.4G通信的無(wú)線(xiàn)模塊,并且都有性?xún)r(jià)比極高的特點(diǎn)。其中NRF24L01模塊的最大通信速率為2Mbps,JF24C的為1Mbps。有了這個(gè)兩個(gè)接口,我們就無(wú)線(xiàn)通信,以及其他很多的應(yīng)用了。這部分原理圖如下:
圖十二 無(wú)線(xiàn)模塊接口原理圖
這兩部分也是共用SPI接口,其余引腳與MCU的對(duì)應(yīng)關(guān)系在MCU部分有,我們這里就不列出了。注意這兩個(gè)無(wú)線(xiàn)模塊是不能同時(shí)連接在板子上的!
SPI FLASH
ALIENTEK MiniSTM32開(kāi)發(fā)板載有SPI FLASH芯片W25X16,該芯片的容量為2M字節(jié),與AT45DB161屬于同一級(jí)別,ATMEL的東西價(jià)格近來(lái)很不穩(wěn)定,因而我們選擇了價(jià)格穩(wěn)定,貨源較好,而且通用性很強(qiáng)的W25X16,其原理圖如下:
圖十三 W25X16原理圖
W25X16也是共用了SPI1,F(xiàn)_CS接在PA2上。至此,總共SPI1的四個(gè)器件都已介紹完畢,他們的CS都接在不同的IO口上(兩個(gè)無(wú)線(xiàn)模塊除外),所以在使用其中一個(gè)器件的時(shí)候,要記得禁止其他器件的CS腳,否則會(huì)有干擾。
USB串口、USB、電源
這里三個(gè)部分一起介紹,ALIENTEK MiniSTM32開(kāi)發(fā)板板載了USB串口,并且由USB提供電源,使得我們只需要一根USB線(xiàn)就可以使用ALIENTEK MiniSTM32開(kāi)發(fā)板了,包括下載、供電、調(diào)試3位一體。
ALIENTEK MiniSTM32開(kāi)發(fā)板的供電部分還引出了5V和3.3V的排陣,可以用來(lái)為外部設(shè)備提供電源或者從外部引入電源,這在很多時(shí)候是非常有用的,有時(shí)候你突然要一個(gè)3.3V的電源,但找半天就是沒(méi)這樣的電源,而我們的板子則可直接向外部提供3.3V電源,有了它,你就可以給外部設(shè)備提供3.3V、5V電源了。注意電流不能太大哦!
ALIENTEK MiniSTM32開(kāi)發(fā)板的USB接口通過(guò)獨(dú)立的Mini USB頭引出,不和USB_232共用,這樣不但可以同時(shí)使用,還可以給系統(tǒng)提供更大的電流。
這幾個(gè)部分的原理圖如下:
圖十四 USB串口、USB、電源部分原理圖
此部分還有一個(gè)開(kāi)關(guān)BUTTON,用來(lái)控制整個(gè)系統(tǒng)的供電,如果斷開(kāi)則整個(gè)系統(tǒng)的3.3V部分都將斷電。而5V部分的電源還是開(kāi)啟的。圖中F1為可恢復(fù)保險(xiǎn)絲,用于保護(hù)USB。
至此,整個(gè)開(kāi)發(fā)板的硬件就介紹完了,了解了整個(gè)硬件對(duì)我們后面的軟件設(shè)計(jì)會(huì)有很大幫助,希望大家細(xì)讀!
評(píng)論
查看更多