摘 要: 提出了一種8×4數(shù)字語音混音矩陣模塊方案。模塊基于STC12C5A60S2單片機(jī)和4通道并行D/A轉(zhuǎn)換芯片。給出了模塊軟硬件設(shè)計(jì)方案,討論了模塊實(shí)現(xiàn)中的設(shè)計(jì)難點(diǎn)。實(shí)際驗(yàn)證結(jié)果表明達(dá)到了預(yù)期設(shè)計(jì)目標(biāo)。
關(guān)鍵詞: 數(shù)字混音;音頻電平;閾值
在有線語音指揮調(diào)度系統(tǒng)中根據(jù)需要對(duì)下級(jí)用戶送來的多路語音信號(hào)進(jìn)行混音處理,傳統(tǒng)方法采用矩陣和集成運(yùn)放求和電路實(shí)現(xiàn),存在硬件組成復(fù)雜、占用安裝空間大、抗干擾能力和可靠性差等不足。本方案以宏晶公司生產(chǎn)的新型1T高速單片機(jī)STC12C5A60S2為核心,利用片內(nèi)豐富的A/D資源和輔助的4通道并行D/A轉(zhuǎn)換器構(gòu)成了一個(gè)8×4數(shù)字語音混音矩陣硬件,通過軟件實(shí)現(xiàn)了8路語音信號(hào)的4路混音輸出和動(dòng)態(tài)靜噪功能,具有混音功能設(shè)置靈活、調(diào)試方便等優(yōu)點(diǎn)。
1 總體設(shè)計(jì)方案
總體設(shè)計(jì)框圖如圖1所示,單片機(jī)STC12C5A60S2為控制核心,通過串口接受混音狀態(tài)設(shè)置,通過A/D轉(zhuǎn)換口對(duì)8路輸入緩沖器輸出的語音信號(hào)進(jìn)行采樣,計(jì)算每路輸入語音信號(hào)平均電壓,并與靜噪閾值進(jìn)行比較后,實(shí)時(shí)改寫混音開關(guān)狀態(tài)字實(shí)現(xiàn)混音輸出動(dòng)態(tài)靜噪功能,并根據(jù)改寫后的實(shí)際混音開關(guān)狀態(tài)字進(jìn)行數(shù)字混音計(jì)算后,通過并行總線控制的D/A轉(zhuǎn)換器輸出4路混音信號(hào)。
2 硬件設(shè)計(jì)
模塊硬件組成主要包括:電源、輸入緩沖單元、微控制器、D/A轉(zhuǎn)換及濾波單元、模塊地址設(shè)置單元等。
2.1 電源轉(zhuǎn)換單元
電源轉(zhuǎn)換單元電路原理圖如圖2所示。外部輸入的12 V直流電源,通過AMS公司高性能、低功耗AMS1117線性穩(wěn)壓電源模塊轉(zhuǎn)換為+5 V直流電源,做為單片機(jī)A/D轉(zhuǎn)換器和外加D/A轉(zhuǎn)換器的參考電壓,并增加輸入輸出高頻濾波電路,使輸出紋波電壓進(jìn)一步減小,電壓輸出幅度穩(wěn)定,滿足模塊供電要求。
2.3 微控制器單元
微控制器采用宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī)STC12C5A60S2,該單片機(jī)是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),但速度提高8~12倍[1]。最高工作頻率可達(dá)35 MHz,具有44個(gè)I/O口,每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)20 mA,內(nèi)部還集成有MAX810專用復(fù)位電路,512B EEPROM,1 280 B RAM,60 KB程序存儲(chǔ)器,2路PWM,8路10位高速A/D(250 kS/s),主要針對(duì)電機(jī)控制等強(qiáng)干擾應(yīng)用[3]。另外還具有ISP(在系統(tǒng)可編程)/IPA(在應(yīng)用可編程)功能,無需專用編程器和仿真器,可通過串口(P3.0/P3.1)直接下載用戶程序,方便軟件下載和調(diào)試。
本方案中,STC12C5A60S2單片機(jī)采用外部晶體振蕩器,頻率為24 MHz,通過單片機(jī)串口2接受混音狀態(tài)設(shè)置,8路語音信號(hào)通過P1.0~P1.7口輸入到單片機(jī)進(jìn)行A/D轉(zhuǎn)換;混音處理后的數(shù)字量通過并行總線送給TLC7226 D/A轉(zhuǎn)換器,經(jīng)D/A轉(zhuǎn)換后輸出4路混音信號(hào)。
2.4 D/A轉(zhuǎn)換單元
D/A轉(zhuǎn)換單元采用TI公司生產(chǎn)的TLC7226CDW電壓輸出型D/A轉(zhuǎn)換器,TLC7226采用CMOS工藝,內(nèi)部設(shè)有控制邏輯單元、4個(gè)并行D/A轉(zhuǎn)換器和輸出緩沖器[2]。本方案中,單片機(jī)與TLC7226連接如圖4所示。
3.2.1 動(dòng)態(tài)靜噪原理
計(jì)算在極短時(shí)間內(nèi)采樣值的平均值與靜噪門限進(jìn)行比較,在門限值之下的信號(hào)認(rèn)為是噪聲,不參與混音計(jì)算,在門限值之上的信號(hào)則認(rèn)為是語音信號(hào),參與混音計(jì)算,這時(shí)雖然噪聲和語音一起混音后輸出,但由于聲音的屏蔽效應(yīng),噪聲可以忽略[3],從而實(shí)現(xiàn)混音動(dòng)態(tài)靜噪功能。
3.2.2 采樣值處理
語音信號(hào)電壓采樣頻率為8 kHz,為了實(shí)現(xiàn)混音動(dòng)態(tài)靜噪功能,通過計(jì)算在極短時(shí)間內(nèi)語音信號(hào)電壓所有采樣值的平均值來表征語音信號(hào)的強(qiáng)弱。由于采樣時(shí)間極短,人耳感覺不到時(shí)間差異。如將采樣時(shí)間t取為4 ms,采樣點(diǎn)數(shù)N=0.004×8 000=32。
3.2.4軟件時(shí)間開銷估算
A/D轉(zhuǎn)換時(shí)間開銷:STC12C5A60S2單片機(jī)內(nèi)部A/D轉(zhuǎn)換器模塊使用內(nèi)部RC振蕩器時(shí)鐘,5 V單片機(jī)內(nèi)部RC振蕩器時(shí)鐘頻率常溫下為11~17 MHz,A/D轉(zhuǎn)換器最快轉(zhuǎn)換速度為90個(gè)時(shí)鐘周期,所以每路A/D轉(zhuǎn)換所需時(shí)間為:5.3~8.2 μs,8路A/D轉(zhuǎn)換所需時(shí)間為:42.4~65.6 μs。
其他時(shí)間開銷:STC12C5A60S2單片機(jī)采用24 MHz外部石英晶體時(shí),執(zhí)行1條單周期指令所需時(shí)間為0.042 μs,采樣值處理、動(dòng)態(tài)靜噪控制、數(shù)字混音計(jì)算及D/A輸出控制總計(jì)約1 000條單周期指令,其他時(shí)間開銷總計(jì)約:0.042 μs×1 000=42 μs。
最大時(shí)間開銷總計(jì):65.6 μs+42 μs=107.6 μs<125 μs。
3.3 串口通信模塊
串口2設(shè)置為工作模式3,模塊作為從機(jī)與控制主機(jī)進(jìn)行通信,模塊地址通過4位撥碼開關(guān)進(jìn)行設(shè)置,模塊主要完成接收和保存4路混音狀態(tài)設(shè)置字,程序流程圖如圖7所示。
4 實(shí)驗(yàn)結(jié)果與結(jié)論
為了驗(yàn)證設(shè)計(jì)方案,設(shè)計(jì)制作了模塊PCB板,并編制相關(guān)軟件進(jìn)行了調(diào)試和實(shí)驗(yàn)。通過電腦模擬控制主機(jī)與模塊進(jìn)行主從通信,發(fā)送4字節(jié)混音設(shè)置狀態(tài)字,實(shí)驗(yàn)結(jié)果表明,按照預(yù)定協(xié)議能夠進(jìn)行可靠通信,可以正確地完成4路混音輸入狀態(tài)設(shè)置。
在動(dòng)態(tài)靜噪控制時(shí),在每路語音信號(hào)平均電壓(RMS值)與靜噪門限進(jìn)行比較后,改變混音開關(guān)狀態(tài)時(shí)需要一定的時(shí)間延遲。當(dāng)語音信號(hào)在超過門限電平到混音開關(guān)閉合要有一定的延時(shí)Th。Th太長會(huì)造成語音的起始音素被切除,但Th太短,任何幅度超過靜噪門限值的突發(fā)短暫干擾都會(huì)立刻打開混音開關(guān)并將這一干擾混音后輸出,破壞靜音效果,為了盡可能地吸收這類干擾又不至于造成起始音素丟失,Th可在0.5~4 ms之間選擇。當(dāng)語音信號(hào)在低于門限電平到混音開關(guān)斷開也要有一定的延時(shí)Tb。由于語音信號(hào)動(dòng)態(tài)范圍大,講話時(shí)又隨著語氣的變化而起伏停頓,因此Tb太短會(huì)造成語音的斷續(xù),影響語音混音質(zhì)量。Tb太長,則語音停頓時(shí)噪聲拖尾,同樣影響混音質(zhì)量。為了兼顧這兩方面,Tb值可在0.5~2 s之間選取。
通過調(diào)試和實(shí)驗(yàn),4路混音輸出每路均能夠正確地按照預(yù)設(shè)狀態(tài)字從8路語音輸入中選擇指定語音信號(hào)進(jìn)行混音后輸出,取得了滿意的混音效果,而且每路混音輸入在混音過程中均能實(shí)現(xiàn)動(dòng)態(tài)靜噪功能,驗(yàn)證了混音算法和動(dòng)態(tài)靜噪控制的正確性。
本文根據(jù)某有線語音指揮調(diào)度系統(tǒng)研制需要,設(shè)計(jì)了一種基于STC12C5A60S2單片機(jī)的8×4數(shù)字語音混音矩陣方案,并制作實(shí)物進(jìn)行了調(diào)試和驗(yàn)證。驗(yàn)證結(jié)果表明:方案設(shè)計(jì)合理可行,研制的模塊實(shí)物體積小、成本低,具有硬件電路簡單、抗干擾能力強(qiáng)、混音功能設(shè)置靈活、調(diào)試方便等優(yōu)點(diǎn),具有較高的性價(jià)比和實(shí)用價(jià)值。
參考文獻(xiàn)
[1] STC12C5A60S2中文手冊(cè)完全版.STC官方網(wǎng)站:WWW.STCMCU.COM.
[2] TEXAS INSTRUMENTS.TLC7226C Quadruple 8-bit Digital-TO-Analog Converters Data Sheet.SLAS060F-January 1995-Revised April,2007.
[3] 丁光亮,楚紀(jì)正,王琦.數(shù)字信號(hào)音頻電平的算法研究[J].通信技術(shù)2010(7):150-153.
[4] 黃梅,宏玫,盧揚(yáng),等.數(shù)字混音模型的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì)2010,31(16):3625-3626.