Cyclone V GX试用报告--高频超声数据采集系统

hjf2002   2013-3-15 22:43 楼主
Cyclone V GX试用报告--高频超声数据采集系统
    首先感谢EEworld网站和Altera公司联合提供了这么好的活动,使得我有机会接触到Altera最新的Cyclone系列的FPGA。本次评估的目的是借助Altera 提供的Cyclone V GX FPGA开发板的平台来验证一个高频超声数据采集系统。
    项目背景:首先稍微介绍一下超声波系统的背景知识。系统使用的高频单阵列超声(如图1所示)主要应用于金属的无损检测,眼部和皮肤等医学应用。超声信号的电路主要有以下几部分组成:1.超声波激励脉冲信号的产生;2.发射和接收电路;3.接收信号的放大和滤波处理;4.波形数据存储及回放                              
cycloneVGX_1.png
(图1)
    超声信号的频率越高,分辨率也越高,但是声波能量衰减也越随之增大。系统采用了20MHz的超声探头,使用200MHz、11位的的ADC进行回波数据的采集。为了弥补超声信号随着穿透深度的增大而衰减,则添加了DAC来控制回波放大器的增益,使得接收回波信号的幅度随时间做增益补偿。如图2所示,是高频数据采集系统的主要框图。

cycloneVGX_2.png
(图2)


[ 本帖最后由 hjf2002 于 2013-3-15 23:28 编辑 ]

回复评论 (6)

Cyclone V GX试用报告--高频超声数据采集系统2

    我们这次的项目评估主要是利用Cyclone V GX FPGA开发板来验证高频超声的数据采集,主要应用到FPGA开发板中的以下功能:ADC时钟信号的产生、HSMC接口、SRAM 和DDR3、PCIe*4连接接口,来实现采集超声发射和接收信号并将数据送入PC做处理。
其中系统设计中用到FPGA 开发板有以下几种部分:
1. 时钟部分:Cyclone V GX FPGA开发板包含丰富的时钟资源,其中Si5338A和Si571可以用PC通过I2C来配置产生所需要的时钟。(板载时钟见图3)
a、由Si510 SE 产生50MHz时钟,然后由SL 18860DC扇出成以下3路:CH1供给FPGA Bank7A;CH2供给FPGA Bank8A;CH3供给MAX V CPLD;
b、25MHz晶振供给Si5338,产生两路时钟:CH0—125MHz;CH2—156.25MHz(供给Bank 8A);其中CH0经由IDT5T9306扇出成以下2路供给FPGA:CH1—FPGA Bank 4A,CH2—FPGA Bank 7A。
c、Si571 产生148.5MHz时钟供给SDI使用
d、24MHz晶振供USB Blaster II的CY7C68013A使用;
e、另一个24MHz晶振供以太网88E1111使用;
                               cycloneVGX_3.png
(图3)
    高速ADC的时钟信号的质量直接影响ADC的性能。系统采用AD9514产生两路LVDS时钟;一路200MHz  LVDS时钟供AD9230-11使用;另一路180MHz  LVDS时钟供给AD9102用作产生超声传感器的激励信号源。

cycloneVGX_4.png
(图4)

cycloneVGX_5.png
(图5)


[ 本帖最后由 hjf2002 于 2013-3-15 23:30 编辑 ]
点赞  2013-3-15 22:46
2. HSMC接口
    Cyclone V GX FPGA开发板的外部扩展依靠HSMC接口,它提供了许多高速引脚,便于FPGA和其它高速设备相连。接口IO引脚兼容2.5V LVCMOS和3.3V LVTTL;支持LVDS,mini-LVDS等。同时还支持2路LVDS时钟输入和2路LVDS 时钟输出,17组LVDS 信号。
    本系统通过HSMC接口和高速ADC(AD9230),高速DAC(AD9102)及增益控制DAC(AD5452)的连接,示意图如下:

                              

cycloneVGX_6.png
(图6)

    AD9230的输出占用了7组LVDS信号;其中DCO+/DCO-是ADC输出数据的时钟,另外6组用来做数据传输;这里要注意一点,AD9230为了节省输出数据的引脚数目,采用了D6和D0、D7和D1、…  D11和D5 等2个ADC数据共享引脚,前半个时钟周期输出高6位,后半个时钟周期输出低6位;然后将数据整合为完整的11bit的ADC数据。(见图7)


cycloneVGX_7.png
(图7)

    AD9102是一个14bit的180MSPS的波形发生器,片内集成了DDS和SRAM( 4096*14bit)。通过SPI 将预先计算好的波形参数传递到AD9102的SRAM中,通过Trigger信号和时钟同步输出波形。
    高速ADC芯片AD9230、脉冲生成芯片AD9102和控制增益曲线的DAC芯片 AD5452,都是通过SPI设置其中的参数;它们三者用片选信号分开,由于控制增益的AD5452需要实时控制,所以在采集过程中不能设定AD9230和AD9102的参数。


[ 本帖最后由 hjf2002 于 2013-3-15 23:30 编辑 ]
点赞  2013-3-15 22:50
3. SSRAM 和DDR3
   
