摘要:AC48304C-C是Audiocodes公司的一款四通道VOIP語音處理器,大量地應(yīng)用于各種小型語音網(wǎng)關(guān)中,實(shí)現(xiàn)多種語音編碼、解碼及信令處理等功能。本文介紹的嵌入式系統(tǒng)基于該芯片,采用ARM處理器及嵌入式Linux操作系統(tǒng),實(shí)現(xiàn)了較低成本的嵌入式多路語音記錄器。數(shù)據(jù)采集在內(nèi)核級別的用戶進(jìn)程中實(shí)現(xiàn),從而保證了系統(tǒng)的實(shí)時(shí)性。
關(guān)鍵詞:AC48">

欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

技術(shù)頻道

基于AC48304的嵌入式多路語音記錄器

摘要:AC48304C-C是Audiocodes公司的一款四通道VOIP語音處理器,大量地應(yīng)用于各種小型語音網(wǎng)關(guān)中,實(shí)現(xiàn)多種語音編碼、解碼及信令處理等功能。本文介紹的嵌入式系統(tǒng)基于該芯片,采用ARM處理器及嵌入式Linux操作系統(tǒng),實(shí)現(xiàn)了較低成本的嵌入式多路語音記錄器。數(shù)據(jù)采集在內(nèi)核級別的用戶進(jìn)程中實(shí)現(xiàn),從而保證了系統(tǒng)的實(shí)時(shí)性。
關(guān)鍵詞:AC48304;嵌入式;S3C2410;Linux;內(nèi)核空間
1. 引言
數(shù)字多路語音記錄器在安全、監(jiān)控方面有很多應(yīng)用。一些傳統(tǒng)的設(shè)計(jì)方案基于工控機(jī),用數(shù)據(jù)采集卡實(shí)現(xiàn)語音的A/D轉(zhuǎn)換,用軟件實(shí)現(xiàn)語音編解碼,這種方案成本高、功耗大。如果采用嵌入式的設(shè)計(jì)方案,可以實(shí)現(xiàn)同樣的功能,并且具有低成本,低功耗的特點(diǎn)。
普通的低成本嵌入式處理器性能不高,不足以實(shí)現(xiàn)多路語音的實(shí)時(shí)編碼、解碼,需要用專門的語音處理芯片完成這一工作。基于DSP自主設(shè)計(jì)語音編碼器是一種方法,但工作量大。AC48304廣泛應(yīng)用于各種小型VOIP網(wǎng)關(guān)中,價(jià)格低廉,是一種很好的替代方案。同時(shí)AC48304還具有DTMF識(shí)別和靜音檢測等功能,便于實(shí)現(xiàn)電話號碼識(shí)別和語音的自動(dòng)記錄。
ARM是一種應(yīng)用廣泛的嵌入式處理器,Samsung、Atmel等廠家生產(chǎn)的ARM處理器接口豐富,技術(shù)支持全面。ARM處理器價(jià)格低、性價(jià)比高,向下取代了大量單片機(jī)的應(yīng)用,向上滲透高端嵌入式處理器的市場。在本多路語音記錄器中,采用了Samsung的ARM9處理器S3C2410,操作系統(tǒng)則采用了嵌入式Linux。
2. 系統(tǒng)結(jié)構(gòu)
語音記錄器包括語音處理模塊、ARM系統(tǒng)模塊、硬盤記錄模塊、網(wǎng)絡(luò)接口模塊幾個(gè)部分。為使系統(tǒng)配置靈活,將系統(tǒng)設(shè)計(jì)為主控板和擴(kuò)展板兩個(gè)部分,在主控板上實(shí)現(xiàn)16路語音通道,另設(shè)計(jì)一個(gè)16通道的語音擴(kuò)展板,整個(gè)系統(tǒng)可以用4的倍數(shù)進(jìn)行語音通道的擴(kuò)展,最多達(dá)到32個(gè)語音通道。計(jì)算機(jī)控制部分集成S3C2410 處理器、64MB SDRAM及16MB 的FLASH,構(gòu)成一個(gè)嵌入式小系統(tǒng)。
語音CODEC采用AMD的LE58QL021,該器件是3.3V單電壓用戶線語音處理器,在小型語音網(wǎng)關(guān)中是AC48304的常用搭配,支持4通道語音AD/DA,支持E1 PCM Highway,能與AC48304實(shí)現(xiàn)無縫連接。LE58QL021的工作模式可軟件編程控制,ARM通過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),硬盤用于語音的本地記錄。主要部分電路原理見圖1。


