智能多业务语音片上系统设计

发布者:SparklingStar最新更新时间:2007-11-09 来源: 单片机及嵌入式系统应用关键字:总线  缓存  链路  加载 手机看文章 扫描二维码
随时随地手机看文章

引言

在中国IT行业快速发展的背景下,社会以及用户需求的多样性使电信设备运营商、服务提供商面临越来越多的竞争压力。提高竞争力、加快业务开发能力、设计符合市场需求的产品和业务是关键所在。生存中创新和创新中发展已经成为必须面对和不得不解决的问题。本文采用SoC设计方法在altera中高端FPGA器件实现可应用于电信多业务交换平台的智能语音处理系统芯片。系统设计的关键在于片上系统三总线结构独特设计、SDRAM(内存)控制器设计以及与系统主机之间共享信箱协议的制定。

1 系统设计

智能语音处理系统的设计实现基于Cyclone II EP2C35[12]器件。系统的核心处理功能与几乎全部系统功能模块全部通过LogicLock的功能在FPGA内实现,嵌入式处理器软核Nios II作为智能语音处理系统的主处理器,用来管理单板的运行,负责协调系统各模块之间工作,控制它们的工作状态及各外设的操作;通过通信共享信箱单元,实现与程控交换机主机系统的通信,接受系统的管理和调度,借助以太网口从系统服务器下载系统运行程序和各种不同的语音数据。

Nios II处理器是具有最多的6级流水线(Fetch,Decode,Execute,Memory,Align,Writeback)的32位改进哈佛RISC结构软核处理器。多达256条用户可定制指令可帮助用户创建一个最适合他们需求的嵌入式系统。Nios II处理器高速缓存的实现是采用简单的直接映射的连续写入结构,这种结构设计能够用最少的器件资源消耗获得最高的性能,在Cyclone II器件中可以获得超过166 DMIPS的性能。

有别于传统的Harvard体系中双总线结构,本系统设计采用三总线结构:内存(SDRAM)专用高速总线、ROMDISK(Flash)专用总线和与系统主机之间通信的共享信箱总线。满足ROMDISK、内存和共享信箱总线三者之间大流量的数据传输,同时保证系统可以处理更多的任务,这样的体系结构为系统提供并发执行效率,提高处理器的利用率;多任务之间数据快速交换有效缩减等待时间,提高多任务处理得效率。

语音数据缓冲区和G.711/G.726协议处理器根据系统的要求向用户提供包含基本语音、辅导语音、各种特色语音在内,基于ITU G.711/G.726语音压缩协议的数据链路,为系统提供32路-256路速率16-64kbps语音通道,以1-8条2Mbps的高速PCM链路提供给系统使用。UART被用作系统调试接口,系统功能框图如图1所示。



2 业务流程

智能语音片上系统的主要工作是,满足程控交换机系统和IP交换机系统的语音业务类型和智能语音业务需求。基本语音存储和辅导语音固化在本板的ROMDISK中,操作系统可以在上电初始化、操作系统装载以及文件系统加载完成后,利用三总线机构将ROMDISK中存储的各种常用的语音数据转存到内存中。同时为了满足业务的多样性和灵活性,系统能够从服务器网络接收各种特色语音数据:如天气预报、广告数据以及用户的留言信息等。正常语音业务工作流程如图2所示。

3 系统关键部分设计

3.1 内存控制器

内存控制器(SDRAM)实现Nios II处理器和内存之间的操作,为系统实现多功能业务开发,提供可靠、大容量存储空间。该模块实现内存的初始化、刷新、数据传输等功能;支持的数据端口32位,时钟频率设置为100MHz,CAS Latency(CL)设置时间为2个时钟,突发长度设置为1-8。

