久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 以通俗易懂的話解釋CM3內核時鐘源 [打印本頁]

作者: liuyy    時間: 2015-1-12 14:34
標題: 以通俗易懂的話解釋CM3內核時鐘源
      最近一直在做單片機通信方面的程序測試,成果之一就是以戰艦板串口2向野火開發板串口1發送字符或字符串,戰艦板作為主機設計了觸摸屏界面,可以根據界面隨心所欲地向從機發送字符或字符串還包括漢字;诖,正在設計一個通過戰艦板RS485控制西門子S7-200PLC的程序;這也是現在工業自動化最常見的一種控制模式。言歸正傳:

     CM3內核的時鐘樹很復雜,什么系統時鐘,總線時鐘,外部時鐘,內部時鐘的搞得有點亂。其實,把 CM3內核的時鐘概念和頻率概念搞清楚, CM3就不那么艱難了!不信看下面的描述,錯誤之處請指正!畢竟這只是我個人的理解。

先從原子的基于STM32的一個延時函數delay_init(u8 SYSCLK) 講起: void delay_init(u8 SYSCLK)  //SYSCLK:系統時鐘,戰艦板是72
{
  #ifdef OS_CRITICAL_METHOD //如果OS_CRITICAL_METHOD定義了,則使用了ucosII.
  u32 reload;
  #endif
  SysTick->CTRL&=~(1<<2);//SYSTICK使用外部時鐘源
  fac_us=SYSCLK/8;//不論是否使用ucos,fac_us都需要使用,1/9us就是來自這里
  #ifdef OS_CRITICAL_METHOD//如果OS_CRITICAL_METHOD定義了,則使用了ucosII.
  reload=SYSCLK/8;//每秒鐘的計數次數,單位為K
  reload*=1000 000/OS_TICKS_PER_SEC;/*根據OS_TICKS_PER_SEC設定溢出時間;OS_TICKS_PER_SEC是OS每秒時鐘節拍數  */
   //reload為24位寄存器,最大值:16777216,在72M下,約合1.86s左右
  fac_ms=1000/OS_TICKS_PER_SEC;//代表ucos可以延時的最少單位
  SysTick->CTRL|=1<<1;   //開啟SYSTICK中斷
  SysTick->LOAD=reload; //每1/OS_TICKS_PER_SEC秒中斷一次
  SysTick->CTRL|=1<<0;   //開啟SYSTICK   
  #else
  fac_ms=(u16)fac_us*1000;  //非ucos下,代表每個ms需要的systick時鐘數
#endif
}

函數比較簡單就不分析了;  為了理解上述函數還必須補補課:計算機只認識“0”和“1”信號,說白了就是“開”“關”兩種狀態。時鐘頻率就是每秒“開”“關”這兩種狀態的變化次數。CPU的內部其實就是由大量的寄存器和觸發器構成的,這些寄存器或觸發器都必須在一定的時鐘頻率控制下工作才能實現CPU的“有序可控”;這也是CPU“智能化”和“聽話”的理論基礎。硬件時鐘源頻率(或者說“開關”速度)越快,CPU的內部的寄存器或觸發器等硬件就響應越快。CM3內核中有APB1(最大36mhz)和APB2(最大72mhz)兩條片上外設總線,每條總線的時鐘頻率是不一樣的,且每條總線上的外設都有各自的時鐘源控制開關,也就是說不同的外設可以根據各自的時鐘需求以不同的“開關”速率工作。這樣設計主要是基于減少能耗的目的。硬件之間的接口電路的目的就是為了解決時鐘源不同步和信號機制不同的問題而設計的。CM3內核有5個時鐘源,而51單片機只有一個時鐘源11.0592MHZ;時鐘源越多說明內核的功能越多,可以適應更多的工作環境和要求。


   時鐘周期T是時序中最小的時間單位,具體計算是1/時鐘源;假設晶振即時鐘源是11.0592,則與之對應的時鐘周期就是1/11.0592s。機器周期是CPU完成一個操作的最小時間,普通51單片機一個機器周期是12個時鐘周期。就CM3內核中的24位計數器來說,如果時鐘源頻率是9Mhz,如何理解時鐘源頻率是9Mhz呢?根據上述M3內核的時鐘周期(即CPU完成一個操作的最小時間,秒)=1/9MHz;即1/9us;換句話說m3內核的cpu開或關一次操作所需的時間是1/9微秒.  公式如下:
T(周期,單位秒)*F(頻率,單位hz)=1(脈沖個數)

   在電子技術中,脈沖信號是一個按一定電壓幅度,一定時間間隔連續發出的脈沖信號。脈沖信號之間的時間間隔稱為周期;而將在單位時間(如1秒)內所產生的脈沖個數稱為頻率。頻率是描述周期性循環信號(包括脈沖信號)在單位時間內所出現的脈沖數量多少的計量名稱;頻率的標準計量單位是Hz(赫)。電腦中的系統時鐘就是一個典型的頻率相當精確和穩定的脈沖信號發生器。頻率在數學表達式中用“f”表示,其相應的單位有:Hz(赫茲)、kHz(千赫茲)、MHz(兆赫茲)、GHz(千兆赫茲)。其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz。計算脈沖信號周期的時間單位及相應的換算關系是:s(秒)、ms(毫秒)、μs(微秒)、ns(納秒),其中:1s=1000ms,1 ms=1000μs,1μs=1000ns。

   相信看完上述講解,會對CM3內核有個更清晰的認識,能解決很多初學者心頭的許多疑問。



作者: 又何妨    時間: 2019-1-11 21:08
大佬大佬
作者: 文武雙全1149    時間: 2019-3-31 21:22
有什么教程嗎,初學者




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费国产精品久久久久久 | caoporn免费 | 天天夜天天操 | 91国产视频在线 | 国产精品视频导航 | 中文字幕视频三区 | 在线91| 一二区视频| 亚洲国产专区 | 中日字幕大片在线播放 | 亚洲一区在线日韩在线深爱 | 亚洲福利网站 | 亚洲精品一区中文字幕乱码 | 午夜精品导航 | 亚洲一区二区三区在线视频 | 国产成人久久精品一区二区三区 | 国产视频一区二区 | 午夜精品一区 | 久久99精品视频 | 亚洲一av | 久久久久成人精品亚洲国产 | h视频免费在线观看 | 日韩一及片 | 亚洲精品电影网在线观看 | 中日av| 成人午夜精品一区二区三区 | 99精品免费久久久久久日本 | 99re在线视频 | 久久久久九九九女人毛片 | 久久久久久av | 久热精品在线 | 国产精品一区二区在线播放 | 久久精品成人热国产成 | 欧美高清视频一区 | 毛片在线免费 | 午夜影视在线观看 | 日韩中文在线视频 | 国产一区免费 | 欧美日韩免费视频 | 欧美成人a| 玖玖玖在线观看 |