當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]自動語音記錄系統(tǒng)(AVRS)的SOPC設(shè)計與實現(xiàn)

摘  要:本文基于Altera公司的高性能Stratix器件,利用SOPC Builder、DSP Builder、Matlab和Simulink等軟件設(shè)計實現(xiàn)了一種新型的自動語音記錄系統(tǒng)(AVRS),實現(xiàn)了對多路電話的通話進(jìn)行同期監(jiān)控錄音,可廣泛應(yīng)用于需要經(jīng)常性語音記錄的部門。
關(guān)鍵詞:自動語音記錄系統(tǒng);SOPC;Nios;Stratix

1  引言
    目前各行業(yè)對電話進(jìn)行通話錄音變得越來越普遍,如政府機(jī)構(gòu)出于國家安全的原因需要在線錄音監(jiān)控;安全部門對一些重點監(jiān)控對象的往來通信需要錄音和實時監(jiān)聽;責(zé)任重大的政府部門及重要生產(chǎn)部門對有些重要指令需錄音;金融銀行或證券機(jī)構(gòu)及與大宗金錢有關(guān)的交易需要錄音;而一些商務(wù)、服務(wù)領(lǐng)域則把錄音資料作為語音記錄和提高服務(wù)質(zhì)量的一種手段。目前,各行業(yè)使用的電話語音記錄設(shè)備主要包括磁帶式電話語音記錄設(shè)備、基于PC機(jī)的電話語音記錄設(shè)備和基于FLASH芯片的電話語音記錄設(shè)備。這些電話語音記錄設(shè)備由于體積過大或記錄時間較短等缺點在實際應(yīng)用時滿足不了某些用戶的特殊需求,因此亟需一種超大存儲容量、性能可靠和體積小巧的語音記錄設(shè)備。

    針對這種現(xiàn)狀,我們研制了一種新型的自動語音記錄系統(tǒng)(AVRS),它可對多路電話的通話進(jìn)行同期監(jiān)控錄音,將通話內(nèi)容轉(zhuǎn)換為數(shù)字信息,以語音文件形式存儲于硬盤上,并可通過電話檢索方式進(jìn)行查詢,查詢到的語音文件可通過電話直接播出。本系統(tǒng)采用FPGA及大容量的筆記本硬盤,集成度高、存儲信息大,信息可長期保存于硬盤中,文檔管理方便、保密性強(qiáng)。

2  系統(tǒng)結(jié)構(gòu)和功能

    自動語音記錄系統(tǒng)(AVRS)的應(yīng)用結(jié)構(gòu)圖如圖1所示,它通常由PSTN、交換機(jī)、自動語音記錄系統(tǒng)、計算機(jī)和電話機(jī)構(gòu)成。本文所設(shè)計的自動語音記錄系統(tǒng)(AVRS)具有如下功能:
    (1)提供了高密度的解決方案,以分機(jī)并線方式可進(jìn)行多達(dá)4路到64路的通話錄音,支持ADPCM、G.711、G.729壓縮格式,可兼容世界主流交換機(jī)。
    (2)可以提供多通道通話全程實時錄音;提供多種錄音啟動方式,如摘機(jī)控制、連接通話控制或聲音控制等;操作人員可在任何時間啟動監(jiān)聽功能;實時監(jiān)聽對通話雙方及通話質(zhì)量沒有任何影響。
    (3)對于呼叫信息的記錄可以實現(xiàn)在錄制通話語音文件的同時同步記錄呼叫信息,提供完整的呼叫信息記錄,包括主叫號碼、被叫號碼、呼叫方向、通話時間和通話時長等。
    (4)可以實現(xiàn)遠(yuǎn)程監(jiān)控管理的功能,通過預(yù)留的電話遠(yuǎn)程撥入,在語音引導(dǎo)下可實時監(jiān)視所有通道的運行狀態(tài);可以按多種查詢條件(按通道、日期時間、主叫號碼、被叫號碼等)查詢或刪除錄音記錄;可以實現(xiàn)80,000多個通道小時的在線存儲量,錄音記錄除可存儲在自動語音記錄系統(tǒng)(AVRS)中的硬盤上,還可通過設(shè)備上的USB口傳輸?shù)接嬎銠C(jī)中。

3  硬件設(shè)計
    自動語音記錄系統(tǒng)由Stratix EP1S125、Nios軟核處理器、SDRAM、IDE接口筆記本硬盤、PCM編解碼電路、配置器件MAX7128S、LCD顯示模塊、鍵盤、時鐘電路、USB接口電路、電話線接口電路和電源等組成,電路原理框圖如圖2所示。

