数字信号处理实现方法有MATLAB软件实现,单片机实现,通用DSP和专用DSP芯片实现。MATLAB为纯软件工具,无法满足处理板的硬件要求。单片机的优点是设计简单,速度快,但对于复杂的图像信号处理,单片机难以实现复杂数据的运算和实时控制。专用DSP芯片是将相关算法集成于DSP中,其速度高,但灵活性差且价格高。通用DSP芯片采用改进的哈佛结构,不但数据总线和程序总线相互分离,而且数据存储器和程序存储器也相互独立编址和访问;配有单独的乘法器和加法器,使得DSP能完成复杂的数据运算,且运算速度高;带有DMA直接访问存储器通道,不仅提高了数据传送速率且不占用CPU资源;具有丰富的外设接口,提供与外设之间的无缝连接。上述优点使得DSP芯片得到广泛应用,所以选用通用DSP芯片作为数字信号处理板的核心,完成图像信号处理工作。
目前通用DSP市场上,ADI公司和TI公司生产的DSP占据领先地位,ADI可编程DSP芯片销售份额占全球的40%。ADI与Intel联合开发的高性能体系结构产品Blackfin系列DSP,主要用来处理图像、声音、数据流等信息,具有高的性价比。
要实现实时的字符叠加或者动目标检测,就需要专门用于视频处理的DSP芯片。这些芯片可以提供同视频采集芯片相连的专用接口。这里可以选用ADI公司的Blackfin系列DSP芯片,或者选用Atmel公司基于ARM7TDMI内核的AT91M40800芯片等。
AT91M40800是Atmel公司推出的AT91 16/32位微控制器系列中具有很高性价比的一款芯片。它基于ARM7TDMI内核,内含高性能的32位RISC处理器、16位高集成度指令集、8KB片上SRAM、可编程外部总线接口(EBI)、3通道16位计数器/定时器、32个可编程I/O口、中断控制器、2个UART(其中每个各带2个专用外部数据控制器)、可编程看门狗定时器、主时钟电路和DRAM时序控制电路,并配有高级节能电路;同时,可支持JTAG调试,主频为40MHz。由于主频偏低,因此我们放弃了使用这款芯片。
ADSP-BF561是Blackfin系列的双核嵌入式处理器,具有600MHz的执行速度,561处理器的特点[6]:
具有328KB的片内存储空间,每个内核带有16KB内存的可配置成SRAM或Cache,32KB的数据存储器可配置成SRAM或Cache,4KB的暂存器SRAM。外加128KB的片上L2 SRAM。
内核结构各自包含2个16位乘法-累加器(MACs),执行定点乘法-加法操作;2个40位的算术逻辑单元(ALUs),执行定点算术逻辑操作;4个8位视频算术逻辑单元和40位的移位寄存器。
提供与SDRAM,SRAM,FLASH和ROM等外部寄存器之间的无缝连接。
具有两个并行外设接口PPI/GPIO,支持ITU-656视频数据流格式,2个全双工通用串行口,两个16通道DMA,SPI兼容端口,12个32位计时/计数器,支持PWM,支持IrDA的通用异步接收/发送(UART),实时时钟模块,2个看门狗定时器,48个可编程管脚,自带0.5x~64xPLL。
BF533/531为单核嵌入式处理器,533和531均为16位定点DSP内核,内核结构和外设接口与561相似,差别在于561有A,B两个核,每个核带有自己的内部存储器、乘法器、加法器和移位寄存器等,而533/531只有一个核。BF533和BF531区别如表3.1所示。
表3.1 BF533和BF531区别
BF533 BF531
最高工作频率 600MHz 400MHz
指令存储器 80KB SRAM 32KB SRAM和
32KB ROM
数据存储器 1个16KB的Bank 2个32KB SRAM的Bank
ADSP-BF561相当于两个BF533芯片,在本系统中,需要两个PPI口分别作为输入和输出口,故选用BF561作为该系统的数字信号处理芯片。
Blackfin DSP也具有通常与RISC处理器相关的优点,例如高度正交的指令集、字节可访问性、存储器保护和SRAM/cache存储器模块,其外围电路提供了GPS、蜂窝终端、CD等设备间的无缝通信。新DSP还支持Linux、ThreadX和Nucleus等嵌入式操作系统,内建的视频优化功能可实现完全可编程的D1/VGA实时视频和多通道音频处理,能使用户开发的产品快速投放市场,并且容易支持新兴的多媒体格式,如MPEG-4、H.264和Windows Media。如图3.7为Blackfin BF561的功能模块框图。 基于blackfin DSP视频字符叠加的实现(6):http://www.youerw.com/tongxin/lunwen_9444.html