色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于內外時鐘切換及時鐘超頻測試

硬件攻城獅 ? 來源:21ic ? 作者:21ic ? 2022-12-07 14:11 ? 次閱讀
前言

近日,有群友困于STM32時鐘系統。這里就詳細介紹一下關于內外時鐘切換及時鐘超頻測試,希望對大家能有所幫助。

46be059a-75f1-11ed-8abf-dac502259ad0.png

誠然,當使用固件庫時,把外部晶振摘掉,系統確實會自動切換到內部時鐘,但是只會以8M的默認值運行,顯然這是十分不可行的,8M的速度直接讓我們的STM32病入膏肓,今天的任務就是讓STM32失去外掛(晶振)時,依舊可以激情澎湃。

時鐘詳解這里不過多介紹,自己也沒有別人介紹的好,本文旨在解決現實問題。

此處插播廣告:群友問過這種問題,外部接8M晶振和16M晶振有啥區別?

以我微薄的經驗來看,這兩個在用的時候差別不大,如果使用ST的固件庫(以STM32F103為例),使用8M的晶振會更方便,不用改任何代碼,時鐘就是72M的全速運行狀態。如果用16M晶振,則需要修改代碼:

在stm32f10x.h中修改宏定義HSE_VALUE ((uint32_t)8000000)為HSE_VALUE ((uint32_t)16000000)。

46e8dcb6-75f1-11ed-8abf-dac502259ad0.png

之后進入system_stm32f10x.c,將RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);改為RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI_Div2| RCC_CFGR_PLLMULL9);此處是將輸入時鐘二分頻為8M,再進行9倍頻到72M,和使用了8M沒區別。

如果不進行該二分頻操作,時鐘還是有的,但是會以16M為基準進行9倍頻到144M,此時單片機以超頻模式運行,也是可以運行的。但是,時鐘的精準性不能得到保證。

470d387c-75f1-11ed-8abf-dac502259ad0.png

系統的時鐘可以通過添加代碼在debug模式下顯示:

RCC_ClocksTypeDef ClockInfo;
RCC_GetClocksFreq(&ClockInfo);

4733359a-75f1-11ed-8abf-dac502259ad0.png

通過debug模式下觀察ClockInfo的值,便可知道此時系統時鐘速度:

4766a934-75f1-11ed-8abf-dac502259ad0.png

4766a934-75f1-11ed-8abf-dac502259ad0.png

這里提一下,在使用外部晶振的情況下,ST即使是超頻,依舊發揮穩定,不得不夸一下ST的質量。

此時我將我的開發板以8M的基準倍頻16倍,得到128M的主頻,使用定時器定時10us,示波器測試無誤差。串口通信無誤。

47d370dc-75f1-11ed-8abf-dac502259ad0.png

48011564-75f1-11ed-8abf-dac502259ad0.png

48323c2a-75f1-11ed-8abf-dac502259ad0.png

48c47860-75f1-11ed-8abf-dac502259ad0.png

以72M的主頻跑128依舊穩定,贊一個,因為我的外部晶振只有8M最大只能倍頻到128,如果使用外部16M,不知繼續倍頻可以到多少。不過性能還是很好的。

預留測試GD32的效果:

寫本文時,將GD的GD32E230翻出來進行了同樣的測試,因為GD的倍頻器倍數較高,我已經倍頻到144M(標準72M),測試定時器依舊穩定。

48e53c1c-75f1-11ed-8abf-dac502259ad0.png

廣告很長,請忍一下:

上半場結束,下半場繼續:

此處歪解一下時鐘的問題,之前有群友很疑惑單片機的低功耗和時鐘的關系,疑惑高速的時鐘會不會增加MCU的功耗,為啥低功耗要降低時鐘速度。這里講解一下:

