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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11582|回復: 2
收起左側

以通俗易懂的話解釋CM3內核時鐘源

[復制鏈接]
ID:72008 發表于 2015-1-12 14:34 | 顯示全部樓層 |閱讀模式
      最近一直在做單片機通信方面的程序測試,成果之一就是以戰艦板串口2向野火開發板串口1發送字符或字符串,戰艦板作為主機設計了觸摸屏界面,可以根據界面隨心所欲地向從機發送字符或字符串還包括漢字;诖耍谠O計一個通過戰艦板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內核有個更清晰的認識,能解決很多初學者心頭的許多疑問。


回復

使用道具 舉報

ID:399011 發表于 2019-1-11 21:08 | 顯示全部樓層
大佬大佬
回復

使用道具 舉報

ID:205086 發表于 2019-3-31 21:22 | 顯示全部樓層
有什么教程嗎,初學者
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲免费一区 | 久久久久国产精品一区 | 成人国产精品久久 | 国产成人免费视频 | 国产情侣啪啪 | 日韩精品一区二区三区在线播放 | 不卡av在线| 日本精品裸体写真集在线观看 | 免费视频99 | 狠狠干综合视频 | 成人午夜精品 | 黄网站色大毛片 | 国产91在线 | 亚洲 | 欧美极品在线播放 | 国产精品久久久久久久久图文区 | 欧美在线视频一区 | 亚洲午夜精品视频 | 天天操网 | 精品一区久久 | 日韩久久综合 | 九九热在线视频免费观看 | 在线国产一区二区 | 欧美精品一区二区三区在线播放 | 日本黄色激情视频 | 99免费视频| 三级黄色片在线播放 | 亚洲欧美网站 | 亚洲精品久久久一区二区三区 | 中文字幕国产 | 91网站在线观看视频 | 精品国产一区二区三区久久 | 国产一级片 | 色综网 | 91av视频在线免费观看 | 国产精品一区二区福利视频 | 欧美国产激情二区三区 | 国产精品美女久久久 | 欧美一区二区在线观看 | 少妇一级淫片aaaaaaaaa | 秋霞电影一区二区 | 久久久www成人免费无遮挡大片 |