專(zhuān)利名稱(chēng):用于生成無(wú)失真脈寬調(diào)制波形的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及生成脈沖信號(hào),更具體地來(lái)說(shuō),生成脈寬調(diào)制(PWM)波形。
背景技術(shù):
脈寬調(diào)制(PWM)信號(hào)發(fā)生器用于多種電路,包括嵌入式控制器、音頻處理器和電動(dòng)機(jī)控制電路。一般來(lái)說(shuō),PWM信號(hào)發(fā)生器采用一種由系統(tǒng)時(shí)鐘信號(hào)生成矩形時(shí)鐘信號(hào)的鎖相環(huán)電路,以及用于由矩形時(shí)鐘信號(hào)和調(diào)制信號(hào)產(chǎn)生PWM信號(hào)的PWM控制器。一般來(lái)說(shuō),PWM控制器對(duì)于處理器來(lái)說(shuō)是外圍裝置,并可通過(guò)由用戶(hù)程序改變周期和寬度值來(lái)調(diào)制PWM信號(hào)。
在要控制PWM信號(hào)的周期和寬度值的情況下,對(duì)于處理器來(lái)說(shuō)必須管理周期和寬度值的寫(xiě)入定時(shí),以便防止PWM信號(hào)在非期望的時(shí)間以及周期和寬度值組合生成。此外,高速改變周期和寬度值可能導(dǎo)致PWM波形非期望定時(shí)形式的失真,并還可能導(dǎo)致非期望的周期和寬度值組合。這些缺點(diǎn)可使當(dāng)前的PWM波形發(fā)生器不適于關(guān)鍵的實(shí)時(shí)應(yīng)用。
一種當(dāng)前的PWM波形發(fā)生器類(lèi)型,嘗試在要控制周期和寬度值時(shí)生成可靠的PWM波形,它根據(jù)從控制器接收的一個(gè)序列的周期設(shè)置值和寬度設(shè)置值的組合生成PWM信號(hào)。上述PWM波形發(fā)生器將兩個(gè)寄存器用于周期值以及另兩個(gè)寄存器用于寬度值。寫(xiě)歷史標(biāo)志控制傳輸許可信號(hào),以將周期和寬度值從一組寄存器移到下一組。
上述PWM波形發(fā)生器的一個(gè)潛在問(wèn)題是,當(dāng)在PWM循環(huán)邊界的對(duì)側(cè)上發(fā)生周期和寬度更新/改變時(shí),它無(wú)法生成期望的波形。再者,該技術(shù)不響應(yīng)這些更新,以在周期和寬度更新在連續(xù)PWM周期中持續(xù)發(fā)生在PWM循環(huán)邊界對(duì)側(cè)上時(shí)提供期望的波形。當(dāng)生成PWM波形時(shí),周期和/或?qū)挾雀乱话惆l(fā)生在幾乎PWM信號(hào)的每一周期。如果周期和寬度更新發(fā)生在每個(gè)PWM信號(hào)循環(huán)中PWM循環(huán)邊界的對(duì)側(cè)上,則更新/改變決不會(huì)通過(guò)上述PWM波形發(fā)生器得以實(shí)現(xiàn)。
通常困難的是,當(dāng)使用運(yùn)行在處理器上的軟件寫(xiě)寄存器時(shí),順序地控制更新以發(fā)生在PWM波形循環(huán)的期望位置(以同時(shí)發(fā)生或在PWM循環(huán)邊界內(nèi))。更困難的是,當(dāng)使用運(yùn)行在處理器上的軟件程序時(shí),在需要進(jìn)行高速改變時(shí)控制周期和寬度更新以發(fā)生在期望的位置。此外,當(dāng)處理器工作時(shí),對(duì)軟件添加額外功能特征以監(jiān)控和控制周期和寬度更新的定時(shí)增加了處理器上的負(fù)載。因此,該技術(shù)不足以可靠地生成期望的實(shí)時(shí)高頻PWM波形。
發(fā)明內(nèi)容
本發(fā)明提供一種技術(shù),用于基于從處理器接收的一個(gè)序列的編程周期和寬度值組合生成無(wú)失真、可靠且可預(yù)測(cè)的實(shí)時(shí)PWM波形。在一個(gè)示范實(shí)施例中,這通過(guò)在接收到周期和寬度寫(xiě)信號(hào)時(shí)分別將當(dāng)前周期和寬度值存儲(chǔ)在初級(jí)周期和寬度寄存器中來(lái)實(shí)現(xiàn)。然后使用這些周期和寬度值計(jì)算次級(jí)周期值。再者,在接收到寬度寫(xiě)信號(hào)時(shí),分別將寬度值和次級(jí)周期值存儲(chǔ)在次級(jí)寬度和周期寄存器中。然后遞減計(jì)數(shù)器具有寬度值,并然后將次級(jí)周期值存儲(chǔ)在三級(jí)周期寄存器。然后在每個(gè)時(shí)鐘循環(huán)對(duì)寬度值遞減計(jì)數(shù),直到寬度值達(dá)到零為止,并輸出終止寬度信號(hào),并然后加載次級(jí)周期值。然后在每個(gè)時(shí)鐘循環(huán)對(duì)次級(jí)周期值遞減計(jì)數(shù),直到它達(dá)到零為止,并輸出終止周期信號(hào)。然后基于終止周期和寬度信號(hào)生成PWM信號(hào)。對(duì)于從處理器接收的下一組周期和寬度值自身重復(fù)上述過(guò)程。
圖1是PWM波形發(fā)生器的一個(gè)示范實(shí)施例的框圖。
圖2是說(shuō)明使用圖1所述的PWM波形發(fā)生器生成的所有定時(shí)信號(hào)的時(shí)序圖。
圖3是說(shuō)明如圖1所示當(dāng)周期和寬度更新發(fā)生在PWM循環(huán)邊界的對(duì)側(cè)時(shí)使用PWM波形發(fā)生器生成的所有定時(shí)信號(hào)的時(shí)序圖的另一個(gè)實(shí)施例。
圖4是說(shuō)明如圖1所示當(dāng)生成最低可能PWM循環(huán)周期時(shí)使用該P(yáng)WM波形發(fā)生器生成的所有定時(shí)信號(hào)的時(shí)序圖的另一個(gè)實(shí)施例。
圖5是說(shuō)明基于實(shí)時(shí)生成無(wú)失真PWM波形的方法流程圖。
具體實(shí)施例方式
本發(fā)明主題提供一種體系結(jié)構(gòu),用于基于從處理器接收的一個(gè)序列的編程周期和寬度值組合生成無(wú)失真且可預(yù)測(cè)的實(shí)時(shí)PWM波形。在一個(gè)示范實(shí)施例中,使用可編程脈寬調(diào)制(PWM)波形發(fā)生器生成具有期望的寬度和周期組合的無(wú)失真且可靠的PWM信號(hào)來(lái)生成PWM波形。PWM發(fā)生器對(duì)于數(shù)字信號(hào)處理器(DSP)是外圍裝置,它可快速地改變周期和寬度值。該P(yáng)WM波形發(fā)生器適于其中DSP需要生成可預(yù)測(cè)PWM波形的關(guān)鍵實(shí)時(shí)應(yīng)用。這通過(guò)使用存儲(chǔ)周期和寬度值的兩組寄存器以及具有其定時(shí)控制的周期值的特殊三級(jí)周期寄存器來(lái)實(shí)現(xiàn)。該體系結(jié)構(gòu)還可基于實(shí)時(shí)且無(wú)任何失真地生成具有一個(gè)時(shí)鐘循環(huán)的寬度和兩個(gè)時(shí)鐘循環(huán)的周期的PWM波形。上述所有這些功能特征通過(guò)基于目前技術(shù)在硬件上最小增加來(lái)實(shí)現(xiàn)。
在下文對(duì)本發(fā)明實(shí)施例的詳細(xì)說(shuō)明中,參考了構(gòu)成其一部分的附圖,并且在附圖中以圖示方式示出了可以實(shí)施本發(fā)明的具體實(shí)施例。對(duì)這些實(shí)施例予以足夠詳細(xì)地描述,以使本領(lǐng)域技術(shù)人員能夠?qū)嵤┍景l(fā)明,并要理解,可以利用其他實(shí)施例,以及在不背離本發(fā)明范圍的前提下可以進(jìn)行改變。因此,下文的詳細(xì)說(shuō)明不應(yīng)認(rèn)為是限制意義,并且本發(fā)明的范圍僅由所附權(quán)利要求書(shū)來(lái)定義。
在整個(gè)文檔中術(shù)語(yǔ)“循環(huán)”和“周期”是可互換使用的。此外,在整個(gè)文檔中術(shù)語(yǔ)“寬度”和“占空”是可互換使用的。術(shù)語(yǔ)“存儲(chǔ)單元”和“寄存器”也表示同一個(gè)概念,指存儲(chǔ)器單元。此外,在整個(gè)文檔中術(shù)語(yǔ)“寫(xiě)”和“更新”是可互換使用的。再者,術(shù)語(yǔ)“時(shí)鐘循環(huán)”表示系統(tǒng)時(shí)鐘循環(huán)。術(shù)語(yǔ)“處理器”表示“數(shù)字信號(hào)處理器”、“微控制器”、“音頻處理器”、“微處理器”等。
現(xiàn)在參考圖1,圖示有根據(jù)本發(fā)明主題的PWM波形發(fā)生器100的一個(gè)示范實(shí)施例。PWM波形發(fā)生器100包括初級(jí)周期寄存器105和初級(jí)寬度寄存器110。在一些實(shí)施例中,初級(jí)周期寄存器105和初級(jí)寬度寄存器110是存儲(chǔ)器映射的寄存器。PWM波形發(fā)生器100還包括與初級(jí)周期寄存器105和初級(jí)寬度寄存器110耦合的減法器115。PWM波形發(fā)生器100還包括與減法器115耦合的次級(jí)周期寄存器120以及與初級(jí)寬度寄存器110耦合的次級(jí)寬度寄存器125。
如圖1所示,PWM波形發(fā)生器100還包括三級(jí)周期寄存器130、遞減計(jì)數(shù)器135、狀態(tài)機(jī)140、定時(shí)控制器145、配置寄存器150和末級(jí)輸出波形發(fā)生器155。還如圖1所示,PWM波形發(fā)生器100還包括以操作方式耦合以從用戶(hù)程序165接收程序指令的DSP核160。再如圖1所示,DSP核160經(jīng)由數(shù)據(jù)總線(xiàn)170耦合到PWM波形發(fā)生器100。再如圖1所示,PWM波形發(fā)生器100和DSP核160是DSP片上系統(tǒng)(SoC)的組件。
操作中,在一個(gè)示范實(shí)施例中,當(dāng)在DSP核160上執(zhí)行的用戶(hù)程序165改變PWM波形發(fā)生器100中的周期和寬度值時(shí),在分別從用戶(hù)程序165接收到初級(jí)周期寄存器寫(xiě)信號(hào)和初級(jí)寬度寄存器寫(xiě)信號(hào)時(shí),分別將當(dāng)前周期和寬度值存儲(chǔ)在初級(jí)周期和寬度寄存器105和110。在一些實(shí)施例中,初級(jí)周期和寬度寄存器105和110經(jīng)由數(shù)據(jù)總線(xiàn)170接收當(dāng)前周期和寬度值以及相關(guān)聯(lián)的初級(jí)寄存器寫(xiě)信號(hào)。
然后減法器115從初級(jí)寬度寄存器110接收寬度值并從初級(jí)周期寄存器105接收周期值,并用接收的寬度和周期值計(jì)算次級(jí)周期值。
遞減計(jì)數(shù)器135按每個(gè)時(shí)鐘循環(huán)對(duì)加載的編程寬度值遞減計(jì)數(shù),直到它達(dá)到零為止,并當(dāng)遞減計(jì)數(shù)器達(dá)到零時(shí)生成EXPIRE(終止)信號(hào)。狀態(tài)機(jī)140基于EXPIRE信號(hào)生成狀態(tài)值。(EXPIRE信號(hào)和狀態(tài)值的生成參考圖2予以更詳細(xì)的解釋)。在一些實(shí)施例中,狀態(tài)機(jī)140從遞減計(jì)數(shù)器135接收EXPIRE信號(hào),并輸出狀態(tài)值。使用EXPIRE信號(hào)連同狀態(tài)值來(lái)生成終止寬度和終止周期信號(hào)。
定時(shí)控制器145然后在從用戶(hù)程序165接收到初級(jí)寬度寄存器寫(xiě)信號(hào)時(shí)生成次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)。定時(shí)控制器145還基于從遞減計(jì)數(shù)器135接收的EXPIRE信號(hào)以及從狀態(tài)機(jī)140接收的狀態(tài)值生成三級(jí)周期寄存器寫(xiě)信號(hào)。三級(jí)周期寄存器寫(xiě)信號(hào)是位于當(dāng)前PWM循環(huán)邊界的單個(gè)時(shí)鐘循環(huán)脈沖。EXPIRE信號(hào)連同狀態(tài)值在內(nèi)部被定時(shí)控制器145和末級(jí)輸出波形發(fā)生器155用于產(chǎn)生終止寬度和終止周期信號(hào)。此外,定時(shí)控制器145還基于終止周期信號(hào)生成寬度更新計(jì)數(shù)器信號(hào)并基于終止寬度信號(hào)生成周期更新計(jì)數(shù)器信號(hào)。在這些實(shí)施例中,寬度更新計(jì)數(shù)器信號(hào)和三級(jí)周期寄存器寫(xiě)信號(hào)在時(shí)間域是相同的信號(hào)。
次級(jí)周期和寬度寄存器120和125在從定時(shí)控制器145接收到次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí)分別存儲(chǔ)次級(jí)周期和寬度值。三級(jí)周期寄存器130在接收到三級(jí)周期寄存器寫(xiě)信號(hào)時(shí)從次級(jí)周期寄存器120接收次級(jí)周期值,并將次級(jí)周期值存儲(chǔ)在三級(jí)周期寄存器130。
然后遞減計(jì)數(shù)器135在從定時(shí)控制器145接收到寬度更新計(jì)數(shù)器信號(hào)時(shí)從次級(jí)寬度寄存器125接收寬度值,并基于該寬度值生成EXPIRE信號(hào)。該EXPIRE信號(hào)對(duì)應(yīng)于終止寬度信號(hào)。遞減計(jì)數(shù)器135還在生成EXPIRE信號(hào)時(shí)從三級(jí)周期寄存器130接收次級(jí)周期值,并基于該周期值再次生成EXPIRE信號(hào)。該EXPIRE信號(hào)對(duì)應(yīng)于終止周期信號(hào)。在一些實(shí)施例中,遞減計(jì)數(shù)器135按每個(gè)時(shí)鐘循環(huán)對(duì)加載的編程寬度值遞減計(jì)數(shù),直到遞減計(jì)數(shù)器達(dá)到零為止,并然后生成終止寬度信號(hào)。同樣在這些實(shí)施例中,遞減計(jì)數(shù)器135按每個(gè)時(shí)鐘循環(huán)對(duì)加載的編程次級(jí)周期值遞減計(jì)數(shù),直到遞減計(jì)數(shù)器達(dá)到零為止,然后生成EXPIRE信號(hào)。
然后末級(jí)輸出波形發(fā)生器155從遞減計(jì)數(shù)器135接收EXPIRE信號(hào),并從狀態(tài)機(jī)140接收狀態(tài)值,以在內(nèi)部生成終止周期和寬度信號(hào)。然后末級(jí)輸出波形發(fā)生器155實(shí)時(shí)地生成PWM信號(hào),作為終止周期和寬度信號(hào)的函數(shù)。配置寄存器150從用戶(hù)程序165接收控制信號(hào),并輸出配置信號(hào)。末級(jí)輸出波形發(fā)生器155基于該配置信號(hào)生成PWM信號(hào)或它的反信號(hào)。在這些實(shí)施例中,末級(jí)輸出波形發(fā)生器155基于終止周期和寬度信號(hào)以及配置信號(hào)輸出PWM信號(hào)。同樣在這些實(shí)施例中,末級(jí)輸出波形發(fā)生器155生成具有1個(gè)時(shí)鐘循環(huán)的寬度和2個(gè)時(shí)鐘循環(huán)的周期的PWM波形。在一些實(shí)施例中,末級(jí)輸出波形發(fā)生器155基于終止周期信號(hào)、終止寬度信號(hào)、狀態(tài)值和配置信號(hào)輸出PWM信號(hào)。
現(xiàn)在參考圖2,圖示有根據(jù)本發(fā)明實(shí)施例使用圖1所示PWM波形發(fā)生器生成的所有定時(shí)信號(hào)200。定時(shí)信號(hào)基于用戶(hù)更新周期和寬度時(shí)的時(shí)間并還基于狀態(tài)機(jī)140的狀態(tài)來(lái)控制通過(guò)初級(jí)周期和寬度寄存器105和110、次級(jí)周期和寬度寄存器120和125以及三級(jí)周期寄存器130的數(shù)據(jù)流。遞減計(jì)數(shù)器135對(duì)次級(jí)寬度值和三級(jí)周期值操作。末級(jí)輸出波形發(fā)生器155輸出邏輯1或邏輯高,視狀態(tài)而定。當(dāng)遞減計(jì)數(shù)器135達(dá)到零時(shí),狀態(tài)機(jī)140的狀態(tài)從狀態(tài)A改變到狀態(tài)B,反之亦然,如圖2中定時(shí)信號(hào)260所示。可以設(shè)想,當(dāng)使用周期和寬度的反值時(shí),使用遞增計(jì)數(shù)器代替遞減計(jì)數(shù)器,雖然它們?cè)诟拍钌鲜窍嗤摹?br>
圖2還示出了生成的輸出PWM波形205。生成初級(jí)周期和寬度寫(xiě)信號(hào),如定時(shí)信號(hào)P1和W1210和215所示。在一些實(shí)施例中,用戶(hù)首先更新定時(shí)信號(hào)210中所示的周期值。一旦用戶(hù)更新了該周期值,也就必須更新寬度值,如定時(shí)信號(hào)210和215所示。PWM波形發(fā)生器100可以只更新寬度,這在許多情況中是必不可少的,諸如與通信相關(guān)的PWM,其中周期值對(duì)應(yīng)于恒定的取樣周期。在這些實(shí)施例中,更新寬度值是實(shí)際上在下一個(gè)時(shí)鐘循環(huán)將周期和寬度值從初級(jí)周期和寬度寄存器105和110分別轉(zhuǎn)移到它們各自的次級(jí)周期和寬度寄存器120和125,如定時(shí)信號(hào)230、235、220和225所示。周期和寬度值從初級(jí)寄存器轉(zhuǎn)移到次級(jí)寄存器是基于接收到次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào),如圖使用定時(shí)信號(hào)P2W2 240。次級(jí)周期寄存器實(shí)際上獲取所計(jì)算的次級(jí)周期值(周期值-寬度值)。
在PWM循環(huán)中,最初對(duì)于對(duì)應(yīng)于寬度值的特定數(shù)量的時(shí)鐘循環(huán)生成邏輯高。在生成邏輯高之后,對(duì)于次級(jí)周期值時(shí)鐘循環(huán)的周期生成邏輯低。狀態(tài)機(jī)140在前一種情況中處于狀態(tài)A,而在后一種情況中處于狀態(tài)B,如定時(shí)信號(hào)260所示。控制比特當(dāng)設(shè)置時(shí)可以生成配置信號(hào),配置信號(hào)又可以生成對(duì)應(yīng)于狀態(tài)A的邏輯低以及對(duì)應(yīng)于狀態(tài)B的邏輯高。在狀態(tài)A開(kāi)始時(shí),用次級(jí)周期寄存器值加載三級(jí)周期寄存器130,如定時(shí)信號(hào)255中所示。這對(duì)應(yīng)于定時(shí)信號(hào)P3250。三級(jí)周期寄存器130阻止任何周期變化,以在當(dāng)前PWM循環(huán)期間轉(zhuǎn)到遞減計(jì)數(shù)器135。同樣,遞減計(jì)數(shù)器135加載對(duì)應(yīng)于寬度更新計(jì)數(shù)器信號(hào)LD_WDT 280的次級(jí)寬度寄存器值,并開(kāi)始遞減計(jì)數(shù),直到遞減計(jì)數(shù)器達(dá)到零值為止。在最后一個(gè)計(jì)數(shù)循環(huán)中,生成EXPIRE信號(hào)270,如定時(shí)信號(hào)280所示。這對(duì)應(yīng)于終止寬度信號(hào)。在狀態(tài)A結(jié)束時(shí),狀態(tài)B開(kāi)始,并且遞減計(jì)數(shù)器135加載有對(duì)應(yīng)于周期更新計(jì)數(shù)器信號(hào)LD_PRD的三級(jí)周期寄存器值,如定時(shí)信號(hào)260和285所示。再者,遞減計(jì)數(shù)器135遞減計(jì)數(shù),直到它達(dá)到零值為止?,F(xiàn)在它再次生成EXPIRE信號(hào),如定時(shí)信號(hào)290所示。這對(duì)應(yīng)于終止周期信號(hào)。因此,在狀態(tài)B生成EXPIRE信號(hào)時(shí),遞減計(jì)數(shù)器135加載寬度值,如定時(shí)290和295所示。類(lèi)似地,在狀態(tài)A中生成EXPIRE信號(hào)時(shí),遞減計(jì)數(shù)器135加載(周期-寬度)的值,即,次級(jí)周期值。在每個(gè)時(shí)鐘循環(huán)的其他時(shí)間,遞減計(jì)數(shù)器按單位元素遞減計(jì)數(shù)。這樣結(jié)束了輸出PWM波形的完整周期。該機(jī)制允許由DSP高速地且無(wú)任何失真地生成高頻PWM波形。將此類(lèi)可靠性特征添加到DSP對(duì)DSP資源的影響最小,并在DSP硬件上的增加最小。對(duì)于PWM波形發(fā)生器100生成的下一個(gè)PWM波形,上述過(guò)程自身重復(fù)。
現(xiàn)在參考圖3,圖示有根據(jù)本發(fā)明另一個(gè)實(shí)施例的所有定時(shí)信號(hào)300,它與圖2所示的定時(shí)信號(hào)相似,用圖1所示的PWM波形發(fā)生器100生成。圖3示出了本發(fā)明主題如何解決一個(gè)序列周期和寬度更新/改變例如PA、PB和PC310以及WA、WB和WC320發(fā)生在PWM周期邊界330的對(duì)側(cè)時(shí)的可靠性問(wèn)題。生成定時(shí)信號(hào)300已在上文參考圖2詳細(xì)描述了。圖3中所示的定時(shí)信號(hào)清楚圖示了當(dāng)周期和寬度更新/改變310和320發(fā)生在PWM循環(huán)340、350和360所示的序列中的PWM邊界310上時(shí)無(wú)任何失真地生成PWM波形。
現(xiàn)在參考圖4,圖示有根據(jù)本發(fā)明一個(gè)實(shí)施例的所有定時(shí)信號(hào)400,它用圖1所示的PWM波形發(fā)生器生成。再者,圖4所示的定時(shí)信號(hào)與圖2和3所示的定時(shí)信號(hào)相似,并且這些定時(shí)信號(hào)的生成已參考圖2予以更詳細(xì)描述。圖4圖示了無(wú)任何失真地?zé)o縫生成具有一個(gè)時(shí)鐘循環(huán)的寬度以及兩個(gè)時(shí)鐘循環(huán)的周期的PWM波形。
現(xiàn)在參考圖5,圖示有根據(jù)本發(fā)明的方法實(shí)施例500。在510,在本示范實(shí)施例中的方法500通過(guò)DSP核經(jīng)由數(shù)據(jù)總線(xiàn)從用戶(hù)程序接收一個(gè)序列的編程周期和寬度值組合及其相關(guān)聯(lián)的初級(jí)周期和寬度寫(xiě)信號(hào)。在520,將所接收序列的編程周期和寬度值組合的每一個(gè)存儲(chǔ)在初級(jí)周期和寬度寄存器。
在530,在從定時(shí)控制器接收到次級(jí)存儲(chǔ)單元寫(xiě)信號(hào)時(shí),通過(guò)從初級(jí)寬度寄存器獲取編程寬度值,來(lái)將編程寬度值存儲(chǔ)到次級(jí)寬度寄存器。
在540,通過(guò)從編程周期值減去編程寬度值來(lái)計(jì)算次級(jí)周期值。在550,在從定時(shí)控制器接收到次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí),將計(jì)算的次級(jí)周期值存儲(chǔ)在次級(jí)周期寄存器中。在一些實(shí)施例中,當(dāng)接收到初級(jí)寬度寄存器寫(xiě)信號(hào)時(shí),生成次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)。在560,當(dāng)從定時(shí)控制器接收到三級(jí)周期寄存器寫(xiě)信號(hào)時(shí),還將次級(jí)周期值存儲(chǔ)在三級(jí)周期寄存器中。
在560,在從定時(shí)控制器接收到寬度更新計(jì)數(shù)器寫(xiě)信號(hào)時(shí),通過(guò)從次級(jí)寬度寄存器獲取編程寬度值,來(lái)用編程寬度值加載遞減計(jì)數(shù)器。寬度更新計(jì)數(shù)器信號(hào)和三級(jí)周期寄存器寫(xiě)信號(hào)在時(shí)間域上是相同的。在一些實(shí)施例中,基于分別從狀態(tài)機(jī)和遞減計(jì)數(shù)器接收的狀態(tài)信號(hào)和EXPIRE信號(hào),生成三級(jí)周期寄存器寫(xiě)信號(hào)。在570,按每個(gè)時(shí)鐘循環(huán)對(duì)加載的編程寬度值遞減計(jì)數(shù),并當(dāng)遞減計(jì)數(shù)器達(dá)到零時(shí),產(chǎn)生終止寬度信號(hào)。此外,生成計(jì)數(shù)寬度信號(hào),直到產(chǎn)生終止寬度信號(hào)為止。
在580,在產(chǎn)生終止寬度信號(hào)時(shí)并在從定時(shí)控制器接收到周期更新計(jì)數(shù)器信號(hào)時(shí),將次級(jí)周期值加載到遞減計(jì)數(shù)器。在590,對(duì)加載的次級(jí)周期值遞減計(jì)數(shù),直到遞減計(jì)數(shù)器達(dá)到零為止,并生成終止周期信號(hào)。此外,生成計(jì)數(shù)周期信號(hào),直到產(chǎn)生終止周期信號(hào)為止。在這些實(shí)施例中,使用狀態(tài)信號(hào)連同EXPIRE信號(hào)來(lái)生成與當(dāng)前PWM信號(hào)相關(guān)聯(lián)的終止周期和寬度信號(hào)。狀態(tài)信號(hào)包括當(dāng)前PWM信號(hào)的邊界信息。同樣在這些實(shí)施例中,基于狀態(tài)信號(hào),生成寬度更新和周期更新計(jì)數(shù)器信號(hào)。
在592,基于產(chǎn)生的終止周期和寬度信號(hào)生成PWM信號(hào)。在一些實(shí)施例中,生成配置信號(hào),以使該配置信號(hào)能生成PWM波形的反。在這些實(shí)施例中,基于配置信號(hào)以及終止周期和寬度信號(hào)生成PWM信號(hào)。對(duì)于從用戶(hù)程序通過(guò)DSP核接收的下一編程周期和寬度值,上述方法500自身重復(fù)。
雖然方法500包括在該示范實(shí)施例中串行排列的框510-592,但是本主題的其他實(shí)施例也可使用多個(gè)處理器或組織兩個(gè)或更多個(gè)虛擬機(jī)或子處理器的單個(gè)處理器來(lái)執(zhí)行兩個(gè)或更多個(gè)并行的框。此外,再一些實(shí)施例可以作為兩個(gè)或更多個(gè)特定互連的硬件模塊來(lái)實(shí)現(xiàn)這些框,硬件模塊具有在這些模塊之間和通這些模塊通信的相關(guān)控制和數(shù)據(jù)信號(hào),或作為專(zhuān)用集成電路的一部分來(lái)實(shí)現(xiàn)。因此,該示范流程圖可應(yīng)用于軟件、固件和/或硬件實(shí)現(xiàn)。
本文所述的PWM波形發(fā)生器、系統(tǒng)和方法的各種實(shí)施例一般可應(yīng)用于生成具有期望周期和寬度值組合的無(wú)失真且可靠的PWM信號(hào)。本發(fā)明主題的PWM波形發(fā)生器對(duì)于數(shù)字信號(hào)處理器(DSP)來(lái)說(shuō)是外圍裝置,它可基于實(shí)時(shí)地改變周期和寬度值。上述的PWM波形發(fā)生器高度適用于其中DSP需要生成無(wú)失真PWM信號(hào)的關(guān)鍵實(shí)時(shí)應(yīng)用。而且,上述技術(shù)生成了具有一個(gè)時(shí)鐘循環(huán)寬度和兩個(gè)時(shí)鐘循環(huán)周期的最高可達(dá)頻率的高速PWM波形。這還允許最高速率的周期和寬度更新。
上述說(shuō)明用于說(shuō)明性而非限制性目的。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),顯然還有許多其他實(shí)施例。因此,本發(fā)明的范圍應(yīng)由所附權(quán)利要求以及這些權(quán)利要求授權(quán)的等效項(xiàng)的全部范圍來(lái)確定。
權(quán)利要求
1.一種包括PWM波形發(fā)生器[100]的設(shè)備,所述PWM波形發(fā)生器基于從處理器接收的編程周期和寬度值組合的序列及其相關(guān)聯(lián)的初級(jí)周期和初級(jí)寬度更新實(shí)時(shí)地生成可預(yù)測(cè)的脈寬調(diào)制(PWM)信號(hào)。
2.如權(quán)利要求1所述的設(shè)備,其中接收的初級(jí)周期和初級(jí)寬度更新中的每一個(gè)可以發(fā)生在正在生成的當(dāng)前PWM信號(hào)的PWM信號(hào)邊界上或之內(nèi)。
3.如權(quán)利要求1所述的設(shè)備,其中所述PWM波形發(fā)生器包括初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110],其中在從所述處理器接收到所述初級(jí)周期和初級(jí)寬度更新時(shí),分別將接收的周期和寬度值存儲(chǔ)在所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110];分別與所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110]耦合的次級(jí)周期和次級(jí)寬度存儲(chǔ)單元[120和125],其在接收到次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí),從所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110]接收所述周期和寬度值,并將其分別存儲(chǔ)在所述次級(jí)周期和次級(jí)寬度存儲(chǔ)單元[120和125];與所述次級(jí)周期存儲(chǔ)單元[120]耦合的三級(jí)周期存儲(chǔ)單元[130],它基于三級(jí)周期寄存器寫(xiě)信號(hào)從所述次級(jí)周期存儲(chǔ)單元[120]接收所述周期值,并將所述周期值存儲(chǔ)在所述三級(jí)存儲(chǔ)單元[130];與所述次級(jí)寬度存儲(chǔ)單元[125]和所述三級(jí)周期存儲(chǔ)單元[130]耦合的遞減計(jì)數(shù)器[135],它在接收到寬度更新計(jì)數(shù)器信號(hào)時(shí)從所述次級(jí)寬度存儲(chǔ)單元[125]接收所述寬度值,其中所述遞減計(jì)數(shù)器[135]在每個(gè)時(shí)鐘循環(huán)對(duì)加載的寬度值遞減計(jì)數(shù),直到所述遞減計(jì)數(shù)器[135]達(dá)到零為止,其中所述周期值然后從所述三級(jí)周期存儲(chǔ)單元[130]加載到所述遞減計(jì)數(shù)器[135],其中所述遞減計(jì)數(shù)器[135]每一時(shí)鐘循環(huán)遞減計(jì)數(shù),直到它達(dá)到零為止,并且其中所述遞減計(jì)數(shù)器[135]在達(dá)到零時(shí)生成EXPIRE信號(hào);以及與所述遞減計(jì)數(shù)器[135]耦合的末級(jí)輸出波形發(fā)生器[155],它從所述遞減計(jì)數(shù)器[135]接收所述EXPIRE信號(hào),并實(shí)時(shí)地生成所述PWM信號(hào)。
4.如權(quán)利要求3所述的設(shè)備,其中所述PWM波形發(fā)生器[100]還包括與所述遞減計(jì)數(shù)器[135]、末級(jí)輸出波形發(fā)生器[155]和定時(shí)控制器[145]耦合的狀態(tài)機(jī)[140],其中所述狀態(tài)機(jī)[140]從所述遞減計(jì)數(shù)器[135]接收所述EXPIRE信號(hào),并生成狀態(tài)信號(hào)。
5.如權(quán)利要求4所述的設(shè)備,其中所述PWM波形發(fā)生器[100]還包括數(shù)據(jù)總線(xiàn)[170],所述數(shù)據(jù)總線(xiàn)耦合在所述處理器[160]與所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110]之間,以將所述周期和寬度值及其相關(guān)聯(lián)的初級(jí)周期和初級(jí)寬度更新從所述處理器[160]傳送到所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110]。
6.如權(quán)利要求4所述的設(shè)備,其中所述PWM波形發(fā)生器[100]還包括經(jīng)所述數(shù)據(jù)總線(xiàn)[170]和所述遞減計(jì)數(shù)器[135]與所述處理器[160]耦合的定時(shí)控制器[145],它在從所述處理器接收到所述初級(jí)寬度更新時(shí)生成次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào),其中所述定時(shí)控制器[145]基于從所述遞減計(jì)數(shù)器[135]接收的所述EXPIRE信號(hào)以及從所述狀態(tài)機(jī)[140]接收的狀態(tài)值生成三級(jí)周期寄存器[130]寫(xiě)信號(hào),其中所述三級(jí)周期寄存器寫(xiě)信號(hào)是在當(dāng)前PWM信號(hào)邊界處的單個(gè)時(shí)鐘循環(huán)脈沖,其中所述定時(shí)控制器[145]和所述末級(jí)輸出波形發(fā)生器[155]使用所述EXPIRE信號(hào)連同所述狀態(tài)值在內(nèi)部生成終止寬度和終止周期信號(hào),并且其中所述定時(shí)控制器[145]還基于所述終止周期信號(hào)生成寬度更新計(jì)數(shù)器信號(hào),并基于所述終止寬度信號(hào)生成周期更新計(jì)數(shù)器信號(hào)。
7.如權(quán)利要求6所述的設(shè)備,其中所述PWM波形發(fā)生器[100]還包括經(jīng)數(shù)據(jù)總線(xiàn)[170]與所述處理器[160]耦合的配置存儲(chǔ)單元[150],它在通過(guò)所述數(shù)據(jù)總線(xiàn)[170]從所述處理器[160]接收到所述周期和寬度值時(shí)接收控制信號(hào),并輸出配置信號(hào),其中所述末級(jí)輸出波形發(fā)生器[155]基于所述終止周期和寬度信號(hào)以及所述配置信號(hào)生成PWM信號(hào)或所述PWM信號(hào)的反信號(hào)。
8.如權(quán)利要求7所述的設(shè)備,其中所述PWM波形發(fā)生器[100]還包括減法器[115],其耦合在所述初級(jí)周期存儲(chǔ)單元[105]與所述次級(jí)周期存儲(chǔ)單元[120]之間,并還耦合到所述初級(jí)寬度存儲(chǔ)單元[110],其中所述減法器[115]從所述初級(jí)寬度存儲(chǔ)單元[110]接收所述寬度值且從所述初級(jí)周期存儲(chǔ)單元[105]接收所述周期值,并使用接收的周期和寬度值計(jì)算次級(jí)周期值,其中所述三級(jí)存儲(chǔ)單元[130]在從所述定時(shí)控制器接收到所述三級(jí)周期寄存器寫(xiě)信號(hào)時(shí)接收所述次級(jí)周期值,并且其中所述遞減計(jì)數(shù)器在接收到所述周期更新計(jì)數(shù)器信號(hào)時(shí)從所述三級(jí)周期存儲(chǔ)單元接收所述次級(jí)周期值,并輸出對(duì)應(yīng)于所述終止周期信號(hào)的EXPIRE信號(hào)。
9.一種用于基于從處理器[160]接收的編程周期和寬度值組合的序列生成PWM波形的設(shè)備,包括初級(jí)周期存儲(chǔ)單元[105],它在從所述處理器[160]接收到初級(jí)周期存儲(chǔ)單元寫(xiě)信號(hào)時(shí)存儲(chǔ)當(dāng)前編程周期值;初級(jí)寬度存儲(chǔ)單元[110],它在從所述處理器[160]接收到初級(jí)寬度存儲(chǔ)單元寫(xiě)信號(hào)時(shí)存儲(chǔ)當(dāng)前編程寬度值;遞減計(jì)數(shù)器[135],它在達(dá)到零值時(shí)生成EXPIRE信號(hào);狀態(tài)機(jī)[140],它從所述遞減計(jì)數(shù)器[135]接收所述EXPIRE信號(hào),并生成狀態(tài)信號(hào);定時(shí)控制器[145],它從所述處理器[160]接收所述初級(jí)寬度存儲(chǔ)單元寫(xiě)信號(hào),并在接收到所述初級(jí)寬度存儲(chǔ)單元寫(xiě)信號(hào)時(shí)輸出次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào),其中所述定時(shí)控制器[145]基于所述EXPIRE和所述狀態(tài)信號(hào)生成三級(jí)周期寄存器寫(xiě)信號(hào),并且其中所述定時(shí)控制器[145]還基于所述EXPIRE和所述狀態(tài)信號(hào)生成寬度更新計(jì)數(shù)器信號(hào)和周期更新計(jì)數(shù)器信號(hào);次級(jí)寬度存儲(chǔ)單元[125],它在接收到所述次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí),從所述初級(jí)寬度存儲(chǔ)單元[110]接收所述當(dāng)前寬度值;減法器[115],它分別從所述初級(jí)周期存儲(chǔ)單元[105]和所述初級(jí)寬度存儲(chǔ)單元[110]接收所述當(dāng)前周期和寬度值,并輸出次級(jí)周期值;次級(jí)周期存儲(chǔ)單元[120],它在接收到所述次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí),從所述減法器[115]接收所述次級(jí)周期值;三級(jí)周期寄存器[130],它在從所述定時(shí)控制器[145]接收到所述三級(jí)周期寄存器寫(xiě)信號(hào)時(shí),從所述次級(jí)周期存儲(chǔ)單元[120]接收所述次級(jí)周期值,其中所述遞減計(jì)數(shù)器[135]在接收到所述寬度更新計(jì)數(shù)器信號(hào)時(shí)接收所述當(dāng)前寬度值,而在接收到所述周期更新計(jì)數(shù)器信號(hào)時(shí)從所述三級(jí)周期寄存器[130]接收所述次級(jí)周期值,并輸出EXPIRE信號(hào);以及末級(jí)輸出波形發(fā)生器[155],它基于所述EXPIRE信號(hào)和所述狀態(tài)信號(hào)輸出當(dāng)前PWM波形。
10.如權(quán)利要求9所述的設(shè)備,還包括配置寄存器[150],它在輸出所述周期和寬度值時(shí)從所述處理器[160]接收控制信號(hào),并輸出配置信號(hào),其中所述末級(jí)輸出波形發(fā)生器[155]基于所述配置信號(hào)輸出所述PWM波形或其反。
11.如權(quán)利要求10所述的設(shè)備,其中所述末級(jí)輸出波形發(fā)生器[155]生成具有一個(gè)時(shí)鐘循環(huán)的寬度以及兩個(gè)時(shí)鐘循環(huán)的周期的PWM波形。
12.如權(quán)利要求9所述的設(shè)備,還包括總線(xiàn)[170],其耦合在DSP核[160]與所述初級(jí)周期寄存器[105]、所述初級(jí)寬度寄存器[110]以及所述配置寄存器[150]之間,以將所述初級(jí)周期值和所述初級(jí)寬度值從所述DSP核[160]分別傳送到所述初級(jí)周期寄存器[105]和所述初級(jí)寬度寄存器[110]。
13.如權(quán)利要求9所述的設(shè)備,其中所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110]是存儲(chǔ)器映射的寄存器。
14.一種用于生成實(shí)時(shí)無(wú)失真的PWM信號(hào)的DSP片上系統(tǒng)(SoC),包括DSP核[160],它從用戶(hù)程序接收當(dāng)前編程周期和寬度值及其相關(guān)聯(lián)的周期和寬度更新信號(hào);與所述核[160]耦合的數(shù)據(jù)總線(xiàn)[170];與所述數(shù)據(jù)總線(xiàn)[170]耦合的初級(jí)周期和初級(jí)寬度寄存器[105和110],其在從所述DSP核[160]經(jīng)所述數(shù)據(jù)總線(xiàn)[170]分別接收到所述周期和寬度寫(xiě)信號(hào)時(shí),將所述當(dāng)前編程周期和寬度值存儲(chǔ)在所述初級(jí)周期和初級(jí)寬度寄存器[105和110];分別與所述初級(jí)周期和初級(jí)寬度寄存器[105和110]耦合的次級(jí)周期和次級(jí)寬度寄存器[120和125],其在接收到次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí),從所述初級(jí)周期和初級(jí)寬度寄存器[105和110]接收所述當(dāng)前編程周期和寬度值;與所述次級(jí)周期寄存器[120]耦合的三級(jí)周期寄存器[130],它存儲(chǔ)所述PWM信號(hào)循環(huán)的開(kāi)始邊界處的周期值;與所述次級(jí)寬度寄存器[125]和所述三級(jí)周期寄存器[130]耦合的遞減計(jì)數(shù)器[135],它接收所述PWM信號(hào)的開(kāi)始邊界處的當(dāng)前編程寬度值,其中所述遞減計(jì)數(shù)器[135]在達(dá)到零值時(shí)生成EXPIRE信號(hào),其中所述周期值然后從所述三級(jí)周期存儲(chǔ)單元[130]加載到所述遞減計(jì)數(shù)器[135],其中所述遞減計(jì)數(shù)器[135]每一時(shí)鐘循環(huán)遞減計(jì)數(shù),直到它達(dá)到零為止,并且其中所述遞減計(jì)數(shù)器[135]在達(dá)到零時(shí)生成EXPIRE信號(hào);以及與所述遞減計(jì)數(shù)器[135]耦合的末級(jí)輸出波形發(fā)生器[155],它接收所述EXPIRE信號(hào),并生成所述PWM信號(hào)。
15.如權(quán)利要求14所述的DSP SoC,還包括減法器[115],其與所述初級(jí)周期和初級(jí)寬度寄存器[105和110]以及所述次級(jí)周期寄存器[120]耦合,以從所述初級(jí)周期和初級(jí)寬度寄存器[105和110]接收所述當(dāng)前編程周期和編程寬度值,并通過(guò)從所述當(dāng)前編程周期值減去所述當(dāng)前編程寬度值來(lái)生成次級(jí)周期值。
16.如權(quán)利要求15所述的DSP SoC,還包括定時(shí)控制器[145],其耦合到所述數(shù)據(jù)總線(xiàn)[170]、所述遞減計(jì)數(shù)器[135]、所述次級(jí)周期和次級(jí)寬度寄存器[120和125]以及所述三級(jí)周期寄存器[130],以在從所述DSP核[160]經(jīng)所述總線(xiàn)[170]接收到所述寬度寫(xiě)信號(hào)時(shí),生成所述次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào),其中所述定時(shí)控制器[145]接收所述次級(jí)周期值和所述當(dāng)前編程寬度值,并基于所述EXPIRE信號(hào)生成三級(jí)周期寄存器寫(xiě)信號(hào),并且其中所述定時(shí)控制器[145]還基于所述當(dāng)前編程寬度值生成寬度寫(xiě)計(jì)數(shù)器信號(hào),并基于所述次級(jí)周期值生成周期寫(xiě)計(jì)數(shù)器信號(hào)。
17.如權(quán)利要求16所述的DSP SoC,還包括狀態(tài)機(jī)[140],所述狀態(tài)機(jī)耦合到所述定時(shí)控制器[145]、所述遞減計(jì)數(shù)器[135]和所述末級(jí)輸出波形發(fā)生器[155],以從所述遞減計(jì)數(shù)器[135]接收所述EXPIRE信號(hào),并生成狀態(tài)信號(hào),其中所述定時(shí)控制器[145]和所述末級(jí)輸出波形發(fā)生器[155]使用所述EXPIRE信號(hào)和所述狀態(tài)信號(hào)在內(nèi)部生成終止寬度和終止周期信號(hào)。
18.如權(quán)利要求16所述的DSP SoC,其中所述遞減計(jì)數(shù)器[135]在從所述定時(shí)控制器[145]接收到所述寬度寫(xiě)計(jì)數(shù)器信號(hào)時(shí),基于所述當(dāng)前編程寬度值,生成對(duì)應(yīng)于所述終止寬度值的EXPIRE信號(hào),并且其中所述遞減計(jì)數(shù)器[135]在生成所述EXPIRE信號(hào)時(shí),從所述三級(jí)周期寄存器[130]接收所述次級(jí)周期值,并在接收到所述周期寫(xiě)計(jì)數(shù)器信號(hào)時(shí),基于所述次級(jí)周期值,再生成所述EXPIRE信號(hào)。
19.如權(quán)利要求18所述的DSP SoC,還包括配置寄存器[150],其耦合到所述數(shù)據(jù)總線(xiàn)[170]和所述末級(jí)輸出波形寄存器[155],以在輸出所述周期和寬度值時(shí)從所述處理器[160]接收控制信號(hào),并輸出配置信號(hào),其中所述末級(jí)輸出波形發(fā)生器[155]基于所述配置信號(hào)生成所述PWM信號(hào)或所述PWM信號(hào)的反信號(hào)。
20.一種包括片上系統(tǒng)(SoC)的音頻處理器,所述片上系統(tǒng)基于從所述音頻處理器接收的編程周期和寬度值組合的序列及其相關(guān)聯(lián)的周期和寬度更新實(shí)時(shí)地生成可預(yù)測(cè)的脈寬調(diào)制(PWM)信號(hào),其中接收的周期和寬度更新中的每一個(gè)可以在正在生成的當(dāng)前PWM信號(hào)的PWM信號(hào)邊界上或之內(nèi)。
21.如權(quán)利要求20所述的音頻處理器,其中所述SoC包括初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110],其中在從所述音頻處理器接收到所述周期和寬度更新時(shí),分別將接收的周期和寬度值存儲(chǔ)在所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110];次級(jí)周期和次級(jí)寬度存儲(chǔ)單元[120和125],分別耦合到所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110],以在接收到所述寬度更新時(shí),從所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110]接收所述周期和寬度值,并將其分別存儲(chǔ)在所述次級(jí)周期和次級(jí)寬度存儲(chǔ)單元[120和125];與所述次級(jí)周期存儲(chǔ)單元[120]耦合的三級(jí)周期存儲(chǔ)單元[130],它基于三級(jí)周期寄存器寫(xiě)信號(hào)從所述次級(jí)周期存儲(chǔ)單元[120]接收所述周期值,并將所述周期值存儲(chǔ)在所述三級(jí)存儲(chǔ)單元[130];遞減計(jì)數(shù)器[135],其耦合到所述次級(jí)寬度存儲(chǔ)單元[125]和所述三級(jí)周期存儲(chǔ)單元[130],以在接收到所述寬度寫(xiě)計(jì)數(shù)器信號(hào)時(shí),從所述次級(jí)寬度存儲(chǔ)單元[125]接收所述寬度值,其中所述遞減計(jì)數(shù)器[135]在達(dá)到零值時(shí)生成EXPIRE信號(hào);以及末級(jí)輸出波形發(fā)生器[155],其耦合到所述遞減計(jì)數(shù)器[135],以從所述遞減計(jì)數(shù)器接收所述EXPIRE信號(hào),并實(shí)時(shí)地生成所述PWM信號(hào)。
22.如權(quán)利要求21所述的音頻處理器,其中所述初級(jí)周期和初級(jí)寬度存儲(chǔ)單元[105和110]是存儲(chǔ)器映射的寄存器。
23.一種用于實(shí)時(shí)地生成無(wú)失真PWM信號(hào)的微控制器,包括在從所述微控制器核接收到初級(jí)周期存儲(chǔ)單元寫(xiě)信號(hào)時(shí)存儲(chǔ)編程周期值的部件;在從所述微控制器核接收到初級(jí)寬度存儲(chǔ)單元寫(xiě)信號(hào)時(shí)存儲(chǔ)編程寬度值的部件;對(duì)所述周期和寬度值遞減計(jì)數(shù)并生成終止周期信號(hào)和終止寬度信號(hào)的部件;從所述微控制器核接收所述初級(jí)寬度存儲(chǔ)單元寫(xiě)信號(hào)并在存儲(chǔ)所述寬度值時(shí)輸出次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)的部件,其中接收所述初級(jí)寬度存儲(chǔ)單元寫(xiě)信號(hào)的所述部件基于所述終止周期信號(hào)生成三級(jí)周期寄存器寫(xiě)信號(hào),并且其中接收所述初級(jí)寬度存儲(chǔ)單元寫(xiě)信號(hào)的所述部件還基于所述終止周期信號(hào)生成寬度更新計(jì)數(shù)器信號(hào),并基于所述終止寬度信號(hào)生成周期更新計(jì)數(shù)器信號(hào);在接收到所述次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí)接收所述寬度值的部件;接收所述周期和寬度值并從所述周期值減去所述寬度值并且輸出次級(jí)周期值的部件;在接收到所述次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí)接收所述次級(jí)周期值的部件;在接收到所述三級(jí)周期寄存器寫(xiě)信號(hào)時(shí)接收所述次級(jí)周期值的部件;在接收到所述寬度更新計(jì)數(shù)器信號(hào)時(shí)接收所述寬度值且還在接收到所述周期更新計(jì)數(shù)器信號(hào)時(shí)接收所述次級(jí)周期值并且基于接收的寬度值輸出終止寬度信號(hào)并基于所述次級(jí)周期值輸出終止周期信號(hào)的部件;以及基于所述終止周期和寬度信號(hào)輸出所述PWM信號(hào)的部件。
24.如權(quán)利要求23所述的微控制器,還包括從所述微控制器核接收所述周期和寬度值并輸出配置信號(hào)的部件,其中所述末級(jí)輸出波形發(fā)生器[155]基于所述配置信號(hào)生成PWM信號(hào)。
25.一種用于基于從處理器接收的編程周期和寬度值組合的序列實(shí)時(shí)地生成可預(yù)測(cè)脈寬調(diào)制(PWM)信號(hào)的方法。
26.如權(quán)利要求25所述的方法,其中接收的編程周期和寬度寫(xiě)更新組合中的每個(gè)都可發(fā)生在正在生成的當(dāng)前PWM信號(hào)的PWM信號(hào)邊界上或之內(nèi)。
27.如權(quán)利要求26所述的方法,其中生成所述PWM信號(hào)包括接收所述編程周期和寬度值組合的序列及其相關(guān)聯(lián)的初級(jí)周期和寬度寫(xiě)信號(hào);在接收到所述初級(jí)周期寫(xiě)和寬度寫(xiě)信號(hào)時(shí),將所述編程周期和寬度值中的每一個(gè)分別存儲(chǔ)在初級(jí)周期和寬度寄存器;在接收到次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí),通過(guò)從所述初級(jí)寬度寄存器獲取所述編程寬度值將所述編程寬度值存儲(chǔ)到次級(jí)寬度寄存器;通過(guò)從所述編程周期值減去所述編程寬度值來(lái)計(jì)算次級(jí)周期值;在接收到所述次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào)時(shí),將所述次級(jí)周期值存儲(chǔ)到次級(jí)周期寄存器;在接收到三級(jí)周期寄存器寫(xiě)信號(hào)時(shí),將所述次級(jí)周期值存儲(chǔ)到三級(jí)周期寄存器;在接收到所述寬度更新計(jì)數(shù)器信號(hào)時(shí),通過(guò)從所述次級(jí)寬度寄存器獲取所述編程寬度值,來(lái)用所述編程寬度值加載遞減計(jì)數(shù)器;每個(gè)時(shí)鐘信號(hào)對(duì)加載的編程寬度值計(jì)數(shù),以產(chǎn)生終止寬度信號(hào);在產(chǎn)生所述終止寬度信號(hào)時(shí)和在接收到周期更新計(jì)數(shù)器信號(hào)時(shí),將所述次級(jí)周期值加載到所述遞減計(jì)數(shù)器中;每個(gè)時(shí)鐘信號(hào)對(duì)加載的次級(jí)周期值計(jì)數(shù),以產(chǎn)生終止周期信號(hào);以及基于所述終止周期和寬度信號(hào)生成所述PWM信號(hào)。
28.如權(quán)利要求27所述的方法,還包括在接收到控制信號(hào)時(shí)生成配置信號(hào);以及基于所述配置信號(hào)以及所述終止周期和寬度信號(hào),生成所述PWM信號(hào)。
29.如權(quán)利要求27所述的方法,其中根據(jù)寬度定時(shí)信號(hào)對(duì)加載的編程寬度值計(jì)數(shù)以產(chǎn)生所述終止寬度信號(hào)包括加載對(duì)應(yīng)于所述寬度更新計(jì)數(shù)器信號(hào)的所述編程寬度值;以及按每個(gè)時(shí)鐘循環(huán)對(duì)加載的編程寬度值遞減計(jì)數(shù),直到所述遞減計(jì)數(shù)器達(dá)到零為止,并然后產(chǎn)生所述終止寬度信號(hào)。
30.如權(quán)利要求27所述的方法,其中根據(jù)周期定時(shí)信號(hào)對(duì)加載的次級(jí)周期值計(jì)數(shù)以產(chǎn)生所述終止周期信號(hào)包括加載對(duì)應(yīng)于所述周期更新計(jì)數(shù)器信號(hào)的所述編程次級(jí)周期值;及按每個(gè)時(shí)鐘循環(huán)對(duì)加載的次級(jí)周期值遞減計(jì)數(shù),直到所述遞減計(jì)數(shù)器達(dá)到零為止,并然后產(chǎn)生所述終止周期信號(hào)。
31.如權(quán)利要求27所述的方法,還包括在接收到所述初級(jí)寬度寄存器寫(xiě)信號(hào)時(shí),生成所述次級(jí)存儲(chǔ)單元寫(xiě)控制信號(hào);以及基于所述終止周期信號(hào),生成所述三級(jí)周期寄存器寫(xiě)信號(hào)。
全文摘要
一種技術(shù)基于從處理器接收的一個(gè)序列編程周期和寬度值的組合來(lái)提供無(wú)失真且可預(yù)測(cè)的實(shí)時(shí)PWM波形。在一個(gè)示范實(shí)施例中,這通過(guò)如下方式實(shí)現(xiàn)使用兩組寄存器來(lái)存儲(chǔ)周期和寬度值,以及三級(jí)周期寄存器進(jìn)一步存儲(chǔ)具有它們相關(guān)聯(lián)的定時(shí)控制的周期值,以提供可預(yù)測(cè)的實(shí)時(shí)PWM波形。
文檔編號(hào)G06F1/025GK1898866SQ200480038344
公開(kāi)日2007年1月17日 申請(qǐng)日期2004年10月22日 優(yōu)先權(quán)日2003年10月27日
發(fā)明者T·P·林格, S·羅伊 申請(qǐng)人:模擬裝置公司