APP下载

基于TS201的实时图像处理系统链路口通信设计

2015-01-17霍义华王雪梅罗冠泰罗镇宝

电子设计工程 2015年2期
关键词:发送数据寄存器图像处理

霍义华,黄 彪,王雪梅,雍 杨,罗冠泰,罗镇宝

(1.西南技术物理研究所 四川 成都 610041;2.总装备部重庆军事代表局 重庆 610054)

随着信息处理技术的发展,实时图像处理已成为现代信息处理领域中的一项关键技术,该技术的发展对于电视制导、图像跟踪等具有重要的意义。实时图像处理要求非常大的计算量与超高的计算速度,单片DSP很难满足要求,因此必须采用多DSP并行计算结构。这就要求实时图像处理系统能够实时获取图像数据,并在多片DSP之间实现实时通信交互[1]。论文实时图像处理系统为核心,论述了基于Analog Device公司的DSP(TS201)为核心器件的链路口通信设计。

1 实时图像处理系统的组成

如图1所示,实时图像处理系统主要由4个模块组成:CCD图像采集模块、图像处理模块(TS201 3个DSP+FPGA模块)、图像处理结果输出模块、逻辑控制模块。

其基本的工作原理是将CCD摄像头采集得到的实时图像经AD转换成数字图像,通过FPGA(现场可编程逻辑门阵列)分别送到3个DSP中,DSP经过图像处理模块完成对图像信号的运算处理,最后通过输出模块输出所期望的运算结果如被捕捉目标的位置信号、调节控制信号等。

图1 实时图像处理系统Fig.1 Real-time image process system

实时图像处理系统FPGA (Field Programmable Gate Array)选用 Altera公司的EP4SGX230/180,该器件具有高密度、高性能、低功耗等优点。FPGA是在专用ASIC的基础上发展而来的,它克服了专用ASIC不够灵活的缺点。其内部的具体逻辑功能可以根据需要配置,对电路的修改和维护很方便[2]。

DSP选用 ADI公司的 TigerSHARC 201,TS201是目前业界性能最高的DSP处理器之一,具有以下特点:主频可高达500 MHz;拥有24 Mbit片上内存、双运算模块、外部端口、4个高速链路口、SDRAM控制器、可编程标志引脚、2个定时器和定时输出引脚、14通道的DMA控制器。可以完成片内存储器、片外存储器、储存器外设、链路口、主机处理器和其他处理器之间的地开销的高速传输,通过共享总线可无缝链接多达8个TigerSHARC ADSP[3]。FPGA加多个DSP的系统结构在通信、图像处理、遥感观测以及雷达等领域得到了广泛的应用。

2 基于TS201链路口的图像接收技术

2.1 TS201链路口

TS201具有4位宽的 4个双向 LVDS(Low Voltage Differential Signaling)链路口是其组成并行系统的关键。链路口是ADI公司提出的总线传输方式,链路口可以直接由处理器核控制,也可以由DMA控制器控制。链路口由发送端和接收端两部分组成,以低压差分信号(LVDS)方式传输数据,可以高速准确的完成板内或者板问数据的传输,满足系统的实时要求[4]。每个链路口的接收和发送都有指定的DMA通道。通过编程控制可以将链路口设置成4位并行或者1位的方式进行传输。TS201支持点对点的链路口通信,可用于任意的按照链路口协议设计的器件之间的通信,每个链路口的数据传输率高达500 Mbytes/s,4个链路口传输速度达到4 GB/s。TS201链路口发送及接收数据的通信协议中最小传输长度为4字。在1bit模式下,传输4字需要64个时钟周期;在4bit模式下,需要16个时钟周期;

链路发送传输原理如图2所示。

图2 链路口传送原理图Fig.2 LINK port transport schematic diagram

当链路口的发送端发送数据时,首先检测链路接收端LxACKI是否有效,有效后使能时钟信号LxCLKOUT,开始发送数据,LxBCMPO信号表明数据是否传输结束;数据传输开始于第一个时钟的上升沿。结束于最后一个时钟的下降沿;当传输结束后,LxCLKOUT置为低。对于发送端,当LxACKI采样为高时,表示接收端缓存空闲,可以发送。

链路口接收原理如图3所示。

图3 链路口接收原理图Fig.3 LINK port receive schematic diagram

在接收方式中,当接收端检测到LXACKO,有效后,时钟信号LxCLKIN开始传输,即开始接收数据,LxBCMPI信号表明数据传输结束[5]。

