www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ARM9處理器S3C2410的數(shù)字多路語(yǔ)音記錄器

1. 引言

數(shù)字多路語(yǔ)音記錄器在安全、監(jiān)控方面有很多應(yīng)用。一些傳統(tǒng)的設(shè)計(jì)方案基于工控機(jī),用數(shù)據(jù)采集卡實(shí)現(xiàn)語(yǔ)音的A/D轉(zhuǎn)換,用軟件實(shí)現(xiàn)語(yǔ)音編解碼,這種方案成本高、功耗大。如果采用嵌入式的設(shè)計(jì)方案,可以實(shí)現(xiàn)同樣的功能,并且具有低成本,低功耗的特點(diǎn)。

普通的低成本嵌入式處理器性能不高,不足以實(shí)現(xiàn)多路語(yǔ)音的實(shí)時(shí)編碼、解碼,需要用專門的語(yǔ)音處理芯片完成這一工作?;贒SP自主設(shè)計(jì)語(yǔ)音編碼器是一種方法,但工作量大。AC48304廣泛應(yīng)用于各種小型VOIP網(wǎng)關(guān)中,價(jià)格低廉,是一種很好的替代方案。同時(shí)AC48304還具有DTMF識(shí)別和靜音檢測(cè)等功能,便于實(shí)現(xiàn)電話號(hào)碼識(shí)別和語(yǔ)音的自動(dòng)記錄。

ARM是一種應(yīng)用廣泛的嵌入式處理器,Samsung、Atmel等廠家生產(chǎn)的ARM處理器接口豐富,技術(shù)支持全面。ARM處理器價(jià)格低、性價(jià)比高,向下取代了大量單片機(jī)的應(yīng)用,向上滲透高端嵌入式處理器的市場(chǎng)。在本多路語(yǔ)音記錄器中,采用了Samsung的ARM9處理器S3C2410,操作系統(tǒng)則采用了嵌入式linux。

2. 系統(tǒng)結(jié)構(gòu)

語(yǔ)音記錄器包括語(yǔ)音處理模塊、ARM系統(tǒng)模塊、硬盤記錄模塊、網(wǎng)絡(luò)接口模塊幾個(gè)部分。為使系統(tǒng)配置靈活,將系統(tǒng)設(shè)計(jì)為主控板和擴(kuò)展板兩個(gè)部分,在主控板上實(shí)現(xiàn)16路語(yǔ)音通道,另設(shè)計(jì)一個(gè)16通道的語(yǔ)音擴(kuò)展板,整個(gè)系統(tǒng)可以用4的倍數(shù)進(jìn)行語(yǔ)音通道的擴(kuò)展,最多達(dá)到32個(gè)語(yǔ)音通道。計(jì)算機(jī)控制部分集成S3C2410 處理器、64MB SDRAM及16MB 的FLASH,構(gòu)成一個(gè)嵌入式小系統(tǒng)。

語(yǔ)音CODEC采用AMD的LE58QL021,該器件是3.3V單電壓用戶線語(yǔ)音處理器,在小型語(yǔ)音網(wǎng)關(guān)中是AC48304的常用搭配,支持4通道語(yǔ)音AD/DA,支持E1 PCM Highway,能與AC48304實(shí)現(xiàn)無(wú)縫連接。LE58QL021的工作模式可軟件編程控制,ARM通過(guò)MPI(Microprocessor Interface)串行控制總線設(shè)置LE58QL021的各種工作參數(shù)。

基于DM9000網(wǎng)絡(luò)控制器,系統(tǒng)實(shí)現(xiàn)10/100Mbps自適應(yīng)以太網(wǎng)接口,Linux操作系統(tǒng)提供設(shè)備驅(qū)動(dòng)支持。IDE接口則是由一片CPLD實(shí)現(xiàn),硬盤用于語(yǔ)音的本地記錄。主要部分電路原理見圖1。



圖1 語(yǔ)音處理模塊的硬件電路原理圖

3. AC48304語(yǔ)音處理器

AC48304是AudioCodes公司基于DSP設(shè)計(jì)的一個(gè)四通道語(yǔ)音處理器,支持多種標(biāo)準(zhǔn)、多種碼率的G系列語(yǔ)音編碼器,如G.723.1,G.711,G.726和G.729等,支持T.38傳真中繼和其他語(yǔ)音信號(hào)處理功能。在系統(tǒng)中,ARM通過(guò)CPU局部總線實(shí)現(xiàn)對(duì)AC48304的控制及數(shù)據(jù)交換。AC48304與LE58QL021之間通過(guò)E1 PCM Highway接口實(shí)現(xiàn)多通道數(shù)字語(yǔ)音接口。E1接口由2.048Mhz時(shí)鐘驅(qū)動(dòng),有0"31共32個(gè)8位時(shí)隙,工作時(shí)序如圖2所示。