圖1 語音處理模塊的硬件電路原理圖

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


圖2 PCM Highway時(shí)序

AC48304是一種專用的語音處理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)用程序不能直接訪問硬件,盡管Linux在ARM平臺(tái)上有較完整的板級支持包,但在該系統(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è)通道的語音編/解碼,片內(nèi)有數(shù)據(jù)緩存區(qū),編碼后的語音數(shù)據(jù)先存儲(chǔ)在各通道的緩存區(qū),然后依次拷貝到輸出緩沖區(qū)。表1為本系統(tǒng)支持的幾種主要語音編碼格式的相關(guān)參數(shù)。其中G.711的A/u律數(shù)據(jù)量最大為64kbps,每個(gè)通道每秒有8000字節(jié)的數(shù)據(jù),而AC48304的數(shù)據(jù)讀取區(qū)的有效量為80字節(jié),即每秒鐘要進(jìn)行100次的讀取操作,對每個(gè)AC48304而言每秒鐘要進(jìn)行400次讀取操作才能保證數(shù)據(jù)及時(shí)讀取。由于語音編碼包是以恒定的速率產(chǎn)生的,因此每2.5毫秒必須對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í)間過長,就會(huì)造成語音數(shù)據(jù)的丟失。


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

編碼

方式

每幀大小(byte)

每幀時(shí)長(ms)

碼率

(kbps)

G.711 A/u

80

10

64

G.726(24k)

30

10

24

G.726(40k)

50

10

40

G.723.1(5.3)

20

30

5.3

G.723.1(6.3)

24

30

6.3

G.729

20

20

8

Linux中程序運(yùn)行的環(huán)境分為內(nèi)核空間和用戶空間,內(nèi)核空間的程序優(yōu)先級高于用戶空間。為保證編碼數(shù)據(jù)被及時(shí)讀取,需在內(nèi)核級別的進(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)先級別高,中斷的頻率可編程控制,其中時(shí)鐘中斷Timer3已用于DMA控制,Tmer4用于進(jìn)程調(diào)度。本系統(tǒng)的程序設(shè)計(jì)中使用Timer2,通過配置相關(guān)控制寄存器將Timer2的中斷頻率設(shè)為500HZ,適當(dāng)?shù)脑黾幼x取查詢操作頻率,保證數(shù)據(jù)及時(shí)讀取。中斷服務(wù)函數(shù)是由內(nèi)核來執(zhí)行的,優(yōu)先級高于用戶程序,可保證讀取操作的實(shí)時(shí)性。為AC48304的每個(gè)通道分配一個(gè)數(shù)據(jù)緩沖區(qū),定時(shí)中斷函數(shù)中讀取的數(shù)據(jù)先保存在緩沖區(qū)中,用戶程序通過讀取該緩沖區(qū)獲得語音數(shù)據(jù),這樣對外部用戶而言,語音數(shù)據(jù)沒有丟失,語音延遲在毫秒級別,完全可以滿足需求。
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中,配置表可以通過串口終端或者網(wǎng)絡(luò)在線配置。
u 初始化系統(tǒng):包括向DSP下載內(nèi)核程序和應(yīng)用程序,啟動(dòng)DSP及LE58QL021等。
u 語音數(shù)據(jù)讀寫:通過DSP的HPI總線讀取DSP數(shù)據(jù)實(shí)現(xiàn)語音采集,通過HPI把數(shù)據(jù)寫入DSP實(shí)現(xiàn)語音回放。
u 數(shù)據(jù)存儲(chǔ):根據(jù)錄音計(jì)劃將需要錄音的語音數(shù)據(jù)保存到硬盤中。
u 命令處理:包括選擇語音通道命令、回放命令、校時(shí)命令、增益調(diào)節(jié)命令、配置表傳輸命令、錄音數(shù)據(jù)上傳命令等。


圖3.主程序流程圖