可以用用單位時間內執行的指令來看,高速時鐘在單位時間內使系統跑了更多的指令,而低速時鐘單位時間內跑的少,而單片機是直線結構,內核是不會休息的,功耗就看執行的指令多少。而單片機的低功耗就是降低時鐘,讓單片機跑慢點。就像人一樣,低功耗相當于你不跑了,原地休息,但是你的心跳不會停止,你還是得消耗能量,即使再少還得消耗。

就像人一樣,時鐘就相當于心跳,只要還活著就得消耗能量,你要想跑得快,心臟就得跳得快,跳得越快能量消耗越高,即使你去睡覺,心跳只要不停止,你還得消耗能量,如果心跳沒了,整個人就沒了,MCU也就宕機了。所以,在處理低功耗時最先解決的就是時鐘頻率,只有降低了時鐘的頻率,才能真正降低功耗。關于單片機進入低功耗和喚醒,以及降低整體運行功耗我看能不能在下文講解,近期剛好做了一個低功耗的項目,這里留懸念吧。

廣告結束,正文開始,不好意思,有點喧賓奪主了哈!

回到主題,為了解決時鐘切換的問題,才有了這個帖子,上文全屬歪樓,為最近開發時的經驗總結。

我們在使用STM32103的固件庫時,時鐘配置在system_stm32f10x.c中,但是只是對外部晶振做了初始化,而對于內部時鐘并沒有添加代碼,如果你的MCU沒有外部晶振,當系統運行時是先啟動內部時鐘,然后會檢測外部晶振,如果沒有檢測到晶振,系統便以內部的8M繼續運行,這是不合理的。

4907446a-75f1-11ed-8abf-dac502259ad0.png

這里可以看到,如果外部啟動失敗,會進入這個else,但是這個else中并未添加任何代碼,所以只會用8M的內鐘執行,我們要做的就是在else中添加外部啟動失敗的代碼:

  /* 開啟HSI 即內部晶振時鐘 */
  RCC->CR |= (uint32_t)0x00000001; 
  /*選擇HSI為PLL的時鐘源HSI必須2分頻給PLL*/
  RCC->CFGR |= (uint32_t)RCC_CFGR_PLLSRC_HSI_Div2; 
         
  /*PLLCLK=8/2*13=52MHz 設置倍頻得到時鐘源PLL的頻率*/
  RCC->CFGR |= (uint32_t)RCC_CFGR_PLLMULL12;
  /* PLL不分頻輸出*/
  RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;
   
  /* 使能 PLL時鐘 */
  RCC->CR |= RCC_CR_PLLON;
  /* 等待PLL時鐘就緒*/
  while((RCC->CR & RCC_CR_PLLRDY) == 0)
  {
  }
  /* 選擇PLL為系統時鐘的時鐘源 */
  RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
  RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;  
  /* 等到PLL成為系統時鐘的時鐘源*/
  while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08)
  {
}

該代碼填充后如果檢測到有外部時鐘,便以外部時鐘為基準進行時鐘的倍頻處理,達到用戶想要的時鐘頻率,如果你的MCU沒有外部時鐘,則會執行else內部的代碼,將時鐘源切換到內部時鐘并進行倍頻,如此便達到了自動檢測時鐘的目的。

問題:這是我根據STM32F031的時鐘切換代碼演變來的,但是這個只能用于主頻小于或等于48M時使用,如果倍頻因子超過12,也就是主頻超過48M是,就會出現硬件錯誤,直接卡死。當需要更高的主頻時就需要如下配置。

在else里面最開頭添加:

  /* Enable Prefetch Buffer */
  FLASH->ACR |= FLASH_ACR_PRFTBE;
  /* Flash 2 wait state */
  FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY);
FLASH->ACR|=(uint32_t)FLASH_ACR_LATENCY_2;

492c0bec-75f1-11ed-8abf-dac502259ad0.png

問:如果我的MCU有晶振,但是我不想用外部,就想用內部,如何處理呢?

答:打一頓就好了,有外部不用干啥用內部呢?

上述純屬惡搞自己,被坑過……