2.2 直接存储器访问DMA

TS201对图像的接收可利用DMA进行。DMA(Direct Memory Access)是在处理器内核不干预情况下的后台高速数据传送机制口,不占用DSP内核的处理时间,TS201片内的DMA控制器允许将数据传输作为一个后台任务执行,从而将处理器核释放出来,进行其他数字信号处理操作。在复杂信号处理系统中,特别是需要大量数据传输和搬移的操作系统,采用DMA方式可以释放处理器内核,提高工作效率。特别对于图像处理系统,可采用二维DMA数据传输方式,能够将图像数据块实时接收到DSP中。

TS201有14个DMA通道。其中8个用于链路口。一个链路口有发送和接收两个通道。DMA驱动传输仅允许4字传输,且支持链路口DMA交叉传输[6]。从发送链路到接收链路的数据发送及接收,要编程发送和接收链路传输控制块寄存器TCB,发送数据到目标发送链路的缓冲区,DMA根据TCB编程和请求启动一次传输。

2.3 传输控制块寄存器TCB介绍

传输控制块寄存器TCB是一个128位的四字组寄存器。如图4所示:包括DI寄存器、DX寄存器、DY寄存器、DP寄存器 。TCB包含了DMA传输的控制信息[7]。

图4 DMA传输控制块寄存器Fig.4 DMA TCB transmission control block register

DI寄存器占TCB的0~31位,是32位DMA索引寄存器,用于设置要发送或接收数据的源地址和目的地址,地址可指向内部,外部存储器及链路口。

DX寄存器占TCB的32~63位,如果传输的是二维数据的话,高16位是x方向计数值,低16位是x方向修改量。

DY寄存器占TCB的64~95位,DY寄存器和DX寄存器结合在一起使用,如果传输的是一维数据,不设置此寄存器,如果传输的是二维数据的话,高16位是Y方向计数值,低16位是Y方向修改量。

DP寄存器占TCB的96~127位,用于设置DMA传输的控制信息。包括TCB指针,链路指针选择器,链路目的通道,操作数据长度,二维DMA使能等[8]。

3 图像处理系统TS201链路接收

在图像处理系统中选用了链路口接收作为图像数据接收方式。FPGA采集图像数据完成预处理后,将图像数据通过内部FIFO发送到高速链路口,通过链路口,将图像数据分别传输到各个DSP。

图像处理系统中以DSP1获取FPGA传送的图像为例。如图1所示:DSP1和FPGA之间通过链路口 3(Link3)连接,TS201 Link3接收通道对应DMA通道11。

链路口接收步骤如下:

1)打开并允许DMA11中断。

2)设置DSP1链路口3接收控制寄存器LRCTL,LRCTL寄存器如同5所示。

图5 链路口接收控制寄存器Fig.5 LINK port receive control register

设置LRCTL3接收使能,链路传输数据大小模式等。代码如下:builtin_sysreg_write (LRCTL3, 0x11);0x11 的含义是使能Link3接收,每次传送4 bit数据。

3)对 DSP1 DMA11传输控制块(TCB)编程。

代码如下:

TCB_Link3R.DI=&Image_Data;

TCB_Link3R.DX=4|(Img_Col<<16);

TCB_Link3R.DY=4|(Img_Line<<16);

TCB_Link3R.DP=0x4f1a0000;

Link3RecTCB=builtin_compose_128 ((TCB_Link3R.DI|TCB_Link3R.DX<<32,TCB_Link3R.DY|TCB_Link3R.DP<<32);

DI寄存器设置为二维图像接收端的目的地址;DX寄存器为二维DMA的X方向传输的数据位数Img_Col,传送Img_Col个32bit数据,一个图像数据占16位,图像数据共Img_Col*2列;DY寄存器为二维DMA的Y方向传输的数据位数,传送Img_Line行数据,图像数据共Img_Line行;DP寄存器设置为二维链路口3接收。

4 TS201各个DSP之间的通讯设计

实时图像处理系统中各个DSP之间的通讯设计采用链路口的方式。以系统DSP0和DSP1通讯为例,从图1可以看出 DSP0 Link3连接 DSP1 link2,DSP0 link3发送通道为DMA7,DSP1 link2接收通道为 DMA10。

通讯步骤如下:

1)打开并允许DMA7,DMA10中断。

2)设置DSP0链路口3发送控制寄存器LTCTL,寄存器如同6所示。

