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

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

技術頻道

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

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


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

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


圖2 PCM Highway時序

AC48304是一種專用的語音處理DSP芯片,需要運行相應的DSP程序。正常運行前, AC48304有兩個程序需要下載:kernel(內核)程序和application(應用)程序。kernel程序是個只有幾百字節的小程序,完成DSP的初始化工作,為下載應用程序做準備。application程序則完成AC48304的所有功能,在kernel程序程序下載完成后,才可以下載application程序。AC48304有4個工作模式:內核下載模式、程序下載模式、初始化模式、運行模式。其中運行模式有兩個狀態:空閑狀態和激活狀態,用戶只能在空閑狀態改變芯片的工作參數。
4. 軟件設計
4.1Linux中的驅動程序設計
操作系統采用的是嵌入式Linux操作系統。Linux具有效率高、內核小的優點,且開放源代碼,完全免費。在Linux操作系統下,應用程序不能直接訪問硬件,盡管Linux在ARM平臺上有較完整的板級支持包,但在該系統的開發工作中仍然要完成部分設備的驅動程序設計,包括AC48304驅動程序、LE58QL021驅動程序、S-EEPROM驅動程序等。
設備驅動程序要為應用軟件提供設備打開、關閉、設備控制及數據讀/寫等接口, 即一些類似于open、close、read和write的函數,在主程序中直接采用文件讀寫的方式實現數據的收發。LE58QL021與ARM處理器之間采用MPI串行控制總線,MPI驅動接口結構定義如下:
static file_operations mpi_ctl_fops = {
ioctl: mpi_ctl_ioctl, //設備控制
open: mpi_open, //打開設備
close: mpi_ close, //關閉設備
}
Linux提供ioremap函數將I/O內存資源的物理地址映射到核心虛地址空間,然后可像操作寄存器那樣進行數據讀寫。編寫驅動程序的時候,必須提供兩個函數,一個是module_init(),insmod在加載此模塊的時候自動調用,負責進行設備驅動程序的初始化工作,一個函數是module_exit,在模塊被卸載時調用,負責進行設備驅動程序的清除工作。
4.2 AC48304的數據讀寫實現
每個AC48304可同時進行4個通道的語音編/解碼,片內有數據緩存區,編碼后的語音數據先存儲在各通道的緩存區,然后依次拷貝到輸出緩沖區。表1為本系統支持的幾種主要語音編碼格式的相關參數。其中G.711的A/u律數據量最大為64kbps,每個通道每秒有8000字節的數據,而AC48304的數據讀取區的有效量為80字節,即每秒鐘要進行100次的讀取操作,對每個AC48304而言每秒鐘要進行400次讀取操作才能保證數據及時讀取。由于語音編碼包是以恒定的速率產生的,因此每2.5毫秒必須對DSP進行一次讀取操作。本平臺的Linux內核中,進程調度算法的時間單位為10毫秒,在進程中執行數據的讀取操作很難保證數據及時讀取,如果某個服務進程或者是本進程中的某個控制操作執行時間過長,就會造成語音數據的丟失。


表1:語音數據特性

編碼

方式

每幀大小(byte)