因為內部時鐘不準?。?!測試內部時鐘在使用定時器時會有偏差,本人在此吃過虧。此問題在STM32F031和GD32E230中均有體現。但是USART和SPI通信是正常的,即使我用的2.5M波特率的USART和8M的SPI。

解決辦法,上述代碼不用動,添加如下代碼。

4980dbcc-75f1-11ed-8abf-dac502259ad0.png

通過注釋原文RCC->CR |= ((uint32_t)RCC_CR_HSEON);并添加RCC->CR &= ~((uint32_t)RCC_CR_HSEON);可默認之以內部時鐘方式啟動。 注意:在主函數加上SystemInit();函數哦?。?! 最終代碼如下:

static void SetSysClockTo72(void)
{


__IO uint32_t StartUpCounter = 0, HSEStatus = 0;





/* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/  


/* Enable HSE */  


//RCC->CR |= ((uint32_t)RCC_CR_HSEON);


  /*取消改行注釋并注釋上文,可默認啟動內部時鐘*/


  RCC->CR &= ~((uint32_t)RCC_CR_HSEON);


/* Wait till HSE is ready and if Time out is reached exit */


do


{


  HSEStatus = RCC->CR & RCC_CR_HSERDY;


  StartUpCounter++;


} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));






if ((RCC->CR & RCC_CR_HSERDY) != RESET)


{


  HSEStatus = (uint32_t)0x01;


}


else


{


  HSEStatus = (uint32_t)0x00;


}






if (HSEStatus == (uint32_t)0x01)


{


  /* Enable Prefetch Buffer */


  FLASH->ACR |= FLASH_ACR_PRFTBE;






  /* Flash 2 wait state */


  FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY);


  FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2;  










  /* HCLK = SYSCLK */


  RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;


  


  /* PCLK2 = HCLK */


  RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;


  


  /* PCLK1 = HCLK */


  RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2;






#ifdef STM32F10X_CL


  /* Configure PLLs ------------------------------------------------------*/


  /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */


  /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */


  


  RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |


          RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);


  RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |


         RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);





  /* Enable PLL2 */


  RCC->CR |= RCC_CR_PLL2ON;


  /* Wait till PLL2 is ready */


  while((RCC->CR & RCC_CR_PLL2RDY) == 0)


  {


  }


  


 


  /* PLL configuration: PLLCLK = PREDIV1 * 9 = 72 MHz */ 


  RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);


  RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | 


          RCC_CFGR_PLLMULL9); 


#else  


  /*PLL configuration: PLLCLK = HSE * 9 = 72 MHz */


  RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |


              RCC_CFGR_PLLMULL));


  RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL16);


#endif /* STM32F10X_CL */






  /* Enable PLL */


  RCC->CR |= RCC_CR_PLLON;






  /* Wait till PLL is ready */


  while((RCC->CR & RCC_CR_PLLRDY) == 0)


  {


  }


  


  /* Select PLL as system clock source */


  RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));


  RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;  






  /* Wait till PLL is used as system clock source */


  while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08)


  {


  }


}


else


{ 


  /* Enable Prefetch Buffer */


  FLASH->ACR |= FLASH_ACR_PRFTBE;


  /* Flash 2 wait state */


  FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY);


  FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2;    


   /* 開啟HSI 即內部晶振時鐘 */


  RCC->CR |= (uint32_t)0x00000001; 






  /*選擇HSI為PLL的時鐘源HSI必須2分頻給PLL*/


  RCC->CFGR |= (uint32_t)RCC_CFGR_PLLSRC_HSI_Div2; 






         


  /*PLLCLK=8/2*13=52MHz 設置倍頻得到時鐘源PLL的頻率*/


  RCC->CFGR |= (uint32_t)RCC_CFGR_PLLMULL16;






  /* PLL不分頻輸出*/


  RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;


   


  /* 使能 PLL時鐘 */


  RCC->CR |= RCC_CR_PLLON;






  /* 等待PLL時鐘就緒*/


  while((RCC->CR & RCC_CR_PLLRDY) == 0)


  {


  }










  /* 選擇PLL為系統時鐘的時鐘源 */


  RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));


  RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;  






  /* 等到PLL成為系統時鐘的時鐘源*/


  while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08)


  {






  }


}


}

