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

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

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

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

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