当前位置:首页 > 电源 > 数字电源
[导读]图像处理系统的一个关键问题就是数据量庞大,数据处理相关性高,实时实现比较困难。即使采用高速单片机也无法满足实时处理的需求,而DSP芯片则具有速度快,信号处理功能强大,实时性好等特点,因此,将DSP用于图像处理可使这一难题得到较好的解决。

0 引言

图像处理系统的一个关键问题就是数据量庞大,数据处理相关性高,实时实现比较困难。即使采用高速单片机也无法满足实时处理的需求,而DSP芯片则具有速度快,信号处理功能强大,实时性好等特点,因此,将DSP用于图像处理可使这一难题得到较好的解决。

1 系统构成

本系统采用基于CameraLink接口的图像输出相机。DSP采用TI的TMS320C6711,这是一种高性能DSP处理器,其工作频率为150 MHz,最大处理能力高达900MFLOps,该DSP既可满足高速处理要求,又可满足高精度运算时的浮点要求。

本图像处理系统主要包括图像采集模块(由MDR26连接器DS90CR288A和IDT72V283组成)、图像处理模块(由DSP器件TMS320C6711、SDRAM图像存储器和FLASH程序存储器等组成)以及图像输出系统(USB和FPGA)等。该系统的构成原理框图如图1所示。其基本工作过程是将高速CCD相机采集到的图像数据通过电缆接入MDR26连接器,然后再接入LVDS线路接收器DS90CR288A以将其恢复成并行TTL信号,同时分离出8位图像数据和3个控制信号。而同步FIFO作为数据缓存则不会造成数据的丢失。当其数据达到半满时,HF有效,此时可触发DSP中断以通知DSP将FIFO中的数据取走,并开始进行数据处理。DSP与USB的数据传递建立在消息和中断信号基础上,当DSP或USB任何一方有数据发送时,发送方先将数据和消息送到FPGA,然后用I/O脚触发中断至接收方,接收方接到中断后再到FPGA中读取消息,然后根据消息的内容读取数据。

本系统设计充分利用了TMS320C6711中EDMA的优势,并用EDMA来进行整个系统的数据传输。由于EDMA可以进行背景操作,因而其整个采样和输出过程基本不影响操作。同时,也利用了TMS320C6711的二级缓存结构,再加上系统外围采用高速的数据存储器芯片,因而大大提高了整个系统的处理速度。

2 图像采集与处理

2.1 Camera Link技术

Camera Link技术的核心是美国NS(NationalSemiconductor)提出的一种高速数据传输方法—Channel Link传输方法技术,该技术主要用于数字图像数据的高速传输。该技术采用LVDS信号模式,但比先前的RS644传输方法具有明显的优点。LVDS(Low Voltage Differential Signaling)是最近发展起来的一种利用低电压差分信号模式的传输技术。LVDS信号是以+1.2 V为基准的300 mV差分形式,其低电压摆幅差分模式具有高速传输数据时交叉干扰小,EMI干扰小等特点。ChannelLink采用LVDS方式传输数据,它将28位数据转换成串行方式在4对线路上进行传输,然后再用另外一对线路传输时钟信号,其最高传输率可达2.38 Gb/s。传输距离可达10 m。NS的LVDS发送器DS90CR287可用于完成并行TTL/CMOS信号到LVDS信号的转换,LVDS线路接收器DS90CR288则用来将LVDS信号还原成并行TTL/CMOS信号。

2.2 TMS320C6711 DSK简介

本系统采用美国TI公司的TMS320C6711DSK(DSP Starter Kit)开发工具。这是由TI公司提供的一套独立的C6000开发实验平台,这种开发工具集成了一些基本的应用电路,它既可以帮助用户评估和开发C6000系列DSP的功能,也可以作为DSP初学者的学习工具。它的硬件由6711 DSP构成,主频为150 MHz,凭借其二级高速缓存及VLIW (very long instruction word)架构,每秒可执行900万次浮点运算(MFLOPS)。DSK可以提供双时钟,通过设定可使CPU工作在150 MHz,而使扩展存储器接口(EMIF)工作在100 MHz。 DSK上设计有16 M字节/100 MHz的SDRAM和128 K字节的ROM。SDRAM由TMS320C6711为其产生所需的控制信号和刷新信号。最大刷新周期可达15.625 ms。HPI接口可通过并口连接所有的DSP存储空间,并有子卡接口所需的存储器和外围连接接口及嵌入式JTAG仿真功能。

2.3 图像采集与处理接口设计

