在現(xiàn)代嵌入式系統(tǒng)中,時鐘與復位管理是確保系統(tǒng)穩(wěn)定運行的關鍵。我們的SMU(系統(tǒng)管理單元)模塊專注于此核心任務,通過精準的時鐘配置和復位控制,為整個系統(tǒng)提供可靠的時序保障。
SMU模塊的主要功能是完成時鐘和復位的管理。在默認狀態(tài)下SMU工作在IDLE狀態(tài)。只有接收到PMU的使能信號后才開始工作。SMU模塊會根據(jù)PMU的指令自動配置COR、AXIBUS0/1/2等總線的時鐘和復位。
需要注意的是,MCU芯片AS32X601可通過BOOT選擇從外部QSPI Flash啟動和內部PFlash啟動,外部Flash啟動時,系統(tǒng)時鐘最高90MHz,內部啟動時,系統(tǒng)時鐘可跑到180MHz。同時對于各總線時鐘,同樣存在具體要求,該部分在軟件操作部分進行介紹。
硬件介紹
本章節(jié)只討論SMU系統(tǒng)時鐘配置,AS32x601系列總線以及外設時鐘均由SMU模塊進行配置,時鐘樹和總線架構可在設計手冊中查到,同時,為了保證使用者可以更好理解系統(tǒng)時鐘配置,芯片特意拉出來一個clk_out引腳以便測量,查詢芯片引腳復用,該引腳位于芯片的第11管腳PB4得復用功能1。

軟件設計
在本小節(jié)只針對實際操作部分代碼進行講解,其中所涉及到的工程、變量、頭文件等不會涉及到,可以參考實際的demo工程。
操作流程
- 使能總線時鐘以及clk_out所在GPIO時鐘
- 配置SMU_PLL結構體(如果不使用PLL,可忽略此步驟)
- 配置EFLASH時鐘同步(如果使用外部flash啟動,可忽略此步驟)
- 配置系統(tǒng)時鐘以及總線分頻結構體
- 配置clk_out引腳復用
代碼介紹
在芯片的所有使用過程中,主程序都應該在初始化的最開始部位首先完成此部分代碼的編寫,我們在此處封裝成函數(shù),在每個demo歷程中均可以找到這個函數(shù)。

在這個函數(shù)中,我們把需要注意的事項以及總線時鐘樹和對應關系均以注釋的形式貼在操作之前,在時鐘使能過程中,還需要參考總線架構保證外設掛載在具體哪一條總線下,然后在此處根據(jù)注釋打開相應總線時鐘,具體接口的時鐘使能可在接口初始化函數(shù)中進行使能。
在上述代碼清單中,首先配置PLL結構體,采用外部晶振作為PLL的時鐘源,開發(fā)板晶振頻率為20MHz,那么根據(jù)上述公式計算可知系統(tǒng)時鐘為20÷0x14*0xB4÷0x01 = 180M。
接下來,配置EFLASH時鐘同步,此操作必須在切換系統(tǒng)時鐘之前完成,將同步時間180寫入同步配置。
之后配置總線時鐘結構體,此處可設置系統(tǒng)時鐘源是PLL、內部振蕩器或者外部晶振,此外還可配置系統(tǒng)總線分頻系數(shù),具體參數(shù)已經(jīng)在庫中定義完成。
最后需要更新EFLASH時鐘,強制操作,避免死機。
最后一步操作是獲取所有總線時鐘,此函數(shù)是為了保證部分自動計算波特率功能設定,建議最好不要刪除。
至此系統(tǒng)時鐘初始化完畢,為了驗證功能,我們可以配置CLK_OUT引腳輸出,代碼如下:

由于此處全部都是初始化操作,完成之后,直接while(1)等待即可,編譯此代碼。另外,SMU_SetSysClockOut(CoreCLKDiv8Out);可以控制輸出時鐘來源于具體哪一路,形參已經(jīng)定義好,直接選擇切換即可。
燒錄驗證
上述代碼編譯燒錄之后,用示波器連接PB4引腳,即可看到輸出波形。

審核編輯 黃宇
-
mcu
+關注
關注
147文章
18924瀏覽量
398011 -
eFlash
+關注
關注
0文章
13瀏覽量
13518 -
SMU模塊
+關注
關注
0文章
4瀏覽量
1491
發(fā)布評論請先 登錄
LMK0482x系列時鐘抖動清除器:高性能時鐘解決方案解析
深入剖析 LMK1C110x 系列 LVCMOS 時鐘緩沖器
探索DRV601立體聲線路驅動器:特性、應用與設計要點
UCC2753x系列單通道高速柵極驅動器:特性、應用與設計要點詳解
AS32X601的I2C模塊操作EEPROM詳解
基于 AS32X601 微控制器的定時器模塊(TIM)技術研究與應用實踐
AS32X601芯片F(xiàn)lash擦寫調試技術解析
AS32X601系列MCU硬件最小系統(tǒng)設計與調試方案探析
AS32X601驅動系列教程 PLIC_中斷應用詳解
AS32X601驅動系列教程 USART_串口通訊詳解
AS32X601驅動系列教程 GPIO_按鍵檢測詳解
AS32X601驅動系列教程 GPIO_點亮LED詳解
AS32X601驅動系列教程 SMU_系統(tǒng)時鐘詳解
評論