本實用新型專利技術涉及并公開了一種采用DMA技術的PWM控制器,包括順序電連接的模/數轉換器ADC(16)、PWM比較數據寄存器(14)和帶PWM頻率寄存器(13)的PWM波形生成單元(15),其特征在于,還包括內置DMA接口單元(104)的DMA控制器(10),所述PWM比較數據寄存器(14)與所述DMA接口單元(104)DMA接口對應的另一端連接。這種PWM控制器可自動從外接存儲器中取出比較數據,最大限度的減少了CPU的干預,減少了CPU的時間資源消耗,提高了PWM控制器可處理的PWM脈沖波頻率。(*該技術在2014年保護過期,可自由使用*)
【技術實現步驟摘要】
本技術涉及脈沖寬度調制PWM及其應用,具體涉及使用直接存儲器訪問DMA技術的脈沖寬度調制控制器及其應用系統。
技術介紹
脈沖寬度調制PWM是一種根據信號波幅度改變脈沖寬度的方法,它被廣泛地應用于電機控制、音頻功率放大、波形生成等場合。PWM原理是利用三角波對信號波進行調制利用一個計數器進行周期性循環計數,將信號波幅度采樣值,簡稱比較數據,和表示三角波幅度的計數器值進行比較,當計數器值大于比較數據時,產生一個高電平或一個低電平輸出,當計數器值小于等于比較數據時,產生一個對應的低電平或高電平輸出,從而產生一定占空比的脈沖輸出;隨著比較數據的變化,PWM輸出的脈沖占空比也將隨之變化。這里的信號波可以是正弦波,也可以是如語音信號等任意波形。目前,PWM信號波幅度采樣值的獲取有兩種方式(一)在一些比較簡單的應用場合,PWM控制器的信號波幅度采樣值是通過某一功能部件自動提供的,不需要中央處理器CPU的干預,例如是將通過模/數轉換器ADC直接轉換的數據,或者是將經模/數轉換器ADC轉換、再經其它功能部件處理的數據在線提供給PWM控制器。雖然目前的PWM可以集成ADC,實現ADC采集數據直接輸出PWM波形的功能,但卻不能實現數據采集保存功能。而在許多應用場合,比如語音錄入場合,需要將ADC采集到的數據(經過某種轉換后)存入存儲器中;要實現這種數據采集功能,往往需要CPU的介入,借助CPU將采集數據保存到存儲器中。因為數據采集并不是PWM控制器要專注實現的功能,目前的PWM控制器即使集成了ADC控制器,也不向CPU提供數據采集接口,因此CPU需要額外的資源實現數據采集(二)在通常的應用中,PWM控制器的信號波幅度采樣值由CPU提供。在這樣的模式下,PWM控制器的工作流程是當PWM控制器需要比較數據時,向CPU提出中斷請求,CPU響應中斷請求,給PWM控制器送比較數據,PWM控制器根據CPU送入的數據,產生一定占空比的脈沖波形輸出。CPU向PWM控制器提供比較數據一般要經過幾個操作①響應中斷,轉到中斷服務程序;②譯碼中斷程序指令;③從存儲器中取數;④把數寫入PWM控制器。通過上述轉換過程,將消耗大量的CPU時間資源,特別是在中斷請求比較頻繁的情況下更是如此。如果PWM輸出數據的速率很快時,CPU可能無法及時響應PWM控制器的中斷請求,導致PWM控制器不能及時得到數據,使得PWM輸出異常。在以上兩種情況,傳統的PWM控制器都不能直接實現數據采集或數據采集保存功能,要實現語音錄入等數據采集保存功能,CPU需要額外的硬件資源,而且在數據采集保存工作中,將占用CPU大量時間開銷;當PWM控制器的比較數據由CPU提供時,如果PWM輸出速率很快,也將占用CPU大量時間開銷;如果數據采集速率或PWM輸出速率太快,容易因為CPU來不及響應中斷導致PWM控制器工作異常。
技術實現思路
本技術要解決的技術問題是,如何利用DMA技術,提供一種能夠直接實現數據采集和數據采集保存的PWM控制器,其在數據采集過程中能夠直接將采集數據保存到存儲器中,或在PWM輸出過程中,可以直接從存儲器中取出比較數據,以減少CPU中轉PWM數據需要的時間開銷,提高PWM控制器采集數據和PWM輸出的速率,并實現數據采集保存。本技術上述技術問題這樣解決,構造一種采用DMA技術的PWM控制器,包括順序電連接的模/數轉換器ADC、PWM比較數據寄存器和帶PWM頻率寄存器的PWM波形生成單元,其特征在于,還包括內置DMA接口單元的DMA控制器,所述PWM比較數據寄存器與所述DMA接口單元DMA接口對應的另一端連接。本技術采用直接存儲器訪問DMA技術,即在PWM控制器中內置一個DMA控制器,在數據采樣保存時,DMA控制器周期性的申請-獲得總線,將采用數據保存到存儲器中;在PWM輸出時,DMA控制器周期性的申請-獲得總線,將比較數據從存儲器中讀入PWM控制器,PWM控制器根據讀入的比較數據產生PWM輸出。按照本技術提供的PWM控制器,其特征在于,還包括與所述PWM頻率寄存器、PWM比較數據寄存器和DMA控制器連接的CPU接口,所述DMA控制器還包括鏈表地址寄存器、數據地址寄存器和數據長度寄存器。該CPU接口單元提供了CPU訪問本PWM控制器內部寄存器的接口。CPU通過CPU接口單元能讀寫PWM頻率寄存器、PWM比較數據寄存器、數據長度寄存器、鏈表地址寄存器、數據地址寄存器,其中PWM頻率寄存器提供PWM波形生成單元中的計數器計數間隔時間,決定PWM輸出或數據采樣的速率。當PWM控制器工作在DMA模式下,PWM頻率寄存器也決定了DMA控制器申請-獲取總線的頻度。PWM比較數據寄存器緩存信號波幅度采樣值,簡稱比較數據。信號波幅度采樣值可能是ADC采樣數據經采樣數據處理單元處理后的數據,也可能是CPU經CPU接口單元寫入的數據,還可能是DMA控制器從存儲器讀入的比較數據;PWM比較數據寄存器數據來源由PWM控制寄存器相關位決定。按照本技術提供的PWM控制器,其特征在于,還包括與所述CPU接口連接的PWM控制狀態寄存器。該PWM控制狀態寄存器控制PWM控制器的中斷使能、采樣數據處理格式、DMA控制器使能等PWM控制器的工作模式,并提供PWM控制器的工作狀態。按照本技術提供的PWM控制器,其特征在于,所述模/數轉換器ADC和PWM比較數據寄存器之間還包括串接的采樣數據處理單元。按照本技術提供的PWM控制器,其特征在于,還包括位于所述PWM比較數據寄存器輸出端上的數/摸轉換器DAC。按照本技術提供的PWM控制器,其特征在于,所述PWM比較數據寄存器還包括數字輸入端。本技術的PWM波形生成單元有一個計數器在固定范圍內周期性地循環計數。計數器的計數間隔時間由PWM頻率寄存器決定。計數器值類似三角波量化采樣值,計數器值和比較數據進行大小比較,決定PWM輸出電平;因計數器值在固定范圍內周期性地循環計數,故PWM輸出高脈沖的時間由比較數據的大小決定,即PWM輸出占空比隨比較數據變化而變化。本技術的ADC將模擬信號波采樣轉換成數字信號波。ADC的采樣頻率由PWM頻率寄存器決定。本技術的采樣數據處理單元對ADC轉換后的數據按照規定的格式進行處理,提供處理后的采樣值。采樣數據處理單元處理格式可由PWM控制狀態寄存器設置。常見的格式處理包括截位、壓縮、編碼等。本技術的DAC可以將信號波采樣值,即比較數據,轉換成模擬量輸出。此時PWM控制器完成的功能類似將信號波還原成模擬輸出;由于DMA控制器可以很快地提供比較數據,DAC可以還原的信號波頻率比不帶DMA控制器可處理信號波頻率要高得多。本技術的DMA控制器能自動申請-獲取總線,訪問存儲器,向存儲器寫入經數據處理單元處理后的采樣數據,或從存儲器讀出采樣數據。DMA控制器通過DMA接口單元-申請-獲取總線,實現存儲器訪問。DMA控制器申請-獲取總線的時間間隔主要由PWM頻率寄存器,因在DMA模式下,每采樣一個數據或每完成一次PWM輸出,都需要訪問存儲器。本技術支持下面四種工作模式模式1DMA的鏈表工作模式。在該模式下,通過讀取鏈表存儲器的內容來控制讀取數據存儲器中數據塊的內容。鏈表單元包含有本文檔來自技高網...
【技術保護點】
一種采用DMA技術的PWM控制器,包括順序電連接的模/數轉換器ADC(16)、PWM比較數據寄存器(14)和帶PWM頻率寄存器(13)的PWM波形生成單元(15),其特征在于,還包括內置DMA接口單元(104)的DMA控制器(10),所述PWM比較數據寄存器(14)與所述DMA接口單元(104)DMA接口對應的另一端連接。
【技術特征摘要】
【專利技術屬性】
技術研發人員:王良清,羅勇,李勇,
申請(專利權)人:李劍,
類型:實用新型
國別省市:51[中國|四川]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。