日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 嵌入式系統(tǒng) >> ARM >> 正文

S3C2410中的脈寬調(diào)制定時器(PWM)

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2008/11/3

    S3C2410有5個16bit定時器。定時器0-3有脈寬調(diào)制功能(Pulse Width Modulation,PWM),定時器4是內(nèi)部定時器,沒有輸出引腳。定時器0有Dead-zone發(fā)生器,可以保證一對反向信號不會同時改變狀態(tài),常用于大電流設(shè)備中。
    定時器0-1共用一個8bit prescaler,定時器2-4共用另外一個。每個定時器有一個時鐘分頻器,可以選擇5種分頻方法。每個定時器從各自的時鐘分頻器獲取時鐘信號。prescaler是可編程的,并依據(jù)TCFG0-1寄存器數(shù)值對PCLK進(jìn)行分頻。
    當(dāng)定時器被使能之后,定時器計數(shù)緩沖寄存器(TCNTBn)中初始的數(shù)值就被加載到遞減計數(shù)器中。定時器比較緩沖寄存器(TCMPBn)中的初始數(shù)值被加載到比較寄存器中,以備與遞減計數(shù)器數(shù)值進(jìn)行比較。這種雙緩沖特點可以讓定時器在頻率和占空比變化時輸出的信號更加穩(wěn)定。
    每個定時器都有一個各自時鐘驅(qū)動的16bit遞減計數(shù)器,當(dāng)計數(shù)器數(shù)值為0時,產(chǎn)生一個定時中斷,同時TCNTBn中的數(shù)值被再次載入遞減計數(shù)器中再次開始計數(shù)。只有關(guān)閉定時器才不會重載。TCMPBn的數(shù)值用于PWM,當(dāng)遞減計數(shù)器的數(shù)值和比較寄存器數(shù)值一樣時,定時器改變輸出電平,因此,比較寄存器決定了PWM輸出的開啟和關(guān)閉。
    S3C2410的PWM定時器采用雙buffer機(jī)制,可以不停止當(dāng)前定時器的情況下設(shè)置下一輪定時操作。定時器值可以寫到TCNTBn,而當(dāng)前定時的計數(shù)值可以從TCNTOn獲得,即,從TCNTBn獲得的不是當(dāng)前數(shù)值而是下一次計數(shù)的初始值。
    自動加載功能被打開后,當(dāng)TCNTn數(shù)值遞減到0時,芯片自動將TCNTBn的數(shù)值拷貝到TCNTn,從而開始下一次循環(huán),若TCNTBn數(shù)值為0,則不會有遞減操作,定時器停止。
    第一次啟動定時器的過程如下:

  1. 初始化TCNTBn和TCMPBn的數(shù)值;
  2. 設(shè)置定時器的人工加載位,不管是否使用極性轉(zhuǎn)換功能,都將極性轉(zhuǎn)換位打開;
  3. 設(shè)置定時器的啟動位來啟動定時器,同時清除人工加載位。

       若定時器在計數(shù)過程中被停止,則TCNTn保持計數(shù)值,若需要設(shè)置新的數(shù)值需要人工加載。定時器的工作過程可以用下圖表示。
 

  1. 使能自動加載功能,設(shè)置TCNTBn=160,TCMPBn=110,設(shè)置人工加載位并配置極性轉(zhuǎn)換位,人工加載位將時TCNTBn、TCMPBn的數(shù)值加載到TCNTn、TCMPn。然后,設(shè)置TCNTBn、TCMPBn為80和40,作為下一次定時的參數(shù)。
  2. 設(shè)置啟動位,若人工加載位為0,極性轉(zhuǎn)換關(guān)閉,自動加載開啟,則定時器開始遞減計數(shù)(計數(shù)前有一個設(shè)定時間,可以理解為與setup time類似)。
  3. 當(dāng)TCNTn的數(shù)值和TCMPn一致時,TOUTn從低變?yōu)楦摺?
  4. 當(dāng)TCNTn計數(shù)至0,定時器產(chǎn)生中斷請求,同時TCNTBn、TCMPBn的數(shù)值被自動加載到TCNTn、TCMPn,前者為80,后者為40。
  5. 中斷服務(wù)向量(ISR)將TCNTBn、TCMPBn設(shè)置為80和60。
  6. 與3相似。
  7. 與4相似,TCNTn、TCMPn,前者為80,后者為60。
  8. ISR服務(wù)程序中,將自動加載和中斷請求關(guān)閉。
  9. 與6、3相似。
  10. TCNTn為0,TCNTn不會自動加載新的數(shù)值,定時器被關(guān)閉。
  11. 沒有新的中斷發(fā)生。

    同時,由上面的工作過程可以看出,通過ISR或別的方法寫入不同的TCMPBn的數(shù)值,就可以調(diào)節(jié)輸出信號的占空比,實現(xiàn)脈寬調(diào)制(PWM)。      
     Dead Zone主要用在控制外設(shè)的使能,其功能主要是在關(guān)閉一個設(shè)備和開啟另一個設(shè)備之間,插入一個時間間隙,以防止兩個設(shè)備同時改變狀態(tài)。(有利于減小系統(tǒng)干擾?)
    定時器可以通過TCFG1寄存器的DMA模式位配置為DMA請求源信號(nDMA_REQ)發(fā)生器,當(dāng)定時器被這樣配置后,它將nDMA_REQ信號一直置低,直到接收到ACK信號。當(dāng)定時器收到ACK信號,它將nDMA_REQ信號置高(無效)。當(dāng)定時器被設(shè)置為DMA請求模式時,不會產(chǎn)生中斷請求。只能有一個定時器被配置為DMA請求源。

Tags:arm,脈沖調(diào)制,定時器  
責(zé)任編輯:admin
相關(guān)文章列表
沒有相關(guān)文章
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 玛纳斯县| 本溪| 吕梁市| 札达县| 牡丹江市| 明星| 绥德县| 平塘县| 柳江县| 绥棱县| 裕民县| 惠东县| 南陵县| 隆子县| 招远市| 平谷区| 英德市| 西乌| 滨州市| 金沙县| 镇原县| 乌拉特后旗| 百色市| 奇台县| 辉南县| 江都市| 宁德市| 微山县| 马山县| 德化县| 荆州市| 韶山市| 瓦房店市| 库伦旗| 靖宇县| 那坡县| 文水县| 固始县| 盖州市| 新化县| 上虞市|