基于DSP+CPLD的嵌入式高速图像通信系统设计
1 引言
随着现代的图形采集技术发展迅速,各种基于ISA,PCI,USB1.1等总线的图形采集卡速度已经不能满足用户的需求,而采用 USB2.0以后就可以解决这个传输速度上的瓶颈,USB2.0的速度是480Mbits/s,完全可以满足图像采集、传输以及后续处理的要求。系统中采用 DSP+CPLD的硬件设计方案,采用现场可编程芯片 CPLD及两片 SRAM构成的图像采集和存储系统,可以根据不同的需要进行现场编程,具有通用性好、价格相对便宜,易于系统调试,升级等特点。系统中 CPLD选择的型号是 ALTERA公司的MAX7000系列低功耗芯片EPM7128A。片外大容量 SRAM是DSP与 CPLD的联系桥梁,系统设计也利用这座桥梁将 USB和 CPLD有机地联系起来。该系统的市场调查表明,适应于各种主动或被动的监测场合,以及医疗、公安和工业检测当中。 2 系统的硬件设计方案图像通信系统包括以下四个部分,如图 1所示:
(1) 图像采集模块,由线阵 CCD、CCD 驱动信号增强电路、CPLD 和 A/D 组成,用于采集图像信号,并将模拟信号数字化,以便 DSP 处理。本系统采用黑白高速线阵TH7814A,该 CCD 为双路输出,像敏单元尺寸7 ?m,最高驱动频率 50 MHz;CCD 驱动信号增强电路是为满足该 CCD 所需的 9 V 高速驱动而设计的;A/D 芯片采用 SAA7111A,它由双通道模拟预处理电路、自动钳位和增益控制、时钟产生电路、数字多标准译码器色度/饱和度/对比度控制电路、彩色空间矩阵和 27MHz数据处理通道七部分组成,并由 DSP模拟I 2C总线进行时序配置,以上器件同步驱动脉冲均由 CPLD 产生。
(2)图像信号的处理和控制模块,该模块由 DSP和两片 SRAM组成,完成了整个系统图像数据的处理和对各模块的集中控制与处理,DSP选用了 TI公司的通用 16位定点 DSP芯片 TMS320VC5409,其指令的处理速度达到 100MIPS,通过片内的锁相环倍频使 DSP内部工作在 100M的频率上,而外部的工作频率可以相对较低,这就降低了电路设计的要求,提高了工作的稳定性。该系统图像采集的一帧图像是 720×576象素,如果取彩色图像,每象素用 2个字节表示,每帧图像是 720×576×16=*Mb,分成奇数场和偶数场分别存储在两片 SRAM中,则每片的 SRAM存储 3.2Mb的图像数据,因此选用了 256K×1*M位的静态存储器(SRAM)。在图像处理领域,通常只需要黑白图像,可以只取图像的黑白部分,每象素用 1个字节表示,每帧图像是 3.2Mb ,每片 SRAM存储 1.6Mb的图像数据。所采用的 EZ-USB芯片理论速率是 480Mbps,实际测得的速率是 320Mbps,因此图像采集卡每秒传输约 5帧彩色图像或 10帧黑白图像。
(3)USB传输和控制模块,设计中选用的芯片是EZ-USB FX2系列的CY7C68013芯片,该芯片是针对 USB2.0的,而且和 USB1.0兼容,由于 USB2.0的速度可以达到480Mb/S,并且FX2自身具有EP2,EP4,EP6和EP8的4个大流量端点,CY7C68013可以实现从外部存储器高速的读取和写入数据。在图像的采集、存储和传输设计上,不再是奇数场存储在奇数SRAM,偶数场存储在偶数SRAM。最重要的改进是一帧图像在完成行延时和像素延时之后,当偶数场到来后,先把偶数场的一半存储在紧邻奇数场数据的奇数 SRAM中,然后再把余下的偶数场数据的一半存储在紧邻偶数场数据的偶数 SRAM中。CY7C68013拥有 4个大容量端点,恰好满足了整个系统对实时性的要求。在 USB从两个 SRAM读取图像数据时,USB并不是从两个SRAM"乒乓"式的读取图像数据,而是充分地利用 USB2.0的速度特点,由 CPLD的时序调度来先读取奇数SRAM,然后读取偶数SRAM。
(4)系统接口以及终端图像还原和存储模块,系统中各个模块之间都需要通过接口来实现模块间通信,因此接口的选择是系统是保证系统通信速度的关键。其中 CPLD 和 DSP 都具有很高的数据处理速度 ,如何将这两个器件的处理速度协调起来 ,会直接影响整体系统的运行速度 ,这就涉及到 CPLD如何与 DSP接口的问题。关键是选择 DSP的接口方式和配置CPLD的片内RAM。系统中DSP与 SDRAM 用EMIF 的方式接口。同时,CPLD内部的存储器主要是 Block RAM ,可用作双口 RAM ,正好可将 CPLD 模块中的结果缓冲器设为双口 RAM ,一端是输入 ,另一端则模拟为SDRAM 的接口。这样就将 CPLD 与 DSP 有机地连接在一起。系统与终端的接口采用的是 480Mb/s的 USB2.0通用串行接口,用于发送和接受各种数据及控制信号。PC机端通过 USB接口接受数据,然后存储到终端硬盘上,进行图像的还原和处理。
系统工作流程:系统上电以后, DSP从外部 FLASH进行程序自举,
- 基于视觉的ADAS解决方案,近在咫尺!(05-07)
- 精通信号处理设计小Tips(6):卷积是怎么得到的?(11-24)
- 精通信号处理设计小Tips(7):应用极其广泛的相关(12-01)
- 精通信号处理设计小Tips(8):检测淹没在噪声中的信号(02-06)
- 精通信号处理设计小Tips(9):估算信号在模拟通道的延时(02-10)
- 什么是OpenCL?面向FPGA的OpenCL有何优点?(03-12)