代码为 builtin_sysreg_write(LTCTL3, 0x11); 0x11 的含义是使能Link3发送,每次发送4bit数据。

3)DSP0 DMA7传输控制块寄存器(TCB)编程,代码如下:

TCB_Link3Send.DI=(int*)DSP0SendData;

TCB_Link3Send.DX=4|(DSP0SendData_Num<<16);

TCB_Link3Send.DY=0;

图6 链路口发送控制寄存器Fig.6 LINK port transmission control register

TCB_Link3Send.DP=0x47180000;

Link3_SendTCB=builtin_compose_128(TCB_Link3Send.DI|TCB_Link3Send.DX <<32,TCB_Link3Send.DY |TCB_Link3Send.DP<<32);

DI寄存器设置为DSP0发送数据的源地址;DX寄存器为DSP0发送数据位数;DY寄存器为0说明是一维DMA传输,DP寄存器设置为一维链路口3发送。

4)设置DSP1 link2接收寄存器 LRCTL,代码为 builtin_sysreg_write(LRCTL2, 0x11);接收原理和 DSP1 Link3 接收图像原理相同。

5)DSP1 DMA10传输控制块寄存器(TCB)编程,代码如下:

TCB_Link2R.DI=&DSP1RecDSP0Data;

TCB_Link2R.DX=4|((DSP1RecNum )<<16);

TCB_Link2R.DY=0;

TCB_Link2R.DP=0x47100000;

Link2_RecTCB=builtin_compose_128 (TCB_Link2R.DI|TCB_Link2R.DX<<32, (TCB_Link2R.DY|TCB_Link2R.DP<<32));

DI寄存器设置为DSP1接收数据的目的地址;DX寄存器为DSP1接收的数据位数;DY寄存器为0说明是一维DMA传输,DP寄存器设置为一维链路口2接收。注意DSP1接收的数据长度DSP1RecDSP0Data和DSP0发送的数据长度DSP0SendData要一致。

5 结 论

介绍了基于TS201+FPGA的实施图像处理系统中关于TS201链路口通讯的二维实时图像获取以及多DSP之间链路口通讯。给出了通讯时序图,关键代码,关键寄存器设置,保证了实时系统中的图像数据能够按帧获取及多DSP之间的实时通讯,确保系统的实时性。

[1]高青.基于TS201的图像信息处理机硬件设计[D].北京:北京工业大学,2009.

[2]李蛟,杨进,邱兆坤.基于ADSP—TS201S的多DSP并行系统设计[J].现代电子技术,2010,33(19):42-46.LI Jiao,YANG Jin,QIU Zhao-kun.Design of Multi-DSP parallel system based on ADSP-TS201[J].Modern Electronics Technology,2010,33(19):42-46.

[3]ADSP-TS201 TigerSHARC Processor Hardware Reference[C]//Analog Devices, Inc,2003.

[4]孙进卿,苏涛.基于FPGA和TS201链路口的多通道数据采集系统设计[J].现代电子技术,2007,30(4):129-131.SUN Jin-qing,SU Tao.System design of multi-channel data acquisition based on FPGA and TS201 link port[J].Modern Electronics Technology,2007,30(4):129-131.

[5]李亚捷,唐清善.TS201 LINK口光通信传输的接口设计[J].测控技术,2010,29(2):29-30.LI Ya-jie,TANG Qing-shan.Interface design for fiber communication of TS201 LINK port[J].Measurement&Control Technology,2010,29(2):29-30.

[6]酒乐,胡雅萍,管吉兴,等.基于ADSP-TS201的嵌入式图像处理平台[J].无线电工程,2007,37(9)16-18.JIU Le,HU Ya-ping,GUAN Ji-xing,et al.An Embedded image processing based on ADSP-TS20l[J].Radio Engineering of China,2007,37(9)16-18.

[7]ADSP-TS201 TigerSHARC Processor Programming Reference[C]//Analog Devices, Inc.,2004.

[8]ADSP-TS201 TigerSHARC Embedded Processor[C]//Analog Devices, Inc.,2004.

猜你喜欢

发送数据寄存器图像处理
STM32和51单片机寄存器映射原理异同分析
Lite寄存器模型的设计与实现
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
一种车载自组织网络的媒体接入控制协议
机器学习在图像处理中的应用
带标记方式的CRDSA++协议性能分析*
使用IPSec安全传输数据
基于主控同步的CAN总线多点实时数据采集技术
基于图像处理的定位器坡度计算