B型超声图像诊断仪从声像图上可以反映出人体解剖学及生理方面的特性,为临床诊断提供依据,超声图像的传输是诊断仪的核心。超声图像数据在各功能组件间传输时,传输速度和传输方式直接影响产品的性能价格比,采取USB2.0技术,可灵活、方便的打通瓶颈。
前言
CXE-2000是面向基层医院而开发的B超诊断仪,诊断仪主要利用探头在电脉冲激励下产生超声波进入人体,经人体组织反射后再接收组织的回波信号,经接收器提取、放大、处理,经数字扫描变换器转换为标准视频信号,显示出人体组织的剖面图像,即声像图。为了使该诊断仪具有较清晰的诊断图像和高可靠性,传输的视频信号数据量大,传输要求实时性高,因此我们选用通用串行总线(Universal
Serial Bus,简称USB)作为超声数据采集和图像显示主机的通信接口。该总线接口具有安装方便、高带宽、易扩展等优点,已经逐渐成为现代数据传输的发展趋势。特别是2000年由Intel、Microsoft、NEC、Compaq、Lucent、Phillips等公司共同制订的USB2.0传输协议,速度远远超过了目前使用IEEE1394接口进行视频传输的400Mbps,达到了480Mbps,而且具有即插即用的PnP(Plug
And Play),可进行菊花链式的级联(通过USB HUB进行外围扩展),可串连多达127个USB设备。本文针对超声数据高速传输的特点,根据USB2.0协议规范,将存储在重构的大容量(256K字节)FIFO中的标准视频信号传输到PC机中进行超声图像显示。
系统整体设计
系统分为超声图像数据采集模块、超声图像数据存储模块及地址切换逻辑、超声图像数据传输模块和PC机超声图像显示模块四部分。采集模块控制器控制超声图像数据采集和存储模块存储超声图像数据,传输模块控制器负责读取存储模块中的图像数据并传输到PC机。为了使显示图像不受采集速度的影响,采集模块控制器和传输控制器同时工作,即图像的传输和采集同时进行,在采集新的图像数据的同时,显示已经存储在存储模块中的图像,符合系统要求的整体设计框图如图1所示。
图1 系统整体设计框图(略)
由图1可见,为了防止数据传输模块读取数据的同时,采集模块也对同一个存储模块写入数据,系统设计了两个同样大小(256K)的存储模块,通过存储模块切换逻辑选择存储模块控制信号和数据总线的接入,使得每一个存储模块不能同时读或写。
硬件框架设计与实现
超声图像数据存储模块及地址 切换逻辑的设计
超声图像数据采集模块负责写入256K图像数据,两个存储器的信号通过地址切换逻辑的选择实现,与采集、传输模块的接口符合标准FIFO接口,接口信号按照标准的FIFO接口重构了256K大容量FIFO,对于数据传输模块和采集模块而言,任何时刻,数据的读取或写入只对一个相当于256K的大容量FIFO进行操作,而存储器及地址切换逻辑是透明的,接口示意图如图2所示。
信号说明如下:
FFn#: 存储器(n)满信号标志,当超声图像采集模块写满256K数据后,该信号变为低电平,否则为高电平;
EFn#:存储器(n)空信号标志,当传输模块读取完256K数据后,该信号变为低电平,否则为高电平;
OEn#: 传输模块提供的读允许信号;
RENn#: 传输模块提供的读信号,该信号在读取256K超声图像数据期间持续为低电平,并且只有在读允许信号有效时,数据线上的数据才有效;
WR#: 采集模块提供的写信号,低电平有效;
WRn#:采集模块提供的写信号,WR#经过存储模块切换逻辑选择后形成的两套写控制信号;
D0n-D7n: 存储器(n)的八位数据总线;
nAD0-nAD17:存储器n的18位地址总线。
存储模块切换逻辑实现控制信号EFn#、FFn#、RENn#、OEn#、WR#和两组数据、地址总线的选择切换,最终与传输模块接口的信号为EF#、FF#、REN#、OE#、WR#、D0-D7。
图2 传输、采集模块接口示意图(略)
由图2可发现存储模块切换逻辑实现了两组存储器地址、数据、满/空标志信号和读写控制信号的切换,在存储器n全空时,空信号EF#有效,超声图像数据采集模块才能向该存储器写入图像数据,此时该存储器数据、地址和写信号有效;在存储器n全满时,满信号FF#有效,传输模块读取该存储器的256K数据,期间该存储器数据、读允许、读信号有效。综合数据存储器及地址切换逻辑接口后,即为重构的256K外部FIFO。
超声图像数据传输模块设计
USB功能设备芯片负责实现功能设备和USB主机间的物理数据传输,它是构成USB功能设备的必需部件。按其所支持的传输速率,可以分为低速设备芯片、全速设备芯片和高速设备芯片。Cypress公司在2000年11月推出的EZ-USB
FX2系列芯片是世界上第一个集成USB2.0协议的微处理器,采用增强型8051CPU,支持12Mb/s的全速传输和480Mb/s的高速传输。
在EZ-USB FX2中,USB接口和外围电路直接共享FIFO存储器,这时,增强型的51内核可不参与数据传输,但可通过FIFO或RAM的方式访问所传输的数据,FIFO与USB之间的传输以数据包的形式实现,这种处理结构称为“量子FIFO”,较好的解决了在高速超声图像数据传输中微处理器参与端点“FIFO”与外围电路间的数据传输而造成的系统带宽瓶颈问题。
为了便于FX2内部端点数据缓冲区能更好的将超声数据存储模块进行数据传输,我们利用FX2提供的2种接口模式:从属FIFO和GPIF(General
Programmable Interface,通用可编程接口)中的GPIF接口进行存储模块中超声图像数据的读取。
在GPIF模式下,EZ-USB FX2可由软件来编程输出读写控制波形。GPIF是FX2端点FIFO的内部控制器。在这种方式下,接口内核可产生6个控制输出端(CTL0~CTL5)和9根线的地址(GARD[8:0])输出,同时可以接收6个外部输入(RDY0~RDY5)和2个内部输入。GPIF的数据总线既可以是单字节宽(8位FD[7:0]),也可以是双字节宽(16位FD[15:0])。超声图像数据为8位数据总线,故采用单字节宽,无地址总线接口。
FX2有4个波形描述符控制各个状态。这些波形描述符可以动态地配置给任何一个端点FIFO。FX2的固件程序可以把这些描述符配置给四个FIFO中的任意一个,配置后,GPIF将依据波形描述符产生相应的控制逻辑和握手信号给外界接口,满足向FIFO读写数据的需要。每个波形描述符包含了S0~S6
七个有效状态和一个空闲状态。在每个有效状态对应的时间段里,经过预先设置,GPIF可以完成驱动(使为高或低)或悬浮6个输出控制端,采样或驱动FIFO的数据总线,增加GPIF地址总线的值,增加指向当前FIFO指针的值,启动GPIF(波形描述符)中断的功能。
GPIF波形描述符通常用Cypress公司的GPIF工具(GPIFTOOL)进行配置。它是一个可运行于Windows平台的应用程序,与FX2的开发包一起发布。使用GPIF
Designer编辑的接口信号结构图如图3所示。
图3 GPIF Designer接口信号结构图(略)
其中由EZ-USB FX2为外部存储模块提供48MHz的同步时钟,满信号FF#和空信号EF#分别接到输入状态信号RDY0-RDY1,RDY5用作GPIF传输计数(GPIF
TC)内部终止信号(TCXpire)。GPIF计数(GPIF TC)作为波形判决点决定何时停止数据传输及波形输出。
GPIF状态波形描述如图4所示。
图4 GPIF状态波形(略)
S0、S1、S2为连续读取批量数据建立状态,在S1状态时读信号REN#有效,到S2状态时,读允许信号OE#有效,此时有一个判决点,当TCXpire为低时,建立连续读取批量数据进入状态S3,此时数据线Data有效,读取数据结束,回到IDLE状态,数据线Data无效,REN#和OE#变为高电平;若在判决点TCXpire为高电平,则直接转到IDLE状态。
每读取配置端点最大包长度的字节数据后,EZ-USB FX2自动将数据打包而不需要微处理器干预,数据通过USB总线传输到PC机进行超声图像的显示。由于GPIF在硬件上的支持,微处理器只有很少的开销用来处理控制信息和初始化的各项配置工作。
超声图像数据传输模块底层固件的设计
EZ-USB FX2芯片CY7C68013的固件程序负责处理USB设备请求,初始化数据传输端点,配置GPIF接口等,固件开发使用的编译语言为德国Keil公司的C51编译器,集成开发环境为uVision2。
传输方式的选择
超声图像显示时为了使显示图像连续,在1s内至少要传输并显示20帧图像,即50ms传输并显示256K的图像数据,由于上位机对图像数据处理并显示占用了30ms,使得USB至少要在20ms要传输256K数据,传输速率至少要求达到15MBps以上。
CY7C68013传输方式可分为:中断传输、等时传输、控制传输、块传输。四种传输针对传输数据量大小、传输周期性、传输有无保证等要求而提出,根据超声图像传输,数据量大,传输无周期性的特点,对高速模式下的6种不同配置进行实验,测出了高速模式下平均传输速度和每一微帧(125
s)内的事务处理的次数,如表1所示。
表1:高速模式下端点配置及平均传输速率(略)
传输方向OUT代表数据流由主机到USB设备,IN代表数据流从USB到主机。块传输数据包最大为512个字节,等时传输数据包最大值可达到1024字节,但是每一微帧可处理3个事务,使得每一微帧最多可传输3072字节。
由表1可知,端点2采用等时传输方式可以达到24Mbps,当端点配置为4缓冲结构时,采用块传输方式也能达到相同的传输速率,特别是端点2块传输时每微帧可处理10个事务,每个事务传输512字节数据,最高速率可达39.967Mbps,除去配置GPIF的开销后,传输速率完全可以达到要求,由此传输系统使用端点2工作于块传输四缓冲方式。
超声图像数据GPIF 接口配置及读取流程
CYPRESS为用户提供的GPIF Designer 开发工具可根据用户编辑的GPIF接口框图(图5)和波形(图6)自动生成GPIF.c文件,并添加到工程中,该文件中函数GpifInit()完成对GPIF寄存器的初始化。初始化流程如图5所示。
图5 微处理器初始化流程图(略)
图6 超声图像数据读取流程图(略)
为了最大限度的增大USB2.0的带宽,端点2设置为自动传输模式(AUTOIN=1),自动传输计数器为512字节(EP6AUTOINLENH=0x02,
EP6AUTOINLENL= 0x00),在超声图像数据传输允许后,数据传输之前需检测GPIF接口是否处于空闲状态,外部数据存储器是否为空,当条件满足后,再判断端点2缓冲区是否有足够空间接收最大数据包长度的字节,这是因为每次传输总是传输最大数据包长度的数据(512字节)。超声图像数据读取流程如图6所示。
CY7C68013提供的GPIF接口传输数据最大值为4294967295字节,传输20帧超声图像数据GPIF计数设置为262144字节(GPIFTCB3=0X00,
GPIFTCB2=0X04,GPIFTCB1=0X00, GPIFTCB0=0X00)。在启动GPIF传输后,数据读入端点2缓冲区,由于端点2设置为自动传输模式,不需要每包数据都指明传输到主机的字节数,即微处理器在启动GPIF传输后完全不干预整个传输过程。
结束语
高速B型超声图像传输系统基于USB2.0总线协议,强大的GPIF接口简化了复杂的视频数据压缩和传输过程,解决了微处理器干预数据传输造成的带宽瓶颈问题。
2005GEC.1
|