91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

介紹arm9時鐘與定時器

GReq_mcu168 ? 2018-02-07 08:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言
這篇主要介紹arm9時鐘定時器方面,根據s3c2440手冊第七章的內容來看,涉及到不少的知識點,power管理、時鐘、usb時鐘、camera等,接下來只介紹時鐘方面,其余部分以后再說

簡介
系統時鐘是整個電路的心臟,了解系統時鐘結構對于后面學習定時器,UART等使用具有非常重要的作用,總體來說,與s3c2440處理器有關的時鐘主要有4種: FIN, FCLK, HCLK和PCLK 1.FIN:外部輸入晶振頻率 2.FCLK: 主要用于CPU核 3.HCLK:主要用于與AHB總線互連的設備(如存儲控制器, LCD控制器, 中斷控制器及DMA等)上 4.PCLK:主要用于與APB總線互連的低速設備(如定時器, UART, ADB等)上

圖解時鐘
s3c2440處理器系統時鐘分為兩個部分, 外部有時鐘輸入引腳,內部用2個鎖相環將外部輸入時鐘倍頻到處理器工作說需要的時鐘, 外部時鐘頻率太高容易受到外部的干擾,因此一般外部時鐘頻率比較低, 如下圖:

介紹arm9時鐘與定時器

介紹arm9時鐘與定時器

介紹arm9時鐘與定時器

■CLKDIVN:用于控制FCLK, HCLK和PCLK之間的比例關系

介紹arm9時鐘與定時器

介紹arm9時鐘與定時器

// LOCKTIME = 0x00ffffff; // 使用默認值即可,在下面會討論CLKDIVN = 0x03; // FCLK:HCLK:PCLK=1:2:4, HDIVN=1,PDIVN=1/* 如果HDIVN非0,CPU的總線模式應該從“fast bus mode”變為“asynchronous bus mode” */__asm__("mrc p15, 0, r1, c1, c0, 0\n" /* 讀出控制寄存器 */ "orr r1, r1, #0xc0000000\n" /* 設置為“asynchronous bus mode” */"mcr p15, 0, r1, c1, c0, 0\n" /* 寫入控制寄存器 */); MPLLCON = ((0x5c<<12)|(0x04<<4)|(0x01))

上面代碼注釋中,關于LOCKTIME的賦值,這個又是怎么回事兒呢,還是根據手冊

介紹arm9時鐘與定時器

1

2

3

4

5

6

7

8

9

10

定時器 由上面可知,定時器是ABP總線設備,在PCLK的時鐘頻率下工作,s3c2440有5個16位定時器,定時器0,1,2,3有脈沖調制(PWM)功能, 因此這4個定時器也被稱為PWM定時器,定時器4是一個內部定時器,無外部輸出引腳,定時器的時鐘源雖然是PCLK,但是還得通過內部的兩個分頻器分頻后, 才能得到想要的工作頻率,然后輸出作為定時器的工作的時鐘,定時器0,1公用一個分頻器,其他3個定時器公用另一個分頻器,如下圖

介紹arm9時鐘與定時器

定時器的工作原理描述,以定時器0為例: 1.首先,將TCMPB0,TCNTB0附初值 2.然后,設置定時控制器TCON,將TCON的第1位置1(手動更新位), 這樣TCMPB0,TCNTB0賦值給TCMPB0,TCNTB0 3.啟動定時器–>設置TCON第3位為1(當TCNT0的值減到0時,TCMPB0的值會自動加載到寄存器TCMP0和TCNT0中), 第0位為1(開啟定時器) 4.此時,定時器會減1計數, 即TCNT0進行減1計數, 當TCMP0與TCNT0相等時, TOUT0翻轉 之后介紹一下相關的寄存器在手冊中的定義: ■TCON:對于定時器0來講:

介紹arm9時鐘與定時器

定時器的分頻 前面提到了定時器0的使用方法,但是沒有提到其最終的工作所需要頻率(1s中能記多少個數)

介紹arm9時鐘與定時器

介紹arm9時鐘與定時器

