微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 解析ADSP-BF531的数字音频选择系统的应用

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

时间:01-05 来源:互联网 点击:

和系统外设时钟(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 结束语

本系统采用先进的音频多速率

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top