解析ADSP-BF531的数字音频选择系统的应用

时间:2011-09-02

  1 引言

  随着数字电路广泛应用,广播中的数字信号逐步取代传统的模拟信号。随着数字媒体技术的发展,存储技术在数字媒体领域也得到了广泛应用。特别是数字技术的迅猛变革,使存储数字媒体的技术手段也发生很大变化。在媒体爆炸性增长的同时,广电界十分关心数字技术的未来发展,同时也更加关心数字媒体资产的管理、使用和存储。本系统设计采用ADSP-BF531和EMP7128实现了广播常用的AES3数字信号实时检测和动态分配功能。

  2 系统功能简介

  音频数字选择系统是由母板、控制板和分配板组成。AES3信号分为10组,每组3路信号是由机箱直接输入母板,母板再将每组信号分别送入10块分配板。分配板对输入信号进行解析,再根据用户的要求选择符合要求的信号输出,并显示当前各路信号的质量。

  音频数字选择系统原理:接收3路AES3广播信号,A路为主路,无特殊情况时为输出信号。若A路出现无信号或信号电平过低等情况,系统将自动切换至B路。若B路有问题,切换至C路。若3路输入信号均有问题,则输出应急信号。应急信号由上位机提供。

  本系统是由音频信号分配模块、控制模块、上位机组成,如图1所示。

  本系统同时输入10组30路信号,分别由10块分配板卡完成信号分选。1块控制板卡控制10块分配板卡,并检测其状态,实现各分配板卡与上位机通信。

  3 AES3信号分析

  AES3信号作为一种数字音频基带信号,可在一定程度上防范非法的插播。即使没有配备AES3输入口的发射设备,其模拟输入口也往往是平衡式的,意在保障尽可能高的信号源质量,减轻传输中的干扰。AES/EBU数字音频接口标准采用一个双相标识(Biphase mark)的调频通道编码调制串行数据,使之无直流(DC-Free)和自同步(Self-clocking)。调频编码中,每一个数据码转换为两位通道码,一位通道码1引起传输信号的变化。未经加工的串行数据不能直接通过电缆传输,必须调制(编码)使之成为一种含有与码值无关的时钟信号波形。AES3的帧格式如图2所示。

  4系统硬件设计

  4.1分配板

  分配板主要包括CS8420、MAX3095、ADSP-BF531以及CPLD等器件,CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过电缆("在系统"编程)将代码传送到目标芯片中,实现设计的数字系统。分配板卡信号电路连接如图3所示。

  输入信号进入板卡后,首先进入数字音频采样率转换器CS8420.CS8420不但町以在不影响信号流的情况下提取AES3信号,而且能够改变信号采样速率。CS8420需要由ADSP-BF531从SPI接口通过CPLD进行初始化,其片内有128个控制寄存器和数据寄存器,前14个为控制寄存器。CS8420必须在系统上电后初始化才能正常工作。CS8420内部寄存器时序有很大不同,如图4所示,读取CS8420寄存器时,1个SPI周期需接收16位数据即可读取CS8420内部寄存器数据。完全与ADSP-BF531的SPI接口相匹配。在写入CS8420寄存器时,1个SPI周期需接收24位数据才能写入数据。而ADSP-BF531的SPI接口1个周期多发送16位数据,因此对于CS8420的写操作,ADSP-BF531必须发送两次数据。CPLD修正其片选信号,才能完成写操作。CS8420初始化后,开始对输入信号解码。可通过两种方式输出解码信号,即SPI接口和同步串口输出方式。SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR.外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。这里采用后者输出解码信号,再输入CPLD,并进入ADSP-BF531.由于存在3路输入音频信号,所以需要3片CS8420.这些CS8420分别将解码信号送人CPLD,再由CPLD分时送入ADSP-BF531的SPORT端口。

  系统的数据处理采用Blackfin531.Blackfin531处理器内核包含2个16位乘法器,2个40位的累加器,2个40位的ALU,4个视频ALU和1个40位移位器。DSP内核时钟(CCLK)和系统外设时钟(SCLK)可由输入时钟(CLKIN)信号获得。内核时钟可达300 MHz,系统外设时钟可达133 MHz,为了达到实时性,系统把内核时钟倍频至300 MHz.

  系统中ADSP-BF531所使用资源包括2个定时器、UART、SPI端口、SPORT端口。系统初始化后,ADSP-BF531首先设置PLL,倍频输入时钟。产生内核时钟和系统外设时钟。然后初始化内部总线、SPI端口、UART、SPORT端口、设置中断。ADSP-BF531拥有16个功能强大的PF引脚,既可作为I/O引脚,也可作为中断。由于系统涉及到控制信号,所以采用PF作为控制引脚。对CPLD中数据分时提取,控制信号分选。

  ADSP-BF531需要完成以下功能:

  (1)通过同步串口采集由CPLD输出的音频信号,并对其电平比较。由SPORT端口分时接收CPLD送来的3路信号的质量数据,并在定时器设置的时间内存储值,即音频信号的电平。

  (2)由电平比较后的结果和各开关的状态决定选择相应的通道作为输出,同时记录状态,并将其输入CPLD.从CPLD读取外部控制开关状态。触发定时器1,检测存储的电平是否达到外部开关标准,如果没有达到,当前通道点亮报警灯,并通过UART向控制板发送报警信号。同时触发定时器2,设置报警时间。如果在触发定时器2之前,信号达到要求,则关闭报警灯,恢复报警前状态;如果信号电平低于所需电平,根据控制开关,将输出切换到另一路信号,同时点亮该路信号指示灯。

  (3)通过UART与控制板通信,及时应答控制板查询,上报当前状态。为防止冲突,信号分配板只能应答控制板发送的信号,而不能向控制板发送数据。

  系统采用AT49BV163作为ADSP-BF531的加载器件。该Flash具有1 M×16的内存空间,系统上电时为ADSP-BF531提供加载程序。

  系统选取Alter公司的MAX7000S系列的EPM7128,实现音频数据分时提取、信号、分选、读取控制开关信息、控制指示灯。系统控制开关和指示灯的读取、控制由ADSP-BF531的数据总线控制。由于MAX3095可同时将4路差分信号转换成普通信号,因此,系统将3路输入的音频差分信号转化成普通信号,再送入CPLD EPM7128.分配板卡由外部电源提供5 V直流电源,通过电源转换器将5 V转换成3.3 V和1.2 V电压,分别为ADSP-BF531和Flash AT49BV163供电。

  4.2控制板卡

  控制板卡有1路音频输入,为应急信号。将应急信号输出至各分配板卡。当分配板卡的3路信号均达不到要求时,输出应急信号。控制板卡信号电路连接如图5所示。

  控制板卡除了监视应急音频状态,实现与上位机和各分配板卡的通信。音频信号处理部分与分配板卡类似。因此采用ADSP-BF531的UART与上位机通信。UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。因为计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送到串行设备,若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem. 而用数据总线在CPLD中进行并口与串口转换,实现与各分配板卡的通信。

  CPLD实现控制板卡与分配板卡的通信。并口转换串口时,每次通信ADSP-BF531向CPLD发送16位并行数据,低8位为串口数据,通过触发器发送数据;高8位的低4位决定发送到具体的分配板,由此判断选通信号,并按一定波特率将串口数据发送至相应通道。串口转换并口时,首先模拟相应波特率时钟,以此时钟对引脚采样,当检测到串口起始位时,存储采样数据,将数据及通道状态送人与ADSP-BF531并口相连的引脚。并对ADSP-BF531的PF相连的引脚置位,触发ADSP-BF531中断,读取并口数据。

  4.3DSP程序

  ADSP-BF531程序初始化后,主程序随时接收由SPORT端口送人的解码音频信号,并存储电平值,同时打开UART中断和、TIMER0中断。在TIMER0中断中(本系统初始化设置为10 ms),处理存储数据并提取状态,如不满足要求则打开TIMER1中断(本系统初始化设置为6 s),跳回主程序继续检测,如在相应TIMER1中断时还不满足要求,则进行切换。

  各子程序模块功能介绍:主程序模块main()初始化系统与各种接口,检测记录电平,监控状态,等待中断发生。Timer0中断子程序模块EX_INTERRUPT_HANDLER(Timer0_ISR)用于处理存储数据并提取状态功能。Timer1中断子程序模块EX_INTERRUPT_HANDLER(Timer1_ISR)完成在设定的延时中,检测电平判断是否切换功能。

  5 结束语

  本系统采用先进的音频多速率转换器CS8420以及高性能嵌入式处理器ADS-BF531,实现多路数字音频信号的自动检测和选取。本系统已在试用,结果表明,该系统分析准确,转换速度快,工作稳定,适用于广播发射台


  
上一篇:嵌入式系统中运行参数修改的设计和实现
下一篇:浅谈SPCE3200的彩色液晶显示系统设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料