• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Kinetis系列MCU時鐘系統(tǒng)結(jié)構(gòu)與配置研究*

      2014-09-06 10:51:08蔣建武王宜懷
      電子器件 2014年6期
      關(guān)鍵詞:蘇州大學(xué)功能模塊時鐘

      蔣建武,王宜懷

      (蘇州大學(xué)計算機科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;泰州職業(yè)技術(shù)學(xué)院信息工程學(xué)院,江蘇 泰州 225300)

      ?

      Kinetis系列MCU時鐘系統(tǒng)結(jié)構(gòu)與配置研究*

      蔣建武1,2,王宜懷1*

      (蘇州大學(xué)計算機科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;泰州職業(yè)技術(shù)學(xué)院信息工程學(xué)院,江蘇 泰州 225300)

      內(nèi)嵌ARM?CortexTM-M核的Kinetis系列微控制器具有復(fù)雜的時鐘系統(tǒng),時鐘系統(tǒng)中多功能時鐘發(fā)生器、鎖相環(huán)、鎖頻環(huán)、晶振系統(tǒng)等功能模塊協(xié)調(diào)工作時能為應(yīng)用系統(tǒng)提供穩(wěn)定的時鐘源。通過對K60時鐘系統(tǒng)的結(jié)構(gòu)和配置方法的剖析,以及對多功能時鐘發(fā)生器運行機制的梳理,提出了時鐘源性能的測試方法以及芯片系統(tǒng)各功能模塊時鐘源的選擇方法,為Kinetis相關(guān)芯片應(yīng)用設(shè)計過程中的時鐘系統(tǒng)配置以及時鐘源選擇提供了借鑒與參考。

      微控制器;時鐘系統(tǒng);運行機制;多功能時鐘發(fā)生器

      自2010年Freescale公司推出了基于ARM?CortexTM-M4內(nèi)核的Kinetis K系列芯片[1]后又推出多款A(yù)RM核的32位MCU,2014年又將推出ARM?CortexTM-M4內(nèi)核與RF收發(fā)器相結(jié)合應(yīng)用于無線傳感網(wǎng)的W系列芯片。芯片的功能越強大對其時鐘系統(tǒng)的要求也越高,合理而高效地配置時鐘系統(tǒng)可極大提升嵌入式系統(tǒng)的實時性與穩(wěn)定性,并在低功耗模式下有效地降低系統(tǒng)功耗。Kinetis系列芯片的時鐘系統(tǒng)具有內(nèi)外參考時鐘接受寬泛的頻率輸入[1-2],內(nèi)置多功能的時鐘發(fā)生器提供多種的時鐘源備選,強大的門控功能啟停各功能模塊時鐘。復(fù)雜而有效的時鐘系統(tǒng)為實現(xiàn)低功耗、高性能、多功能等優(yōu)異特性提供保證,但其復(fù)雜的結(jié)構(gòu)和縝密的配置過程使得掌握并靈活應(yīng)用時鐘系統(tǒng)為應(yīng)用系統(tǒng)的開發(fā)提供穩(wěn)定而高效的時鐘具有一定的難度。針對Kinetis系列芯片課題組做了深入的研究,在《嵌入式系統(tǒng)原理與實踐-ARM Cortex-M4 Kinetis微控制器》一書中對MK60DN512ZVMD10(以下簡稱K60)時鐘系統(tǒng)做了闡述[3],很多讀者在應(yīng)用過程中仍然對時鐘系統(tǒng)的結(jié)構(gòu)與配置有很多困惑;在《FreescalKinetis L系列MCU的時鐘運行機制分析與編程方法》一文中同課題組的朱仕浪分析了MKL25Z128VLK4(以下簡稱KL25)時鐘系統(tǒng)的配置與使用[4]。以下將以K60為例剖析Kinetis系列MCU時鐘系統(tǒng)的結(jié)構(gòu)及其運行機制,給出內(nèi)外參考時鐘選擇依據(jù)與其配置方法,分析MCG模塊各運行模式的特性和模式狀態(tài)遷移過程,最后提出各時鐘源性能分析方法并歸納系統(tǒng)模塊對時鐘源的選擇配置方法。

      1 K60時鐘系統(tǒng)

      1.1 內(nèi)部與外部參考時鐘

      K60芯片的時鐘系統(tǒng)包含2路內(nèi)部參考時鐘和2路外部參考時鐘。內(nèi)部參考時鐘分為高頻4 MHz和低頻32 kHz,可作為MCU的時鐘源或可選外設(shè)時鐘MCGIRCLK。1路外部參考時鐘通過系統(tǒng)振蕩器利用外部引腳XTAL與EXTAL接入時鐘系統(tǒng),支持低頻32 kHz或高頻3 MHz~8 MHz和8 MHz~32 MHz,其可作為MCU的時鐘源或可選外設(shè)時鐘OSCERCLK和ERCLK32K[5]。另一路外部參考時鐘通過實時時鐘專用振蕩器RTC OSC(Real Time Clock Oscillator)利用外部引腳XTAL32與EXTAL32接入時鐘系統(tǒng),該路通常接入32.768 kHz晶振,為RTC模塊提供穩(wěn)定的RTC時鐘源并為其他外設(shè)模塊提供ERCLK32K時鐘源。

      圖1 K60時鐘系統(tǒng)

      1.2 多功能時鐘發(fā)生器

      時鐘系統(tǒng)的內(nèi)部參考時鐘和外部參考時鐘均接入多功能時鐘發(fā)生器MCG(Multipurpose Clock Generator),通過MCG模塊通過內(nèi)部包含的一個鎖頻環(huán)FLL(Frequency-Locked Loop)和一個鎖相環(huán)PLL(Phase-Locked Loop)實現(xiàn)對相應(yīng)參考時鐘倍頻,前者可接收內(nèi)外參考時鐘作為時鐘源,后者僅能使用外部參考時鐘。時鐘系統(tǒng)可選擇PLL輸出(MCGPLLCLK),FLL輸出(MCGFLLCLK),外部參考時鐘和內(nèi)部參考時鐘4個時鐘源之一作為當前時鐘輸出MCGOUTCLK[6]。

      1.3 電源管理器

      電源管理器PMC(Power Management Controller)作為獨立的模塊可產(chǎn)生1 kHz的信號作為系統(tǒng)外設(shè)時鐘LPO。

      1.4 系統(tǒng)集成模塊

      以上所產(chǎn)生的多個時鐘信號通過系統(tǒng)集成模塊SIM(System Integration Module)分配到各個指定的系統(tǒng)功能模塊上,例如:WatchDog、USB、Ethernet、SHDC、I2S等[7],時鐘產(chǎn)生電路CG(Clock Generator)也實現(xiàn)了模塊專用的時鐘門控邏輯,允許通過停止供應(yīng)時鐘信號關(guān)閉模塊的功能。同時CG模塊還提供了4個時鐘分頻器(OUTDIV1~OUTDIV4),通過不同分頻使得在同一個MCGOUTCLK時鐘源驅(qū)動的情況下4個系統(tǒng)模塊時鐘,即內(nèi)核/系統(tǒng)時鐘、總線時鐘、FlexBus時鐘和Flash存儲器時鐘可運行在不同的頻率上由此實現(xiàn)各模塊以較低的頻率工作以便降低功耗[8]。

      2 時鐘系統(tǒng)配置

      2.1 內(nèi)部與外部參考時鐘選擇

      MCG_C1[CLKS]用于選擇內(nèi)部與外部參考時鐘源,CLKS=01選擇內(nèi)部參考時鐘,CLKS=10選擇外部參考時鐘;MCG_C2[IRCS]用于選擇內(nèi)部快慢參考時鐘,IRCS=0,選擇慢內(nèi)部參考時鐘32 kHz晶振,IRCS=1,選擇快內(nèi)部參考時鐘4M晶振;SIM_SOPT2[MCGCLKSEL]用于選擇外部參考時鐘,MCGCLKSEL=0選擇系統(tǒng)振蕩器OSC,MCGCLKSEL=1選擇實時時鐘振蕩器RTC OSC。

      2.2 鎖相環(huán)與鎖頻環(huán)選擇

      MCG_C6[PLLS]用于選擇鎖相環(huán)FLL和鎖頻環(huán)PLL,PLLS=0,選擇FLL,PLLS=1,選擇PLL。MCG_C1[FRDIV]為FLL外部參考時鐘分頻因子,與MCG_C2[RANGE]共同決定取值范圍從1至1 024;MCG_C5[PRDIV]為PLL外部參考時鐘分頻因子,取值范圍從1至25;MCG_C6[VDIV]為PLL壓控晶振(VCO)倍頻因子,取值范圍從24至55。

      3 MCG運行機制分析

      3.1 MCG時鐘運行模式

      時鐘運行模式根據(jù)MCG的鎖頻環(huán)(FLL)或鎖相環(huán)(PLL)工作情況,選用的參考時鐘以及輸出的時鐘是否供給MCGOUTCLK進行定義和分類[9]。例如,PLL工作時,選用外部參考時鐘,并將鎖頻輸出時鐘MCGPLLCLK提供給MCGOUTCLK,此時MCG時鐘模式稱為PEE(PLL外部忙碌);若PLL輸出的時鐘不提供給MCGOUTCLK,而是由外部參考OSCCLK時鐘送到MCGOUTCLK,此時MCG時鐘模式稱為PBE(PLL外部旁路),其它時鐘模式的含義以此類推。MCG共有9種時鐘運行模式:FEI、FEE、FBI、FBE、PBE、PEE、PEE、BLPI、BLPE和STOP,模式切換需要遵守圖2所示的MCG轉(zhuǎn)換規(guī)則,圖中任一狀態(tài)可轉(zhuǎn)換到停止態(tài)(STOP),圖示箭頭表明允許的MCG模式轉(zhuǎn)換方向。9種時鐘運行模式可分為4種工作狀態(tài),即初始態(tài):復(fù)位后初始狀態(tài),中間態(tài):MCGOUTCLK時鐘源不是由FLL/PLL輸出提供,而是由相應(yīng)參考時鐘提供,工作態(tài):MCGOUTCLK時鐘源正常工作時由FLL/PLL輸出,低功耗時由內(nèi)外參考時鐘提供,停止態(tài):MCG停止工作,表1給出了各種模式與工作狀態(tài)的關(guān)系[10]。

      表1 時鐘運行模式與工作狀態(tài)關(guān)系

      表2 時鐘配置推薦值

      3.2 MCG運行狀態(tài)切換編程方法

      由圖2 MCG模式狀態(tài)圖可知系統(tǒng)復(fù)位后首先進入默認FEI運行模式,該模式使用內(nèi)部32 kHz慢參考時鐘,640倍倍頻后可得20.97 MHz時鐘信號,可滿足系統(tǒng)基本運行的需求。當需要更高的頻率(例如配置為100 M網(wǎng)卡,系統(tǒng)時鐘至少50 MHz,K60數(shù)據(jù)手冊5.3.1節(jié)[2]),必須使用FLL或PLL倍頻。與FLL相比,PLL具有防噪聲、防抖動的功能,具有更高的精度;所以系統(tǒng)啟動后一般配置切換到PEE(PLL外部忙碌)模式。以下將以表2中給出的常用推薦時鐘配置為例介紹MCG時鐘模式FEI->FBE->PBE->PEE的狀態(tài)切換過程[11]。

      圖2 MCG模式狀態(tài)圖

      對K60芯片MCG進行狀態(tài)切換時需要滿足以下基本條件[1]:

      (1)Core/system bus≤100 MHz;(2)bus clock≤50 MHz,且必須是Core/systembus的整數(shù)分頻;(3)Flash bus≤25 MHz,且必須是bus clock的整數(shù)分頻;(4)FlexBus≤bus clock。

      對時鐘源的配置按照以下步驟完成:

      (1)將外部時鐘分頻為2 MHz~4 MHz之間的一個頻率,輸入給PLL,該分頻因子由MCG_C5寄存器的PRDIV決定。(2)PLL內(nèi)部的壓控振蕩器VCO(Voltage-Controlled Oscillator)將輸入的時鐘倍頻,倍頻后即得到MCGOUTCLK[12]。(3)通過SIM模塊的SIM_CLKDIV1寄存器,將MCGOUTCLK時鐘分頻成不同的時鐘域,供內(nèi)核、系統(tǒng)、總線、FlexBux和Flash使用。

      圖3給出了一個PLL初始化FEI->FBE->PBE->PEE狀態(tài)切換的執(zhí)行實例。關(guān)于MCG模式狀態(tài)切換路徑的選擇是一個比較復(fù)雜的過程,對此研究將另文分析,在此不再贅述。

      圖3 PLL初始化執(zhí)行流程

      4 時鐘源性能分析

      4.1 時鐘源頻率測量方法

      外部參考時鐘可直接測量外部接入引腳XTAL和XTAL32;在K60芯片中PTA6可以配置為TRACE_CLKOUT功能用于輸出當前時鐘MCGOUTCLK和內(nèi)核時鐘Core/System CLK;FlexBus時鐘可通過將PTC3配置為FB_CLKOUT輸出;RTC實時時鐘RTCCLK可將PTE26配置為RTC_CLKOUT輸出。在Kinetis L系列MCU芯片中PTC3可配置為CLKOUT功能,用于輸出總線時鐘Bus Clock、LPO、內(nèi)部參考時鐘MCGIRCLK、外部參考時鐘OSCERCLK;RTC_CLKOUT輸出功能通過配置PTE0實現(xiàn)[13]。

      4.2 實驗數(shù)據(jù)分析

      實驗數(shù)據(jù)在蘇州大學(xué)飛思卡爾嵌入式中心SD-FSL-K60-C評估板上完成,利用TEK TDS2024B示波器測量。實驗中通道1(CH1)測量外部參考輸入ETAL,通道2利用SIM_SOPT2[TRACECLKSEL]將TRACE_CLKOUT分別配置成MCGOUTCLK和Core/System CLK,通道3測量系統(tǒng)FlexBus信號FB_CLK;圖4中外部參考時鐘50 MHz,MCGOUTCLK以PLL為時鐘源,配置為96 MHz,MCGOUTCLK∶Core/SystemCLK∶BusCLK∶FlexBus∶FlashBus=4∶2∶2∶2∶1;圖5中外部參考時鐘50MHz,MCGOUTCLK以PLL為時鐘源,配置為192.3MHz,MCGOUTCLK∶Core/SystemCLK∶BusCLK∶FlexBus∶FlashBus=4∶2∶2∶2∶1。

      圖4 時鐘源測試數(shù)據(jù)1

      圖5 時鐘源測試數(shù)據(jù)2

      5 系統(tǒng)功能模塊時鐘源選擇分析

      K60時鐘系統(tǒng)為系統(tǒng)功能模塊和外設(shè)模塊提供了10多個內(nèi)部時鐘源供各功能模塊使用,各時鐘源具體含義可參見表3。

      各模塊根據(jù)系統(tǒng)設(shè)計的要求可通過表4所示的配置寄存器設(shè)置各自的時鐘源。除了以上通用的時鐘源,為了滿足一些特殊模塊(Ethernet、USB、SDHC和I2S)的時鐘要求,還為其各自設(shè)置了一個獨立的時鐘源接口,可直接外接信號供相應(yīng)模塊使用,各時鐘源的配置方法詳見表3[10]。串行通信模塊UART0和UART1使用Core/system clock時鐘源,其他串口模塊使用Bus clock時鐘源[14]。

      表3 K60內(nèi)部時鐘源

      6 總結(jié)語

      Kinetis系列MCU的時鐘系統(tǒng)可以通過內(nèi)外參考時鐘將頻率信號源接入芯片,由多功能時鐘發(fā)生器MCG為各功能模塊提供多個時鐘源,利用門控模塊啟停系統(tǒng)功能模塊時鐘和時鐘分配機制為各功能模塊在滿足要求的前提下選擇較低的工作頻率,用以保證其能穩(wěn)定工作且功耗降低。關(guān)于MCG運行模式遷移選擇以及時鐘的有效性與電源模式(即低功耗模式)的關(guān)系等問題將在后繼的工作中進一步分析研究。

      [1]Freescale. K60 Sub-Family Reference Manual Rev.6,2011[EB/OL]. http://www.Freescale.com.

      [2]Freescale. K60 Sub-Family Data Sheet Rev.6,2011[EB/OL]. http://www.Freescale.com.

      [3]王宜懷,吳瑾,蔣銀珍. 嵌入式系統(tǒng)原理與實踐-ARM Cortex-M4 Kinetis微控制器[M]. 北京:電子工業(yè)出版社,2012:3.

      [4]Freescale. KL25 Sub-Family Reference Manual Rev.3,September 2012[EB/OL]. http://www.Freescale.com.

      [5]徐毅,陳書明. 一種低功耗的混合諧振時鐘分布機制[J]. 微電子學(xué)與計算機,2010,10:87-90,95.

      [6]張艷,韓雁,霍明旭,等. 基于EPA協(xié)議的精確時鐘同步方法[J]. 傳感技術(shù)學(xué)報,2009,22(7):978-982.

      [7]蔣善鋒,王麗芳,蔣澤軍. Windows時鐘機制的實時擴展研究[J]. 微電子學(xué)與計算機,2013(8):116-119,123.

      [8]許劍新,馮冬芹. 基于本地時鐘自校正的無線傳感器網(wǎng)絡(luò)同步方法[J]. 傳感技術(shù)學(xué)報,2008,21(8):1448-1452.

      [9]苗匯靜,孫桂華,王立新. 通用有源濾波器設(shè)計[J]. 電子器件,2012,25(5):549-553.

      [10]張海龍,馬鐵華,謝銳,等. 基于MCU和CPLD的微型動態(tài)應(yīng)力存儲測試系統(tǒng)[J]. 電子器件,2014,37(1):123-126.

      [11]陳大峰,白瑞林,鄒駿宇. 嵌入式設(shè)備的精確時鐘同步技術(shù)的研究與實現(xiàn)[J]. 計算機工程與應(yīng)用,2013(4):82-86.

      [12]朱小冬,王世明. 多時鐘域處理器構(gòu)架的性能和功耗分析[J]. 計算機工程,2005,31(24):75-77.

      [13]Freescale. KL25 Sub-Family Data Sheet Rev.3,September 2012[EB/OL]. http://www.Freescale.com.

      [14]楊劍新,胡向東,李媛. 一種分布控制雙時鐘FIFO的設(shè)計與實現(xiàn)[J]. 計算機工程與科學(xué),2013(5):1-8.

      蔣建武(1979-),男,高級工程師,蘇州大學(xué)在讀博士。主要研究方向為嵌入式系統(tǒng)、物聯(lián)網(wǎng)技術(shù),47955024@qq.com;

      王宜懷(1962-),男,博士、博導(dǎo),蘇州大學(xué)計算機科學(xué)與技術(shù)學(xué)院教授,蘇州大學(xué)嵌入式仿生智能研究所副所長,蘇州市政協(xié)委員,中國軟件行業(yè)協(xié)會嵌入式系統(tǒng)分會理事。主要研究方向為嵌入式系統(tǒng)、傳感網(wǎng)與智能控制技術(shù),Yihuaiw@suda.edu.cn。

      ResearchonClockSystemStructureandConfigurationofKinetisSeriesMCU*

      JIANGJianwu1,2,WANGYihuai1*

      (1.School of Computer Science and Technology,Soochow University,Suzhou Jiangsu 215006,China;2.Department of Electronic and Information Engineering,Taizhou Polytechnic College,Taizhou Jiangsu 225300,China)

      Kinetis series of MCUs embedded the core of ARM?CortexTM-M contains a complex clock system. At the time of each functional module in the clock system which includs multi-function clock generator,phase-locked loop,frequency-locked loopand crystal vibration system,coordinated work,the clock system can provide a stable clock source for the application system. Based on the analysis of the structure and configuration method of K60 clock system and the MCG operating mechanism,the testing method of clock source performance and the clock source selection method of each function modules are proposed. All of above provides references for Kinetis related chips clock system configuration in the process of application design as well as the clock source selection.

      MCU(Micro Control Unit);clock system;MCG(Multiple Clock Generator)

      項目來源:國家自然科學(xué)基金項目(61070169);泰州職業(yè)技術(shù)學(xué)院碩博基金項目(TZYBS-14-5)

      2014-08-27修改日期:2014-09-28

      TP368.1

      :A

      :1005-9490(2014)06-1172-05

      10.3969/j.issn.1005-9490.2014.06.033

      猜你喜歡
      蘇州大學(xué)功能模塊時鐘
      國家藝術(shù)基金“基礎(chǔ)美術(shù)教育百年文獻展”首站在蘇州大學(xué)開幕
      蘇州大學(xué)藏《吳中葉氏族譜》考述
      尋根(2022年2期)2022-04-17 11:01:38
      別樣的“時鐘”
      古代的時鐘
      Shifting of the Agent of Disciplinary Power in J. M.Coetzee’s Foe
      有趣的時鐘
      基于ASP.NET標準的采購管理系統(tǒng)研究
      時鐘會開“花”
      輸電線路附著物測算系統(tǒng)測算功能模塊的研究
      M市石油裝備公服平臺網(wǎng)站主要功能模塊設(shè)計與實現(xiàn)
      石油知識(2016年2期)2016-02-28 16:20:16
      吴江市| 陈巴尔虎旗| 连云港市| 汝州市| 额济纳旗| 广平县| 洮南市| 寻甸| 马关县| 宁明县| 新田县| 涿鹿县| 丹凤县| 微山县| 都兰县| 襄城县| 仙居县| 遂溪县| 鹰潭市| 舟曲县| 磐安县| 肇州县| 胶南市| 喀喇| 鄯善县| 迁西县| 米泉市| 桓仁| 长岭县| 东丰县| 洞口县| 西宁市| 上蔡县| 高要市| 南康市| 绩溪县| 广平县| 城口县| 庆阳市| 泰和县| 乌兰县|