论文导读:在基于FPGA+ARM9硬件平台的全数字化B超诊断仪中,经波束合成产生的超声视频信号需由实时采集系统采集并传输至ARM嵌入式处理系统,视频信号数据量大,实时性要求高,因此我们选用FPGA+SRAM构成实时采集系统,在速度和容量上都能满足上述要求。文章主要介绍B超成像系统中应用FPGA进行逻辑控制进行超声视频图像采集的原理和实现。在帧相关过程中,FPGA要控制数据的读取、处理以及存储。
关键词:实时,图像采集,FPGA,帧缓存
1 引言
医学超声诊断成像技术大多数采用超声脉冲回波法,即利用探头产生超声波进入人体,由人体组织反射产生的回波经换能器接收后转换为电信号,经过提取、放大、处理,再由数字扫描变换器转换为标准视频信号,最后由显示器进行显示。在基于FPGA+ARM9硬件平台的全数字化B超诊断仪中,经波束合成产生的超声视频信号需由实时采集系统采集并传输至ARM嵌入式处理系统,视频信号数据量大,实时性要求高,因此我们选用FPGA+SRAM构成实时采集系统,在速度和容量上都能满足上述要求。文章主要介绍B超成像系统中应用FPGA进行逻辑控制进行超声视频图像采集的原理和实现。
2 系统构成工作原理

图1 采集系统整体设计结构框图
如图1,采集系统首先对超声视频信号做一个帧相关的预处理,即图像帧与帧之间对应象素灰度上的平滑处理。因为叠加在图像上的噪声是非相关且具有零均值的随机噪声,如果在相同条件下取若干帧的平均值来代替原图,则可减弱噪声强度。在帧相关过程中,FPGA要控制数据的读取、处理以及存储。在为了满足视频显示的实时性,该采集系统采用双帧存结构的乒乓机制,由FPGA实现读写互锁控制。经帧相关处理完后的视频数据交替写入帧存A和帧存B,帧存读控制器根据后端处理速度读取帧存中的数据,送往DMA控制器,DMA控制器开启DMA通道进行数据传输。FPGA实现读写控制时,为了避免同时对一个帧存进行读写操作,需要设置读写互斥锁进行存储器状态切换。
FPGA(现场可编程门阵列)是可编程逻辑器件的一种,它不仅可以提高系统的可靠性,使得系统结构更加紧凑,而且实现成本低、开发周期短,是进行原始设计的理想载体。该采集系统采用Xilinx公司Spartan-3E系列的FPGA(XC3S400),采用FT256封装,片内Block RAM为288K比特,System Gates为400K门,Logic Gates为8064门,性能特点为:
(1). 采用高度灵活的I/O选择技术,支持20种高性能接口标准;
(2). 采用高性能的链路选择技术;
(3). 精密复杂的存储器选择机制;
(4). 高性能的时钟管理电路;
(5). 具有能平衡速度与密度的灵活体系结构。
该采集系统所采集的医用B超视频图像扫描线数为256线/帧,采样率为每线1024个象素,象素灰阶为256级。那么,存储一帧图像需要的存储量是:256×1024×8=256KB 。在整个超声诊断仪系统中,做帧相关及后端图像处理时,我们都是是以帧为单位进行的,所以在选择存储器时,主要考虑容量和速度。整个采集系统需要采用一片做帧相关处理的存储器和两片做乒乓处理的存储器,这三片存储器能存储一帧也就256KB的数据即可满足要求,所以我们采用了型号为IS61LV25616的高速静态存储器(SRAM),它的性能特点包括:
(1). 工作电压为3.3V,高速接入时间一般分为8、10、12和15ns;
(2). 高性能、低功耗器件;
(3). 通过选择CE和OE的状态可以比较简单的实现存储;
(4). 不需要时钟和更新,是全静态工作过程;
(5). 所有的输入输出都是与TTL相兼容的。论文大全。
3系统设计与实现
3.1帧相关处理

图2 帧相关控制框图
帧相关模块如图2所示,由帧相关控制器和一片存储器组成,进行帧相关的存储器采用了大小为256KB的静态存储器(SRAM)。帧相关控制器由FPGA实现,完成地址产生、存储器读写控制、帧相关计算功能,因为实时性的要求,即保证送往后端双帧存的数据不能中断,所以考虑到对逐个像素数据读写的同时就进行相关处理,而且需要在同一个象素时钟周期内完成。读写控制器在一个象素时钟周期的前半段需要读出存储器中的数据和当前帧数据进行相关处理;时钟周期的后半段再将相关处理完的数据写入存储器以备后用,这样送往后端双帧存的数据依然是和像素时钟对应的连续像素数据。
帧相关的工作流程如下:
(1).地址产生
地址的产生由一个象素计数器实现的,输入信号为帧同步信号VS和像素时钟CLK。论文大全。前端提供的帧同步信号VS为该计数器的复位信号,在每一帧的开始,计数器清零,然后根据象素时钟CLK计数生成地址,每个象素时钟周期内地址不变,依据此地址进行存储器的读写。
(2).读取已有数据及相关处理
在一个象素时钟周期的前半段,也就是CLK跳变为高电平时,读写控制器输出的读信号OE1为有效,读出前帧中一个象素的数据,送到FPGA内部实现的加法器的A口,与同时到达B口的当前帧的对应象素数据相加平均。
(3).数据保存及传输
在同一个象素时钟周期的后半段,也就是CLK跳变为低电平时,读写控制器输出的写信号WE1为有效,相关处理完的数据写回原来的地址,同时该数据也送往帧存写控制模块。
实现帧相关处理的VHDL代码如下:
Port ( clk : in STD_LOGIC;
vs :in STD_LOGIC;
Din :in STD_LOGIC_VECTOR (7 downto 0);
Add :out STD_LOGIC_VECTOR (17 downto 0);
Din_sram : out STD_LOGIC_VECTOR (7 downto 0);
Dout_sram : in STD_LOGIC_VECTOR (7 downto 0));
architecture Behavioral of zxg is
signal data_t : STD_LOGIC_VECTOR (8 downto 0);
signal Din_t : STD_LOGIC_VECTOR (8 downto 0);
signal data_a : STD_LOGIC_VECTOR (8 downto 0);
signal Add_s : STD_LOGIC_VECTOR (17 downto 0);
begin
process(clk)
begin
if (clk'event andclk='1') then
1/2 1 2 下一页 尾页 |