新闻中心

EEPW首页>模拟技术>设计应用> 基于高精度Σ-ΔADC和DSP的广播级数字音频延时器

基于高精度Σ-ΔADC和DSP的广播级数字音频延时器

作者: 时间:2012-11-02 来源:网络 收藏
0px; PADDING-BOTTOM: 0px; MARGIN: 20px 0px 0px; WORD-SPACING: 0px; FONT: 14px/25px 宋体, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  2.2 延时功能的实现

  M68HC05C8软件主要由初始化程序和主程序等组成。在初始化程序中,完成CS4224的复位和初始化、MS320C32复位和引导。主程序主要是按键和显示处理程序,完成各种按键的分析处理、刷新光柱和数码管显示,并将有关信息送至CS4224和TMS320C32。

  首先,M68HC05C8复位CS4224,通过SPI接口初始化ADC、DAC和端口模式控制寄存器,设置音频输入输出格式,使音频输出静音。

  接着,M68HC05C8通过端口PC0~3,令MCBL/MP引脚为高电平,然后在RESET引脚给出复位脉冲,TMS320C32进入外部存储器程序引导,将FLASH存储器中的程序装入内部RAM,并从目标地址开始执行程序。

  TMS320C32软件由主程序、初始化程序和串行中服务程序等组成。初始化程序首先复位串口,并设置端口控制寄存器,令串口的所有引脚工作在串口方式,而非通用I/O口;设置串行口全局控制寄存器,数据长度设为24位,开放串口中断,对串口信号进行极性控制;使用外部时钟CLRX/R,并设置为低电平有效,其余信号均为高电平有效,以便与CS4224接口线相适应,然后启动串口工作。

  数据读写操作均在TMS320C32串口接收中断服务程序中进行。24位音频输入数据从DR引脚全部左移进入接收移位寄存器RSR后,TMS320C32将RSR内容写入DRR接收寄存器,并产生串口接收中断XINT。在串中接收中断服务程序中,将DRR数据写入SRAM,同时从SRAM中读入需要输出的音频数据,写入发送寄存器DXR,等待下一个帧同步信号FSX有效后送入发送移位寄存器XSR,在移位脉冲CLKX作用下左移,从DX引脚输出。

有4种工作模式,即直通状态(BYPASS)、紧急状态(DUMP)、2秒模式(-2s)和咳嗽模式(COUGH)。直通状态下,音频输入和输出端通过继电器直接连在一起,输出不再通过关机时也处于直通状态。在延时状态下,每按一次2秒模式键,删除最新输入延时器的2秒音频数据,避免刚读错的内容被播出。按住咳嗽按钮键,删除按住该键时输入的音频数据,可让主持人打喷嚏、咳嗽或作短暂停顿而不被发现。延时时间1~10秒可调,可以通过按键设定。按下START键进入延时状态,此时整个播出静音或重放预先录入的垫乐,直到正式进入延时状态。按下EXIT键可退出延时状态。在延时状态时,如遇到恶意电话等紧急情况,可迅速按动DUMP键,此时设定延时时间内的全部音频数据被删除,并切断正常播出,播出处静音状态。

  用户通过按键选择延时器的工作模式,M68HC05C8根据工作模式控制CS4224音频输出处于静音或正常输出状态,并在TMS320C32串口中断服务程序中改变读出或写入音频数据的SRAM地址。M68HC05C8根据延时时间和采样频率,计算出音频数据的写入地址和读出地址,通过接口线XF0/1进行串口通信,将地址传送给TMS320C32。当读出地址和写入地址相同时,音频输入和输出没有延时。如果将写入地址减去某一增量后作为读出地址,则读出内容为一段延时时间前的音频输入,从而达到延时功能。

  综上所述,广播级延时器采用和MCU的主从式结构以及高精度∑-ΔADC芯片,能较为灵活地控制工作模式,具有较高的音频性能指标,完全可以满足电台直播节目安全播出的需要。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