新闻中心

EEPW首页 > 消费电子 > 设计应用 > Blackfin ADSP-BF533在音频处理系统中的应用

Blackfin ADSP-BF533在音频处理系统中的应用

作者:时间:2010-07-06来源:网络收藏

2.4 CPLD部分

控制模块与选择分配板卡的数据通信可在CPLD中实现。在并口转串口时,每次通信都向CPLD发送16位并行数据,其中低8位为串口数据,可通过触发器将数据发出。高8位中的低4位决定发送到第几号分配板,并由此判断选通信号,同时按一定波特率将串口数据发送至相应通道。在串口转并口时,首先模拟出相应的波特率时钟,并以此时钟对管脚进行采样,当检测到串口起始位后,即存储采样数据,同时将数据及通道状态送入与并口相连的引脚。之后,再将与的PF相连的引脚置位,以引起BF533中断,读取并口数据。这样,就可通过的并行数据总线来控制10路异步串口的数据收发。EPM7160采用24.576NHz的晶振输入,并根据外部的串口的波特率在内部通过编程对此输入时钟进行相应的分频。其CPLD接口电路连接如图5所示。

3 系统软件设计

系列在软件方面可支持C语言和汇编语言,同时支持两者的混合编程。C语言程序结构好、可读性强、易移植,但速度慢。而汇编语言速度快,但是可读性差,不容易调试。C语言和汇编语言混合编程可结合各自优势,能构造出结构好且执行速度快的程序。但在编程过程中应注意以下事项:第一,无论是用C语言还是汇编语言,系统中只有一组相同的寄存器可供使用,因此在使用寄存器之前,子函数必须先保存,并在返回之前恢复。第二,要严格按照寄存器的类型使用,不同类型的寄存器不可混用。第三,为了提高代码的运行速度,要善于使用并行指令。

本系统在对BF533程序初始化后,主程序将随时接受由SPORT口送人的解析后的信号,并存储对应的最大电平值,同时打开UART中断和TIMER0中断。在TIMER0中断中(本系统初始化设置为10 ms),可对存储的数据进行并提取状态。如不满足要求,则打开TIMER1中断(本系统初始化设置为6 s),并跳回主程序继续检测,如在相应TIMER1中断时还不符合要求,则进行切换。UART中断可完成与控制板和上位机的数据交换。

各程序模块中,主程序模块main()主要完成系统与各种接口的初始化工作,检测记录电平、监控状态、等待中断发生等,其中Timer0中断子程序模块EX_INTERRUPT_HANDLER(Timer0_ISR)可完成对存储的数据进行处理并提取状态功能。Timer1中断子程序模块EX_INTERRUPT_HANDLER(Timerl_ISR)则可在设定的延时中,完成电平检测以判断是否切换。异步串口中断子程序模块EX_INTERRUPT_HANDLER(Uart_ISR)用于完成接收上位机及板卡信号控制功能。

4 结束语

采用ADI公司的BF533可实现新品信号的处理,并可扩展SDRAM作为大容量存储器。该系统成本低,效率高,实时性好,性能十分优越。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