根据CameraLink标准,CCD输出图像数据经Camera link后,可由LVDS线路接收器DS90CR288将其恢复成并行的TTL/CMOS信号,并分离出8位图像数据和3个控制信号(LVAL,DVAL,STROBE)接人同步FIFO(IDT72V283),再通过DSP的外部存储器接口(EMIF)接入TMS320C6711DSK开发板进行图像数据处理。其具体的图像采集电路原理图如图2所示。

3 图像输出系统

3.1 USB芯片AN2131QC

USB芯片选用CYPRESS半导体公司的EZUSB(AN2131QC)芯片,AN2131 QC具有一个USB接口、8位数据线和16位地址线,以及3个8位I/O端口,其片内带有增强型8051核,该8051核与传统8051的区别在于其速度较快。传统的8051标准指令周期是12个CLOCK,而在这里只需要4个CLOCK,因而大大提高了指令执行的时间。由于其带有增强8051核,故可以将固件储存在主机上,每次上电时,再将固件调用到芯片的RAM存储器单元,这样可使固件升级非常容易。另外,CYPRESS公司还提供了一个不需要修改就可以使用的驱动程序ezusb.Sys,这个驱动程序允许任何传输类型与EZ-USB芯片构建的系统进行通信。CPU的时钟频率为24 MHz,使用RAM作为程序存贮器,其8051程序代码及设备描述表可以每次从主机中下载。

3.2 图像输出接口设计

TMS320C6711与AN2131QC采用并口方式进行通讯。DSP为32位处理器,其并行接口数据线为32根,而AN213 I QC的并行口为8位,若将DSP32根数据线中的8根数据线直接与USB并口相连,则DSP传送一个32位数据需进行4次操作,这显然会影响系统的效率。因此,可采用8位/32位数据线转换和数据缓冲设备来将两者相连。考虑到性能价格等因素,本设计采用FPGA作为两者之间的缓冲设备,实现从DSP到USB数据传输缓冲以及32位数据线转8位数据线功能。FPGA采用X ilinx公司SpartanIIE系列的XC2SSOE芯片作为转换器。其图像传输电路原理图如图3所示。

4 系统软件设计

4.1 DSP的软件开发

TMS320C6000软件开发的一切过程都可在CCS集成环境下进行,包括项目的建立、源代码的编辑以及程序的编译和调试。图4所示是TMS320C6000的软件开发流程图。其中黑体部分是开发C代码的常规流程,其它功能可用于辅助和加速软件开发过程。

该CCS能对用户开发的源代码进行优化。目的是缩短代码长度并提高代码执行效率。其中,C优化器对C源代码进行优化,所进行的优化包括针对C代码的一般优化和针对C6000的优化,如重新安排语句和表达式、把变量分配给寄存器、打开循环和模块级优化(把若干个文件组成1个模块进行优化)等。C优化器完成的最重要的优化处理是软件流水(software pipeline)。软件流水是专门针对循环代码的一种优化技术,利用软件流水可以生成非常紧凑的循环代码,这也是C6000的C编译器能够达到较高编译效率的主要原因。

汇编优化器是C6000代码产生工具内极具特色的一部分。它在DSP业界首创了对线性汇编代码自动进行优化的技术。线性汇编语言是为简化C6000汇编语言程序的开发而设计的,它不是独立的编程语言。它可用用户编写的线性汇编代码作为输入,同时产生一个标准汇编代码作为输出。与C6000的标准汇编语言相比,采用线性汇编不需要考虑并行指令安排、指令延迟和寄存器,而由汇编优化器自动完成,其所产生的代码效率可以达到人工编写代码效率的95%-100%,同时还可以降低编程工作量,缩短开发周期。

C6000程序的调试和仿真有两种模式:软件仿真和硬件仿真。软件仿真时,其程序的执行完全靠主机上的仿真软件模拟,程序单步或者运行的结果都是仿真软件“计算”出来的。而硬件仿真需要目标板。仿真程序利用开发系统将代码下载到DSP,程序是在芯片上直接运行的。仿真软件只是把运行结果读出来显示。软件仿真无需目标板就可以开始软件编程,但仿真速度较慢,而且无法仿真某些外设的功能。硬件仿真的优点是仿真速度快,仿真结果与实际结果一致。

4.2 系统的上电引导

C6711的引导装载方式有三种:一是无引导,二是ROM/FLASH引导,三是主机引导。本设计采用FLASH引导。根据DSK开发板上EMIF与FIASH硬件电路连接设计的引导程序如图5所示。