圖2 PCM Highway時(shí)序 [!--empirenews.page--]

AC48304是一種專用的語(yǔ)音處理DSP芯片,需要運(yùn)行相應(yīng)的DSP程序。正常運(yùn)行前, AC48304有兩個(gè)程序需要下載:kernel(內(nèi)核)程序和application(應(yīng)用)程序。kernel程序是個(gè)只有幾百字節(jié)的小程序,完成DSP的初始化工作,為下載應(yīng)用程序做準(zhǔn)備。application程序則完成AC48304的所有功能,在kernel程序程序下載完成后,才可以下載application程序。AC48304有4個(gè)工作模式:內(nèi)核下載模式、程序下載模式、初始化模式、運(yùn)行模式。其中運(yùn)行模式有兩個(gè)狀態(tài):空閑狀態(tài)和激活狀態(tài),用戶只能在空閑狀態(tài)改變芯片的工作參數(shù)。

4. 軟件設(shè)計(jì)

4.1Linux中的驅(qū)動(dòng)程序設(shè)計(jì)

操作系統(tǒng)采用的是嵌入式Linux操作系統(tǒng)。Linux具有效率高、內(nèi)核小的優(yōu)點(diǎn),且開放源代碼,完全免費(fèi)。在Linux操作系統(tǒng)下,應(yīng)用程序不能直接訪問(wèn)硬件,盡管Linux在ARM平臺(tái)上有較完整的板級(jí)支持包,但在該系統(tǒng)的開發(fā)工作中仍然要完成部分設(shè)備的驅(qū)動(dòng)程序設(shè)計(jì),包括AC48304驅(qū)動(dòng)程序、LE58QL021驅(qū)動(dòng)程序、S-EEPROM驅(qū)動(dòng)程序等。

設(shè)備驅(qū)動(dòng)程序要為應(yīng)用軟件提供設(shè)備打開、關(guān)閉、設(shè)備控制及數(shù)據(jù)讀/寫等接口, 即一些類似于open、close、read和write的函數(shù),在主程序中直接采用文件讀寫的方式實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。LE58QL021與ARM處理器之間采用MPI串行控制總線,MPI驅(qū)動(dòng)接口結(jié)構(gòu)定義如下:  

static file_operations mpi_ctl_fops = {

ioctl:mpi_ctl_ioctl, //設(shè)備控制

open:mpi_open, //打開設(shè)備

close:mpi

_ close, //關(guān)閉設(shè)備

}

linux提供ioremap函數(shù)將I/O內(nèi)存資源的物理地址映射到核心虛地址空間,然后可像操作寄存器那樣進(jìn)行數(shù)據(jù)讀寫。編寫驅(qū)動(dòng)程序的時(shí)候,必須提供兩個(gè)函數(shù),一個(gè)是module_init(),insmod在加載此模塊的時(shí)候自動(dòng)調(diào)用,負(fù)責(zé)進(jìn)行設(shè)備驅(qū)動(dòng)程序的初始化工作,一個(gè)函數(shù)是module_exit,在模塊被卸載時(shí)調(diào)用,負(fù)責(zé)進(jìn)行設(shè)備驅(qū)動(dòng)程序的清除工作。

4.2 AC48304的數(shù)據(jù)讀寫實(shí)現(xiàn)

每個(gè)AC48304可同時(shí)進(jìn)行4個(gè)通道的語(yǔ)音編/解碼,片內(nèi)有數(shù)據(jù)緩存區(qū),編碼后的語(yǔ)音數(shù)據(jù)先存儲(chǔ)在各通道的緩存區(qū),然后依次拷貝到輸出緩沖區(qū)。表1為本系統(tǒng)支持的幾種主要語(yǔ)音編碼格式的相關(guān)參數(shù)。其中G.711的A/u律數(shù)據(jù)量最大為64kbps,每個(gè)通道每秒有8000字節(jié)的數(shù)據(jù),而AC48304的數(shù)據(jù)讀取區(qū)的有效量為80字節(jié),即每秒鐘要進(jìn)行100次的讀取操作,對(duì)每個(gè)AC48304而言每秒鐘要進(jìn)行400次讀取操作才能保證數(shù)據(jù)及時(shí)讀取。由于語(yǔ)音編碼包是以恒定的速率產(chǎn)生的,因此每2.5毫秒必須對(duì)DSP進(jìn)行一次讀取操作。本平臺(tái)的Linux內(nèi)核中,進(jìn)
程調(diào)度算法的時(shí)間單位為10毫秒,在進(jìn)程中執(zhí)行數(shù)據(jù)的讀取操作很難保證數(shù)據(jù)及時(shí)讀取,如果某個(gè)服務(wù)進(jìn)程或者是本進(jìn)程中的某個(gè)控制操作執(zhí)行時(shí)間過(guò)長(zhǎng),就會(huì)造成語(yǔ)音數(shù)據(jù)的丟失。