在正确时间采用正确的方法采样并锁存数据是设计的难点。当内存的片选信号和读信号有效时,进入读操作状态。列地址有效和写命令有效两个时钟后,内存芯片输出数据(CL=2)在时钟的上升沿将数据总线上数据采样锁存。模块中设立一个数据采样锁存器,根据其时序要求,CL=2,有效数据延时输出2CLKs,内部数据采样锁存器在数据有效时间内时钟边沿时刻执行采样锁存,完成从内存取得数据的过程,Nios II处理器Avalon总线从内存控制器中数据采样锁存器中得到数据,送外数据目的地。读操作采用自动预充功能读命令(auto precharge after write burst)。内存进入自动预充操作后就处于空闲状态,等待下一个状态的开始。

3.2 共享信箱模块设计

共享信箱是系统信箱数据区,定义了本系统和程控交换机系统或IP交换机的主处理单元之间通信命令参数和传送放音命令及音源编码。这是与系统可以正常进行通信的关键。

共享信箱模块基于FPGA内部的双端口RAM构成,内部通过Avalon交换总线与Nios II处理器进行通信,外部通过一个16位端口,以总线的方式与程控交换系统进行通信,其容量的大小根据系统要求和FPGA向系统提供PCM链路数来决定。

系统每次放一部分语音,软件记录下状态值。下一次从这个值开始继续从存储区向语音缓冲空间搬移一部分语音数据。写入的字节数根据语音缓冲空间设定,数据确定后,要在每一个中断处理周期(语音缓冲区A/B区切换时间)将一定端口、一定数量的语音数据写入规定的RAM空间。句法结构如下:



3.3 语音数据缓冲区设计

缓冲区写端口侧和系统Avalon总线联系,其地址空间按照顺写的方式进行,难点在于读端口侧地址信号的产生。本文采用双缓冲区空间方式,在FPGA内部设置两块同样的存储区域,通过地址产生器产生端口地址跳变、链路地址跳变和中断的产生。

Nios II处理器按照程控交换系统主机的指令将所需的语音数据搬到语音数据缓冲区指定的地址空间;缓冲区可为每一个语音通道提供7字节的空间(N为偶数),CPU可以在每次语音处理中断中,每路语音通道1次可以写入N/2字节的语音数据。在一个系统帧同步信号FS0周期内(125μs),对单个语音通道可以完成8位,即一个字节数据转换,采用AB双缓冲区的设计模式,N/2字节的数据需要在N/2个FS0完成,需要的时间就是125μs×N/2,其周期根据系统响应中断的时间、处理语音数据存取的时间、系统处理其他数据的时间等综合考虑来确定,保证系统设定的中断周期内完成业务处理,且不影响系统的整体运行效率。

从中断的处理过程来看,每一次中断的产生,响应和处理,系统总是需要对系统指针、放音位置等系统重要数据进行压栈堆栈和回复的处理,处理同样的任务,中断周期短,系统的任务量都会相应增加。中断时间的长短选择是设计中比较困难和关键的,需要根据处理器处理能力、完成数据转换需要的时间、中断任务的处理时间、FPGA的RAM容量等因素综合进行选择,使用Nios II处理器,系统完成全部(128个)语音通道数据转换的时间,也就是中断任务的处理时间为2.8×3ms。本设计中也是根据这个前提条件来设定中断级别和中断周期的。本设计设定N=256,提供128路语音通道数据,系统需要中断时间设定为16ms。

语音链路PCM的处理,按照国际电信联盟ITU G.711协议完成,G.711协议是ITU规定的PSTN网中使用语音传输的协议,它的数据速率为64kbps。G.726是ITU前身CCITT于1990年在G.721和G.723标准的基础上提出的关于把64kbps非线性PCM信号转换为40kbps、32kbps、24kbps、16kbps的ADPCM信号的标准。G.726标准算法简单,语音质量高,多次转换后语音质量有保证,在语音存储和语音传输领域得到广泛应用。

4 结论

