發布日期:2022-05-29 點擊率:33
音頻信號發生器是測量聲音信號及處理設備性能指標必不可少的儀器。目前常用的音頻信號發生器普遍由單片機及外圍電路組成,頻率穩定。下面小編為大家介紹音頻信號發生器的設計步驟與過程。
音頻信號發生器設計實例分享:
針對傳統音頻信號發生器的缺點,本文采用一款性價比高、功耗低的ARM Cortex-M4控制芯片,制作了一臺智能音頻信號發生器。該發生器的頻率、幅度連續可調,按步進1 Hz、1 mV線性變化,兼具頻率、幅度穩定的優點;通過PC端控制面板,直接輸入幅度、頻率值,就能快速地得到所需要的音頻信號,精度高;一改信號發生器必須近距離調試的缺點,可通過以太網直接遠距離操控。
1、總體設計
該音頻信號發生器采用模塊化設計,通過調用各個功能模塊,實現主控計算機可遠距離快速控制音頻信號發生器輸出信號的幅度、頻率值。該系統以ARM Cortex-M4為核心。
2、硬件設計
該音頻信號發生器通過主控計算機的控制面板輸入控制幅度、頻率值的指令,通過以太網快速遠距離傳輸到信號發生器,控制數字合成音頻信號的幅度、頻率值,終通過音頻輸出端口輸出所需音頻信號。
2.1控制芯片
控制系統的核心STM32F429是以ARM Cortex-M4為內核的新型微控制器芯片,它的停止模式電流降至100μA(典型值),降低了停止模式的電流消耗,可延長便攜應用電池的壽命,頻率高達180 MHz,擁有市場的性能和圖形處理功能。該芯片包含3個12 bit A/D轉換器,多達24個通道,轉換速率為2.4 MSPS,在掃描模式下,自動轉換在選定的一組模擬輸入中進行;還包括2個12 bit D/A轉換器,可獨立或同時轉換。同時集成了大部分存儲器控制器,可外接一個高速SDRAM作為內存擴充,有很高的性價比。
2.2遠距離控制電路
以太網遠距離控制是整個控制系統中的一個重要部分。該發生器通過以太網與PC連接,操控PC控制面板,按照要求輸入所需的幅度、頻率值,通過以太網把控制命令遠距離地傳輸給音頻信號發生器,達到遠程控制的目的。
該以太網接口芯片DP83848CVV是一個全功能自適應網絡連接速度10/100 Mb/s的單端口物理器件,允許設備使用所需操作電源的小值,提供低功耗性能。該芯片包括一個25 MHz的時鐘輸出,使應用程序含有少的外部器件,進而降低成本;同時支持10BASE-T和100BASE-TX的以太網協議,以確保與其他基于以太網標準解決方案的兼容性和互操作性。
2.3 SDRAM
同步動態隨機存儲器SDRAM與系統總線同步,無等待周期,而且是雙存儲體結構,讀取效率得到成倍提高。SDRAM體積小、速度快、容量大、價格低,是比較理想的內存擴展器件。
該系統采用的SDRAM為MT48LC32M16A2P-7E,它的內存高達256 MB,在時鐘頻率66 MHz、100 MHz、133 MHz之間兼容,所有信號寄存在系統時鐘的上升沿,自動預載,時鐘使能CKE中的停用時鐘提供預充電掉電和自刷新操作,在斷電和自刷新模式下,包括CLK的輸入緩沖區被禁用,提供低待機功耗。對每一行自動刷新的循環周期為64 ms,刷新命令一次對一行有效,發送間隔為7.812 5μs,從而提供無縫、高速、隨機訪問操作。A0~A11作為SDRAM的行地址線,同時A0~A7又復用為列地址線,BA0和BA1作為bank選擇線,應用讀、寫或預充電命令。
信號采樣頻率為48 kHz,每個樣點采用16 bit量化,如果小頻率分辨率為1 Hz,所需查表的大小為48 k×16 bit,共需48 k×16 bit的RAM空間。顯然SDRAM的存儲空間足夠使用,也便于以后該發生器對方波、三角波等波形的擴展。
3、軟件設計
整個系統采用模塊化設計,除主程序外,各功能子程序分別執行PC端輸入控制命令、以太網傳輸、SDRAM內存擴展、正弦查詢表映射、數模轉換等相應功能。
3.1 PC端控制
信號發生器可產生正弦波、方波、三角波等規則波形信號,本信號發生器僅以正弦波為例。
音頻信號發生器的PC控制端采用Java技術,因為它可跨平臺操作,具有卓越的通用性、高效性,所以設計的PC控制端具有界面友好、操作簡單、成本低、容易實現等優點。
JPanel jp0,jp1;
JPanel jp2,jp3;
JLabel j0,j1,j2;
JTextField txt1,txt2;
JButton Bopen,Bclose;
public TianComm(){
jp0=new JPanel();
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel();
j1=new JLabel("頻率(Hz):");
//輸入頻率值,單位為Hz
j2=new JLabel("幅度(mV):");
//輸入幅度值,單位為mV
txt1=new JTextField(10);
txt2=new JTextField(10);
Bopen=new JButton("打開");//打開控制面板
Bclose=new JButton("關閉");//關閉控制面板
…}
對控制界面進行操作時應注意以下事項:
(1)“打開”和“關閉”按鈕分別代表打開和關閉控制端;
(2)頻率以Hz為單位,分辨率為1 Hz,假如頻率為2 000 Hz,就在頻率欄填寫2 000;幅度以mV為單位,分辨率為1 mV,假如需要1 V,則在幅度行輸入1 000,然后按回車鍵即可。
3.2數字合成音頻信號
直接采用數字技術合成正弦音頻信號,不僅在轉換速度上要優于一般電路,在合成精度上也要優于一般振蕩電路,而且具有與標準頻率源相同的頻率準確度和穩定度。輸出信號頻率通常可按十進制數字選擇,能達11位數字的極高分辨力。
信號發生部分由主機產生數字音頻流,通過STM32F429自帶的數模轉換功能獲得所需的模擬信號。在數字音頻處理中,聲音和數據的轉換有多種方式,本設計采用脈沖編碼調制(PCM),不進行壓縮數據便可完成此功能,數據以常見的波形(WAVE)格式保存。關于頻率設置的部分程序如下:
int FreSwitch(uint16_t fre)
{
switch(fre){
case 20:
FreIndex=0;
VS1003_SineTest(2,SIN_SAMPLE_RATE_25600,1);
//20 Hz break;
case 21:
FreIndex=1;
VS1003_SineTest(2,SIN_SAMPLE_RATE_16000,2);
//21 Hz
break;
case 22:
FreIndex=2;
VS1003_SineTest(2,SIN_SAMPLE_RATE_40320,1);
//22 Hz
break;
…}
4、實物調試
整個研究過程通過了模擬試驗及系統軟硬件設計,終實現預期目標。
該信號發生器的截止頻率設定為20 kHz,大于20 kHz的信號都是干擾信號,通過較大幅度的衰減進行濾除,從而保證較小的信號諧波失真。
接通電源后,通過計算機控制信號發生器的信號頻率、幅值等參數,通過以太網把控制命令字傳輸給發生器,發生器對控制字進行周期性掃描,頻率、幅度控制字需要轉換成二進制,傳送到單片機STM32F429,接到命令后通過正弦查詢表映射成數字量信號,通過單片機本身的數模轉換功能即可得到所需的音頻信號。由于輸出后的正弦信號會出現失真現象,需通過濾波器進行濾波,從而得到正確的正弦信號。
通過示波器對設計的音頻信號發生器發出的音頻信號進行采集。
通過測試,本設計實現的音頻信號發生器的基本功能達到了預期效果,其頻率響應為±0.4 dB,失真度控制在0.5%,而傳統音頻信號發生器的失真度在20 Hz~100 Hz時≤0.8%,在100 Hz~20 kHz時≤0.5%。
5、結論
本文設計的音頻信號發生器具有操作簡單、信號穩定、精度高、體積小、便于攜帶等特點,可應用于電聲器件的聽音測試、揚聲器的老化試驗等各種音頻電子測量和控制場合。通過PC控制端直接輸入所需音頻信號的幅度、頻率值,借助以太網遠距離控制,而不必每次親臨現場,也不必每次通過粗調、細調即可達到要求。通過集線器可同時輸出多路相同音頻信號,對多臺相同儀器進行測量。利用數字合成技術合成音頻信號,簡化電路,具有與標準頻率源相同的頻率準確度和穩定度;也可合成方波、三角波等規則波形,只需在PC控制面板上添加信號類型選擇項即可實現硬件的單一化、軟件的多元化,節約成本。
下一篇: PLC、DCS、FCS三大控
上一篇: 使用色差儀測量特殊物