每幀時長(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中程序運行的環境分為內核空間和用戶空間,內核空間的程序優先級高于用戶空間。為保證編碼數據被及時讀取,需在內核級別的進程中定時讀取AC48304產生的數據。有兩種方式可將用戶程序加入到內核空間中運行:修改Linux內核源代碼,直接將用戶程序代碼編譯到內核中;利用Linux的模塊機制,動態的將用戶程序代碼添加到內核空間中運行。第一種方法實現難度比較大,而且容易出錯。第二種方法實現難度小,效果與第一種相同,本系統中采用的是第二種方法。
將AC48304的讀取操作作為驅動程序進行設計,使用insmod命令動態加載到內核中去,在定時中斷的服務函數中讀取AC48304的數據。S3C2410中有5個用戶可編程的時鐘中斷,中斷優先級別高,中斷的頻率可編程控制,其中時鐘中斷Timer3已用于DMA控制,Tmer4用于進程調度。本系統的程序設計中使用Timer2,通過配置相關控制寄存器將Timer2的中斷頻率設為500HZ,適當的增加讀取查詢操作頻率,保證數據及時讀取。中斷服務函數是由內核來執行的,優先級高于用戶程序,可保證讀取操作的實時性。為AC48304的每個通道分配一個數據緩沖區,定時中斷函數中讀取的數據先保存在緩沖區中,用戶程序通過讀取該緩沖區獲得語音數據,這樣對外部用戶而言,語音數據沒有丟失,語音延遲在毫秒級別,完全可以滿足需求。
4.3 應用軟件設計
將應用程序及驅動程序文件加入文件系統中,修改有關啟動的配置文件,使得系統啟動完畢時自動加載目標程序,這樣每次設備啟動時將自動進入應用程序。主程序流程如圖3所示,主程序的功能主要是:
u 系統配置:系統的配置表存儲在一片S-EEPROM中,配置表可以通過串口終端或者網絡在線配置。
u 初始化系統:包括向DSP下載內核程序和應用程序,啟動DSP及LE58QL021等。
u 語音數據讀寫:通過DSP的HPI總線讀取DSP數據實現語音采集,通過HPI把數據寫入DSP實現語音回放。
u 數據存儲:根據錄音計劃將需要錄音的語音數據保存到硬盤中。
u 命令處理:包括選擇語音通道命令、回放命令、校時命令、增益調節命令、配置表傳輸命令、錄音數據上傳命令等。


圖3.主程序流程圖

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

文章版權歸西部工控xbgk所有,未經許可不得轉載。

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

      久久久久在线观看| 99视频在线精品国自产拍免费观看| 欧美中文在线视频| 韩国一区电影| 欧美激情一区二区三区在线视频观看 | 欧美精品日韩一区| 亚洲一区日韩在线| 激情五月综合色婷婷一区二区| 免费试看一区| 亚洲欧美乱综合| 亚洲激情成人网| 国产精品毛片高清在线完整版| 久久狠狠久久综合桃花| 亚洲另类自拍| 国产亚洲永久域名| 欧美日本不卡高清| 久久青青草原一区二区| 亚洲少妇最新在线视频| 国产一区二区三区免费观看| 欧美日韩1区| 久久久久一本一区二区青青蜜月| 亚洲精品一区二区三区四区高清| 国产精品一区二区久久久| 欧美粗暴jizz性欧美20| 欧美亚洲免费高清在线观看| 91久久精品一区二区别| 国产视频一区在线| 欧美日韩一区二区三区在线观看免| 欧美在线视频免费| 日韩午夜在线观看视频| 黄色亚洲免费| 国产欧美精品va在线观看| 欧美精品色综合| 欧美视频日韩| 国产精品欧美一区二区三区奶水 | 亚洲欧美成人| 欧美区日韩区| 亚洲欧洲另类国产综合| 久久久国产精品亚洲一区 | 欧美国产日本韩| 免费日韩av电影| 午夜精品999| 中文一区在线| 日韩网站在线| 91久久黄色| 在线视频观看日韩| 狠狠爱综合网| 国产一区二区三区在线播放免费观看| 国产精品v片在线观看不卡 | 99精品视频免费观看| 精品白丝av| 韩国久久久久| 国产无一区二区| 国产精品高潮呻吟久久av无限 | 久久久久久一区| 欧美一级电影久久| 性感少妇一区| 欧美一区=区| 欧美一区二区日韩| 性欧美8khd高清极品| 亚洲永久精品国产| 午夜国产精品影院在线观看| 亚洲一区二区三区午夜| 亚洲一区二区三区免费观看| 亚洲午夜精品一区二区| 国产精品99久久99久久久二8| 中文国产成人精品| 亚洲午夜精品| 亚洲欧美在线一区二区| 亚洲欧美中文日韩v在线观看| 亚洲一区图片| 亚洲欧美视频一区二区三区| 欧美一区二区三区播放老司机| 香蕉尹人综合在线观看| 久久都是精品| 麻豆精品精华液| 欧美成人有码| 国产精品爱啪在线线免费观看| 国产精品久久久久久久久久尿| 国产精品一区二区三区免费观看 | 欧美另类一区| 国产精品成人av性教育| 国产视频精品va久久久久久| 韩国av一区二区三区四区| 一区二区三区在线视频观看| 欧美午夜精品久久久久久超碰| 亚洲欧美日韩综合| 在线欧美日韩国产| 国产精品久久久久av免费| 久久精品中文| 国产精品99久久久久久人| 韩国免费一区| 欧美日韩日韩| 蜜臀a∨国产成人精品| 亚洲一区二区在线观看视频| 欧美日韩中文另类| 国产日韩欧美高清免费| 91久久精品久久国产性色也91| 艳妇臀荡乳欲伦亚洲一区| 欧美亚洲专区| 欧美日本国产精品| 国产一区二区三区在线免费观看| 亚洲国内自拍| 欧美一区免费视频| 欧美日本不卡| 伊人一区二区三区久久精品| 在线亚洲精品福利网址导航| 久久国产毛片| 欧美性大战久久久久久久蜜臀| 极品日韩久久| 亚洲伊人网站| 欧美精品一区二区在线播放| 国产欧美日韩一区二区三区在线观看 | 国产精品久久久久永久免费观看| 精品av久久久久电影| 亚洲欧美综合v| 欧美激情欧美狂野欧美精品| 国产午夜精品全部视频播放 | 国产精品99久久久久久白浆小说| 久久久夜色精品亚洲| 国产精品网曝门| 99riav久久精品riav| 久久在精品线影院精品国产| 国产精品一区=区| 在线一区二区三区四区五区| 免费成人高清视频| 国产综合网站| 欧美综合国产精品久久丁香| 欧美性猛交视频| 日韩网站免费观看| 欧美风情在线观看| 在线日韩欧美| 久久精品国语| 国产一级精品aaaaa看| 亚洲视频在线观看三级| 欧美精品观看| 亚洲欧洲日韩在线| 欧美成人国产一区二区| 一区二区在线免费观看| 久久九九国产精品| 国产午夜精品麻豆| 欧美一区二区女人| 国产在线精品成人一区二区三区| 亚洲欧美日韩国产精品| 国产精品久久久久高潮| 亚洲麻豆av| 亚洲一二三级电影| 欧美一区网站| 麻豆成人在线播放| 欧美福利电影网| 欧美三级网页| 国内精品免费午夜毛片| 亚洲国产毛片完整版| aa级大片欧美三级| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲欧美韩国| 精品动漫3d一区二区三区免费| 一本色道久久88精品综合| 欧美午夜电影完整版| 亚洲天天影视| 国产欧美一区在线| 久久精品视频免费观看| 激情欧美一区| 欧美激情一区在线| 在线亚洲国产精品网站| 国产精品爽爽爽| 久久九九热免费视频| 亚洲国产精品福利| 欧美日韩视频在线一区二区 | 久久精品国产第一区二区三区最新章节 | 亚洲日本免费| 欧美色中文字幕| 午夜精品视频在线观看一区二区| 国产欧美日韩在线| 久久―日本道色综合久久| 亚洲日本视频| 国产精品高精视频免费| 久久精品色图| 亚洲免费观看| 国产日韩欧美高清| 欧美成人免费全部观看天天性色| 99精品久久免费看蜜臀剧情介绍| 国产精品乱码人人做人人爱| 久久九九全国免费精品观看| 亚洲欧洲精品成人久久奇米网| 欧美日韩一区二区三| 欧美在线免费播放| 日韩亚洲国产精品| 国产欧美精品| 欧美成在线视频| 性欧美大战久久久久久久免费观看| 国产真实精品久久二三区| 欧美成人一品| 性色av一区二区三区在线观看 | 亚洲视频免费| 亚洲在线免费| 亚洲国产精品一区二区久| 欧美三级第一页| 美女成人午夜| 欧美在线一二三区|