设计完成后下载到FPGA后,经过现场测试和实际运用,该系统完全达到设计目标,在每个局用交换模块上配置一块由该芯片控制的语音子处理机,即可满足一个交换模块8192个用户对语音系统的要求,证明该智能多业务片上系统设计是成功的。可以适用于各种电信业务系统中和IP网络交换系统中,为企业缩短产品上市时间、降低开发风险与成本、提高新业务开发能力提供一个较为理想的解决方案。

关键字:总线  缓存  链路  加载 引用地址:智能多业务语音片上系统设计

上一篇:基于DSP Builder的软件无线电调制器的设计与实现
下一篇:TI 推符合DTS-HD主体音频标准DSP方案

推荐阅读最新更新时间:2024-05-02 20:38

STM32 FSMC 驱动80总线液晶屏的方法的解释
这里先看TFT液晶屏所谓的80时序图: 当我们对比之后发现STM32的FSMC的SRAM时序和80总线很相近,也可以套用: 在这里只要把地址线当成RS就可以相当于80时序了,具体实现方法是这样的: 把A0连接到RS,那么当我对0地址进行读写方式的时候A0将会输出0,这也就相当于命令的读写,当我地1地址进行读写的时候,那就相当于对数据的读写,这样就巧妙的避开了地址的问题,因为液晶是地址数据复用的,我们在代码里也可以看到这个结构体: typedef struct { vu16 LCD_REG; vu16 LCD_RAM; } LCD_TypeDef; //使用NOR/SRAM的 Bank1.sector4,地址位HAD
[单片机]
基于Wishbone片上总线的PCI Bridge核的研究和应
摘要:讨论了PCI主桥的应用和Wishbone片上总线技术,详细介绍了基于Wishbone总线的PCI Bridge核的功能、内部结构和操作方式。实验证明,在PCI系统中使用PCI Bridge核进行开发设计,电路简洁,使用方便灵活。 关键词:PCI主桥;Wishbone片上总线;PCI桥核 自PCI协议问世以来,PCI总线应用越来越广泛,现已成为事实上的计算机总线标准。随着PCI应用和开发的深入,往往需要在复杂的PCI系统中使用PCI桥来完成设计工作,包括使用主/PCI桥来完成整个系统的初始化配置过程。PCI桥的使用已从传统的PC机领域拓展到更多的电子应用系统中。 1 PCI主桥简介 在复杂的PCI系统中,往往拥有不只
[传感技术]
KEIL下分散加载文件的使用
对于分散加载的概念,在《ARM体系结构与编程》书中第11章有明确介绍。 分散加载文件(即scatter file 后缀为.scf)是一个文本文件,通过编写一个分散加载文件来指定 ARM连接器在生成映像文件时如何分配RO,RW,ZI等数据的存放地址。如果不用SCATTER文件指定,那么 ARM连接器会按照默认的方式来生成映像文件,一般情况下我们是不需要使用分散加载文件的。 但在某些场合,我们希望把某些数据放在指定的地址处,那么这时候SCATTER文件就发挥了非常大的作用 而且SCATTER文件用起来非常简单好用。 举个例子:比如像LPC2378芯片具有多个不连续的SRAM,通用的RAM是32KB,可是32KB不够
[单片机]
单片机I2C总线介绍
I2C是一种串行总线的外设接口,它采用同步方式串行接收或发送信息,两个设备在同一个时钟下工作。I2C总线只用两根线:串行数据SDA(Serial Data)、串行时钟SCL(Serial Clock)。 由于I2C只有一根数据线,因此其发送信息和接收信息不能同时进行。信息的发送和接收只能分时进行。I2C串行总线工作时传输速率最高可达400K bit/s。 I2C总线上的所有器件的SDA线并接在一起,所有器件的SCL线并接在一起,且SDA线和SCL线必须通过上拉电阻连接到正电源。 I2C总线的数据传输协议要比SPI总线复杂一些,因为I2C总线器件没有片选控制线,所以I2C总线数据传输的开始必须由主器件产生通信的开始条件(SCL高电平时
[单片机]
单片机I2C<font color='red'>总线</font>介绍
CAN总线模块在机场跑道灯光控制中的应用
 系统介绍:   民航机场跑道灯,边线灯等是飞机安全着陆的重要条件,每当日光不足或者夜间,跑道灯一定要点亮以给准备着陆的飞机指示跑道的方向和轮廓,引导飞机安全着陆。当这些灯光部分损坏,会给飞机安全带来严重的后果。如何自动巡回检测这些灯光的工作状态是一个机场安全的重要课题。   具有专利技术的机场跑道单灯监控装置是可以同时监视从同一个供电的调光器控制的近百盏灯的装置。若干调光器联合工作构成了机场的跑道照明系统,而配套的若干监控装置也可以同时构成一套完整的监控系统。   设计要求:   1.将若干监控装置传来的灯状态信息集中并采集到数据库中(其中每个监控装置传送近百个灯状态)并通过软件动态显示在计算机屏幕上。每个灯根据故障或正
[工业控制]
CAN<font color='red'>总线</font>模块在机场跑道灯光控制中的应用
基于PCI总线的HDLC通信卡的设计与实现
    PCI总线及在其基础上发展起来的CPCI总线,在工业控制、数据采集、信息通信、航空航天等领域得到了广泛的应用。高级数据链路控制(HDLC)是一个在同步网上传输数据并面向位的数据链路层协议,具有透明传输、可靠性高、传输效率高以及灵活性高等特点,可以实现点到点或者点到多点的数据传输,在路由器、网关等通信或者网络设备中应用广泛。为了满足实际工作的需要,并为后续系统升级提供拓展空间,本文设计并实现了一款基于PCI总线、符合HDLC协议的通信卡,以满足高速数据传输的需要。通信卡采用PCI总线控制器实现PCI总线接口设计,采用FPGA实现HDLC通信协议及接口逻辑设计,采用RS一422标准对外通信,实现与外系统的互连。 1 HDL
[嵌入式]
CAN总线在专用设备中的应用
0 引言   CAN总线技术在汽车行业、工程机械等领域都已经普遍应用,由于其高性能、高可靠性及独特的设计,越来越受到人们的重视,国际上一些著名的公司都在自己的产品上广泛采用CAN总线技术。CAN已经形成国际标准(IS011898),并已成为工业数据通信的主流技术之一。近年来国内很多汽车行业、专用设备、通信、工程工业、医疗器械等行业也运用这一技术,这样大大提高了设备整机的可靠性、可检测和可维修性,同时提高了智能化水平。本文主要讲述CAN总线在专用设备一高空作业平台控制系统中的应用。 1 设备CAN总线系统网络结构   高空作业平台控制系统采用的是美国SAUER DANFOSS的MC050控制器。此控制器是行走机械专用控制
[嵌入式]
如何设计与现场总线无关的智能工厂传感器
如果您即将开始设计智能工厂传感器,请阅读这篇文章了解更多信息,从而尽可能快速高效地完成设计,使其能够为更多客户带来裨益。这篇博文介绍了 智能工厂传感器(温度和压力)的设计理念,无论工厂流程中使用何种类型的现场总线或工业以太网,这些传感器都能与PLC进行通信。 温度传感器有哪些选择? 比较常见的温度传感器是2线、3线和4线电阻温度检测器(RTD)、热电偶以及热敏电阻,每种传感器都有相对的优点和缺点。如果时间充裕,您可以在种类繁多的信号调理和数据转换器IC中精挑细选,以构建和调试定制模拟前端(AFE)。 有没有更快完成设计的办法? 如果时间很紧张,那么完全集成的AFE,例如AD7124或AD4130 Σ-Δ ADC(
[传感器]
如何设计与现场<font color='red'>总线</font>无关的智能工厂传感器
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved