国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種采用dma技術(shù)的pwm控制器的制作方法

      文檔序號(hào):7507425閱讀:589來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):一種采用dma技術(shù)的pwm控制器的制作方法
      技術(shù)領(lǐng)域
      本實(shí)用新型涉及脈沖寬度調(diào)制PWM及其應(yīng)用,具體涉及使用直接存儲(chǔ)器訪(fǎng)問(wèn)DMA技術(shù)的脈沖寬度調(diào)制控制器及其應(yīng)用系統(tǒng)。
      背景技術(shù)
      脈沖寬度調(diào)制PWM是一種根據(jù)信號(hào)波幅度改變脈沖寬度的方法,它被廣泛地應(yīng)用于電機(jī)控制、音頻功率放大、波形生成等場(chǎng)合。PWM原理是利用三角波對(duì)信號(hào)波進(jìn)行調(diào)制利用一個(gè)計(jì)數(shù)器進(jìn)行周期性循環(huán)計(jì)數(shù),將信號(hào)波幅度采樣值,簡(jiǎn)稱(chēng)比較數(shù)據(jù),和表示三角波幅度的計(jì)數(shù)器值進(jìn)行比較,當(dāng)計(jì)數(shù)器值大于比較數(shù)據(jù)時(shí),產(chǎn)生一個(gè)高電平或一個(gè)低電平輸出,當(dāng)計(jì)數(shù)器值小于等于比較數(shù)據(jù)時(shí),產(chǎn)生一個(gè)對(duì)應(yīng)的低電平或高電平輸出,從而產(chǎn)生一定占空比的脈沖輸出;隨著比較數(shù)據(jù)的變化,PWM輸出的脈沖占空比也將隨之變化。這里的信號(hào)波可以是正弦波,也可以是如語(yǔ)音信號(hào)等任意波形。
      目前,PWM信號(hào)波幅度采樣值的獲取有兩種方式(一)在一些比較簡(jiǎn)單的應(yīng)用場(chǎng)合,PWM控制器的信號(hào)波幅度采樣值是通過(guò)某一功能部件自動(dòng)提供的,不需要中央處理器CPU的干預(yù),例如是將通過(guò)模/數(shù)轉(zhuǎn)換器ADC直接轉(zhuǎn)換的數(shù)據(jù),或者是將經(jīng)模/數(shù)轉(zhuǎn)換器ADC轉(zhuǎn)換、再經(jīng)其它功能部件處理的數(shù)據(jù)在線(xiàn)提供給PWM控制器。雖然目前的PWM可以集成ADC,實(shí)現(xiàn)ADC采集數(shù)據(jù)直接輸出PWM波形的功能,但卻不能實(shí)現(xiàn)數(shù)據(jù)采集保存功能。而在許多應(yīng)用場(chǎng)合,比如語(yǔ)音錄入場(chǎng)合,需要將ADC采集到的數(shù)據(jù)(經(jīng)過(guò)某種轉(zhuǎn)換后)存入存儲(chǔ)器中;要實(shí)現(xiàn)這種數(shù)據(jù)采集功能,往往需要CPU的介入,借助CPU將采集數(shù)據(jù)保存到存儲(chǔ)器中。因?yàn)閿?shù)據(jù)采集并不是PWM控制器要專(zhuān)注實(shí)現(xiàn)的功能,目前的PWM控制器即使集成了ADC控制器,也不向CPU提供數(shù)據(jù)采集接口,因此CPU需要額外的資源實(shí)現(xiàn)數(shù)據(jù)采集(二)在通常的應(yīng)用中,PWM控制器的信號(hào)波幅度采樣值由CPU提供。在這樣的模式下,PWM控制器的工作流程是當(dāng)PWM控制器需要比較數(shù)據(jù)時(shí),向CPU提出中斷請(qǐng)求,CPU響應(yīng)中斷請(qǐng)求,給PWM控制器送比較數(shù)據(jù),PWM控制器根據(jù)CPU送入的數(shù)據(jù),產(chǎn)生一定占空比的脈沖波形輸出。CPU向PWM控制器提供比較數(shù)據(jù)一般要經(jīng)過(guò)幾個(gè)操作①響應(yīng)中斷,轉(zhuǎn)到中斷服務(wù)程序;②譯碼中斷程序指令;③從存儲(chǔ)器中取數(shù);④把數(shù)寫(xiě)入PWM控制器。通過(guò)上述轉(zhuǎn)換過(guò)程,將消耗大量的CPU時(shí)間資源,特別是在中斷請(qǐng)求比較頻繁的情況下更是如此。如果PWM輸出數(shù)據(jù)的速率很快時(shí),CPU可能無(wú)法及時(shí)響應(yīng)PWM控制器的中斷請(qǐng)求,導(dǎo)致PWM控制器不能及時(shí)得到數(shù)據(jù),使得PWM輸出異常。
      在以上兩種情況,傳統(tǒng)的PWM控制器都不能直接實(shí)現(xiàn)數(shù)據(jù)采集或數(shù)據(jù)采集保存功能,要實(shí)現(xiàn)語(yǔ)音錄入等數(shù)據(jù)采集保存功能,CPU需要額外的硬件資源,而且在數(shù)據(jù)采集保存工作中,將占用CPU大量時(shí)間開(kāi)銷(xiāo);當(dāng)PWM控制器的比較數(shù)據(jù)由CPU提供時(shí),如果PWM輸出速率很快,也將占用CPU大量時(shí)間開(kāi)銷(xiāo);如果數(shù)據(jù)采集速率或PWM輸出速率太快,容易因?yàn)镃PU來(lái)不及響應(yīng)中斷導(dǎo)致PWM控制器工作異常。
      實(shí)用新型內(nèi)容本實(shí)用新型要解決的技術(shù)問(wèn)題是,如何利用DMA技術(shù),提供一種能夠直接實(shí)現(xiàn)數(shù)據(jù)采集和數(shù)據(jù)采集保存的PWM控制器,其在數(shù)據(jù)采集過(guò)程中能夠直接將采集數(shù)據(jù)保存到存儲(chǔ)器中,或在PWM輸出過(guò)程中,可以直接從存儲(chǔ)器中取出比較數(shù)據(jù),以減少CPU中轉(zhuǎn)PWM數(shù)據(jù)需要的時(shí)間開(kāi)銷(xiāo),提高PWM控制器采集數(shù)據(jù)和PWM輸出的速率,并實(shí)現(xiàn)數(shù)據(jù)采集保存。
      本實(shí)用新型上述技術(shù)問(wèn)題這樣解決,構(gòu)造一種采用DMA技術(shù)的PWM控制器,包括順序電連接的模/數(shù)轉(zhuǎn)換器ADC、PWM比較數(shù)據(jù)寄存器和帶PWM頻率寄存器的PWM波形生成單元,其特征在于,還包括內(nèi)置DMA接口單元的DMA控制器,所述PWM比較數(shù)據(jù)寄存器與所述DMA接口單元DMA接口對(duì)應(yīng)的另一端連接。本實(shí)用新型采用直接存儲(chǔ)器訪(fǎng)問(wèn)DMA技術(shù),即在PWM控制器中內(nèi)置一個(gè)DMA控制器,在數(shù)據(jù)采樣保存時(shí),DMA控制器周期性的申請(qǐng)-獲得總線(xiàn),將采用數(shù)據(jù)保存到存儲(chǔ)器中;在PWM輸出時(shí),DMA控制器周期性的申請(qǐng)-獲得總線(xiàn),將比較數(shù)據(jù)從存儲(chǔ)器中讀入PWM控制器,PWM控制器根據(jù)讀入的比較數(shù)據(jù)產(chǎn)生PWM輸出。
      按照本實(shí)用新型提供的PWM控制器,其特征在于,還包括與所述PWM頻率寄存器、PWM比較數(shù)據(jù)寄存器和DMA控制器連接的CPU接口,所述DMA控制器還包括鏈表地址寄存器、數(shù)據(jù)地址寄存器和數(shù)據(jù)長(zhǎng)度寄存器。該CPU接口單元提供了CPU訪(fǎng)問(wèn)本PWM控制器內(nèi)部寄存器的接口。CPU通過(guò)CPU接口單元能讀寫(xiě)PWM頻率寄存器、PWM比較數(shù)據(jù)寄存器、數(shù)據(jù)長(zhǎng)度寄存器、鏈表地址寄存器、數(shù)據(jù)地址寄存器,其中PWM頻率寄存器提供PWM波形生成單元中的計(jì)數(shù)器計(jì)數(shù)間隔時(shí)間,決定PWM輸出或數(shù)據(jù)采樣的速率。當(dāng)PWM控制器工作在DMA模式下,PWM頻率寄存器也決定了DMA控制器申請(qǐng)-獲取總線(xiàn)的頻度。
      PWM比較數(shù)據(jù)寄存器緩存信號(hào)波幅度采樣值,簡(jiǎn)稱(chēng)比較數(shù)據(jù)。信號(hào)波幅度采樣值可能是ADC采樣數(shù)據(jù)經(jīng)采樣數(shù)據(jù)處理單元處理后的數(shù)據(jù),也可能是CPU經(jīng)CPU接口單元寫(xiě)入的數(shù)據(jù),還可能是DMA控制器從存儲(chǔ)器讀入的比較數(shù)據(jù);PWM比較數(shù)據(jù)寄存器數(shù)據(jù)來(lái)源由PWM控制寄存器相關(guān)位決定。
      按照本實(shí)用新型提供的PWM控制器,其特征在于,還包括與所述CPU接口連接的PWM控制狀態(tài)寄存器。該P(yáng)WM控制狀態(tài)寄存器控制PWM控制器的中斷使能、采樣數(shù)據(jù)處理格式、DMA控制器使能等PWM控制器的工作模式,并提供PWM控制器的工作狀態(tài)。
      按照本實(shí)用新型提供的PWM控制器,其特征在于,所述模/數(shù)轉(zhuǎn)換器ADC和PWM比較數(shù)據(jù)寄存器之間還包括串接的采樣數(shù)據(jù)處理單元。
      按照本實(shí)用新型提供的PWM控制器,其特征在于,還包括位于所述PWM比較數(shù)據(jù)寄存器輸出端上的數(shù)/摸轉(zhuǎn)換器DAC。
      按照本實(shí)用新型提供的PWM控制器,其特征在于,所述PWM比較數(shù)據(jù)寄存器還包括數(shù)字輸入端。
      本實(shí)用新型的PWM波形生成單元有一個(gè)計(jì)數(shù)器在固定范圍內(nèi)周期性地循環(huán)計(jì)數(shù)。計(jì)數(shù)器的計(jì)數(shù)間隔時(shí)間由PWM頻率寄存器決定。計(jì)數(shù)器值類(lèi)似三角波量化采樣值,計(jì)數(shù)器值和比較數(shù)據(jù)進(jìn)行大小比較,決定PWM輸出電平;因計(jì)數(shù)器值在固定范圍內(nèi)周期性地循環(huán)計(jì)數(shù),故PWM輸出高脈沖的時(shí)間由比較數(shù)據(jù)的大小決定,即PWM輸出占空比隨比較數(shù)據(jù)變化而變化。
      本實(shí)用新型的ADC將模擬信號(hào)波采樣轉(zhuǎn)換成數(shù)字信號(hào)波。ADC的采樣頻率由PWM頻率寄存器決定。
      本實(shí)用新型的采樣數(shù)據(jù)處理單元對(duì)ADC轉(zhuǎn)換后的數(shù)據(jù)按照規(guī)定的格式進(jìn)行處理,提供處理后的采樣值。采樣數(shù)據(jù)處理單元處理格式可由PWM控制狀態(tài)寄存器設(shè)置。常見(jiàn)的格式處理包括截位、壓縮、編碼等。
      本實(shí)用新型的DAC可以將信號(hào)波采樣值,即比較數(shù)據(jù),轉(zhuǎn)換成模擬量輸出。此時(shí)PWM控制器完成的功能類(lèi)似將信號(hào)波還原成模擬輸出;由于DMA控制器可以很快地提供比較數(shù)據(jù),DAC可以還原的信號(hào)波頻率比不帶DMA控制器可處理信號(hào)波頻率要高得多。
      本實(shí)用新型的DMA控制器能自動(dòng)申請(qǐng)-獲取總線(xiàn),訪(fǎng)問(wèn)存儲(chǔ)器,向存儲(chǔ)器寫(xiě)入經(jīng)數(shù)據(jù)處理單元處理后的采樣數(shù)據(jù),或從存儲(chǔ)器讀出采樣數(shù)據(jù)。DMA控制器通過(guò)DMA接口單元-申請(qǐng)-獲取總線(xiàn),實(shí)現(xiàn)存儲(chǔ)器訪(fǎng)問(wèn)。DMA控制器申請(qǐng)-獲取總線(xiàn)的時(shí)間間隔主要由PWM頻率寄存器,因在DMA模式下,每采樣一個(gè)數(shù)據(jù)或每完成一次PWM輸出,都需要訪(fǎng)問(wèn)存儲(chǔ)器。
      本實(shí)用新型支持下面四種工作模式模式1DMA的鏈表工作模式。在該模式下,通過(guò)讀取鏈表存儲(chǔ)器的內(nèi)容來(lái)控制讀取數(shù)據(jù)存儲(chǔ)器中數(shù)據(jù)塊的內(nèi)容。鏈表單元包含有數(shù)據(jù)塊的首地址,數(shù)據(jù)塊長(zhǎng)度以及下一個(gè)鏈表單元的入口地址。首先DMA控制器通過(guò)DMA接口單元申請(qǐng)-獲取總線(xiàn),讀取鏈表單元的數(shù)據(jù)地址、數(shù)據(jù)長(zhǎng)度和下一鏈表地址分別存儲(chǔ)于數(shù)據(jù)地址寄存器、數(shù)據(jù)長(zhǎng)度寄存器和鏈表地址寄存器。其次,DMA控制器通過(guò)DMA接口單元申請(qǐng)-獲取總線(xiàn),根據(jù)數(shù)據(jù)地址寄存器和數(shù)據(jù)長(zhǎng)度寄存器內(nèi)容實(shí)現(xiàn)對(duì)存儲(chǔ)器的訪(fǎng)問(wèn),并把存儲(chǔ)器讀取的數(shù)據(jù)填入PWM比較數(shù)據(jù)寄存器(如果是數(shù)據(jù)采樣,則DMA控制器把PWM比較數(shù)據(jù)寄存器中信號(hào)波采樣值寫(xiě)入指定存儲(chǔ)器中)。DMA控制器申請(qǐng)-獲取總線(xiàn)的時(shí)間間隔由PWM頻率寄存器決定。最后,DMA控制器在完成規(guī)定數(shù)據(jù)長(zhǎng)度存儲(chǔ)器訪(fǎng)問(wèn)后,如果沒(méi)有到鏈表的末尾,將申請(qǐng)總線(xiàn),讀取鏈表存儲(chǔ)器中鏈表的內(nèi)容,重復(fù)上面兩步操作直到鏈表結(jié)束。PWM波形生成單元根據(jù)PWM頻率寄存器規(guī)定的頻度把PWM比較數(shù)據(jù)寄存器內(nèi)容轉(zhuǎn)換成PWM脈沖波形輸出。
      模式2DMA直接工作模式。在該模式下,CPU直接通知DMADMA控制器所要讀取的數(shù)據(jù)塊。首先CPU寫(xiě)DMA控制器的數(shù)據(jù)塊地址寄存器和數(shù)據(jù)長(zhǎng)度寄存器。其次,DMA控制器通過(guò)DMA接口單元申請(qǐng)-獲取總線(xiàn),根據(jù)數(shù)據(jù)地址寄存器和數(shù)據(jù)長(zhǎng)度寄存器內(nèi)容實(shí)現(xiàn)對(duì)存儲(chǔ)器的訪(fǎng)問(wèn),并把存儲(chǔ)器讀取的數(shù)據(jù)填入PWM比較數(shù)據(jù)寄存器(如果是數(shù)據(jù)采樣,則DMA控制器把PWM比較數(shù)據(jù)寄存器中信號(hào)波采樣值寫(xiě)入指定存儲(chǔ)器中)。DMA控制器申請(qǐng)-獲取總線(xiàn)的時(shí)間間隔由PWM頻率寄存器決定。最后,DMA控制器重復(fù)上面過(guò)程直至數(shù)據(jù)塊操作完畢。PWM波形生成單元根據(jù)PWM頻率寄存器規(guī)定的頻度把PWM比較數(shù)據(jù)寄存器內(nèi)容轉(zhuǎn)換成PWM脈沖波形輸出。
      模式3CPU直接工作模式。在該模式下,PWM比較數(shù)據(jù)寄存器內(nèi)容直接由CPU寫(xiě)入(如果是數(shù)據(jù)采樣,則CPU把PWM比較數(shù)據(jù)寄存器中信號(hào)波采樣值寫(xiě)入指定存儲(chǔ)器中)。PWM波形生成單元根據(jù)PWM頻率寄存器規(guī)定的頻度把PWM比較數(shù)據(jù)寄存器內(nèi)容轉(zhuǎn)換成PWM脈沖波形輸出。
      模式4信號(hào)波直接轉(zhuǎn)換模式。在該模式下,信號(hào)波采樣值經(jīng)過(guò)采樣數(shù)據(jù)處理單元進(jìn)行格式處理后,送入PWM比較數(shù)據(jù)寄存器;PWM波形生成單元根據(jù)PWM頻率寄存器規(guī)定的頻度把PWM比較數(shù)據(jù)寄存器內(nèi)容轉(zhuǎn)換成PWM脈沖波形輸出。
      本實(shí)用新型的信號(hào)波有兩種直接輸入方式如果信號(hào)波是數(shù)字信號(hào),信號(hào)波從PWM控制器的結(jié)構(gòu)框圖中的數(shù)字輸入口輸入;如果信號(hào)波是模擬信號(hào),信號(hào)波從PWM控制器的結(jié)構(gòu)框圖中ADC的模擬輸入端輸入。本實(shí)用新型的信號(hào)波直接輸入方式由PWM控制狀態(tài)寄存器決定。
      本實(shí)用新型的PWM輸出也有兩種模式一種是PWM脈沖輸出,由PWM波形生成單元輸出;一種是模擬輸出,即PWM比較數(shù)據(jù)寄存器中信號(hào)波采樣值直接經(jīng)DAC轉(zhuǎn)換成模擬信號(hào)輸出。兩種輸出模式由PWM控制狀態(tài)寄存器決定,可以獨(dú)立采用任一種輸出模式,也可同時(shí)采用兩種輸出模式。
      本實(shí)用新型提供的PWM控制器與傳統(tǒng)的PWM控制器相比①集成了DMA控制器,采用DMA技術(shù),在PWM輸出時(shí),比較數(shù)據(jù)不必由CPU寫(xiě)入,而可通過(guò)DMA控制器自動(dòng)從存儲(chǔ)器中取數(shù)據(jù),減少了CPU介入PWM控制器工作的時(shí)間,提高了PWM控制器可以輸出的PWM脈沖波頻率。②由于DMA控制器支持鏈表模式,PWM控制器可以自動(dòng)地完成不同存儲(chǔ)器區(qū)的數(shù)據(jù)塊讀取操作,使得該P(yáng)WM控制器尤其適用于類(lèi)似語(yǔ)音播放的系統(tǒng)中,將不同的信號(hào)波采樣值不間斷地轉(zhuǎn)換成PWM脈沖輸出。③由于采用了DMA技術(shù),不必增加額外的硬件資源,采樣數(shù)據(jù)不必經(jīng)過(guò)CPU中轉(zhuǎn),本PWM控制器就可實(shí)現(xiàn)數(shù)據(jù)采集保存功能,并且能提高數(shù)據(jù)采集的頻度;采樣數(shù)據(jù)可以是數(shù)字信號(hào),也可以是模擬信號(hào)。④信號(hào)波輸入可以直接轉(zhuǎn)換成PWM脈沖輸出。同時(shí),本實(shí)用新型支持DMA模式,也支持CPU模式,用戶(hù)可以根據(jù)自己的應(yīng)用場(chǎng)合和習(xí)慣,靈活地選擇不同的工作模式。


      圖1是本實(shí)用新型提供的PWM控制器的結(jié)構(gòu)框圖。
      圖2是圖1所示PWM控制器的語(yǔ)音播放系統(tǒng)示意圖。
      圖3是圖2中存儲(chǔ)器內(nèi)數(shù)據(jù)塊格式示意圖。
      圖4是圖2中鏈表單元結(jié)構(gòu)示意圖。
      圖5是圖4中鏈表鏈接方式示意圖。
      圖6是與圖4、5所示鏈表配合的DMA模式讀取數(shù)據(jù)流程圖。
      圖7是圖1所示PWM控制器的數(shù)據(jù)采集系統(tǒng)示意圖。
      具體實(shí)施方式
      首先,說(shuō)明本實(shí)用新型PWM控制器的硬件結(jié)構(gòu)圖。
      如圖1,本實(shí)用新型PWM控制器包括DMA控制器10;CPU接口單元11;PWM控制狀態(tài)寄存器12;PWM頻率寄存器13;PWM比較數(shù)據(jù)寄存器14;PWM波形生成單元15;模/數(shù)轉(zhuǎn)換器ADC16;采樣數(shù)據(jù)處理單元17;數(shù)/模轉(zhuǎn)換器DAC18。其中DMA控制器還包括鏈表地址寄存器101;數(shù)據(jù)地址寄存器102;數(shù)據(jù)長(zhǎng)度寄存器103和DMA接口單元104。
      進(jìn)一步,結(jié)合本實(shí)用新型兩個(gè)不同的應(yīng)用系統(tǒng)進(jìn)行具體說(shuō)明。
      (一)本實(shí)用新型PWM控制器在語(yǔ)音播放系統(tǒng)中的應(yīng)用,如圖2,所述語(yǔ)音播放系統(tǒng)包括PWM控制器1,用于從存儲(chǔ)器中讀取數(shù)據(jù)并轉(zhuǎn)換成PWM脈沖波形輸出;微控制器5,用來(lái)控制PWM控制器的操作;總線(xiàn)仲裁管理2,用來(lái)對(duì)PWM控制器1和微控制器5兩者的總線(xiàn)使用進(jìn)行仲裁和總線(xiàn)管理;數(shù)據(jù)存儲(chǔ)器3,用來(lái)存儲(chǔ)需要播放的語(yǔ)音數(shù)據(jù);鏈表4,用來(lái)存儲(chǔ)鏈表,定義PWM控制器的任務(wù)鏈表;MOS開(kāi)關(guān)放大6,用來(lái)對(duì)PWM脈沖波形功率放大;低通濾波器LF濾波器7,用來(lái)慮掉PWM的不需要高頻成分,還原成模擬音頻信號(hào)。數(shù)據(jù)存儲(chǔ)器3和鏈表4是存儲(chǔ)器地址的不同分區(qū),因此兩者可以是不同的存儲(chǔ)器,也可以是同一塊存儲(chǔ)器。其中①圖2中的數(shù)據(jù)存儲(chǔ)器3中數(shù)據(jù)以數(shù)據(jù)塊的形式存儲(chǔ)。如圖3,該數(shù)據(jù)塊由數(shù)據(jù)塊首地址和數(shù)據(jù)塊長(zhǎng)度唯一決定。在該放聲系統(tǒng)中,每一個(gè)數(shù)據(jù)塊代表一個(gè)語(yǔ)音數(shù)據(jù)塊。
      ②圖2中的鏈表4中數(shù)據(jù)以鏈表單元格式存儲(chǔ),鏈表單元由鏈表單元的入口地址唯一確定。如圖4,該鏈表單元結(jié)構(gòu)包括入口地址;下一個(gè)鏈表入口地址,用來(lái)連接下一個(gè)鏈表單元,使其形成一個(gè)鏈表;數(shù)據(jù)塊長(zhǎng)度和數(shù)據(jù)塊首地址。在鏈表中還有一些標(biāo)志位,其中兩個(gè)是停止標(biāo)志位“stop”,用來(lái)標(biāo)志本鏈表單元為鏈表的結(jié)束單元;中斷標(biāo)志位“int”,當(dāng)該位置1時(shí),在本鏈表單元所指示的數(shù)據(jù)塊被PWM控制器讀取完畢時(shí),PWM控制器將產(chǎn)生一個(gè)中斷標(biāo)志。
      該鏈表單元的結(jié)構(gòu),如圖5所示,其鏈表鏈接方式中當(dāng)PWM控制器完成當(dāng)前鏈表指定的數(shù)據(jù)塊長(zhǎng)度操作后,如果停止標(biāo)志位“stop”有效,則停止工作,完成所有的操作;否則,從當(dāng)前鏈表的下一個(gè)鏈表入口地址開(kāi)始,讀入新的鏈表,然后根據(jù)新的鏈表對(duì)指定的數(shù)據(jù)塊進(jìn)行操作。如果最后一個(gè)鏈表的下一個(gè)鏈表入口地址指向它前面的某一個(gè)鏈表入口地址,而且停止標(biāo)志位“stop”無(wú)效,則PWM控制器可以實(shí)現(xiàn)連續(xù)播放的功能。
      該語(yǔ)音播放系統(tǒng),可以把存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器3中的語(yǔ)音數(shù)據(jù)塊(如“這是一個(gè)實(shí)用新型專(zhuān)利”中的每個(gè)漢字的語(yǔ)音數(shù)據(jù)塊)按鏈表4所規(guī)定的順序播放出來(lái),組成一句完整的話(huà)(“這是一個(gè)實(shí)用新型專(zhuān)利”),其工作流程如圖6所示,包括第一步,填寫(xiě)鏈表4。根據(jù)“這是一個(gè)實(shí)用新型專(zhuān)利”每一個(gè)漢字在3中對(duì)應(yīng)的首地址和數(shù)據(jù)長(zhǎng)度,并按照“這是一個(gè)實(shí)用新型專(zhuān)利”順序組成鏈表填寫(xiě)入鏈表存儲(chǔ)器4中。在填寫(xiě)鏈表時(shí),首先微控制器5通過(guò)總線(xiàn)仲裁申請(qǐng)使用總線(xiàn),得到允許后,寫(xiě)鏈表存儲(chǔ)器。
      第二步,微處理器5通過(guò)PWM控制器1中CPU接口寫(xiě)鏈表中第一個(gè)鏈表單元的地址到鏈表地址寄存器101,配置PWM頻率寄存器13,再寫(xiě)PWM控制狀態(tài)寄存器12啟動(dòng)PWM控制器。
      第三步,PWM控制器被微控制器5啟動(dòng)后,申請(qǐng)DMA總線(xiàn)占用,總線(xiàn)允許后,根據(jù)鏈表地址寄存器101中鏈表單元地址,DMA讀取該鏈表單元數(shù)據(jù)并分別填入鏈表地址寄存器101,數(shù)據(jù)地址寄存器102和數(shù)據(jù)長(zhǎng)度寄存器103中。
      第四步,PWM控制器申請(qǐng)總線(xiàn)占用,允許后根據(jù)數(shù)據(jù)地址寄存器102和數(shù)據(jù)長(zhǎng)度寄存器103中內(nèi)容以及已經(jīng)讀取了的數(shù)據(jù)塊數(shù)據(jù)長(zhǎng)度訪(fǎng)問(wèn)數(shù)據(jù)存儲(chǔ)器3,并把讀取的數(shù)據(jù)寫(xiě)入PWM比較數(shù)據(jù)寄存器14,取消總線(xiàn)占用。
      第五步,當(dāng)PWM比較數(shù)據(jù)寄存器14需要數(shù)據(jù)時(shí),PWM控制器將通過(guò)DMA接口單元104申請(qǐng)總線(xiàn)占用,重復(fù)第四步過(guò)程直到數(shù)據(jù)塊讀取結(jié)束。
      第六步,當(dāng)前數(shù)據(jù)塊讀取結(jié)束后,如果鏈表指示該鏈表是最后的鏈表,PWM控制器停止操作,處于空閑狀態(tài),并在PWM控制狀態(tài)寄存器12記錄結(jié)束標(biāo)志,產(chǎn)生結(jié)束中斷;否則PWM控制器將再次申請(qǐng)總線(xiàn)讀取鏈表內(nèi)容,重復(fù)第三步過(guò)程。
      DMA控制器從存儲(chǔ)器讀取數(shù)據(jù)并放入PWM比較數(shù)據(jù)寄存器14后,PWM波形生成單元15將自動(dòng)從PWM比較數(shù)據(jù)寄存器14中載入數(shù)據(jù),根據(jù)PWM頻率寄存器13中規(guī)定的頻度轉(zhuǎn)換成PWM脈沖信號(hào)。同時(shí),PWM比較數(shù)據(jù)寄存器14中數(shù)據(jù)可以通過(guò)DAC18數(shù)字模擬變化后直接模擬輸出。
      產(chǎn)生的PWM脈沖信號(hào)經(jīng)MOS功率開(kāi)關(guān)放大器6開(kāi)關(guān)功率放大,LF低通濾波器7低通濾波器后直接驅(qū)動(dòng)揚(yáng)聲器發(fā)聲,實(shí)現(xiàn)了“這是一個(gè)實(shí)用新型專(zhuān)利”的語(yǔ)音播放。
      通過(guò)上面的描述可知,在DMA模式下,當(dāng)PWM控制器需要比較數(shù)據(jù)時(shí),不需要CPU介入,而由DMA控制器自動(dòng)從存儲(chǔ)器獲得,因而減少了CPU的時(shí)間開(kāi)銷(xiāo);而且由于DMA控制器從存儲(chǔ)器讀入一個(gè)數(shù)據(jù)的速度比CPU從存儲(chǔ)器向PWM控制器中轉(zhuǎn)數(shù)據(jù)的速度快得多,因此本PWM控制器可以處理的PWM輸出頻率要比傳統(tǒng)的利用CPU中轉(zhuǎn)數(shù)據(jù)的PWM控制器要高得多。
      由于聲音信號(hào)為各種頻率波形的組合,因此使用該系統(tǒng),在存儲(chǔ)器中填入不同的值以及選擇適當(dāng)?shù)逆湵韮?nèi)容,可以產(chǎn)生精度較高的可變占空比脈沖波形。
      (二)本實(shí)用新型PWM控制器的數(shù)據(jù)采集系統(tǒng),如圖7所示,包括PWM控制器1,用于將采樣數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換并保存到存儲(chǔ)器中;總線(xiàn)仲裁控制器2,用來(lái)對(duì)PWM控制器1和微控制器5兩者的總線(xiàn)使用進(jìn)行仲裁和總線(xiàn)管理;微控制器5,用來(lái)控制PWM控制器的操作;數(shù)據(jù)存儲(chǔ)器3,用來(lái)存儲(chǔ)采集的數(shù)據(jù)。本實(shí)用新型PWM控制器1在該數(shù)據(jù)采集系統(tǒng)中,不但能夠完成數(shù)據(jù)的采集、處理,還可以同時(shí)把采集的數(shù)據(jù)轉(zhuǎn)換成模擬輸出和PWM輸出供不同需要。其數(shù)據(jù)采集流程具體如下第一步,根據(jù)數(shù)據(jù)采集的需要,微控制器5寫(xiě)PWM控制器寄存器13,規(guī)定數(shù)據(jù)采樣頻率;寫(xiě)數(shù)據(jù)地址寄存器102,規(guī)定采集后的數(shù)據(jù)存儲(chǔ)在4中的位置首地址;寫(xiě)數(shù)據(jù)長(zhǎng)度寄存器103,規(guī)定采集數(shù)據(jù)的長(zhǎng)度;最后寫(xiě)PWM控制狀態(tài)寄存器12,規(guī)定當(dāng)前模式為數(shù)據(jù)采集模式以及數(shù)據(jù)處理格式,并啟動(dòng)PWM控制器。
      第二步,采樣數(shù)據(jù)處理單元17對(duì)信號(hào)波輸入進(jìn)行格式處理,常見(jiàn)的格式處理有截位、壓縮、編碼等處理。信號(hào)波輸入可以是模擬輸入(需要經(jīng)過(guò)ADC16轉(zhuǎn)換成數(shù)字信號(hào)送給采樣數(shù)據(jù)處理單元17),也可以是數(shù)字輸入。采樣數(shù)據(jù)處理單元17處理后的采樣數(shù)據(jù)送給PWM比較數(shù)據(jù)寄存器14。
      第三步,當(dāng)PWM比較數(shù)據(jù)寄存器14接收到采樣數(shù)據(jù)后,PWM控制器的DMA控制器申請(qǐng)總線(xiàn)占用,申請(qǐng)?jiān)试S后PWM控制器根據(jù)數(shù)據(jù)地址寄存器102和數(shù)據(jù)長(zhǎng)度寄存器103內(nèi)容以及已經(jīng)采樣的數(shù)據(jù)長(zhǎng)度把PWM比較數(shù)據(jù)寄存器14中的數(shù)據(jù)送數(shù)據(jù)存儲(chǔ)器3的指定位置進(jìn)行存儲(chǔ)。
      第四步,如果采樣數(shù)據(jù)達(dá)到指定長(zhǎng)度,在PWM控制狀態(tài)寄存器12記錄結(jié)束標(biāo)志,產(chǎn)生結(jié)束中斷,PWM控制器處于空閑狀態(tài),否則重復(fù)第二步操作直至采樣結(jié)束。
      在信號(hào)波直接轉(zhuǎn)換模式下,信號(hào)波采樣值經(jīng)過(guò)采樣數(shù)據(jù)處理單元17進(jìn)行格式處理后,送入PWM比較數(shù)據(jù)寄存器14;PWM波形生成單元15根據(jù)PWM頻率寄存器13規(guī)定的頻度把PWM比較數(shù)據(jù)寄存器內(nèi)容轉(zhuǎn)換成PWM脈沖波形輸出。
      在數(shù)據(jù)采集模式下,由于PWM控制器采用了DMA技術(shù),在數(shù)據(jù)采樣過(guò)程中,避免了CPU的參與,減少了CPU的時(shí)間開(kāi)銷(xiāo);同時(shí),DMA傳輸比CPU中轉(zhuǎn)數(shù)據(jù)時(shí)間快,使用該實(shí)用新型滿(mǎn)足了快速的數(shù)據(jù)采集需求;而且,由于數(shù)據(jù)采集中的ADC是和信號(hào)波直接轉(zhuǎn)換模式下的ADC共用的,因此本PWM控制器實(shí)現(xiàn)數(shù)據(jù)采集功能并不需要額外的硬件資源。
      PWM比較數(shù)據(jù)寄存器14可以直接通過(guò)DAC18轉(zhuǎn)換成模擬輸出,以便滿(mǎn)足不同系統(tǒng)的特殊需要,方便PWM控制器在其他應(yīng)用場(chǎng)合的系統(tǒng)集成。
      權(quán)利要求1.一種采用DMA技術(shù)的PWM控制器,包括順序電連接的模/數(shù)轉(zhuǎn)換器ADC(16)、PWM比較數(shù)據(jù)寄存器(14)和帶PWM頻率寄存器(13)的PWM波形生成單元(15),其特征在于,還包括內(nèi)置DMA接口單元(104)的DMA控制器(10),所述PWM比較數(shù)據(jù)寄存器(14)與所述DMA接口單元(104)DMA接口對(duì)應(yīng)的另一端連接。
      2.根據(jù)權(quán)利要求1所述PWM控制器,其特征在于,還包括與所述PWM頻率寄存器(13)、PWM比較數(shù)據(jù)寄存器(14)和DMA控制器(10)連接的CPU接口(10),所述DMA控制器(10)還包括鏈表地址寄存器(101)、數(shù)據(jù)地址寄存器(102)和數(shù)據(jù)長(zhǎng)度寄存器(103)。
      3.根據(jù)權(quán)利要求2所述PWM控制器,其特征在于,還包括與所述CPU接口(10)連接的PWM控制狀態(tài)寄存器(13)。
      4.根據(jù)權(quán)利要求1所述PWM控制器,其特征在于,所述模/數(shù)轉(zhuǎn)換器ADC(16)和PWM比較數(shù)據(jù)寄存器(14)之間還包括串接的采樣數(shù)據(jù)處理單元(17)。
      5.根據(jù)權(quán)利要求1所述PWM控制器,其特征在于,還包括位于所述PWM比較數(shù)據(jù)寄存器(14)輸出端上的數(shù)/摸轉(zhuǎn)換器DAC(18)。
      6.根據(jù)權(quán)利要求1所述PWM控制器,其特征在于,所述PWM比較數(shù)據(jù)寄存器(14)還包括數(shù)字輸入端。
      專(zhuān)利摘要本實(shí)用新型涉及并公開(kāi)了一種采用DMA技術(shù)的PWM控制器,包括順序電連接的模/數(shù)轉(zhuǎn)換器ADC(16)、PWM比較數(shù)據(jù)寄存器(14)和帶PWM頻率寄存器(13)的PWM波形生成單元(15),其特征在于,還包括內(nèi)置DMA接口單元(104)的DMA控制器(10),所述PWM比較數(shù)據(jù)寄存器(14)與所述DMA接口單元(104)DMA接口對(duì)應(yīng)的另一端連接。這種PWM控制器可自動(dòng)從外接存儲(chǔ)器中取出比較數(shù)據(jù),最大限度的減少了CPU的干預(yù),減少了CPU的時(shí)間資源消耗,提高了PWM控制器可處理的PWM脈沖波頻率。
      文檔編號(hào)H03K7/00GK2678250SQ20042000038
      公開(kāi)日2005年2月9日 申請(qǐng)日期2004年1月9日 優(yōu)先權(quán)日2004年1月9日
      發(fā)明者王良清, 羅勇, 李勇 申請(qǐng)人:李劍
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1