STM32(一)STM32简介
? ? ? ? 大家好,今天我跟大家分享一下學習STM32的一些收獲,希望對初學STM32的同學有所啟示。當然,本人也是一名初學者,如果有談論不妥之處,還望您能夠批評指正,不吝賜教,本人將非常感激。如果有什么問題,歡迎您到http://www.openedv.com/進行提問與討論。最后祝您學業有成,工作順利。
一、什么是STM32?
? ? ? ?意法半導體(ST)集團于1988年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導體有限公司,是世界最大的半導體公司之一。?STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex?-M0,M0+,M3, M4和M7內核(ST's product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex?-M0 and M0+, Cortex?-M3, Cortex?-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform)。
它具有以下三個特點:
??新的基于ARM內核的32位MCU系列 ??
??–標準的ARM架構 ? ? –內核為ARM公司為要求高性能、低成本、低功耗的嵌入式應用專門設計的Cortex-M內核
??超前的體系結構?
? ?–高性能 ? ? –低電壓 ? ? ?–低功耗 ? ? –創新的內核以及外設
??簡單易用/自由/低風險
Cortex-M3系列屬于ARMv7架構
ARMv7架構定義了三大分工明確的系列:
- ??? ?“A”系列:面向尖端的基于虛擬內存的操作系統和用戶應用
- ??? ?“R”系列:針對實時系統;
- ??? ?“M”系列:對微控制器。
STM32F1屬于Cortex-M系列中的Cortex-M3內核,采用ARMv7-M架構。STM32F4屬于Cortex-M4系列采用ARMv7-ME架構。Cortex-A5/A8采用ARMv7-A架構。傳統的ARM7系列采用的是ARMv4T架構。(想了解更多可參考韋東山老師的《Linux應用開發完全手冊》第一章)
那么STM32與ARM有什么區別呢?
Cortex-M家族
STM32的命名規則
STM32的應用場景
STM32的應用場景還有很多,這里只是簡單地列出一些。?
總的來說STM32具有如下優勢:
?1)極高的性能:主流的Cortex內核。
?2)豐富合理的外設,合理的功耗,合理的價格。
?3)強大的軟件支持:豐富的軟件包。
?4)全面豐富的技術文檔。
?5)芯片型號種類多,覆蓋面廣。
?6)強大的用戶基礎:最先成功試水CM3芯片的公司,積累了大批的用戶群體,為其領先做鋪墊。
二、按內核架構分為不同產品
? ? 主流產品(STM32F0、STM32F1、STM32F3)
? ? 超低功耗產品(STM32L0、STM32L1、STM32L4、STM32L4+)
? ? 高性能產品(STM32F2、STM32F4、STM32F7、STM32H7)
三、STM32F103板載資源(以正點原子MiniSTM32F103RCT6為例)
1.ALIENTEK MiniSTM32 V3.0開發板板載資源如下:
?◆CPU:STM32F103RCT6,LQFP64,FLASH:256K,SRAM:48K;
?◆1個標準的JTAG/SWD調試下載口
?◆1個電源指示燈(藍色)
?◆2個狀態指示燈(DS0:紅色,DS1:綠色)
?◆1個紅外接收頭,配備一款小巧的紅外遙控器
?◆1個IIC接口的EEPROM芯片,24C02,容量256字節
?◆1個SPI FLASH芯片,W25Q64,容量為8M字節(即64M bit)
?◆1個DS18B20/DS1820溫度傳感器預留接口
?◆1個標準的2.4/2.8/3.5/4.3/7寸LCD接口,支持觸摸屏
?◆1個OLED模塊接口(與LCD接口部分共用)
?◆1個USB串口接口,可用于程序下載和代碼調試
?◆1個USB SLAVE接口,用于USB通信
?◆1個SD卡接口
?◆1個PS/2接口,可外接鼠標、鍵盤
?◆1組5V電源供應/接入口
?◆1組3.3V電源供應/接入口
?◆1個啟動模式選擇配置接口
?◆1個2.4G無線通信接口
?◆1個RTC后備電池座,并帶電池
?◆1個復位按鈕,可用于復位MCU和LCD
?◆3個功能按鈕,其中WK_UP兼具喚醒功能
?◆1個電源開關,控制整個板的電源
?◆3.3V與5V電源TVS保護,有效防止燒壞芯片。
?◆獨創的一鍵下載功能
?◆除晶振占用的IO口外,其余所有IO口全部引出
?
2.芯片資源
芯片內部資源描述(STM32F103ZET6&STM32F103RCT6)
?內核:
??-32位 高性能ARMCortex-M3處理器?
? -時鐘:高達72M,實際還可以超屏一點點?
??-單周期乘法和硬件除法
?IO口:
?????-STM32F103ZET6: ?144引腳??112個IO?
? ? ?-STM32F103RCT6:?64引腳 ?51個IO
???? -大部分IO口都耐5V(模擬通道除外) ? ? ? ? ?-支持調試:SWD和JTAG,SWD只要2根數據線
?存儲器容量:
? ? -STM32F103ZET6:? 512K ?FLASH,64K ?SRAM?
? ? -STM32F103RCT6: 256K ?FLASH,48K? SRAM
?定時器:多達11個定時器
???-4個通用定時器 ? ?-2個基本定時器 ? ?-2個高級定時器?
? ?-1個系統定時器 ? ?-2個看門狗定時器
?通信接口:多達13個通信接口
?? ?-2個I2C接口 ? ?-5個串口 ? ?-3個SPI接口 ? ?-1個CAN2.0 ? ?-1個USBFS ? ?-1個SDIO
?時鐘,復位和電源管理:
??①2.0~3.6V電源和IO電壓
??②上電復位,掉電復位和可編程的電壓監控
??③強大的時鐘系統
??-4~16M的外部高速晶振?-內部8MHz的高速RC振蕩器?
??-內部40KHz低速RC振蕩器,看門狗時鐘
??-內部鎖相環(PLL,倍頻),一般系統時鐘都是外部或者內部高速時鐘經過PLL倍頻后得到
??-外部低速32.768K的晶振,主要做RTC時鐘源
?3、STM32F103xC、STM32F103xD和STM32F103xE器件功能和配置
4.關于一些常見外設掛載在哪些總線之下?(APB1與APB2)
APB2下的外設:
APB1下的外設:
- DCA
- 電源控制接口
- 后備寄存器
- CAN
- USB
- 這里大家只要記住TIM1 和 TIM8、GPIO、ADC、SPI等是高速外設,所以掛載在APB2總線之下(APB2、APB1,2>1,所以APB2為高速時鐘總線),TIM2~TIM7 掛載在APB1總線之下,就夠了。
- 其他常見的記不住的話,用到了去查《stm32中文參考手冊》第28頁29頁就可以了。
四、STM32學習方法
?1、推薦學習網站:
?①www.openedv.com?開源電子網,正點原子官方技術支持論壇。正點原子資料發布和售后官方平臺。
?②www.stmcu.org?ST中國官方技術網站,ST官方文檔發布網站。
?2、需要掌握哪些技能
????????C語言是嵌入式開發的基礎中的基礎。
點擊:了解更多關于STM32的信息
本次就簡單分享這些了,下次為大家詳細展示MiniSTM32F103RCT6的各項資源。謝謝您的瀏覽。
總結
以上是生活随笔為你收集整理的STM32(一)STM32简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 李开复写给中国大学生的第五封信
- 下一篇: xilinx gt ip 位置约束