AC48304的嵌入式多路语音记录器的设计方案

发布时间:2015-02-11 阅读量:811 来源: 我爱方案网 作者:

【导读】数字多路语音记录器在安全、监控方面有很多应用。一些传统的设计方案基于工控机,用数据采集卡实现语音的A/D转换,用软件实现语音编解码,这种方案成本高、功耗大。如果采用嵌入式的设计方案,可以实现同样的功能,并且具有低成本,低功耗的特点。

“好消息!2015年新年来临之际,我爱方案网准备了ST开发板、庆科WIFI模块开发套件以及智能硬件研发必备的精密样片,只需填写个人信息与开发计划即有机会获得。更多详情>>>>”

1. 引言


普通的低成本嵌入式处理器性能不高,不足以实现多路语音的实时编码、解码,需要用专门的语音处理芯片完成这一工作。基于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。

AC48304的嵌入式多路语音记录器的设计方案

图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所示。

AC48304的嵌入式多路语音记录器的设计方案

图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:语音数据特性

AC48304的嵌入式多路语音记录器的设计方案
 

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 命令处理:包括选择语音通道命令、回放命令、校时命令、增益调节命令、配置表传输命令、录音数据上传命令等。

AC48304的嵌入式多路语音记录器的设计方案

本记录器最多支持32路语音实时处理,在硬盘上实现长时间录音,并可通过10/100Mbps以太网实现数据上传和管理。经测试本记录器可以很好的完成语音数据的采集、压缩、存储、解压缩和回放,内核级别的用户进程运行正常,保证了整个系统的实时性。该语音记录器具有低成本、低功耗、结构精简、使用简单的特点,具有很好的实用价值。

相关文章

Icatch 720p全高清无缝录影行车记录器方案

基于μCOS-II在ARM Cortex-M3处理器上的移植的设计方案

应用于嵌入式PLC的LPC2294智能处理器设计方案
相关资讯
中国AI产业突破封锁的韧性发展路径及未来展望

在全球科技博弈背景下,美国对华AI芯片出口限制政策持续升级。腾讯总裁刘炽平在2025年第一季度财报会上明确表示,腾讯已具备应对供应链风险的充足储备与技术创新能力,标志着中国AI产业正加速走向自主化发展道路。本文结合产业动态与政策趋势,剖析中国AI产业的战略转型与突破路径。

重塑全球供应链格局:ASM International战略布局应对贸易壁垒

在全球半导体产业链加速重构的背景下,荷兰半导体设备巨头ASM International(以下简称“ASM”)近期通过一系列战略调整引发行业关注。2025年5月15日,该公司宣布将通过转嫁关税成本、加速美国本土化生产及优化全球供应链,应对地缘政治风险与贸易壁垒。面对美国近期加征的“对等关税”政策(涵盖钢铁、汽车等商品,未来可能扩展至半导体领域),ASM展现出显著的供应链韧性:其亚利桑那州工厂即将投产,新加坡基地产能同步扩充三倍,形成“多区域制造网络”以分散风险。与此同时,中国市场成为其增长引擎——2025年中国区销售额或突破预期上限,占比达总营收的20%,凸显其在差异化竞争中的技术优势。这一系列举措不仅反映了半导体设备行业对关税政策的快速响应,更揭示了全球产业链从“效率优先”向“安全韧性”转型的深层逻辑。

国产芯片架构演进之路:从指令集适配到生态重构

在全球半导体产业长期被x86与ARM架构垄断的背景下,国产芯片厂商的生态自主化已成为关乎技术主权与产业安全的核心议题。北京君正集成电路股份有限公司作为中国嵌入式处理器领域的先行者,通过二十余年的技术迭代,探索出一条从指令集适配到生态重构的独特路径——早期依托MIPS架构实现技术积累,逐步向开源开放的RISC-V生态迁移,并创新性采用混合架构设计平衡技术过渡期的生态兼容性。这一转型不仅打破了国产芯片“被动跟随”的固有范式,更在智能安防、工业控制、AIoT等新兴领域实现了从“技术替代”到“生态定义”的跨越。据行业数据显示,其基于RISC-V内核的T系列芯片已占据计算芯片市场80%的份额,成为推动国产架构产业化落地的标杆。本文通过解析北京君正的架构演进逻辑,为国产半导体产业突破生态壁垒提供可复用的方法论。

性能飙升27%!高通骁龙7 Gen4如何改写中端芯片格局?

5月15日,高通技术公司正式推出第四代骁龙7移动平台(骁龙7 Gen 4),以台积电4nm制程打造,性能迎来全方位升级。该平台采用创新的“1+4+3”八核架构,CPU性能较前代提升27%,GPU渲染效率提升30%,并首次支持终端侧运行Stable Diffusion等生成式AI模型,NPU算力增幅达65%。在影像领域,其搭载的三重12bit ISP支持2亿像素拍摄与4K HDR视频录制,配合Wi-Fi 7与XPAN无缝连接技术,重新定义中高端设备的创作边界。荣耀与vivo宣布首发搭载该平台的机型,预计本月上市,标志着生成式AI技术向主流市场加速渗透。

破局高端芯片!小米自研玄戒O1即将发布,性能参数首曝光

5月15日晚间,小米集团CEO雷军通过个人微博账号正式宣布,由旗下半导体设计公司自主研发的玄戒O1手机SoC芯片已完成研发验证,计划于本月下旬面向全球发布。据雷军透露,该芯片将采用业界领先的4nm制程工艺,核心性能指标已接近国际旗舰水平。