(1)FLASH存储器的擦除

擦除FLASH存储器的关键源代码如下:

至此FLASH内部地址已经映射到C6711的CE1空间,其开始地址为0X90000000H,因此其FLASH_ADR1,FLSH_ADR2的定义如下:

#define FLASH_ADR1 0X90000555

#define FLASH_ADR2 0X900002AA

(2)汇编源代码文件

本引导代码的主要功能是将用户程序段从FLASH复制到DSP内部RAM中。然后再跳转到程序的入口处开始执行主程序。这里采用的是EDMA快速实现DSP存储空间数据搬移的方式。基于EDMA传输参数的设置方法如表1所列。其核心引导程序如下:

启动EDMA复制主程序段:CPU可以通过写事件置位寄存器(ESR)启动一个EDMA通道,ESR中某一位写1时,将强行触发对应的事件。程序如下:

(3)链接命令文件

系统中的链接命令文件(boot.cmd)如下:

VEC,PMEM代表内部RAM的两个存储空间,而CEVEC,CEPMEM代表FLASH内的两块存储空间,对目标文件中各段的加载地址和运行地址可在SECTIONS段实现:

引导装载是设计DSP系统所必需的过程。本设计采用EDMA方式来实现程序的快速搬移,故可在自制的PCB板上正确地实现脱机运行。

(4)对DSP寄存器的设置

只有对相应的寄存器实现EMIF初始化,DSP才能访问外部存储器的数据,其源代码如下:

5 结束语

本文介绍了为了在线线圈直径的测量而开发线阵CCD图像采集和处理设备的具体方法,该系统利用TI公司的高性能浮点DSP-TMS320C6711实现了对dalsa公司的Piranha2 P2—2x Camera输出数据的采集与处理。给出了一种通用的实时图像处理系统,并详细讨论了系统的具体结构。在该系统中运行一些基本的图像处理(锐化,平滑,边缘检测)和压缩算法(JPEG,H.263),都能达到实时处理的目的。但在实际应用中,由于要求进行连续采集与处理,最好能采用多个DSP并行工作方式。若物体的运动速度更快或图像处理更复杂时,还应采用性能更强的DSP(如TI的64X系列DSP或采用多个DSP并行处理)。另外,在DSP与USB通讯设计中引人FPGA可使系统的设计更加灵活,同时也可为系统以后的扩展提供方便。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

今天,小编将在这篇文章中为大家带来数字信号处理器DSP的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: DSP 数字信号处理器

DSP的国产替代不会是一件很容易的事情,但受到当前国际竞争态势的影响,本土开发者亟需拥有降本优势、供应链安全保证,以及能协助打造极高竞争力产品的DSP芯片。也就是说,发展国产DSP是不二选择。

关键字: DSP

将DSP和单片机构成双CPU处理器平台,可以充分利用DSP对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而DSP与单片机之间快速正确的通信是构建双CPU处理器的关键问题。

关键字: 单片机 spi通信 DSP

随着科技的不断发展,微控制器(MCU)和数字信号处理器(DSP)已经成为了电子行业中不可或缺的重要组成部分。它们在各种电子设备中发挥着关键作用,如智能手机、平板电脑、家用电器等。然而,尽管它们都是用于处理数字信号的集成电...

关键字: MCU DSP 数字信号处理器 微控制器

随着环境保护和能源可持续性的日益关注,电动汽车作为一种清洁、高效的交通工具逐渐成为全球汽车行业的热点。与传统的内燃机驱动汽车相比,电动汽车具有零排放、低噪音和高能量利用效率等显著优势。

关键字: DSP 芯片 混合动力汽车

在平常的日常生活中,噪声总是不可避免的。每个人承受噪声的能力也不尽相同,喜欢安静的人需要一些降噪措施,降噪耳机应运而生,甚至都能算得上是城市生活的必备品了

关键字: 主动降噪 DSP ANC

北京2023年9月22日 /美通社/ -- 华为全联接大会2023期间,华为举办了"昇思MindSpore AI框架:引领大模型&科学智能原生创新"主题论坛,软通动力数字化创新服务线高级副总裁...

关键字: DSP AI 模型 开源

MCU和DSP在双处理器架构中各有不同的特性和功能。MCU,即微控制器,主要负责完成应用层、网络层和数据链路层的处理,控制移动终端的外围电路(如键盘、显示屏等)连接,以及整个通信协议栈的实现。它倾向于系统控制,负责协调各...

关键字: MCU DSP
关闭
关闭