3.1  Stratix FPGA
    現(xiàn)代大容量、高速度的FPGA一般都內(nèi)嵌有可配置的高速RAM、PLL、LVDS以及硬件乘法累加器等DSP模塊,用FPGA來實現(xiàn)數(shù)字信號處理可以很好地解決并行性和速度問題,而且其靈活的可配置特性,使得FPGA構(gòu)成的DSP系統(tǒng)非常易于修改、易于測試及硬件升級。

    Altera公司于2002年推出了新一代Stratix FPGA,它采用0.13微米和銅工藝制造,1.5V核心電壓,Stratix器件的DSP模塊提供了高于DSP處理器的數(shù)據(jù)處理能力,并且更為靈活和經(jīng)濟(jì)。每一Stratix DSP模塊可提供多達(dá)8個運行在250MHz的并行乘法器,數(shù)據(jù)吞吐能力高達(dá)2GMACS。最大的Stratix器件EP1S125包括28個DSP模塊,可完成高達(dá)224個并行乘法操作,并提供56GMACS的總線數(shù)據(jù)吞吐能力,而傳統(tǒng)的DSP處理器最多僅可同時進(jìn)行8個并行乘法操作,數(shù)據(jù)吞吐量也只有8.8GMACS。除了DSP模塊中的專用乘法器以外,還可利用邏輯單元(LE)實現(xiàn)乘法器和DSP功能。例如,可在Stratix器件中利用大約9600個邏輯單元實現(xiàn)一個256階FIR濾波器。Stratix系列的EP1S120包括大約114,140個邏輯單元,可以容納11個這樣的濾波器。每一濾波器可運行在200MHz,這意味著通過利用LE可提供563GMACS的器件總吞吐能力。結(jié)合DSP模塊提供的56GMACS數(shù)據(jù)吞吐能力,Stratix器件可提供高達(dá)620GMACS的數(shù)據(jù)總吞吐能力,因此Stratix器件適用于大數(shù)據(jù)量數(shù)字信號處理[1]。

    本系統(tǒng)的設(shè)計中采用了Stratix EP1S125,利用它可完成對多通道通話全程實時監(jiān)測、錄音和存儲等功能。

3.2  Nios軟核處理器
    Nios軟核處理器是一種流水線技術(shù)、單指令流的32位RISC內(nèi)嵌處理器,其性能超過200 DMIPS。它針對Altera的可編程邏輯器件和片上可編程系統(tǒng)的設(shè)計思想做了相應(yīng)優(yōu)化。作為一種可配置的通用RISC處理器,它可以與用戶自定義邏輯結(jié)合構(gòu)成SOC系統(tǒng),并下載到Altera的可編程器件中去。32位Nios軟核處理器結(jié)合外部閃存以及大容量存儲器,可構(gòu)成一個功能強(qiáng)大的32位嵌入式處理器系統(tǒng),其大部分指令可以在一個時鐘周期內(nèi)完成。Nios軟核處理器家族包括32位和16位兩種版本的體系結(jié)構(gòu)。

3.3  PCM編解碼電路
    本系統(tǒng)設(shè)計中的PCM編解碼電路采用了IDT821064編解碼芯片,它提供了4個獨立模擬音頻通道,適合用于企業(yè)和運營商級的網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、接入網(wǎng)絡(luò)市場中的通信設(shè)備,具備完善的可編程性而無需外部組件,設(shè)計中根據(jù)所需要錄音的通道數(shù)可以通過增加相應(yīng)的IDT821064即可滿足要求。IDT821064可進(jìn)行阻抗匹配、音調(diào)生成、混合線圈平衡響應(yīng)修正和增益設(shè)定,可依據(jù)系統(tǒng)結(jié)構(gòu)選擇適當(dāng)?shù)奈⑻幚砥鹘涌冢∕PI)或通用通信接口(GCI),它采用64腳的PQFP封裝[2]。

    設(shè)計中Nios軟核需要針對每個IDT821064提供GCI接口控制信號,考慮到控制指令一般只發(fā)送一兩次,沒有必要占用過多的資源,并且為了方便調(diào)試,選用了可以獨立操作的PIO,通過軟件對它們置位和復(fù)位來發(fā)送控制命令。

    圖3是GCI接口時序圖,DCL是數(shù)據(jù)時鐘信號,F(xiàn)SC是幀同步信號,DD/DU是數(shù)據(jù)輸出/輸入信號。根據(jù)此時序圖,我們可以編寫相關(guān)HDL代碼實現(xiàn)PCM串行數(shù)據(jù)的接收和發(fā)送。