5. 結(jié)束語
本記錄器最多支持32路語音實(shí)時(shí)處理,在硬盤上實(shí)現(xiàn)長時(shí)間錄音,并可通過10/100Mbps以太網(wǎng)實(shí)現(xiàn)數(shù)據(jù)上傳和管理。經(jīng)測試本記錄器可以很好的完成語音數(shù)據(jù)的采集、壓縮、存儲(chǔ)、解壓縮和回放,內(nèi)核級別的用戶進(jìn)程運(yùn)行正常,保證了整個(gè)系統(tǒng)的實(shí)時(shí)性。該語音記錄器具有低成本、低功耗、結(jié)構(gòu)精簡、使用簡單的特點(diǎn),具有很好的實(shí)用價(jià)值。
本文作者創(chuàng)新點(diǎn):采用嵌入式實(shí)現(xiàn)系統(tǒng)設(shè)計(jì),操作系統(tǒng)及應(yīng)用軟件完全固化在FLASH中,實(shí)現(xiàn)了高穩(wěn)定性;相對基于工控機(jī)的語音記錄器,本文設(shè)計(jì)的系統(tǒng)具有低成本、低功耗的特點(diǎn);在本文中創(chuàng)新性地將VOIP語音處理器AC-48304應(yīng)用在多路語音記錄器中;在軟件是設(shè)計(jì)中,在LINUX操作系統(tǒng)內(nèi)核空間實(shí)現(xiàn)數(shù)據(jù)采集功能,從而保證了系統(tǒng)數(shù)據(jù)采集的實(shí)時(shí)性要求。