在STM32F030或者STM32F031中,同樣可以做類似操作:

static void SetSysClock(void)
{


__IO uint32_t StartUpCounter = 0, HSEStatus = 0;





/* SYSCLK, HCLK, PCLK configuration ----------------------------------------*/


/* Enable HSE */ 






RCC->CR |= ((uint32_t)RCC_CR_HSEON);


  //修改為內部晶振  


//  RCC->CR &= ~((uint32_t)RCC_CR_HSEON);


 


/* Wait till HSE is ready and if Time out is reached exit */


do


{


  HSEStatus = RCC->CR & RCC_CR_HSERDY;


  StartUpCounter++;


} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));






if ((RCC->CR & RCC_CR_HSERDY) != RESET)


{


  HSEStatus = (uint32_t)0x01;


}


else


{


  HSEStatus = (uint32_t)0x00;


}






if (HSEStatus == (uint32_t)0x01)


{


  /* Enable Prefetch Buffer and set Flash Latency */


  FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY;


 


  /* HCLK = SYSCLK */


  RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;


  


  /* PCLK = HCLK */


  RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE_DIV1;






  /* PLL configuration = HSE * 6 = 48 MHz */


  RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL));


  RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL7);


    


  /* Enable PLL */


  RCC->CR |= RCC_CR_PLLON;






  /* Wait till PLL is ready */


  while((RCC->CR & RCC_CR_PLLRDY) == 0)


  {


  }






  /* Select PLL as system clock source */


  RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));


  RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;  






  /* Wait till PLL is used as system clock source */


  while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL)


  {


  }


}


else


{ /* If HSE fails to start-up, the application will have wrong clock 


   configuration. User can add here some code to deal with this error */


       // HSI 內部時鐘做為PLL時鐘源并配置PLL 56M做為系統時鐘


  /* Enable Prefetch Buffer and set Flash Latency */


  FLASH->ACR = FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY;






  /* HCLK = SYSCLK */


  RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;






  /* PCLK = HCLK */


  RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE_DIV1;






  // PLL configuration = (HSI/2) * 12 = 48 MHz


  RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_14); // 8M/2 * 14 = 56M






  /* Enable PLL */


  RCC->CR |= RCC_CR_PLLON;






  /* Wait till PLL is ready */


  while ((RCC->CR & RCC_CR_PLLRDY) == 0)


  {


  }






  /* Select PLL as system clock source */


  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // PLL 做系統時鐘






  /* Wait till PLL is used as system clock source */


  while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL)


  {


  }


}


}

在STM32F103中,使用內部晶振,最大時鐘頻率也只能到64M,受倍頻因子的影響嘛,最大只能倍頻16倍。但在STM32F031中,標準使用內部時鐘主頻只有48M,但是我們仍然可以繼續倍頻,用內部時鐘進行超頻達到64M。在我們的產品中就用過內部超頻到56M,USART和SPI長時間無問題。

而GD32E230因為其高達32的倍頻因子,內部時鐘可以倍頻到128M。

49aaa9ca-75f1-11ed-8abf-dac502259ad0.png

但是,這種幾分鐘內沒有明顯發熱現象,不敢做長時間測試,現在MCU有點小貴。干費一個就心疼。

總之,無論ST還是國產,其主頻更適合在規定的范圍內運行,但是跑極限在短時間內也沒有很大的問題。這些數據僅供參考。

至此單片機時鐘講解就結束了,沒有多少理論性的東西,主要是解決一些時鐘使用時的問題,自己也總是忘,留帖一篇作為自省。