3.4  IDE硬盤的控制
    IDE接口的硬盤驅(qū)動器提供了兩種數(shù)據(jù)傳輸模式:PIO模式和DMA模式。由于PIO模式控制相對容易,提供了一種編程控制輸入輸出的快速傳輸方法。該模式采用了高速的數(shù)據(jù)塊I/O,以扇區(qū)為單位,用中斷請求方式與CPU進(jìn)行批量數(shù)據(jù)交換。在扇區(qū)讀寫操作時,一次按16位長度通過內(nèi)部的高速PIO數(shù)據(jù)寄存器實現(xiàn)傳輸。通常情況下,數(shù)據(jù)傳輸以扇區(qū)為單位,每傳輸一扇區(qū)數(shù)據(jù)產(chǎn)生一個中斷。

    如果CPU要對硬盤進(jìn)行寫數(shù)據(jù)操作,首先CPU把必要的參數(shù)寫入對應(yīng)的地址寄存器,等待DRDY有效,然后將操作碼寫入命令寄存器,同時驅(qū)動器設(shè)置狀態(tài)寄存器的DRQ位,表示準(zhǔn)備好接收數(shù)據(jù),CPU通過數(shù)據(jù)寄存器將數(shù)據(jù)寫入扇區(qū)緩沖區(qū),當(dāng)扇區(qū)緩沖區(qū)填滿后,驅(qū)動器清除DRQ位,并置位BSY。驅(qū)動器將扇區(qū)緩沖區(qū)中的數(shù)據(jù)寫入磁盤,當(dāng)寫盤結(jié)束,清除BSY位,發(fā)中斷請求信號INTRQ,CPU接收到中斷信號后,讀驅(qū)動器狀態(tài)寄存器,同時將中斷信號INTRQ清除。

    如果CPU要對硬盤進(jìn)行讀數(shù)據(jù)操作,首先將參數(shù)寫入地址寄存器和特性寄存器(如果需要),然后把命令碼寫入命令寄存器,命令開始執(zhí)行。這時驅(qū)動器置狀態(tài)寄存器中的BSY=1,同時將硬盤上指定扇區(qū)內(nèi)的數(shù)據(jù)送入扇區(qū)緩沖區(qū)。當(dāng)扇區(qū)緩沖區(qū)準(zhǔn)備好數(shù)據(jù)后,置位DRQ,清BSY,發(fā)中斷請求信號INTRQ。CPU檢測到中斷后,讀取狀態(tài)寄存器,測試ERR位,若等于1則轉(zhuǎn)入出錯處理,否則若DRQ位為1,CPU從扇區(qū)緩沖區(qū)中讀取數(shù)據(jù),數(shù)據(jù)讀完后,驅(qū)動器復(fù)位DRQ位,然后驅(qū)動器重新設(shè)置BSY位[3]。

4  軟件設(shè)計
    軟件設(shè)計包括配置生成SOPC系統(tǒng)、嵌入式操作系統(tǒng)的移植、語音壓縮算法的設(shè)計、應(yīng)用級代碼編寫及調(diào)試等部分。下面對其作簡單介紹。

4.1  配置生成SOPC系統(tǒng)
    SOPC是SoC技術(shù)和可編程邏輯技術(shù)結(jié)合的產(chǎn)物,是一種特殊的嵌入式系統(tǒng)。首先它是SoC,即可以由單個芯片完成整個系統(tǒng)的主要邏輯功能;其次,它還是可編程系統(tǒng),具有靈活的設(shè)計方式,可裁減、可擴(kuò)充、可升級,并具備一定的系統(tǒng)可編程功能。SOPC 設(shè)計技術(shù)涵蓋了嵌入式系統(tǒng)設(shè)計技術(shù)的全部內(nèi)容,包括:以處理器和實時多任務(wù)操作系統(tǒng)(RTOS)為中心的軟件設(shè)計技術(shù)、以PCB和信號分析為基礎(chǔ)的高速電路設(shè)計技術(shù)、軟硬件協(xié)同設(shè)計技術(shù)。

    本文所設(shè)計的自動語音記錄系統(tǒng)(AVRS)是建立在以Stratix器件EP1S125基礎(chǔ)上的SOPC,在QuartusII中我們利用SOPC Builder工具來配置生成片上系統(tǒng)。SOPC Builder是一個功能強(qiáng)大的基于圖形界面的片上系統(tǒng)的定義和定制工具,可以在短時間內(nèi)完成用戶定制的SOPC設(shè)計。根據(jù)應(yīng)用的需要,從SOPC Builder庫中選擇IP模塊、存儲器、外圍接口和處理器,并且配置生成一個高集成度的嵌入式系統(tǒng)。

    在配置生成片上系統(tǒng)時,SOPC Builder會自動產(chǎn)生一些必需的仲裁邏輯來協(xié)調(diào)系統(tǒng)中各個部件的工作。我們首先將系統(tǒng)的工作頻率設(shè)為50MHz,根據(jù)系統(tǒng)的硬件要求可以得到如圖4所示的系統(tǒng)配置圖,利用SOPC Builder編譯生成包括C/C++語言頭文件、外圍接口驅(qū)動的諸多文件,極大地方便了后續(xù)應(yīng)用軟件的開發(fā)。

