在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

  • <object id="1jp1h"></object>
    <address id="1jp1h"><nav id="1jp1h"></nav></address>
  • <label id="1jp1h"></label>
    
    

    <bdo id="1jp1h"></bdo>

    新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM9基礎(chǔ)教程lessen2—定時器

    ARM9基礎(chǔ)教程lessen2—定時器

    作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
    上篇I/O控制文章中,程序需要延時時,我們是利用循環(huán)語句來實現(xiàn)。這種方法的延時簡單,但不是很精確。當(dāng)需要精確延時時,就不能采用這種方法了。一般是利用定時器來實現(xiàn)。在這里,我們就介紹一下s3c2440定時器。

    ? S3C2440的時鐘源
    在講解之前,先介紹一下s3c2440時鐘系統(tǒng)。一般來說,MCU的主時鐘源主要是外部晶振或外部時鐘,而用的最多的是外部晶振。在正確情況下,系統(tǒng)內(nèi)所使用的時鐘都是外部時鐘源經(jīng)過一定的處理得到的。由于外部時鐘源的頻率一般不能滿足系統(tǒng)所需要的高頻條件,所以往往需要PLL(鎖相環(huán))進行倍頻處理。在s3c2440中,有2個不同的PLL,一個是MPLL,另一個是UPLL。
    UPLL是給USB提供48MHz。在這里,我們主要介紹MPLL。外部時鐘源經(jīng)過MPLL處理后能夠得到三個不同的系統(tǒng)時鐘:FCLK、HCLK和PCLK。
    ♥ FCLK是主頻時鐘,用于ARM920T內(nèi)核;
    ♥ HCLK用于AHB總線設(shè)備,如ARM920T,內(nèi)存控制,中斷控制,LCD控制,DMA以及USB主模塊;
    ♥ PCLK用于APB總線設(shè)備,如外圍設(shè)備的看門狗,IIS,I2C,PWM,MMC接口,ADC,UART,GPIO,RTC以及SPI。
    這三個系統(tǒng)時鐘(FCLK、HCLK和PCLK)是有一定的比例關(guān)系,這種關(guān)系是通過寄存器CLKDIVN中的HDIVN位和PDIVN位來控制的,因此我們只要知道了FCLK,再通過這兩位的控制,就能確定HCLK和PCLK。
    而FCLK是如何得到的呢?它是通過輸入時鐘(即外部時鐘源)的頻率,經(jīng)過一個計算公式(具體公式請查閱數(shù)據(jù)手冊)得到的,這個計算公式還需要三個參數(shù)(MDIV、PDIV、SDIV),而這三個參數(shù)是經(jīng)過寄存器MPLLCON配置得到的。
    最后,我們用最清晰的線路來繪制一下時鐘的產(chǎn)生過程:
    外部時鐘源→通過寄存器MPLLCON得到FCLK→再通過寄存器CLKDIVN得到HCLK和PCLK。
    這個配置過程在啟動文件中就已完成。例如,外部晶振為12MHz,進過MPLL倍頻以后得到400MHz的FCLK,而FCLK、HCLK、PCLK之間的比例關(guān)系為1:4:8,因此HCLK為100MHz,PCLK為50MHz。

    ? S3C2440的定時器特性
    S3C2440有5個16位的定時器,定時器0~3有脈寬調(diào)制功能(PWM)。定時器4沒有輸出引腳的內(nèi)部定時器。定時器0有一個用于大電流設(shè)備的死區(qū)生成器。S3C2440定時器0和1共享一個8位的預(yù)分頻器,定時器2、3、4共享另一個8位預(yù)分頻器。每個定時器有一個時鐘分頻器,其中以生成5種不同的分頻信號。
    每個定時器有一個自己的由定時器時鐘驅(qū)動16位遞減計數(shù)器,當(dāng)遞減計數(shù)器為零時,定時器中斷請求生成通知CPU定時器操作完成。
    S3C2440定時器特性如下:
    ◎ 5個16位定時器
    ◎ 兩個8位預(yù)分頻器和2個4位分頻器
    ◎ 輸出波形的可編程任務(wù)控制
    ◎ 自動重載模式或單脈沖模式
    ◎ 死區(qū)生成器

    ? S3C2440的定時器寄存器
    S3C2440定時器:
    ● 定時器配置寄存器(TCFGn);
    ● 定時器控制寄存器(TCON);
    ● 定時器n計數(shù)緩存寄存器(TCNTBn),定時器n比較緩存寄存器(TCMPBn);
    ● 定時器計數(shù)觀察計數(shù)器。
    定時器寄存器具體說明請查閱S3C2440芯片手冊。

    ♥ 定時器配置寄存器(TCFGn)
    定時器配置寄存器用于配置兩個8位預(yù)分頻器值,該寄存器復(fù)位值為0,定時器輸出時鐘頻率計算如下:
    定時器輸出時鐘頻率 = PCLK / (預(yù)分頻器值+1) / 分頻值

    ● TCFG0配置寄存器:[0-7]配置定時器0,1的預(yù)分頻值;[8-15]配置定時器2,3,4的預(yù)分頻值。
    ● TCFG1配置寄存器:[0-3]配置定時器0分頻值;[4-7]配置定時器1分頻值;[8-11]配置定時器2分頻值;[12-15]配置定時器3分頻值;[16-149]配置定時器4分頻值;

    ♥定時器控制寄存器(TCON)
    TCON寄存器用于控制定時器0~4,寄存器復(fù)位值為0。

    本文引用地址:http://www.biyoush.com/article/201611/321047.htm
    TCON寄存器描述
    0~3控制定時器0:使能[0]、手動更新[1]、匹配輸出[2]、自動重載[3]
    4死區(qū)使能
    8~11控制定時器1:使能[8]、手動更新[9]、匹配輸出[10]、自動重載[11]
    12~15控制定時器2:使能[12]、手動更新[13]、匹配輸出[14]、自動重載[15]
    1516~19控制定時器3:使能[16]、手動更新[17]、匹配輸出[18]、自動重載19]
    20~22控制定時器4:使能[20]、手動更新[21]、自動重載[23]



    ♥ 定時器n計數(shù)緩存寄存器(TCNTBn),定時器n比較緩存寄存器(TCMPBn)
    定時器計數(shù)與比較緩存寄存器用于緩存用戶所給的定時值,當(dāng)配置TCON寄存器定時器n使能“手動更新”時,該值將在下一個定時啟動時裝載到TCMPn與TCNTn中,重新進行定時。例如,定時器0內(nèi)部結(jié)構(gòu)如圖所示:

    TCMP0與TCNT0不能直接對其操作。

    上一頁 1 2 下一頁

    關(guān)鍵詞: ARM9基礎(chǔ)教程l定時

    評論


    技術(shù)專區(qū)

    關(guān)閉