网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> C5000文章 >> C54X系列 >> 文章正文
  基于TMS320VC5410的会议电话的设计与实现(1)          【字体:
基于TMS320VC5410的会议电话的设计与实现(1)
作者:杨镇西 等    文章来源:电子设计应用    点击数:    更新时间:2004-7-27    
引言
会议电话是电信数字交换系统的一项重要业务,该业务可以实现多个用户之间同时通话。以往会议电话大都采用专用芯片来实现,随着DSP技术的进步,采用通用DSP实现会议电话由于具有容量大,成本低,升级灵活等优点,逐渐成为首选方案。
TI
公司低功耗高性能的DSP TMS320VC5410具有3条独立的数据总线和1条程序总线,提供高度并行性,其多通道缓冲串口McBSP(Multichannel Buffered Serial Port)可以很容易地接口数字交换系统中常用的ST-BUS链路,DMA控制器可以最大限度地减少DSP内部CPU的占用时间,片上RAM可以方便地提供程序运行空间和McBSP的收发数据缓冲区,因此本文中采用该DSP实现会议电话功能。</P><P>算法设计实现
会议电话的实现可以采用最大值输出法。这种方法是将同一帧内到达的通话各方的话音幅度进行比较,一般是讲话人的幅度最大,找出幅度最大的话音和幅度第二大的话音后将幅度第二大的话音送给讲话人,而将幅度最大的话音送给其他用户。
1是最大值输出法会议电话的示意图。图中是以四方会议为例,ABCD四方的第MPCM编码送入TMS320VC5410后在第M+1帧期间进行比较,假定判断出A的话音幅度最大,B 的话音幅度第二大,于是在第M+2B的话音送给用户AA的话音送给BCD三方用户,A用户听到的是B用户的声音,其他用户听到的是A用户的声音。
2给出了会议电话的DSP数据处理流程图。
首先DSP同时启动McBSP的收发端口,当McBSP的接收端口收到ST-BUS链路送来的第M帧对应于某一用户时隙的8 bit A(m律,下面以我国的A律编码为例)PCM话音数据后,先将其转成13 bit线性码,然后在线性码的右端补上3 bit0送给接收寄存器DRR1,这是因为TMS320VC5410 16位的,只能对片上RAM16 bit访问,为提高算法效率,设计中使用了线性码进行话音幅度比较。线性码转换完成后McBSP通知分配给它的接收DMA控制器,此时,DRR1的数据已就绪,接收DMA控制器立即将此16 bit数据按照其对应的地址写入接收缓冲区中。我们在DSP的片上RAM中给McBSP的接收和发送端口各分配了2帧的数据缓冲区。为方便软件处理,配置DMA时,在分配给它的数据缓冲区达到半满和全满时,向DSP内的CPU发送中断,因此DMA接收完第M帧话音数据后向CPU发送中断。
CPU收到DMA中断时,表明DMA已经接收到了第M帧全部时隙的数据,CPU在第M+1帧的期间依据每一个会议电话中与会用户所对应的时隙号,对存于接收数据缓冲区的用户的第M帧话音数据取绝对值后进行幅度大小比较,找到最大的话音和第二大的话音,分别将它们写入第M+2帧与会用户对应的发送数据缓冲区的地址内。
在第M+2帧时发送DMA控制器从它的数据缓冲区内依次读出相应的数据送给McBSP的发送端口,发送端口首先将此线性码语音数据转成A律语音数据,然后完成PCM话音数据发送。</P><P>DSP配置
TMS320VC5410
3McBSP6DMA,可以全部用于会议电话的实现。可以将DMA0~2依次分给McBSP0~2的接收端口,DMA3~5依次分给McBSP0~2的发送端口。
片上RAM分配
TMS320VC5410
具有8K16-bit 片上双访问RAM (DARAM) 56K16-bit片上单访问RAM (SARAM)DARAM4块组成,每块大小为2K字。每块可以在同一个时钟周期内读两次或者读写各一次,因此适合用于DSPHost之间的消息缓冲区,故将数据空间的0080h-1FFFh映射为DARAMSARAM7块组成,每块大小为8K字。SARAM可以在同一个时钟周期内读一块,写另一块,因此适合用于运行程序区和数据区,程序空间的2000h?FFFh映射为SARAM,数据空间的8000hFFFh映射为SARAM。对于片上RAM的分配见图3,具体分配如下所示:
1
0x0080~0x1FFFDSPHost的消息缓冲区。
2
0x2000~0x4FFFDSP程序区,包括目标文件的.text.cinit段。其中0x2000~0x2080DSP的中断向量表。
3
0x5000~0x7FFFDSP数据区,包括DSP文件的.bss .stack段。
4
0x8000~0x803FDMA0缓冲区,用于McBSP0的接收。
5
0x8040~0x807FDMA1 缓冲区,用于McBSP1的接收。
6
0x8080~0x80BFDMA2 缓冲区,用于McBSP2的接收。
7
0x80C0~0x80FFDMA3 缓冲区,用于McBSP0的发送。
8
0x8100~0x813FDMA4 缓冲区,用于McBSP1的发送。
9
0x8140~0x817FDMA5 缓冲区,用于McBSP2的发送。

 

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    分页烧写Flash的多页程序并行…
    基于DSP和DDS的商品防窃监视…
    基于TMS320VC5410的会议电话…
    基于TMS320VC5410的会议电话…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号