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进行程序自举,将程序引导进入片内高速 RAM中运行。DSP对 SAA7111A,TL16C750(异步通信芯片)进行初始化配置。初始化结束后,DSP进入等待状态。当接收到手动或是软件自动链路请求时, DSP进行链路拨号。链路成功后, DSP通过 CLKX产生触发脉冲通知 CPLD可以采集图像。从 CCD捕捉到的模拟视频信号经过SAA7111A的模数转换,由CPLD控制写入片外高速大容量SRAM储存,直到一帧图像存储完毕, CPLD交出总线。然后 USB控制器 FX2从两片 SRAM中读取奇数场和偶数场的图像数据。一帧图像采集结束后,CPLD置高 HOLD,同时产生中断,通知 DSP。DSP收回总线,进行图像传输。图像采集部分的 TOKEN信号外接 LED,LED的亮、灭状态可以直观地显示系统进程阶段。
关键字:嵌入式 高速图像 通信系统设计
引用地址:
基于DSP+CPLD的嵌入式高速图像通信系统设计
推荐阅读最新更新时间:2024-05-02 23:12
嵌入式视频图像压缩模块的USB接口设计
视频图像监控技术已经得到了广泛应用。但是在一些特殊场合,虽然并不需要实时图像监控,对图像的质量却有很高的要求。例如需要以图像画面作为证据的远程视频监视系统,H.261和H.263图像的质量已无法胜任,而是需要高质量的JPEG图像。所以研究和设计满足工业级要求的静态图像压缩模块对于特殊场合的视频图像监控有非常重要的意义。
在远程视频监控系统中,视频采集及压缩传送是不可或缺的重要组成。本文介绍了一种基于CY7C68013的JPEG视频压缩模块设计方案,它具有130万像素图像分辨率、压缩率大、接口简单等特点,可以方便地和USB主控设备结合在一起,由上位机通过软件指令控制拍摄、视频压缩和上传压缩图像数据,从而组成静态视频监控系统。
[嵌入式]
基于ARM的嵌入式BootLoader设计与启动过程
1 引言 近年来,ARM在嵌入式设备中的应用越来越广泛。S3C44B0X就是Samsung公司生产的基于ARM7架构的微处理器。uCLinux是专门为无MMU处理器设计的嵌入式操作系统,支持ARM、Motorola等处理器。采用ARM+uCLinux作为嵌入式开发平台,吸取了两者优点,是一种比较流行的开发方式。在ARM程序设计中,启动代码是至关重要的,它不仅初始化硬件系统本身,而且最终引导进入操作系统,所以启动代码的设计直接影响整个开发的正常进行。本文结合S3C44B0X的特点详细给出了Bootloader设计和启动过程。 2 BootLoader代码 Bootloader代码是芯片复位后进入操作系统之前执行的一段代码,
[单片机]
采用ARM芯片和LINUX嵌入式系统实现自主避障机器鱼的设计
随着科技的发展与进步,出现了具有特殊功能的智能机器,如索尼公司生产的能够以自我“意识”来“感觉”“学习”和“饲养”的宠物机器狗,以弗吉尼亚理工大学研制的CHARLI-L1机器人为基础进行升级改造的SAFFIR的消防机器人等。机器鱼作为一项比较新的产品,涉及到机器鱼的智能开发并不深,因此机器鱼的智能化程度并不高,但随着机器鱼研究的加深,相信机器鱼的智能度会大大提高,功能也会更趋完善。目前的机器鱼类型主要有遥控机器鱼和语音控制机器鱼,例如曾在德国汉诺威电子展上展现的通过机器鱼体内收缩来提供动力的遥控式机器鱼和在西南民族大学诞生的国内首个的声控机器鱼等。 据调查显示同内涉及到具有自主避障与自主视觉功能的智能机器鱼的研究与开发并不多。
[单片机]
C2A将为当前和未来的网联汽车保驾护航
汽车行业的发展正处于百年巨变的前夜,令人激动不已。技术的成熟正在推动行业向数字化转型,从制造流程到用户体验无不为之改进。然而,越来越多由复杂供应链“众筹”出来的网联和自动驾驶汽车上路,却有可能让四个轮子上相当于30多台计算机的几顿钢铁受到多层面攻击,瞬间变成“马路杀手”。因此,现代汽车工业必须未雨绸缪,建立一套有效机制,防范可能随时发生的灾难性后果。 就在8月底,行业领先的汽车网络安全解决方案供应商C2A Security(以下简称C2A)宣布进入中国和德国市场,为这两个全球最大的汽车市场提供可视性与控制性,利用长期、全面的解决方案来应对网络安全挑战,保护网联汽车全生命周期内的安全。 车载网络安全的挑战与需求 汽车行
[嵌入式]
便携嵌入式设备电源管理解决方案
前 言 随着各种便携嵌入式设备性能的日益提高,功能日益丰富,其电源紧张的问题也日益突出,国内新推出的某些具有PDA等多种功能的智能电话在密集使用下只能维持半天,多数摄像机和数码相机在一次充电后都只有一个小时左右的累积工作时间。Linux作为一个开放源代码的操作系统,拥有非常丰富的软件资源和平台支持,这使得嵌入式系统开发的周期大大缩短,越来越多的商用和通用嵌入式系统都采用Linux作为软件平台。因此有必要对Linux系统的电源管理机制进行深入研究。 Linux内核电源管理机制分析 Linux作为一个强大而成熟的操作系统,本身提供了一套从用户空间到系统空间的,由上而下的软件电源管理机制。 电源管理子系统 Linux内核实
[电源管理]
嵌入式平台ARM的C代码优化方法
本文介绍了ARM平台的C代码优化方法,从数据类型选择、数据结构组织、局部变量选择、函数inline内联、编译器选项、循环展开、条件执行、数据操作的转化、存储器的优化、代码尺寸的优化等角度给出常用的优化方法。 C数据类型 C语言的程序优化与编译器和硬件系统都有关系,设置某些编译器选项是最直接最简单的优化方式。在默认的情况下,armcc是全部优化功能有效的,而GNU编译器的默认状态下优化都是关闭的。ARM C编译器中定义的char类型是8位无符号的,有别于一般流行的编译器默认的char是8位有符号的。所以循环中用char变量和条件 i 0时,就会出现死循环。为此,可以用fsigned - char(for gcc)或者-zc(for
[单片机]
英特尔新“凌动”直面嵌入式 好戏在好头
如果说2008年春季IDF上凌动Z5xx系列处理器的发布,还只是让你感受到英特尔在嵌入式领域的咄咄逼人之势的话,如今N270处理器的发布可以说是将凌动搅起的这股旋风实实在在地呈现了出来。毕竟Z5xx这样一款针对MID的产品更多指向的是未来,而N270则是面向数字标牌、交互式客户终端、瘦客户机、数字安全、住宅门禁系统、打印成像与工业控制等这些非常现实的嵌入式市场。 9月25日,英特尔公司宣布为其面向嵌入式客户的英特尔®凌动™处理器N270和移动式英特尔® 945GSE高速芯片组提供长达7年的生命周期支持。你当然可以将其看成是一个简简单单的产品发布,但事实上其中蕴含着一个信号。 Intel Atom N270 低功
[焦点新闻]
嵌入式电阻摸不到,那么怎么来测量?
在一种无法穿入的灌封材料中有一个T型电阻网络,想直接测量其中一个电阻的阻值,又无法接触中心节点,其它两个电阻的存在也阻碍了这个任务的完成。本设计实例以实际电路为例讲解了如何解决这一电阻测量问题。 假设在一种无法穿入的灌封材料中有一个T型电阻网络,你想直接测量其中一个电阻的阻值。由于无法接触中心节点,其它两个电阻的存在似乎使得这个任务不可能完成,但事实上完全可以。 图1:嵌入式电阻测量问题。 为了测量上图中R1的阻值,一般采用的技术是检测欧姆计给R1供送的电流,然后从T型网络另一边的R2输出等值的电流。这样做的结果是流经R3的电流为零,使得无法接触的那个节点的电压也为零。 这样,欧姆计将只能检测到R1一个电阻。
[测试测量]