2010年3月27日 星期六

stm32 入門篇-匯流排介紹

要操作stm32之前,最好先了解ARM的匯流排架構,以免在使用或設定上產生太多的疑問


可以參考工研院系統晶片技術中心的AMBA Bus介紹


AMBA Bus大概可以分成三種:


1、ASB-Advanced System Bus


2、AHB-Advanced High-performace Bus


3、APB-Advanced Peripheral Bus


因為我們要寫微控制器,所以比較會用到AHB和APB


我用的是STM32F103RET6,其內部已經將周邊都分好了,對應到APB1與APB2


其內部的功能真的還滿強大的,光TIMER可以做的事應該就打死一票的MCU了


內建的ROM與SRAM都還滿可觀的,最奇怪的是還內含一顆溫度感測器,愈來愈不懂要做什麼用



至於為什麼要分成APB1與APB2,主要的原因是AHB最高可以達到72Mhz,而APB1最高只能達到36Mhz,APB2最高可以達到72Mhz,這樣就知道為什麼要分成2組APB了,另外還提供一個Full speed的USB,所以可以選擇USB 48Mhz。


有趣的是,有個接腳名稱叫MCO(Main Clock Output),可以選擇不同的頻率做輸出


但更有趣的是,I/O雖然是在APB2下,但最高速只能跑到50Mhz,所以,當要輸出72Mhz的主頻率時,輸出是會失真的(原本應該要方波,但會看到正弦波)。



有了以上的了解後,大至上就對這顆stm32有初步的了解了,可以開始上工了。


沒有留言:

張貼留言