基于ADSP-BF531的数字音频选择系统
扫描二维码
随时随地手机看文章
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信号分析
AES/EBU数字音频接口标准采用一个双相标识(Biphase mark)的调频通道编码调制串行数据,使之无直流(DC-Free)和自同步(Self-clocking)。调频编码中,每一个数据码转换为两位通道码,一位通道码1引起传输信号的一次变化。未经加工的串行数据不能直接通过电缆传输,必须调制(编码)使之成为一种含有与码值无关的时钟信号波形。在接收器中,数据分离器电路能将传输信号锁定在内置时钟并分离上音频数字信号。AES3的帧格式如图2所示。
4系统硬件设计
4.1分配板卡
分配板主要包括CS8420、MAX3095、ADSP-BF531以及CPLD等器件,分配板卡信号电路连接如图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接口和同步串口输出方式。这里采用后者输出解码信号,再输入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)信号获得。用户编程的倍频因子,可使片上PLL倍频CLKIN信号。内核时钟最高可达300 MHz,系统外设时钟最高可达133 MHz,为了达到实时性,系统把内核时钟倍频至300 MHz。
系统中ADSP-BF531所使用资源包括2个定时器、UART、SPI端口、SPORT端口。系统初始化后,ADSP-BF531首先设置PLL,倍频输入时钟.产生内核时钟和系统外设时钟。然后初始化内部总线、SPI端口、UART、SPORT端口、设置中断。接着通过SPI端口初始化CS8420。然后控制CPLD选通主路,进入信号检测、分选状态。ADSP-BF531拥有16个功能强大的PF引脚,既可作为I/O引脚,也可作为中断。由于系统涉及到控制信号,所以采用PF作为控制引脚。对CPLD中数据分时提取,控制信号分选。
ADSP-BF531需要完成以下功能:
(1)通过同步串口采集由CPLD输出的音频信号,并对其电平比较。由SPORT端口分时接收CPLD送来的3路信号的质量数据,并在定时器设置的时间内存储最大值,即音频信号的最大电平。
(2)由电平比较后的结果和各开关的状态决定选择相应的通道作为输出,同时记录状态,并将其输入CPLD。从CPLD读取外部控制开关状态。触发定时器1,检测存储的最大电平是否达到外部开关标准,如果没有达到,当前通道点亮报警灯,并通过UART向控制板发送报警信号。同时触发定时器2,设置报警时间。如果在触发定时器2之前,信号达到要求,则关闭报警灯,恢复报警前状态;如果信号电平低于所需电平,根据控制开关,将输出切换到另一路信号,同时点亮该路信号指示灯。
(3)通过UART与控制板通信,及时应答控制板查询,上报当前状态。ADSP-BF531通过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,且与上位机和分配板卡的通信都是即时的,无法复用。因此采用ADSP-BF531的UART与上位机通信。而用数据总线在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中断时还不满足要求,则进行切换。UART中断完成控制板与上位机的数据交换。
各子程序模块功能介绍:主程序模块main()初始化系统与各种接口,检测记录电平,监控状态,等待中断发生。Timer0中断子程序模块EX_INTERRUPT_HANDLER(Timer0_ISR)用于处理存储数据并提取状态功能。Timer1中断子程序模块EX_INTERRUPT_HANDLER(Timer1_ISR)完成在设定的延时中,检测电平判断是否切换功能。异步串口中断子程序模块EX_INTERRUPT_HANDLER(Uart_ISR)实现接收上位机及控制板卡信号功能。
5 结束语
本系统采用先进的音频多速率转换器CS8420以及高性能嵌入式处理器ADS-BF531,实现多路数字音频信号的自动检测和选取。本系统已在试用,结果表明,该系统分析准确,转换速度快,工作稳定,适用于广播发射台。