表1:語(yǔ)音數(shù)據(jù)特性


Linux中程序運(yùn)行的環(huán)境分為內(nèi)核空間和用戶空間,內(nèi)核空間的程序優(yōu)先級(jí)高于用戶空間。為保證編碼數(shù)據(jù)被及時(shí)讀取,需在內(nèi)核級(jí)別的進(jìn)程中定時(shí)讀取AC48304產(chǎn)生的數(shù)據(jù)。有兩種方式可將用戶程序加入到內(nèi)核空間中運(yùn)行:修改Linux內(nèi)核源代碼,直接將用戶程序代碼編譯到內(nèi)核中;利用Linux的模塊機(jī)制,動(dòng)態(tài)的將用戶程序代碼添加到內(nèi)核空間中運(yùn)行。第一種方法實(shí)現(xiàn)難度比較大,而且容易出錯(cuò)。第二種方法實(shí)現(xiàn)難度小,效果與第一種相同,本系統(tǒng)中采用的是第二種方法。

將AC48304的讀取操作作為驅(qū)動(dòng)程序進(jìn)行設(shè)計(jì),使用insmod命令動(dòng)態(tài)加載到內(nèi)核中去,在定時(shí)中斷的服務(wù)函數(shù)中讀取AC48304的數(shù)據(jù)。S3C2410中有5個(gè)用戶可編程的時(shí)鐘中斷,中斷優(yōu)先級(jí)別高,中斷的頻率可編程控制,其中時(shí)鐘中斷Timer3已用于DMA控制,Tmer4用于進(jìn)程調(diào)度。本系統(tǒng)的程序設(shè)計(jì)中使用Timer2,通過(guò)配置相關(guān)控制寄存器將Timer2的中斷頻率設(shè)為500HZ,適當(dāng)?shù)脑黾幼x取查詢操作頻率,保證數(shù)據(jù)及時(shí)讀取。中斷服務(wù)函數(shù)是由內(nèi)核來(lái)執(zhí)行的,優(yōu)先級(jí)高于用戶程序,可保證讀取操作的實(shí)時(shí)性。為AC48304的每個(gè)通道分配一個(gè)數(shù)據(jù)緩沖區(qū),定時(shí)中斷函數(shù)中讀取的數(shù)據(jù)先保存在緩沖區(qū)中,用戶程序通過(guò)讀取該緩沖區(qū)獲得語(yǔ)音數(shù)據(jù),這樣對(duì)外部用戶而言,語(yǔ)音數(shù)據(jù)沒有丟失,語(yǔ)音延遲在毫秒級(jí)別,完全可以滿足需求。 [!--empirenews.page--]

4.3 應(yīng)用軟件設(shè)計(jì)

將應(yīng)用程序及驅(qū)動(dòng)程序文件加入文件系統(tǒng)中,修改有關(guān)啟動(dòng)的配置文件,使得系統(tǒng)啟動(dòng)完畢時(shí)自動(dòng)加載目標(biāo)程序,這樣每次設(shè)備啟動(dòng)時(shí)將自動(dòng)進(jìn)入應(yīng)用程序。主程序流程如圖3所示,主程序的功能主要是:

u 系統(tǒng)配置:系統(tǒng)的配置表存儲(chǔ)在一片S-EEPROM中,配置表可以通過(guò)串口終端或者網(wǎng)絡(luò)在線配置。

u 初始化系統(tǒng):包括向DSP下載內(nèi)核程序和應(yīng)用程序,啟動(dòng)DSP及LE58QL021等。

u 語(yǔ)音數(shù)據(jù)讀寫:通過(guò)DSP的HPI總線讀取DSP數(shù)據(jù)實(shí)現(xiàn)語(yǔ)音采集,通過(guò)HPI把數(shù)據(jù)寫入DSP實(shí)現(xiàn)語(yǔ)音回放。

u 數(shù)據(jù)存儲(chǔ):根據(jù)錄音計(jì)劃將需要錄音的語(yǔ)音數(shù)據(jù)保存到硬盤中。

u 命令處理:包括選擇語(yǔ)音通道命令、回放命令、校時(shí)命令、增益調(diào)節(jié)命令、配置表傳輸命令、錄音數(shù)據(jù)上傳命令等。



圖3.主程序流程圖

5. 結(jié)束語(yǔ)