4.2  μC/OS-II操作系統(tǒng)移植
    μC/OS-II是一種源代碼公開、結(jié)構(gòu)小巧、具有可剝奪實時內(nèi)核的實時操作系統(tǒng)。其內(nèi)核提供任務(wù)調(diào)度與管理、時間管理、任務(wù)間同步與通信、內(nèi)存管理和中斷服務(wù)等功能。μC/OS-II適合于小型控制系統(tǒng),具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點,加之它穩(wěn)定、可靠,現(xiàn)已被廣泛應(yīng)用在航空、醫(yī)療器械、工業(yè)控制等領(lǐng)域[4]。

     μC/OS-II設(shè)計時就充分考慮到在不同平臺上移值的需求,將同平臺相關(guān)的部分局限在一個很小范圍內(nèi),對于不同的平臺只需對下面一些函數(shù)和宏進(jìn)行重寫。

    OS_ENTER_CRITICAL和OS_ENTER_CRITICAL:這是兩個宏,用來進(jìn)行臨界段保護(hù)。在本設(shè)計中使用匯編代碼關(guān)中斷來實現(xiàn)。

OS_TASK_SW:這是一個用于進(jìn)行任務(wù)切換的宏。本設(shè)計中利用CPU的軟件中斷方式
實現(xiàn),也就是說調(diào)用此宏產(chǎn)生軟件中斷,然后由相應(yīng)的中斷處理程序來具體實現(xiàn)任務(wù)上下文保護(hù)和任務(wù)切換。
OSIntCtxSw:實現(xiàn)中斷級任務(wù)切換,用純匯編實現(xiàn)。
OSCtxSw:實現(xiàn)用戶級上下文切換,用純匯編實現(xiàn)。
OSTickISR:為系統(tǒng)定時器中斷的處理函數(shù),用純匯編實現(xiàn)。
OSTaskStkInit:用來創(chuàng)建任務(wù)時,對任務(wù)堆棧進(jìn)行初始化。

4.3  語音壓縮算法的設(shè)計
    語音壓縮算法的設(shè)計實現(xiàn)基于DSP Builder、Matlab和Simulink等工具。DSP Builder是Altera公司推出的一個面向DSP開發(fā)的系統(tǒng)級工具。它是作為Matlab的一個Simulink工具箱出現(xiàn)的。Matlab是功能強(qiáng)大的數(shù)學(xué)分析工具,廣泛用于科學(xué)計算和工程計算,可以進(jìn)行復(fù)雜的數(shù)字信號處理系統(tǒng)的建模、參數(shù)估計、性能分析。Simulink是Matlab的一個組成部分,用于圖形化建模仿真。

    我們在設(shè)計中首先利用Matlab強(qiáng)大的系統(tǒng)設(shè)計、分析能力和DSP Builder提供的模塊(或IP核)完成頂層系統(tǒng)設(shè)計及系統(tǒng)仿真測試,實現(xiàn)了ADPCM、G.729壓縮算法,并驗證了語音壓縮算法的正確性,然后通過DSP Builder中的Signal Compiler將Simulink模型文件自動轉(zhuǎn)換成VHDL的RTL表述和工具命令語言(TCL)腳本,再進(jìn)行RTL級的功能仿真,并配合QuartusⅡ軟件進(jìn)行綜合、適配與時序仿真。

4.4  應(yīng)用級代碼編寫及調(diào)試
    在QuartusⅡ中進(jìn)行VHDL代碼的編寫以實現(xiàn)對系統(tǒng)各部分的控制,最后進(jìn)行RTL級的功能仿真,并進(jìn)行綜合、適配與時序仿真。在形成對指定FPGA進(jìn)行編程配置的SOF文件之前可以將設(shè)定好的嵌入式邏輯分析儀Signal TapⅡ一同適配并下載到FPGA芯片中去,然后通過Matlab的Simulink窗口可觀測到通過JTAG口來自于Signal TapⅡ測得的芯片中DSP硬件模塊的實時工作波形,從而實現(xiàn)硬件仿真和調(diào)試。

5  結(jié)束語
    本文所設(shè)計的自動語音記錄系統(tǒng)(AVRS)最突出的特點是采用FPGA和SOPC技術(shù)進(jìn)行的設(shè)計相當(dāng)快速。由于SOPC開發(fā)環(huán)境的完備功能,可以把注意力集中在系統(tǒng)整體構(gòu)架和功能上來,而無需過多的考慮細(xì)節(jié)性的電路設(shè)計,同時還可以得到比較好的系統(tǒng)穩(wěn)定性和可靠性。

    自動語音記錄系統(tǒng)(AVRS)已經(jīng)進(jìn)行了初步的仿真試驗,能夠達(dá)到非常好的實用效果,可滿足金融、保險、電力、

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