專利名稱:聲音產生器的制作方法
技術領域:
本發明是有關于一種聲音產生器,且特別是有關于一種結合傳統數字模擬轉換器(DAC)及傳統脈寬調制器(PWM),無須使用傳統價格昂貴的乘法器,并利用分時方法及調制原理,來達到具有模擬乘法器之功能及擁有數字電路的穩定性的聲音產生器。
在傳統的可編程序聲音產生器(Programable Sound Generator)中,至少需要一個乘法器將其基本波形乘上包絡波(envelope)來模擬樂器或制造特殊音效、控制音量大小。但是在消費性產品或集成電路(IC)上,數字乘法器電路計算非常龐大、復雜且價格昂貴,而模擬乘法器需經特殊制程(模擬制程比純數字制程復雜很多,又貴、交期又慢),且易受偏壓、溫度及制程的變化影響很大,故不適合量產。然而以上的應用皆屬于音域范圍(20Hz~20KHz),亦即人耳所能聽到的聲音頻率范圍內,例如31.25KHz是人類所無法聽到的頻率。
請參照
圖1,其繪示的是習知一種聲音產生器的方框圖。聲音產生器10包括一乘法器12及一數字模擬轉換器(DAC)14。乘法器12用以直接接收第一運算元數字訊號SGN1及第二運算元數字訊號SGN2并進行乘法運算,藉以得到并輸出一數字合成聲音訊號MDIN。數字模擬轉換器14接收此數字合成聲音訊號MDIN,用以將此數字合成聲音訊號MDIN轉換成一模擬合成聲音輸出訊號Aout。
請參照圖2,其繪示的是習知另一種聲音產生器的方框圖。聲音產生器20包括一乘法器22及一脈寬調制器(Pulse Width Modulator)24。乘法器22用以直接接收第一運算元數字訊號SGN1及第二運算元數字訊號SGN2并進行乘法運算,藉以得到并輸出一數字合成聲音訊號MDIN。脈寬調制器24接收此數字合成聲音訊號MDIN,用以將此數字合成聲音訊號MDIN轉換成一模擬合成聲音輸出訊號Aout。
由上述習知圖1與圖2的結構可看出,其差別在于圖1的數字模擬轉換器14與圖2的脈寬調制器24。換言之,圖1與圖2只是訊號轉換方法有所不同,亦即圖1系將輸出訊號以高度來表示,而圖2系將輸出訊號以寬度來表示,實際上,所得到的輸出結果在音域范圍(20Hz~20KHz)人類的感覺是一樣的。
由于習知聲音產生器10與20都必須使用乘法器12與22來模擬樂器或制造特殊音效、控制音量大小等,然而若是使用數字乘法器,其電路非常龐大、復雜且價格昂貴,若是使用模擬乘法器,則因其需經特殊制程,且易受偏壓、溫度及制程的變化影響很大,故不適合量產。因此,不論是使用數字乘法器或模擬乘法器來達到合成聲音的效果,都有其缺點存在。
有鑒于此,本發明提出一種聲音產生器,包括第一運算元同步暫存器、第二運算元同步暫存器、分時乘法器及數字模擬轉換器。上述第一運算元同步暫存器接收第一運算元數字訊號,以輸出第一運算元同步數字訊號數值。第二運算元同步暫存器接收第二運算元數字訊號,以輸出第二運算元同步數字訊號數值。分時乘法器接收第一運算元同步數字訊號數值及第二運算元同步數字訊號數值,利用脈寬調制法,以第二運算元同步數字訊號的數值來決定第一運算元同步數字訊號之訊號寬度,以輸出數字合成聲音訊號。數字模擬轉換器用以接收分時乘法器輸出之數字合成聲音訊號,并將此數字合成聲音訊號轉換成模擬合成聲音輸出訊號。
本發明的分時乘法器不同于一般乘法器,其系由同步計數器、比較器及混合器所組成。上述同步計數器用以輸出同步訊號至第一運算元同步暫存器及第二運算元同步暫存器中,藉以使第一運算元同步暫存器及第二運算元同步暫存器同步產生第一運算元同步數字訊號與第二運算元同步數字訊號。比較器用以比較第二運算元同步暫存器的值與同步計數器的值,以輸出一脈沖訊號。混合器接收此脈沖訊號與第一運算元同步數字訊號,并以此脈沖訊號來改變送至數字模擬轉換器之第一運算元同步數字訊號的訊號寬度。其中,結合上述比較器、同步計數器及第二運算元同步暫存器相當于一脈寬調制器。
因此,本發明所提出的聲音產生器,系利用分時方法及調制原理,使數字模擬轉換器具有模擬乘法器的功能,電路非常小、簡單且便宜,同時擁有數字電路的穩定性,不像傳統的模擬乘法器會受偏壓、溫度及制程的變化影響很大。
為使本發明的上述和其他目的、特征、和優點能更明顯易懂,下文特舉較佳實施例,并配合附圖,作詳細說明如下
附圖簡要說明圖1繪示的是習知一種聲音產生器的方框圖;圖2繪示的是習知另一種聲音產生器的方框圖;圖3繪示的是依照本發明一較佳實施例的一種聲音產生器的方框圖;以及圖4繪示的是本發明之聲音訊號的個別波形及其合成示意圖。
實施例請參照圖3與圖4,圖3繪示的是依照本發明一較佳實施例的一種聲音產生器的方框圖;以及圖4繪示的是本發明的聲音訊號的個別波形及其合成示意圖。
本發明的聲音產生器30包括第一運算元(operand)同步暫存器32、第二運算元同步暫存器34、分時乘法器36及傳統的數字模擬轉換器38。第一運算元同步暫存器32接收一第一運算元數字訊號SGN1,用以將要作乘法的二進位數值(第一運算元)經同步后,送出一第一運算元同步數字訊號OP1至分時乘法器36中。第二運算元同步暫存器接收一第二運算元數字訊號SGN2,用以將要作乘法的另一個二進位數值(第二運算元)經同步后,送出一第二運算元同步數字訊號OP2至分時乘法器36中。分時乘法器36用以接收第一運算元同步數字訊號OP1及第二運算元同步數字訊號OP2,并利用脈寬調制法(Pulse Width Modulation),以第二運算元同步數字訊號OP2的值來決定第一運算元同步數字訊號OP1送至數字模擬轉換器38的時間(訊號寬度),來達成乘法的效果。數字模擬轉換器38用以直接接收分時乘法器36的輸出結果例如數字合成聲音訊號MDIN,并將此數字合成聲音訊號MDIN轉換成電流或電壓形式的模擬合成聲音輸出訊號Aout。
上述中所提及的分時乘法器36,系由同步計數器40、比較器42及混合器44所組成。同步計數器40用以輸出其本身的計數值給比較器42,并產生同步訊號SYNC給第一運算元同步暫存器32與第二運算元同步暫存器34,藉以使第一運算元同步暫存器32及第二運算元同步暫存器34同步產生第一運算元同步數字訊號OP1與第二運算元同步數字訊號OP2。比較器42用以將第二運算元同步暫存器34的值與同步計數器40的值作比較,若第二運算元同步暫存器34的值大于同步計數器40的值,則比較器42會輸出一高電位的脈沖訊號LG,反之若第二運算元同步暫存器34的值等于或小于同步計數器40的值,則比較器42會輸出一低電位的脈沖訊號LG。其中,結合上述比較器42、同步計數器40及第二運算元同步暫存器34,就是一個完整的脈寬調制器(PWM)。混合器44可包括一組“與”門(ANDgate),用以接收比較器42輸出的脈沖訊號LG與第一運算元同步數字訊號OP1,并且依據脈沖訊號LG(亦即PWM的輸出值),改變送至數字模擬轉換器38中的第一運算元同步數字訊號OP1的時間(訊號寬度)。
本發明的工作原理如下所述。數字模擬轉換器38的輸出為模擬合成聲音輸出訊號Aout,其系根據數字合成聲音訊號MDIN的數字數值變成電壓或電流,每當數字合成聲音訊號MDIN變化一次,模擬合成聲音輸出訊號Aout就會變化一次。若數字合成聲音訊號MDIN與同步訊號SYNC或取樣訊號同步(例如31.25KHz),則數字合成聲音訊號MDIN及模擬合成聲音輸出訊號Aout最快也只是在32us(1/31.25KHz)變化一次。當數字合成聲音訊號MDIN一直為固定值時(例如系為最大值FF),則模擬合成聲音輸出訊號Aout也會一直為固定值(輸出電壓或電流最大值Vomax或Iomax)。若我們在32us之內分256階也就是每一階占125ns(32us/256=125ns),用一個八位數值的第二運算元同步數字訊號OP2來控制數字合成聲音訊號MDIN固定值的有效時間(duty,也就是在32us之內有輸出值是占多少時間,非有效時間輸出為零,MDIN=OP1乘以LG),也就控制模擬合成聲音輸出訊號Aout固定值有效時間。例如當OP1一直為固定值,例如最大值255,OP2=10,則Aout就會輸出固定值(電壓或電流最大值Vomax或Iomax)1250ns(10*125ns),其余30750ns(32us-1250ns)輸出為零。或,例如OP2=60,則Aout就會輸出固定值(電壓或電流最大值Vomax或Iomax)7500ns(60*125ns),其余24.5us(32us-7.5us)輸出為零。上述乃一般傳統的PWM輸出。
舉例來說,當OP1一直為另一固定值時(例如為中間值128),則Aout也會在有效時間內一直為固定值(輸出電壓或電流中間值128/256Vomax或128/256Iomax)。例如OP2=10,則Aout就會輸出固定值(電壓或電流中間值128/256Vomax或128/256Iomax)1250ns(10*125ns),其余30750ns(32us-1250ns)輸出為零。或,例如OP2=60,則Aout就會輸出固定值(電壓或電流中間值128/256Vomax或128/256Iomax)7500ns(60*125ns),其余24.5us(32us-7.5us)輸出為零,這也是PWM輸出只是它的輸出電壓或電流被箝制在電壓或電流中間值128/256Vomax或128/256Iomax。
又,當OP1一直為另一固定值時(例如為5),則Aout也會在有效時間內一直為固定值(5/256Vomax或5/256Iomax)。例如OP2=10,則Aout就會輸出固定值(5/256Vomax或5/256Iomax)1250ns(10*125ns),其余30750ns(32us-1250ns)輸出為零。或,例如OP2=60,則Aout就會輸出固定值(5/256Vomax或5/256Iomax)7500ns(60*125ns),其余24.5us(32us-7.5us)輸出為零,這也是PWM輸出只是它的輸出電壓或電流被箝制在5/256Vomax或5/256Iomax。
本發明就是傳統數字模擬轉換器(DAC)及傳統脈寬調制器(PWM)的結合體,以PWM的觀點來看它的訊號輸出MDIN或Aout大小是受OP1控制,也就是傳統PWM的輸出驅動能力受OP1控制,而達成OP2*OP1的效果。而以DAC的觀點來看它的訊號輸出MDIN或Aout有效時間(大小)是受OP2控制,也就是OP1*OP2。又因PWM調制的頻率是31,25KHz已超出音域范圍(20Hz~20KHz),是人耳無法聽到的頻率而只能聽到能量累積的變化結果,也就是OP1*OP2的變化結果。因此,本發明在音域范圍是非常小,簡單且便宜的乘法器。
然而如何利用OP2來控制Aout的輸出有效值,將詳述說明如下。
每當此8位的同步計數器40數到0時,就會產生31.25KHz的同步訊號SYNC給第一運算元同步暫存器32及第二運算元同步暫存器34。換言之,時鐘脈沖訊號CKIN的頻率為8MHz(256*31.25KHz)。
第一運算元數字訊號SGN1送至第一運算元同步暫存器32經同步訊號SYNC同步成為第一運算元同步數字訊號OP1,第二運算元數字訊號SGN2送至第二運算元同步暫存器34經同步訊號SYNC同步成為第二運算元同步數字訊號OP2。OP2再跟同步計數器40的值CNT經比較器42相比,若第二運算元同步暫存器34的值OP2大于同步計數器40的值CNT,則比較器42會輸出一高電位的脈沖訊號LG。反之,若第二運算元同步暫存器的值OP2等于或小于同步計數器40的值CNT,則比較器42會輸出一低電位的脈沖訊號LG。
上述脈沖訊號LG就是一個以OP2值來控制寬度的脈沖訊號,此LG再與OP1經混合器44進行“與”門(AND)動作而成為MDIN。舉例來說,例如OP2=1,則LG的寬度為125ns(1*1/8MHz),MDIN在125ns有效時間等于OP1,其余31875ns(32us-125ns)MDIN輸出為零。或,例如OP2=10,則LG的寬度為1250ns(10*1/8MHz),MDIN在1250ns有效時間等于OP1,其余30.75μs(32μs-1.25μs)MDIN輸出為零。或,例如OP2=225,則LG的寬度為31875ns(255*1/8MHz),MDIN在31875ns有效時間等于OP1,其余125ns(32us-31875ns)MDIN輸出為零。
換句話說,控制MDIN的有效時間就是控制Aout,也就是控制音量,也就是做乘法運算。因為Aout是模擬訊號輸出,所以本發明在音域范圍(20Hz~20KHz)具有模擬乘法器的功能,也就成為可當乘法器的數字模擬轉換器。此外,除了傳統數字模擬轉換器38外,其余都是純數字電路,所以穩定性佳,非常適合量產。
綜上所述,本發明所提出的聲音產生器,具有以下優點(1)利用分時方法及調制原理,使數字模擬轉換器具有模擬乘法器的功能。
(2)電路非常小,簡單且便宜。
(3)擁有數字電路的穩定性,不易受偏壓、溫度及制程變化的影響。
雖然本發明已以較佳實施例揭露如上,然其并非用以限定本發明,任何熟習此技藝者,在不脫離本發明的精神和范圍內,當可作各種的更動與潤飾,因此本發明的保護范圍當視本發明權利要求所界定者為準。
權利要求
1.一種聲音產生器,其特征在于,該聲音產生器包括一第一運算元同步暫存器,接收一第一運算元數字訊號,以輸出一第一運算元同步數字訊號;一第二運算元同步暫存器,接收一第二運算元數字訊號,以輸出一第二運算元同步數字訊號;一分時乘法器,接收該第一運算元同步數字訊號及該第二運算元同步數字訊號,利用脈寬調制法,以該第二運算元同步數字訊號的值來決定該第一運算元同步數字訊號的訊號寬度,以輸出一數字合成聲音訊號;以及一數字模擬轉換器,用以接收該分時乘法器輸出的該數字合成聲音訊號,并將該數字合成聲音訊號轉換成一模擬合成聲音輸出訊號。
2.如權利要求1所述的聲音產生器,其特征在于,該分時乘法器包括一同步計數器,用以輸出一同步訊號至該第一運算元同步暫存器及該第二運算元同步暫存器中,藉以使該第一運算元同步暫存器及該第二運算元同步暫存器同步產生該第一運算元同步數字訊號與該第二運算元同步數字訊號;一比較器,用以比較該第二運算元同步暫存器的值與該同步計數器的值,以輸出一脈沖訊號;以及一混合器,接收該脈沖訊號與該第一運算元同步數字訊號,并以該比較器輸出的該脈沖訊號來改變送至該數字模擬轉換器的該第一運算元同步數字訊號的訊號寬度。
3.如權利要求2所述的聲音產生器,其特征在于,當該第二運算元同步暫存器的值大于該同步計數器的值時,該比較器會輸出一高電位的該脈沖訊號。
4.如權利要求2所述的聲音產生器,其特征在于,當該第二運算元同步暫存器的值等于/小于該同步計數器的值時,該比較器會輸出一低電位的該脈沖訊號。
5.如權利要求2所述的聲音產生器,其特征在于,結合該比較器、該同步計數器及該第二運算元同步暫存器相當于一脈寬調制器。
6.如權利要求2所述的聲音產生器,其特征在于,該混合器包括一“與”門。
7.如權利要求1所述的聲音產生器,其特征在于,該模擬合成聲音輸出訊號包括一電流形式的該模擬合成聲音輸出訊號。
8.如權利要求1所述的聲音產生器,其特征在于,該模擬合成聲音輸出訊號包括一電壓形式之該模擬合成聲音輸出訊號。
全文摘要
一種聲音產生器,系由第一運算元同步暫存器、第二運算元同步暫存器、分時乘法器及數字模擬轉換器所組成,無須使用傳統價格昂貴的乘法器,利用分時方法及調制原理,使數字模擬轉換器具有模擬乘法器的功能,同時擁有數字電路的穩定性,不像傳統的模擬乘法器會受偏壓、溫度及制程的變化影響很大,而且電路結構非常小、簡單且價格便宜,可達到大量降低成本的目的。
文檔編號G10K15/02GK1266256SQ99103639
公開日2000年9月13日 申請日期1999年3月9日 優先權日1999年3月9日
發明者陳章三 申請人:聯詠科技股份有限公司