本記錄器最多支持32路語(yǔ)音實(shí)時(shí)處理,在硬盤上實(shí)現(xiàn)長(zhǎng)時(shí)間錄音,并可通過(guò)10/100Mbps以太網(wǎng)實(shí)現(xiàn)數(shù)據(jù)上傳和管理。經(jīng)測(cè)試本記錄器可以很好的完成語(yǔ)音數(shù)據(jù)的采集、壓縮、存儲(chǔ)、解壓縮和回放,內(nèi)核級(jí)別的用戶進(jìn)程運(yùn)行正常,保證了整個(gè)系統(tǒng)的實(shí)時(shí)性。該語(yǔ)音記錄器具有低成本、低功耗、結(jié)構(gòu)精簡(jiǎn)、使用簡(jiǎn)單的特點(diǎn),具有很好的實(shí)用價(jià)值。

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

法國(guó)高端氫動(dòng)力汽車制造商Hopium發(fā)布全球首款氫動(dòng)力轎車 -- Hopium Machina Vision。在2022年巴黎汽車周上,Hopium宣布重新開放Hopium Machina Vision訂購(gòu),首批交付車輛...

關(guān)鍵字: 汽車制造 PI CHINA MAC

阿布扎比和沙特正在權(quán)衡,是否在瑞信(Credit Suisse)股價(jià)低迷之際,對(duì)該行的投資銀行和其他業(yè)務(wù)進(jìn)行投資。阿聯(lián)酋和沙特在分別探索通過(guò)各自的主權(quán)基金,例如阿布扎比穆巴達(dá)拉發(fā)展公司和沙特公共投資基金(PIF)進(jìn)行潛在...

關(guān)鍵字: MICHAEL UI SE PI

2020 年,公司處理器產(chǎn)品四核龍芯 3A5000/3B5000 研制成功。龍芯 3A5000/3B5000 基于龍芯 3A4000/3B4000 進(jìn)行工藝升級(jí),主頻 2.3-2.5GHz, 單核通用處理性能是龍芯 3A...

關(guān)鍵字: 處理器 芯片 市場(chǎng)化

自主研發(fā)芯片對(duì)其自身有更為實(shí)際的意義。首先,自主研發(fā)芯片可以減輕對(duì)上游供應(yīng)鏈的依賴。其次,自主芯片更方便打造出獨(dú)家特色產(chǎn)品,增強(qiáng)產(chǎn)品在市場(chǎng)上的競(jìng)爭(zhēng)力。再次,自主研發(fā)芯片能降低成本,提高利潤(rùn)。

關(guān)鍵字: 芯片 處理器 市場(chǎng)

本文中,小編將對(duì)無(wú)線模塊予以介紹,如果你想對(duì)無(wú)線模塊的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 無(wú)線模塊 寄存器 處理器

(全球TMT2022年10月11日訊)近日,昆侖芯(北京)科技有限公司的第二代云端通用人工智能計(jì)算處理器昆侖芯2代AI芯片及AI加速卡與飛槳完成III級(jí)兼容性測(cè)試,兼容性表現(xiàn)良好。 產(chǎn)品兼容性證明 本次...

關(guān)鍵字: 人工智能 加速卡 處理器 模型

北京2022年10月9日 /美通社/ -- 中國(guó)國(guó)家藥品監(jiān)督管理局(NMPA)正式宣布批準(zhǔn)了赫賽汀®(通用名:曲妥珠單抗注射液(皮下注射)),聯(lián)合化療用于治療早期和轉(zhuǎn)移性HER2陽(yáng)性乳腺癌患者。作為全球首個(gè)抗HE...

關(guān)鍵字: 靜脈 BSP PI ST

(全球TMT2022年10月8日訊)愛立信全新上線超過(guò)200個(gè)AI App的業(yè)務(wù)持續(xù)性解決方案,進(jìn)一步保障并增強(qiáng)了CSP移動(dòng)網(wǎng)絡(luò)業(yè)務(wù)持續(xù)運(yùn)行的效率和健壯性。該方案由愛立信與運(yùn)營(yíng)商聯(lián)合開發(fā),主要用于運(yùn)維過(guò)程中的預(yù)測(cè)性維護(hù)...

關(guān)鍵字: AMD 處理器 愛立信 EPYC

臺(tái)北2022年10月3日 /美通社/ -- AMD EPYC在CPU市場(chǎng)上始終處于變革性顛覆者的地位。從早期7001系列處理器推出高達(dá)32核、128 條PCIe Gen3通道到現(xiàn)在的"米蘭"7003系...

關(guān)鍵字: AMD 處理器 EPYC BSP

霍尼韋爾數(shù)據(jù)中心管理平臺(tái)提供創(chuàng)新的用戶體驗(yàn),增加業(yè)務(wù)的彈性, 提高工作效率并提供關(guān)鍵的可持續(xù)性KPI指標(biāo)的可見性 亞特蘭大2022年9月28日 /美通社/ -- 全球樓宇互聯(lián)行業(yè)領(lǐng)導(dǎo)者霍尼韋爾(納斯達(dá)克代碼:HON)...

關(guān)鍵字: 數(shù)據(jù)中心 霍尼韋爾 PI 軟件

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