SSRAM是同步静态的随机存取存储器,上电后,不需要刷新,数据不会丢失;它有单独的数据和地址总线,有较低的随机存取延迟,因此常用于高速缓存。DDR3是动态随机存取存储器,需要不断的刷新,才能保存数据;而且是行列地址复用,主要应用于大数据的存储。本次试用的CycloneV GX FPGA板带有多端口存储器控制器硬核IP,支持DDR3。由FPGA底部的控制的2片DDR3(U21、U22),使用硬核存储控制器;另外2片DDR3(U6、U15)使用软核存储控制器;它们都支持ECC。硬核存储控制器相对与软核来说,简化了时序逼近,减少了I/O数量,提高了总线效率,并且降低了功耗,节省了DDR3的调试时间,极大的降低了系统开发的成本和难度。在SSRAM和Flash共用地址和数据总线,通过片选来控制。由于Cyclone V GX 是SRAM结构的FPGA,需要使用Flash来储存FPGA的程序,在FPGA上电时,FPGA从Flash中读取程序载入片内SRAM中;而SSRAM主要是用来进行数据交换时使用,它是在FPGA载入程序后才使用,因此FPGA的FSM总线在装载程序时选择Flash,在载入完成后通过片选切换到SSRAM。高频超声数据采集分成两种模式,第一种模式是单帧采集方式(利用SSRAM存储数据),在PC上设定超声数据的采集深度(毫米),转化为ADC采样的点数,数据采集然后存到SSRAM中,在FPGA中做信号处理;
    第二种模式是连续帧采集模式,通过PC设定采集深度(毫米),采集时间(秒),采集频率(赫兹)-每秒采集次数;将采集到数据的输出先存入DDR3中,等到采集结束后再通过PCIE送到PC再处理。
    FPGA采集数据的流程(见图8)

cycloneVGX_8.png

(图8)



[ 本帖最后由 hjf2002 于 2013-3-15 23:29 编辑 ]
点赞  2013-3-15 22:54
4. PCIe接口
    随着总线带宽的要求不断增加,原先的PCI并行总线的结构的在提高频率上遇到瓶颈,新一代的串行总线结构PCIexpress采用高速差分总线省去了并行的数据总线和控制线,使得PCB走线更加简单,但是PCIe1.1版本的单个lane速率可以达到2.5G,因此在信号布线上需要遵从相应的数据手册。         
    以前我们使用的FPGA扩展类似PCI和PCIe的接口,都是采用PLX 的桥接芯片来实现。但是桥接芯片会增大PCB的面积,布线的难度也加大,成本也相应增加。
   这次试用的Cyclone V GX开发板自带了PCIe硬核,无需额外的软核IP费用和外扩PHY,支持PCIe Gen1 (2.5 Gbps)和Gen2 (5 Gbps)硬核 (IP),支持PCI-SIG®兼容x1、x2或者x4端点应用。在硬件设计上由于采用了TSMC的28-nm低功耗(28LP)工艺,使得FPGA的功耗更低。采用带有PCIe硬核的FPGA在开发PCIe无需使用扩展IC,简化了PCB的布局布线,降低了系统成本和功耗。Cyclone V GX 支持PCIe 2.0*4,最大带宽达到20Gbps,除去8/10编码损耗,实际传输可以达到2GB/s;而在本高频超声数据采集系统中,使用AD9230为200MHz,11bit,每个数据占据2个字节,最大速度400MB/s;若FPGA的FIFO可以缓冲足够的数据,用PCIe接口就能满足实时传输采集数据的要求。超声采集系统中单帧采集模式时,若设定采集深度为10 cm,在人体组织中超声的声速一般为1540 m/s,每一帧数据大约52K字节,然后做滤波等处理,由于PCIe传输速度很快,可以同时把原始数据和处理后的数据传输到PC。而在多帧模式时,设定采集频率10 Hz,采集时间为100秒;总共1000帧的数据量大约为52M字节,这时直接把数据通过PCIe传送到PC进行处理。

    经过一段时间的试用,发觉带有嵌入硬核的FPGA比原先的FPGA设计有了很多优点。譬如在设计PCIe接口时,由于FPGA自带硬核,可以省却桥接芯片,PCB的布局布线就相对容易了;同时节省了FPGA内部的逻辑资源,降低了功耗和BOM的成本,缩短了开发时间。一般的FPGA都会外接DDR2/3,用作外部存储器,带有硬核存储控制器的FPGA可以节省FPGA的逻辑资源,提高效率。还有DSP模块可以用于滤波等信号处理。由于水平和时间有限,我主要从硬件设计方面来评估Cyclone V GX FPGA板,暂时只能点到为止了。   

      再次感谢EEworld网站和Altera公司提供这次试用的活动。同时也感谢Maylove的热心帮助。


[ 本帖最后由 hjf2002 于 2013-3-15 23:27 编辑 ]
点赞  2013-3-15 22:56
支持,强列支持!
一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2013-3-19 20:20
您好:
  我们目前在做这块的东西,可以交流一下方案吗? 我qq 653729085  
急 非常感谢
手机 13520469010
点赞  2014-1-13 09:36
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复