本文中所有代碼都經過本人測試,運行無任何問題,但是對于問題的闡述或者一些見解可能有錯誤,歡迎大佬們批評指正,一定接受各種批評,努力完善!

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 晶振
    +關注

    關注

    34

    文章

    2880

    瀏覽量

    68117
  • STM32
    +關注

    關注

    2270

    文章

    10910

    瀏覽量

    356582
  • 時鐘
    +關注

    關注

    11

    文章

    1736

    瀏覽量

    131582

原文標題:工程師歪解單片機的時鐘系統,有點意思~

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RTC時鐘芯片+電池的應用案例(一)

    車載領域的應用案例。愛普生RTC時鐘芯片在工業自動化設備的應用愛普生RTC具有備用電池切換、寬溫范圍高精度、低功耗等特點,幫助自動化設備更好運行。愛普生RTC時鐘
    的頭像 發表于 01-08 11:25 ?94次閱讀
    RTC<b class='flag-5'>時鐘</b>芯片+電池的應用案例(一)

    時序約束一主時鐘與生成時鐘

    一、主時鐘create_clock 1.1 定義 主時鐘是來自FPGA芯片外部的時鐘,通過時鐘輸入端口或高速收發器GT的輸出引腳進入FPGA內部。對于賽靈思7系列的器件,主
    的頭像 發表于 11-29 11:03 ?482次閱讀
    時序約束一主<b class='flag-5'>時鐘</b>與生成<b class='flag-5'>時鐘</b>

    北斗衛星時鐘系統——ZREXT2000衛星時鐘擴展分機

    ? ? ? 衛星時鐘系統 是專為大型電站、電廠設計的多種輸出接口的冗余接收系統, ?北斗/GPS衛星時鐘系統 采用2臺北斗/GPS主時鐘(其中1臺是備份時鐘),當主
    的頭像 發表于 11-11 14:37 ?211次閱讀
    北斗衛星<b class='flag-5'>時鐘</b>系統——ZREXT2000衛星<b class='flag-5'>時鐘</b>擴展分機

    LMK04828-EP參考時鐘自動切換的問題求解答

    我所遇到的問題是:我的clkin0是外部時鐘輸入,clkin1是板載晶振,clkin2為FPGA時鐘輸入,clkin0優先級最高;當clkin0 丟失后,04828自動切換到clkin1 ,但是當clkin0 恢復后,0482
    發表于 11-11 07:59

    京準時鐘科普:關于北斗衛星同步時鐘的那些事?

    京準時鐘科普:關于北斗衛星同步時鐘的那些事?
    的頭像 發表于 10-29 09:28 ?321次閱讀
    京準<b class='flag-5'>時鐘</b>科普:<b class='flag-5'>關于</b>北斗衛星同步<b class='flag-5'>時鐘</b>的那些事?

    視頻時鐘合成芯片怎么用

    ,以確保視頻信號的同步和穩定。以下是關于視頻時鐘合成芯片的使用指南: 1. 視頻時鐘合成芯片的基本概念 視頻時鐘合成芯片是一種數字電路,它通過相位鎖定環(Phase-Locked Lo
    的頭像 發表于 10-10 11:17 ?303次閱讀

    時鐘抖動和時鐘偏移的區別

    時鐘抖動(Jitter)和時鐘偏移(Skew)是數字電路設計中兩個重要的概念,它們對電路的時序性能和穩定性有著顯著的影響。下面將從定義、原因、影響以及應對策略等方面詳細闡述時鐘抖動和時鐘
    的頭像 發表于 08-19 18:11 ?1145次閱讀

    請問cyt4bb7的鎖相環如何配置到cpu時鐘,以達到超頻的目的?

    請問cyt4bb7的鎖相環如何配置到cpu時鐘,以達到超頻的目的?
    發表于 05-23 08:25

    請問STM32可以超頻嗎?

    在配置STM32的時鐘的時候,像F103是72M,F429是180M,F4大部分是168M,改變時鐘的配置讓他超頻行不行呢?是不是會不可靠?有沒有人試過??? 等考完試了,好好地實驗一下。看看F429能超到多少 。。。
    發表于 05-08 07:14

    關于STM32F103內外時鐘切換問題求解

    產品設計方案:在HSE故障時切換至HSI,2分頻后給PLL再16倍頻(手冊說可以到64M),在LSE故障時優先切換至HSE時鐘,HSE故障時切換至LSI,暫時只考慮故障后復位重啟,未修
    發表于 04-10 08:03

    PTP時鐘源設備全攻略:從普通時鐘到透明時鐘的進階之路

    在現代通信技術中,精確時間同步對于保障網絡性能至關重要。PTP(PrecisionTimeProtocol)時鐘源設備作為實現高精度時間同步的關鍵組件,其配置和選擇對于網絡架構師和工程師來說至關重要
    的頭像 發表于 02-22 08:04 ?1539次閱讀
    PTP<b class='flag-5'>時鐘</b>源設備全攻略:從普通<b class='flag-5'>時鐘</b>到透明<b class='flag-5'>時鐘</b>的進階之路

    數字電路之時鐘切換電路解析

    以上是一個比較經典的時鐘切換電路。 根據實際使用場景的不同,時鐘切換有很多不同的實現方法,都可以做得非常經典。 時鐘,復位,是數字設計里最最
    的頭像 發表于 02-18 18:22 ?3578次閱讀
    數字電路之<b class='flag-5'>時鐘</b><b class='flag-5'>切換</b>電路解析

    網絡時鐘同步有哪些要求?如何在5G網絡中測試時間與時鐘同步?

    網絡時鐘同步有哪些要求?要注意哪些問題?如何在5G網絡中測試時間與時鐘同步? 網絡時鐘同步是指在計算機網絡中,各個時鐘節點之間通過協議和算法
    的頭像 發表于 01-16 16:03 ?1428次閱讀

    如何生成關于時鐘同步功能的DTC?

    如何生成關于時鐘同步功能的DTC? 時鐘同步功能是指在一個系統內的多個時鐘源進行同步,確保它們的時間保持一致。這在許多實時系統中都非常重要,特別是在需要多個設備或組件協同工作的場景中。
    的頭像 發表于 01-16 15:10 ?641次閱讀

    FPGA中時鐘的用法

    生成時鐘包括自動生成時鐘(又稱為自動衍生時鐘)和用戶生成時鐘。自動生成時鐘通常由PLL或MMCM生成,也可以由具有分頻功能的
    的頭像 發表于 01-11 09:50 ?1951次閱讀
    FPGA中<b class='flag-5'>時鐘</b>的用法
    主站蜘蛛池模板: 黑人寄宿羽月希产后奶水| 亚洲综合色五月久久婷婷| 国产AV无码熟妇人妻麻豆| 亚洲精品国产精品精| 欧美人与善交大片| 久久re这里视频精品15| 丰满老熟女白浆直流| 最近中文字幕2019免费版日本| 爽爽影院线观看免费| 免费国产久久啪久久爱| 国产综合在线视频| 边摸边吃奶边做下面视频| 亚洲欧美国产旡码专区| 日本二区三区欧美亚洲国| 久久女婷五月综合色啪| 国产精品毛片AV久久97| c了瑜伽老师嗷嗷叫一节课视频| 亚洲香蕉视频在线播放| 十九岁在线观看免费完整版电影| 老湿机一区午夜精品免费福利| 国产亚洲精品久久77777| YELLOW视频在线观看最新| 在线观看国产精美视频| 午夜阳光影院在线观看视频| 人人插人人射| 棉袜足j吐奶视频| 久久国产主播福利在线| 国精产品一区二区三区四区糖心 | 亚洲高清国产拍精品动图| 日本亚洲欧洲免费旡码| 欧美18精品久久久无码午夜福利| 久久精品国产福利电影网| 国产亚洲一区在线| 国产成人精品一区二区三区视频| xxnxx动漫| MATURETUBE乱妇| 78m成人亚洲| 97国产揄拍国产精品人妻| 中文字幕在线免费视频| 又爽又黄又粗又大免费视频| 一个人的HD高清在线观看|