(多图) 基于DSP+FPGA多视频通道的切换控制
1 系统硬件结构
采用DSP+FPGA的硬件结构方案,利用DSP和FPGA控制MAX4312选通所需要的视频通道,从而达到在多路视频通道间进行切换的目的。系统结构框图如图1所示。
图1 系统结构框图
1.1 控制器件的选型
根据实际需要,DSP采用ADI公司推出的Blackfin系列高性能处理器ADSP_BF561(以下简称BF561)作为算法处理和控制核心,BF561处理器包含2个独立的BF533内核,每个内核分别包含2个乘/累加器(MAC),2个40位的ALU,4个视频ALU和1个40位移位器。Blackfin处理器采用改进的哈佛结构和分级的存储器结构。L1存储器一般以全速运行,没有或只有很少延迟。L2是另一级存储器,分布在片内或片外,对其访问会消耗多个处理器周期。在L1级,指令存储器只存放指令,2个数据存储器存放数据,1个专用的临时数据存储器存储堆栈和局部变量信息。在L2级,采用统一的存储空间,可以存放指令和数据。这里采用L2级存储器。
FPGA采用Altera公司的EP3C40F48C对视频信号进行预处理,该芯片具有多达24 624个逻辑单元,具有高级外部存储器接口,允许将外部单数据率(SDR)SDRAM,双数据率(DDR)SDRAM和DDR FCRAM器件集成到复杂系统设计中,而不会降低数据访问性能,具有129个兼容的LVDS通道,每个通道数据率高达640 Mb/8,还有4个可编程锁相环和8个全局时钟线。另外EP3C40F484C的功耗较低,全局运行时总功耗为300 mW左右。
1.2 Flash的设计
根据系统设计的需要,Flash采用CMOS型的M29W640D,其空间为18 Mx16 bit。该系统中,外部数据线为D1~D15,地址线为A2~A22。连接时需要注意,因为Flash是16 bit位宽,硬件连接上需要地址错位,即DSP的A2对应Flash的A1,DSP的A3对应Flash的A2,依次类推。在软件编程上,任何对Flash的操作,如擦除、写入,均要先对特定地址写入一定数量固定的控制命令字,即签到指令,这样确保在通电和断电时,不会对存储器误操作。
1.3 SDRAM的设计
该系统所采用的外部数据存储器是大容量SDRAM MT48LC16M16,其容量是4 Bankx8 Mx16 bit。根据该系统设计的实际要求,SDRAM在系统运行时存储实时图像数据、基准数据以及程序代码。由于Flash的存取速度比较慢,在Flash里,在系统初始化时应预先将存储在其中的基准数据及程序代码搬到更快的存储器里面,以便DSP不受存储器读取时间的制约,充分发挥其高速性能。
1.4 视频采集模块设计
由于视频通道的切换时间非常短,这就需要切换控制模块对视频信号有一个非常准确的判断,以便及时发送切换命令,因此需要选择一款高速的转换器。另外由于本系统的电源为5 V供电,因此需要选择一款低功耗的器件。因此选择AD9203作为模拟信号的数字量化器件。
AD9203是ADI公司出品的一款单通道、低电压的高速A/D转换器,采样速率可达40 Ms/s。其精度稳定可靠,在全采样带宽范围内,始终基本保持着10位的精度;在40 Ms/s的采样速率下,ENOB(有效位数)仍然达到9.55位,差分非线性度±0.25 LSB,信噪比和失真度保持在59 dB左右。AD9203的工作电压比较灵活,允许住2.7~3.6 V范围内变动,特别适合于便携式设备在低电压下的高速操作。在3 V的供电下,40 Ms/s全速工作时,功耗只有74 mW;在5 Ms/s时,功耗将会降到17 mW,在待机模式下,功耗只有0.65 mW。对于输入信号的峰峰值,通常设置为1 Vp-p或者2 Vp-p。另外,AD9203允许外部电压参考,可以根据设计需要,在1~2 V间灵活地设置输入信号的峰峰值。图2是AD9203的电路应用原理图。
图2 AD9203的电路应用原理图
2 控制模块设计
整个系统的工作流程为,在不同的监控点上安装多个摄像头进行图像监控,多路图像视频信号通过MAX4312,每一时刻选通其中一路视频信号输入。该视频信号经过AD8013AR处理后从图像监控器输出数字图像信号,同时从行场分离芯片EL4583C输出相应的行(VIDEO_Hs)、场(VIDEO_Vs)信号,从AD9203输出图像后肩信号(AD_BRST)和视频量化信号。然后将行(VIDEO_Hs)、场(VIDEO_Vs)信号送进DSP,将后肩信号(AD_BRST)和视频量化信号送进FPGA。FPGA利用这些信号对图像进行预处理,然后将处理后的图像通
多视频通道切换控 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)