2.1 硬件平台
ADSP是ADI(Analog Device Inc.)公司推出的一系列高性能低功耗DSP芯片,而基于Blackfin处理器的ADSP-BF537具有接口丰富,性能优良,价格低廉等特点,并具有强大的多媒体数据处理能力。Blackfin处理器集成了一个由ADI公司和Intel公司联合开发的基于MSA(Micro Signal Architecture)的16/32位嵌入式处理器,支持32位RISC指令集,采用10级流水线,集成了两个16位乘法加速器,内核主频最高可以达到600 MHz。ADSF-BF537总线有一个以DMA控制器为中心的高速自主数据通道。DMA总线可以在存储器之间、存储器和外部接口之间快速地传递数据,并且可以和内核并行操作。ADSP的集成开发环境Visual DSP++中嵌入了实时操作系统内核VDK,适合多任务多线程的嵌入式操作。ADI还提供了一个用于Blackfin系列嵌入式处理器的轻量级TCP/IP(LwIP)协议栈端口,可以快速将一个独立的嵌入式应用联网。
2.2 硬件系统架构
DSP与视频服务器采用轻量级TCP/IP(LwIP)交互数据,这里不过多介绍。主要介绍DSP与FPGA连接。由于FPGA基于SRAM工艺,掉电后数据会丢失。采用的方法是将作用于FPGA的通信基带算法文件存储在DSP的FLASH中。一般调试时,DSP及FPGA都需要从PC机通过JTAG口进行程序的下载。但当系统程序已经调试完毕,当需要到户外进行测试或作为产品使用时,针对系统调试的方便性,采用DSP自启动及配置FPGA部分。
ADI公司的ADSP-BF537上电后启动方式一共有7种。本设计中采用的DSP上电从16位FLASH启动,启动程序采用Analog公司提供的烧写启动FLASH的程序。第一次上电时,利用JTAG,结合ADSP自带工具“FLASH Programmer”将写好的DSP程序烧入FLASH中。并且将FPGA的配置文件(.bit格式)读到缓存,通过DSP烧写到FLASH的Bankl和Bank2中,把Bank0用来做DSP自启动。断电复位后,启动过程如下:
(1)BF537从FLASH引导启动,完成DSP板级初始化。
(2)FPGA的配置文件动态加载到FPGA中。
(3)用DSP的GPIO端口对FPGA的时钟和数据配置专用引脚进行模拟时序,即完成对FPGA的动态配置。
在启动过程完成后,DSP与视频服务器进行Sock-et连接,接收压缩的视频码流,并送到FPGA进行基带部分的处理。DSP与FPGA的接口部分如图2所示。
图2中DSP通过自身的外部总线与FPGA相连,FPGA内部实现了两个2 KB的异步存储器SRAM0,SRAM1,对存储器的访问满足DSP外部总线的时序要求。图2中接口连线含义如表1所示。