文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

      9000px;">

          大陆成人av片| 久久久久久久久蜜桃| 91精品国产欧美一区二区成人| 久久久噜噜噜久噜久久综合| 日韩精品视频网站| 成人亚洲一区二区一| 日韩欧美激情在线| 狠狠久久亚洲欧美| 国产亚洲视频系列| 国产**成人网毛片九色| 中文字幕av一区二区三区免费看| 蜜桃av一区二区三区电影| 欧美成人一区二区三区在线观看| 亚洲成a人v欧美综合天堂下载| 在线观看视频欧美| 日韩高清在线观看| 亚洲国产高清在线| 欧美天堂一区二区三区| 丝袜美腿高跟呻吟高潮一区| 日韩欧美的一区二区| 国产高清在线精品| 亚洲欧美日韩国产另类专区| 91麻豆精品国产91久久久资源速度 | 中文字幕欧美国产| 91丨九色丨国产丨porny| 日韩国产欧美在线观看| 欧美丰满一区二区免费视频| 国产在线一区观看| 一区2区3区在线看| 26uuu亚洲| 欧洲色大大久久| 9色porny自拍视频一区二区| 五月综合激情日本mⅴ| 中文字幕亚洲精品在线观看 | 欧美美女一区二区在线观看| 免费欧美在线视频| 亚洲欧美一区二区三区久本道91| 欧美精品视频www在线观看| 91麻豆精东视频| 曰韩精品一区二区| 成人黄色av电影| 丁香一区二区三区| 国产丶欧美丶日本不卡视频| 国产精一品亚洲二区在线视频| 日韩电影一区二区三区| 美腿丝袜亚洲一区| 国产一区二区主播在线| 国产成人av资源| 九九**精品视频免费播放| 精品一区二区三区免费播放 | 欧美一区二区精品在线| 日韩亚洲欧美一区| 国产精品麻豆网站| 青青草97国产精品免费观看| 99国产精品久久久久久久久久| 久久久久久久久一| 高清国产午夜精品久久久久久| 精品久久免费看| 欧美中文字幕一二三区视频| 视频一区二区不卡| 欧美久久婷婷综合色| 午夜精品一区二区三区三上悠亚| 成人免费精品视频| 中文字幕国产精品一区二区| 色美美综合视频| 麻豆精品国产传媒mv男同| 久久综合九色综合欧美98| 菠萝蜜视频在线观看一区| 成人黄色片在线观看| 国产91精品免费| 欧美性生交片4| 久久综合色播五月| 夜夜嗨av一区二区三区网页| 国产盗摄精品一区二区三区在线| 国产一区二区美女诱惑| 国产jizzjizz一区二区| 色综合中文字幕国产| 国产精品一卡二| 日本精品免费观看高清观看| 欧美性感一区二区三区| 欧美亚洲禁片免费| 精品国产一区二区精华| 日韩视频在线一区二区| 亚洲另类中文字| 国产麻豆精品一区二区| 欧美日韩dvd在线观看| 中文字幕日韩精品一区| 国模娜娜一区二区三区| 欧美精品v日韩精品v韩国精品v| 亚洲欧美综合另类在线卡通| 国产成人免费在线观看不卡| 欧美一区日韩一区| 欧美精品一区二区三区很污很色的| 国产欧美一区视频| 免费观看久久久4p| 欧洲一区二区av| 一区二区三区四区精品在线视频| 激情综合五月婷婷| 欧美性受xxxx黑人xyx| 亚洲免费在线观看视频| 成人性生交大片免费 | 911精品产国品一二三产区| 天天亚洲美女在线视频| 欧美主播一区二区三区美女| 亚洲va天堂va国产va久| 日韩一区二区视频| 国产精品99久久久久久久女警 | 欧美日韩在线电影| 亚洲一区av在线| 久久久久久影视| 91亚洲国产成人精品一区二区三| 亚洲自拍偷拍av| 欧美高清hd18日本| 日韩激情视频在线观看| 欧美一级午夜免费电影| 亚洲精品日韩综合观看成人91| 91网站黄www| 一区二区三区四区在线播放 | 亚洲国产精品高清| 在线观看日韩国产| 韩国av一区二区三区在线观看| 亚洲男女毛片无遮挡| 久久人人爽人人爽| 在线电影一区二区三区| 国产露脸91国语对白| 一区二区三区 在线观看视频| 欧美人妖巨大在线| 国产精品亚洲一区二区三区妖精| 中文字幕第一页久久| 91精品黄色片免费大全| 国产成人免费9x9x人网站视频| 亚洲国产日韩在线一区模特| 日韩免费福利电影在线观看| 在线视频你懂得一区二区三区| 狠狠色丁香久久婷婷综合_中| 首页综合国产亚洲丝袜| 一区二区三区四区在线播放| 亚洲日本va午夜在线影院| 国产日韩成人精品| 国产精品污网站| 亚洲青青青在线视频| 亚洲欧美日韩国产综合在线| 精品国产三级电影在线观看| 欧美色综合网站| 欧美撒尿777hd撒尿| 欧美私人免费视频| 99re成人精品视频| 99精品视频一区二区| 色欲综合视频天天天| 欧美专区在线观看一区| 欧美日本在线播放| 久久亚洲精精品中文字幕早川悠里| 精品久久久网站| 亚洲一区二区三区视频在线| 国产精品久久久爽爽爽麻豆色哟哟| 久久色在线观看| 日韩美女精品在线| 天天做天天摸天天爽国产一区 | 日本欧美肥老太交大片| 国产精品中文字幕一区二区三区| hitomi一区二区三区精品| 欧美日韩国产精选| 久久精品一二三| 亚洲免费在线播放| 福利视频网站一区二区三区| 91麻豆蜜桃一区二区三区| 91精品国产高清一区二区三区| 国产亚洲污的网站| 婷婷丁香久久五月婷婷| 成人永久aaa| 欧美一区三区二区| 亚洲欧洲成人精品av97| 国产一区二三区| 日韩欧美一二三四区| 亚洲第一成年网| 欧美视频一区在线| 亚洲h动漫在线| 欧美日韩综合不卡| 亚洲美女偷拍久久| 91欧美激情一区二区三区成人| 欧美久久久久久久久| 亚洲免费在线电影| 91久久久免费一区二区| 亚洲激情自拍视频| 日本韩国一区二区三区| 依依成人综合视频| 日韩一本二本av| 日韩电影在线看| 91精品国产一区二区三区| 欧美国产激情二区三区| 久久国产精品99久久人人澡| 精品日韩99亚洲| 国产一区三区三区| 亚洲国产经典视频| 欧美日韩综合色| 国产精品自在在线| 天天色图综合网| 久久久噜噜噜久久中文字幕色伊伊 | 在线观看中文字幕不卡| 成人免费看的视频|