學(xué)嵌入式學(xué)一個(gè)理念,徹底搞懂單片機(jī)時(shí)鐘架構(gòu)
學(xué)嵌入式學(xué)一個(gè)理念,徹底搞懂單片機(jī)時(shí)鐘架構(gòu)
\\\插播一條:我自己在今年年初錄制了一套還比較系統(tǒng)的入門單片機(jī)教程,想要的同學(xué)找我(禾厶-亻言-手戈)免費(fèi)的。最近比較閑,帶做畢設(shè),帶學(xué)生參加省級(jí)以上比賽///
大家是不是常常會(huì)遇到這種情況:
·咦,這個(gè)外設(shè)的輸出頻率是多少呢?
·這個(gè)IIC通信的通信頻率,我怎么選擇呢?
·系統(tǒng)時(shí)鐘是多少呢?
·我怎么才能精確延時(shí)1ms呢?
如果這些問(wèn)題時(shí)不時(shí)的困擾你,那么推薦看看這篇文章,有助于理解系統(tǒng)時(shí)鐘架構(gòu)!
注:這篇文章,基于DSP的TMS320F28377D單片機(jī),但是,其相關(guān)原理,具有通用性。可以說(shuō),搞明白學(xué)習(xí)方法,不同的單片機(jī)只是平臺(tái)不同而已!授人以魚(yú)不如授人以漁!
1.時(shí)鐘的基本概念
什么是時(shí)鐘?
時(shí)鐘就是單片機(jī)的心臟。每跳動(dòng)一下。整個(gè)單片機(jī)的各個(gè)電路就同步的動(dòng)作一下。
時(shí)鐘分為內(nèi)部時(shí)鐘和外部時(shí)鐘!
什么是時(shí)鐘周期?
時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘脈沖的倒數(shù)。
時(shí)鐘周期就是單片機(jī)外接晶振的倒數(shù),例如12M的晶振,它的時(shí)鐘周期就是1/12us.
相關(guān)的還有:機(jī)器周期,指令周期等,注意要查漏補(bǔ)缺!
2.如何學(xué)習(xí)系統(tǒng)時(shí)鐘
第一步:打開(kāi)芯片的數(shù)據(jù)手冊(cè),查看基本的信息。
例如:(基于TMS320F28377D)
我們可以看到這些信息:
·芯片所提供的時(shí)鐘頻率
·內(nèi)存大小
·系統(tǒng)外設(shè)等等
黃色標(biāo)記的是芯片直接提供的時(shí)鐘頻率,其他圈出來(lái)的是外設(shè)的一些信息,
數(shù)據(jù)手冊(cè)可以提供給大家一些所想要知道的信息,希望能仔細(xì)閱讀此部分,留有印象即可,以后遇到詳細(xì)的知識(shí)點(diǎn)可回頭翻閱!
第二步:對(duì)時(shí)鐘架構(gòu)圖作詳細(xì)了解
除了數(shù)據(jù)手冊(cè),當(dāng)然還有用戶指南!
在用戶指南中,找到時(shí)鐘架構(gòu)圖,例如:
時(shí)鐘架構(gòu)圖,可以明確的表示一些外設(shè)、內(nèi)存等所提供的時(shí)鐘信息,相關(guān)寄存器信息等等。然后配置相關(guān)的寄存器,即可進(jìn)行倍頻,分頻操作!
以TMS320F28337D為例,作以下分析:
·分析時(shí)鐘源(時(shí)鐘圖最左側(cè)部分)
·INTOSC1:備用內(nèi)部振蕩器,內(nèi)部有看門口定時(shí)器和丟失時(shí)鐘檢測(cè)電路,用于檢測(cè)時(shí)鐘丟失后,第一時(shí)間切換至該時(shí)鐘源
·INTOSC2:初級(jí)內(nèi)部振蕩器,上電后,該振蕩器提供10MHz的頻率,主要用于Boot ROM和系統(tǒng)時(shí)鐘。
·X1(XTAL):X1,X2可以外接外部時(shí)鐘,能夠用于主時(shí)鐘和輔助時(shí)鐘源
·AUXCLKIN:一個(gè)額外的時(shí)鐘源,主要用于CAN,USB等通信,通過(guò)數(shù)據(jù)手冊(cè),可以查到相關(guān)信息。
·系統(tǒng)時(shí)鐘分析
如上面,所描述的,振蕩器為10MHz,CPU怎么提供200MHz的主頻呢?
當(dāng)然是經(jīng)過(guò)倍頻,分頻啦!
·CLKSRCCTL用來(lái)選擇使用哪一個(gè)時(shí)鐘源作為OSCCLK(主參考時(shí)鐘)的時(shí)鐘信號(hào)
·生成的時(shí)鐘信號(hào),一路通過(guò)PLL鎖相環(huán),生成PLLRAWCLK(系統(tǒng)PLL輸出時(shí)鐘)
·經(jīng)過(guò)SYSPLLCTL,選擇哪一個(gè)作為后續(xù)的時(shí)鐘輸出
·在經(jīng)過(guò)SYSCLK Dvider進(jìn)行分頻,得到提供給CPU的時(shí)鐘主頻。
·外設(shè)時(shí)鐘分析
·藍(lán)色圈出來(lái)的,是相關(guān)的寄存器,用來(lái)配置時(shí)鐘的分頻
·紅色圈出來(lái)的,是該頻率配置后,用于哪些外設(shè)。
·額外時(shí)鐘源分析
·AUXCLKIN:一個(gè)額外的時(shí)鐘源,主要用于CAN,USB等通信,通過(guò)數(shù)據(jù)手冊(cè),可以查到相關(guān)信息。
·CLKSRCCTL2:對(duì)輸入的時(shí)鐘源(AUXCLKIN、INTOSC2、XTAL)作出選擇,得到AUXOSCCLK時(shí)鐘(輔助參考時(shí)鐘)
·通過(guò)Auxiliary PLL輔助鎖相環(huán),得到輸出的時(shí)鐘信號(hào)AUXPLLRAWCLK,再而進(jìn)行分頻,用于其他外設(shè)時(shí)鐘
劃重點(diǎn)!劃重點(diǎn)!劃重點(diǎn)!
學(xué)習(xí)單片機(jī),必不可缺的就是數(shù)據(jù)手冊(cè)和用戶指南。
數(shù)據(jù)手冊(cè),可以快速提供單片機(jī)所支持的外設(shè),內(nèi)存的數(shù)據(jù)信息,方便我們快速查閱
用戶手冊(cè),對(duì)數(shù)據(jù)手冊(cè)進(jìn)行詳細(xì)的解釋,哪一部分如何使用,對(duì)原理進(jìn)行詳細(xì)解釋!
學(xué)習(xí)系統(tǒng)時(shí)鐘
.先去數(shù)據(jù)手冊(cè),確定單片機(jī)所支持的系統(tǒng)時(shí)鐘頻率
.再到用戶手冊(cè),尋找該單片機(jī)的時(shí)鐘架構(gòu)圖
.對(duì)架構(gòu)圖的時(shí)鐘源作詳細(xì)分析
.對(duì)架構(gòu)圖的時(shí)鐘輸出作詳細(xì)分析
.對(duì)應(yīng)不同的外設(shè),對(duì)不同的寄存器進(jìn)行相關(guān)配置即可!
好啦,以上就是我的進(jìn)修該局部的方法
假如你還是對(duì)時(shí)鐘有所困惑,評(píng)論區(qū)里我們能夠詳細(xì)探討呦!
感覺(jué)寫的不錯(cuò),別忘記?點(diǎn)贊+喜愛(ài)?呦!
文章同步更新于公從號(hào)?移步IT之巔
公從號(hào)主要用來(lái)分享一些新資源、總結(jié)一些新知識(shí)
快去
綠色圖標(biāo)【?で】liutianwang123