淺談 LPC546xx clock 使用方式

【是在哈囉】淺談 LPC55xx 簡介與clock 使用方式

  • LPC55xx簡介

          第一張先秀出 WPI 製作的第一塊 LPC55 EVB, 可以在大大購上購買喔~ 每支 Pin 腳都從 LPC55 接出來, 開發平易近人~
         

          下圖是 LPC55 在 NXP 的 MCU 核心分類, 可以看的出是最新的 Cortex M33 ~~
         

          然後我們再看看 LPC55 有哪些功能, 然後實際上又能做成什麼產品呢?

          好比, UART 可以接無線模組, SPI 可以接 Finger print 模組, SPI PHY 可以點 Pannel, USB 可以當遊戲控制器等等,



         

          LPC55 以上這些功能, 確實能夠勝任一般 MCU 的工作,

          那 Cortex M33 比一般 M4 MCU 多了哪些功能呢?

          Trust zone, 安全的記憶體管理機制,

          其實就下表可以看到, 處理速度就是比 M4 快 20%,
         

 

二﹑ LPC55s69 Clock 說明

  • Clock 來源

         內部可直接選擇 1MHz, 12 MHz, 48MHz, 96MHz,

         可以外掛 32.768K 或 Main crystal (16, 19.2, 24, 32MHz ) Clock in

  • 提供 PLL 功能, 主要 Clock 流程如下

         

 

  • 呼叫 void Init_CPU_Clock(unsigned int Sys_clock), 設定 Main Clock,

          並傳入設定 Sys_clock的值,

          若是要跑 1MHz 則輸入 Sys_clock = 1000000,

          若是要跑 12MHz 則輸入 Sys_clock = 12000000,

          若是要跑 48MHz 則輸入 Sys_clock = 48000000,

          若是要跑 96MHz 則輸入 Sys_clock = 96000000,

          程式會儲存目前 Main clock 的速度為 SystemCoreClock,

          使用上小心 Flash 及 Voltage 要符合當下的 CPU 速度

 

  • 要測試 Clock 跑多少, 則可以呼叫 Drv_PIO1_27_Clock_out (clockout_source_t clockout_source, unsigned int clockout_div)

          輸出指定的 Clock 波型至 PIO1_27 量測,

          clockout_source 從 0 ~ 6 有各種輸出 clock 來源, 如下:

          0x0 Main clock (main_clk).

          0x1 PLL0 output

          0x2 CLKIN (clk_in).

          0x3 FRO 96 or 48 MHz (fro_hf).

          0x4 FRO 1MHz

          0x5 PLL1 output

          0x6 32K osc

 

  • 呼叫 void Init_Audio_Clock (void), 設定 Audio Clock,

          開發板使用外掛 crystal 16MHz, 並透過 PLL0 倍頻至 24MHz 在傳輸給 MCLK 及 I2S 使用

 

  • 呼叫 void Init_USB_Clock(usb_port_t USB_port), 設定 USB Clock,

          並傳入選擇設定 USB_port,

          若是要跑 Full speed 則輸入 USB_FullSpeed, 程式將會初始化 Full speed USB 的 Clock,

          若是要跑 High speed 則輸入 USB_HighSpeed, 程式將會初始化 High speed USB 的 Clock,

 

          範例:

         


         

          下圖可以看出 main clock 跑 96MHz,
         
         

          下圖可以看出 PLL0 倍頻至24.5MHz,

         
         

          下圖可以看出 Crystal 輸入為 clock in 為 16MHz,

         
         

          下圖可以看出內建 High-FRO 設定 96MHz 輸出,

         
         
         

          下圖可以看出內建低頻  1MHz_FRO輸出,
         
         
         

          下圖可以看出 PLL1 倍頻至 48MHz,

         
         
         

          下圖可以看出 12MHz FRO 輸出,


         

          以上是 LPC55 的介紹, 其實可以看得出來 LPC55xx 與 LPC54xxx 是十分相近的, 所以 Cortex M33 其實與 Cortex M4 的基本使用方式是一致的, 並且 Cortex M33 是新的核心, 執行的更快, 更強大, 在 NXP 設計製程下也更省電

          我們在 LPC55 上的測試說明也會比 LPC54 更詳細些, 後續 NXP LPC13, LPC15, LPC17, LPC18, LPC40, LPC43… 等, 會集中在 LPC55 的 road map 發展

          下篇 LPC55xx GPIO 使用方式


           參考文獻:  https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc5500-cortex-m33:LPC5500_SERIES



★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能