介紹arm9時鐘與定時器

void timer0_init(void) { TCFG0 = 99; // 預分頻器0 = 99 TCFG1 = 0x02; // 選擇8分頻 TCNTB0 = 62500; // 1秒鐘觸發一次中斷 TCMPB0 = 0; TCON |= (1<<1); ? // 手動更新(將TCNTB0,TCMPB0更新入TCNT0, TCMP0) ? ?TCON ? = 0x09; ? ? ?// 自動加載,清“手動更新”位,啟動定時器0 ?}

PWM功能 對于定時器0來講,上面的例子中TCNT0 1s內減到0,則TOUT0反轉(電平變化), 但是定時器0還有個特性,就是如果TCNT0減到與比較值TCMP0相等,則TOUT0也發生反轉,也就是說上面的例子將 TCMPB0 改成31250后,則TCNT0從62500減到31250(與TCMP0相等)TOUT0發生一次反轉(用時0.5s),TCNT0減到0又發生反轉(用時0.5s),這樣,1s內發生兩次反轉,如此循環,輸出引腳0.5s反轉一次,即占空比50%(波形0.5秒為高電平,0.5秒為低電平這樣循環的波形)

void timer0_init(void) { TCFG0 = 99; // 預分頻器0 = 99 TCFG1 = 0x02; // 選擇8分頻 TCNTB0 = 62500; // 1秒鐘觸發一次中斷 TCMPB0 = 31250; TCON |= (1<<1); ? // 手動更新(將TCNTB0,TCMPB0更新入TCNT0, TCMP0) ? ?TCON ? = 0x09; ? ? ?// 自動加載,清“手動更新”位,啟動定時器0 ?}

注意,如果將上面代碼TCMPB0=31250,改為別的值,比如TCNTB0 /4,則輸出的波形一定發生變化(比如0.25秒為高電平,0.75s為低電平這樣循環的波形),即占空比也發生變化,這就是所謂的PWM功能

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

    關注

    2

    文章

    290

    瀏覽量

    55651
  • 時鐘
    +關注

    關注

    11

    文章

    1901

    瀏覽量

    133231
  • 定時器
    +關注

    關注

    23

    文章

    3298

    瀏覽量

    118932

原文標題:深入時鐘與定時器

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    stm32基本定時器介紹

    信號。基本定時器框圖如下:二、時基單元介紹STM32的所有定時器都具備時基單元,時基單元的功能就是簡單的計數,即計數時鐘源TMxCLK的脈沖個數,這個
    發表于 08-18 06:15

    ARM9體系結構的相關資料分享

    7.Thumb指令集概況8.ARM指令集與Thumb指令集比較ARM9體系結構1.ARM命名ARM系列微處理擴展命名符號的含義2.
    發表于 12-20 07:47

    uc/OS-Ⅱ在ARM9上的移植介紹

    uc/OS-Ⅱ在ARM9上的移植介紹
    發表于 03-28 09:51 ?30次下載

    構造廉價的Arm9 開發平臺

    構造廉價的Arm9 開發平臺 基于Arm9內核的單片機,由于其低廉的價格與優越的性能,已經被廣泛的應用于各種消費類電子產品中。掌握Arm9單片機的開發技能已經
    發表于 02-10 11:20 ?72次下載

    時鐘555定時器電路

    時鐘555定時器電路
    發表于 01-17 14:08 ?2745次閱讀
    <b class='flag-5'>時鐘</b>555<b class='flag-5'>定時器</b>電路

    ARM9ARM7的比較及優化

    理解ARM9ARM7 的差別,以及如何針對ARM9 進行系統優化,成為了一個令人關注的話題。本文通過對ARM9 處理的特點
    發表于 04-13 14:58 ?55次下載
    <b class='flag-5'>ARM9</b>與<b class='flag-5'>ARM</b>7的比較及優化

    ARM9ARM7的比較及優化

    ARM9ARM7的比較及優化
    發表于 10-31 09:46 ?4次下載
    <b class='flag-5'>ARM9</b>和<b class='flag-5'>ARM</b>7的比較及優化

    arm9arm11有何區別?

    主要介紹arm9arm11是什么,有什么優勢和特點。來了解一下arm9arm11有何區別?
    發表于 11-10 16:44 ?4054次閱讀

    ARM9入門需要多久_學ARM9要看的書籍

    學習開發板關鍵是有一定基礎,視頻教程也是針對這樣的人,初學者要是沒有人指導,只看視頻教程就會,很難的。本文首先介紹學習arm9需要掌握的知識,其次闡述了學ARM9要看的書籍,最后解答了學ARM
    的頭像 發表于 05-16 15:10 ?1w次閱讀

    ARM9入門學習心得分享

    本文首先介紹ARM9的優勢及特點,其次闡述了ARM9要學的內容匯總以及書籍推薦,最后介紹ARM9入門學習心得。
    的頭像 發表于 05-18 17:15 ?7725次閱讀

    初學者是選ARM7還是ARM9?uCOS還是Linux?

    本文首先介紹ARM7、ARM9和uCOS及Linux這四者的概念,其次闡述了ARM7與ARM9的區別,最后
    發表于 05-25 11:16 ?7898次閱讀

    Atmel最新的基于ARM9架構的微處理介紹

    在2011 ARM Techcon上,Atmel的應用經理介紹其最新的基于ARM9架構的微處理
    的頭像 發表于 06-26 11:30 ?6201次閱讀

    STM32定時器-基本定時器

    目錄定時器分類基本定時器功能框圖講解基本定時器功能時鐘源計數時鐘計數
    發表于 11-23 18:21 ?32次下載
    STM32<b class='flag-5'>定時器</b>-基本<b class='flag-5'>定時器</b>

    五、【中級篇】時鐘樹、定時器、中斷

    RTC 24bit down count在ARM-CORTEX-M3核心中提供了定時器的資源:系統定時器(system timer | systick)無論是STM32提供的定時器
    發表于 01-14 15:44 ?6次下載
    五、【中級篇】<b class='flag-5'>時鐘</b>樹、<b class='flag-5'>定時器</b>、中斷

    ARM9處理從哪些方面保證了FIQ異常響應的快速性?

    如何保證FIQ異常響應的快速性:管道設計、分支預測、寄存窗口、Cache設計、定時器設計等。 一、管道設計 ARM9處理采用6級流水線設計,每個階段都能夠并行處理多個指令。這樣就在
    的頭像 發表于 10-19 16:36 ?1276次閱讀
    主站蜘蛛池模板: videsgratis欧美另类 | 韩国男女无遮挡高清性视频 | 男女吃奶一进一出动态图 | 成年人视频黄色 | 午夜影院在线观看 | 国产乱淫a∨片免费视频 | 日韩综合色 | 五月婷婷在线免费观看 | 成人免费视频一区二区三区 | 二十年等一人小说在线观看 | 亚洲一区二区三区精品视频 | 最好看的2019中文字幕1 | 美女视频黄的免费视频网页 | 天天操天天干天天舔 | 日本xxxxxxx69xx| yiren22亚洲综合高清一区 | 亚洲电影一区二区三区 | 日本不卡一区 | 久久波多野结衣 | 亚洲综合色婷婷久久 | 久久久久久国产精品免费 | 国产做a爰片久久毛片 | 一级不卡毛片免费 | 伊人色婷婷综在合线亚洲 | 天天摸天天做天天爽水多 | 色网站在线视频 | 1024国产看片在线观看 | 性生活一区| 香蕉视频国产在线观看 | 性欧美一级| 午夜欧美福利视频 | 日韩一级片在线免费观看 | 日本口工全彩无遮拦漫画大 | 欧美最猛黑人xxxx黑人猛交69 | 天天操夜夜添 | 成人在线一区二区三区 | 一级一级特黄女人精品毛片 | 国产精品伦子一区二区三区 | 中国成人在线视频 | 嘿嘿午夜 | 四虎国产精品永久在线网址 |