STM32等基于 ARM Cortex內核的微控制器,憑借豐富的片上資源與簡單易用的標準外設庫,逐步成為消費與工業領域中的主流產品。
我們所說的STM32F103C8T6是屬于市場上用得比較廣泛的一種型號,意法提供的標準外設庫對 STM32片上資源進行了封裝,標準庫和HALL庫相比,標準外設庫比較接近于傳統的寄存器操作,國產GD32微控制器在很多方面都可以移植替代。
STM32F103C8T6是一款基于 ARM 32位 Cortex?-M3內核,電壓使用范圍是2.0V ~ 3.6V,工作頻率最高可以達到72MHz,內部采用64K或128K字節 Flash程序存儲器,以及高達20K字節的 SRAM數據存儲器;內置 CRC循環冗余校驗以及 96位編碼( 24位的十六進制數)的芯片唯一序列號。
它的主系統由 4個控制單元(DCode總線D-bus、系統總線S-bus、通用DMA1、通用DMA2)以及 4個受控單元(內部SRAM、內部Flash、FSMC、AHB到 APB的橋AHB2APBx)組成,它們通過一個多級的 AHB總線相互進行連接。
ICode總線:連接 M3內核指令總線與 Flash的指令接口,主要作用是進行指令預取。
DCode總線:連接 M3內核 DCode總線與 Flash的數據接口,主要作用是完成調試訪問和常量加載。
System總線:連接 M3內核系統總線與總線矩陣 Bus Matrix,用于協調內核與 DMA之間的通信。
DMA總線:連接 DMA的 AHB主接口與總線矩陣 Bus Matrix,用于協調 DCode和 DMA對 SRAM、Flash以及其它外設的訪問。
Bus Matrix總線矩陣:利用輪換算法管理內核系統總線與 DMA主總線之間訪問的仲裁,由 4個控制單元(DCode、系統總線、DMA1和 DMA2總線)以及 4個受控單元(FLITF、SRAM、FSMC、AHB2APB橋)組成。
時鐘系統
由于 STM32外設資源眾多,工作的時鐘頻率各不相同,所以采用了多達 5個時鐘源:片上經過出廠調校的8MHz RC振蕩器系統時鐘HSI,以及帶校準的40kHz RC振蕩器作為實時時鐘LSI,也可以采用外置4 ~ 16MHz晶體振蕩器作為系統時鐘HSE,以及帶校準功能的32kHz RTC振蕩器作為實時時鐘LSE;最后還內置了用于對 CPU時鐘進行倍頻的的PLL鎖相環。
GPIO
STM32F103C8T6采用 LQFP48方式封裝,一共擁有 37個 I/O引腳,被分為PA(15個)、PB(15個)、PC(3個)、PD(2個)、PE(0個)五個組,所有 I/O接口可以映像到 16個外部中斷,并且大部份端口都可以可以兼容5V信號。每個 I/O端口可以接受或輸出8mA電流,灌電流則可達到20mA。除了模擬輸入功能的引腳之外,所有 GPIO都擁有大電流通過能力。根據我們的需要可以對 GPIO進行鎖定,主要是防止意外擦寫 GPIO相關的寄存器。位于APB2上的 GPIO引腳,其脈沖轉換速度可達18MHz。
STM32F103C8T6擁有 7個定時器,其中 1個用于電機控制的 16位 PWM高級控制定時器、3個 16位通用定時器、2個看門狗定時器(包含獨立型的和窗口型)、1個 24位自減型系統嘀嗒定時器。
STM32F103C8T6擁有 2個 I2C接口、3個 USART接口、2個 SPI接口、1個 CAN接口、1個 USB 2.0全速接口。
DMA(直接內存存取,Direct Memory Access)用來提供在外設與存儲器或者存儲器與存儲器之間的高速數據傳輸,傳輸過程無需經過 CPU進行干預,數據直接通過 DMA快速進行操作,從而節省大量 CPU資源。
STM32F103C8T6的優點:
1.資料教程豐富,在網上一搜,一堆答案。
2.穩定且性價比高
早期的時候STM32性價比還是很高的,現在價格似乎也慢慢回落了。STM32的話性能很穩定,不會有奇奇怪怪問題。
3.可移植性做得很好
最強大的就是他們的庫,很多芯片基本都是大同小異,比如使用STM32F030的切換到STM32F103也很輕松,代碼風格和定義非常相似。這樣有助于產品快速更新迭代。
4.量大
有一個現象就是,如果芯片漲價,那漲得最猛的肯定是量最大的那顆,STM32F103C8T6就是典型的例子。
市場占有率大,這樣的話產品不會有芯片交期的困擾。
但是特別量大的情況下,很多公司會選擇用***。
5.生態完善
ST的產品生態和開發生態都已經相對完善了。
官網提供了很多行業應用的方案選型,估計很多人忽略了。
如果你在做一款產品,確定用STM32,但是不知道哪個型號合適,可以到他們官網的應用找找。
其它單片機外設資料、Flash、RAM就沒啥說的了,現在基本都是大同小異。
本期先分享到這里,如果還有哪些不足,我們可以一起探討,喜歡點個贊哈!
審核編輯黃宇
-
處理器
+關注
關注
68文章
19893瀏覽量
235160 -
dma
+關注
關注
3文章
576瀏覽量
103224 -
控制器
+關注
關注
0文章
28瀏覽量
3274
發布評論請先 登錄
STM32F103C8T6無法選擇外部晶振怎么解決?
基于STM32F103C8T6控制多路VL53L0X激光測距傳感器
stm32f103c8t6編碼器模式在keil的debug調試時遇到的問題求解
STM32F103C8T6 PA2無PWM輸出怎么解決?
MH32F103A單片機 低價替代STM32,硬件完美兼容 主頻可達216M

基于單片機中藥存放環境監測系統的實現

基于STM32F103C8T6 ADXL345 加速度傳感器的計步器設計指南和代碼
STM32單片機+MPU6050設計一個電子水平儀

第19.2章-星曈科技 openmv H7 plus openmv視覺循跡功能-完成視覺識別指定區域 OpenMV視覺模塊循跡 STM32F103C8T6視覺巡線
19.4-STM32接收數據-狀態顯示在屏幕 openMV尋跡與小車控制 Openmv+STM32F103C8T6視覺巡線小車

評論