基于USB总线和DSP的高频超声数据采集系统设计

2012-04-24 11:10:09 来源:21IC电子网 点击:1035

摘要:  超声医学即利用超声波的物理特性进行诊断和治疗的一门影像学科,其临床应用范围广泛,目前已成为现代临床医学中不可缺少的诊断方法。本系统是一个便携式软组织超声诊断仪的一部分,主要功能是高频超声信号采集。其工作机制,是在前端低频脉冲(20Hz~10KHz)的触发下,对由超声换能器产生的高频超声信号(1MHz~20MHz)进行采集,预处理,然后通过USB总线传输给PC机,由软件进行分析、处理。

关键字:  CPLD芯片,  USB总线,  数据处理,  DSP子系统,  微处理器

超声医学即利用超声波的物理特性进行诊断和治疗的一门影像学科,其临床应用范围广泛,目前已成为现代临床医学中不可缺少的诊断方法。本系统是一个便携式软组织超声诊断仪的一部分,主要功能是高频超声信号采集。其工作机制,是在前端低频脉冲(20Hz~10KHz)的触发下,对由超声换能器产生的高频超声信号(1MHz~20MHz)进行采集,预处理,然后通过USB总线传输给PC机,由软件进行分析、处理。

在本设计方案中,高速CPLD芯片作为数据采集系统的核心部分,相比传统的MCU+ADC方法,CPLD是用硬件信号而不是软件编程来控制ADC,从而在速度上有很大的优势。而目前强大的VHDL编程语言也使得CPLD能很容易地实现预想的功能逻辑。

数据处理部分,选用数据处理功能强大、处理速度高的DSP芯片作为CPU。而在与上位机通信方面,采用支持即插即用且成本也相对较低的USB接口。整体系统方面,各个子系统之间的数据传输和同步问题是技术难点。在经过反复比较和测试之后,采取高速存储器作为数据缓冲区的方案。

系统各组成模块

包括三个子系统:CPLD子系统,DSP子系统和USB子系统。其中,CPLD+ADC实现数据采集,DSP则负责数据处理,两者之间通过一片高速RAM来交换数据;USB芯片(AN2131Q)负责把数据通过USB线上传给主机,它和DSP之间通过一片锁存器进行通信。

(1)数据采集子系统(CPLD子系统)

该子系统主要由一片Altera公司的CPLD和一片高速ADC所组成。由于要采集的超声信号最高频率为20M,根据Nyquist定律,采样频率应该在40MHz以上,为了提高精度,系统采用了ADI公司的AD9283芯片。该芯片最高工作频率为100MHz,经过测试,可很好地满足系统带宽要求。以往的便携式数据采集系统中,下位机部分ADC-RAM模块往往采用MCU作为CPU来控制,因此,采集频率直接受到MCU速度的制约,而且和RAM存储器的同步也成为问题。

经过比较,本系统采用Altera公司的CPLD芯片来控制ADC和RAM,从而很好地解决了时序精度和同步的问题。

CPLD作为控制芯片,实现的功能逻辑为:

● 接到DSP触发信号(START)之后,实现对ADC的控制,发出一个Start信号,ADC开始采样工作;

● 与ADC控制信号同步提供RAM地址计数器(A0~A16)和写信号(/WE),使得每次ADC的结果直接存入RAM并且自动增加地址;

● 当地址计数器达到最大的时候,发出中断信号(RAM_FULL),提示DSP系统RAM已满; CPLD的功能逻辑用VHDL语言实现,其编译、仿真和综合采用Altera官方主页提供的MAXPLUXII

● Student10.1版,下载电缆自制。

(2)数据处理子系统(DSP子系统)

由于系统在后期升级中,要求对下位机部分的数据进行较为复杂的预处理,同时系统在实时性方面要求较高。因此选用TI公司的TMS320C5409作为数据处理子系统的CPU。

DSP子系统的主要工作流程为:

1) 接到Trigger(由前端换能模块发出)中断(INT0)触发后,拉高START信号通知信号采集模块开始工作,然后进入等待;

2) 接到RAM_FULL中断(INT1)之后,知道RAM已经写满,首先将START信号拉低停止CPLD和ADC。然后开始逐个读RAM中的数据,根据系统要求做相应处理,之后借助锁存器发给AN2131Q;

3) 在本系统中,DSP软件部分的几个函数体包括:主循环;int0中断(前端触发);int1中断(RAM已满)。

(3)通信接口子系统(USB子系统)

该子系统完成的功能,就是通过锁存器接收DSP发过来的数据,然后通过自身的USB控制器嵌入式系统是计算机技术、通信技术、半导体技术、微电子技术、语音图像数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品,反映当代最新技术的先进水平。

嵌入式系统是当今非常热门的研究领域,在PC市场已趋于稳定的今天,嵌入式系统市场的发展速度却正在加快。由于嵌入式系统所依托的软硬件技术得到了快速发展,因此嵌入式系统自身获得了快速发展。根据美国嵌入式系统专业杂志RTC报道,在21世纪初的10年中,全球嵌入式系统市场需求量具有比PC市场大10~100倍的商机。

有机构估计,全世界嵌入式系统产品潜在的市场将超过1万亿美元。随着技术的发展,业内对嵌入式系统的定义也越来越清晰。它是微处理器、大规模集成电路、软件技术和各种具体的行业应用技术相结合的结果,其中各种软件技术占了嵌入式系统80%的工作量。嵌入式系统不同于一般PC 机上的应用系统,即使是针对不同的具体应用而设计的嵌入式系统之间的差别也很大。

嵌入式系统一般功能单一、简单,且在兼容性方面要求不高,但是在大小、成本方面限制较多。可以说,嵌入式系统是不可垄断、需要不断创新的技术。

嵌入式系统历史及发展趋势

事实上,在很早以前,嵌入式这个概念就已经存在了。在通信方面,嵌入式系统在20世纪60年代就用于对电子机械电话交换的控制,当时被称为“存储式程序控制系统”(Stored Program Control)。嵌入式计算机的真正发展是在微处理器问世之后。1971年11月,Intel公司成功地把算术运算器和控制器电路集成在一起,推出了第一款微处理器Intel 4004,其后各厂家陆续推出了许多8位、16位的微处理器,包括Intel 8080/8085、8086,Motorola 的6800、68000,以及Zilog的Z80、Z8000等。

以这些微处理器作为核心所构成的系统广泛地应用于仪器仪表、医疗设备、机器人、家用电器等领域。微处理器的广泛应用形成了一个广阔的嵌入式应用市场,计算机厂家开始大量地以插件方式向用户提供OEM产品,再由用户根据自己的需要选择一套适合的CPU板、存储器板以及各式I/O插件板,从而构成专用的嵌入式计算机系统,并将其嵌入到自己的系统设备中。

为灵活兼容考虑,出现了系列化、模块化的单板机。流行的单板计算机有Intel公司的iSBC系列、Zilog公司的MCB等。后来人们可以不必从选择芯片开始来设计一台专用的嵌入式计算机,而是只要选择各功能模块,就能够组建一台专用计算机系统。

用户和开发者都希望从不同的厂家选购最适合的OEM产品,插入外购或自制的机箱中就能形成新的系统,因此希望插件相互兼容,从而导致了工业控制微机系统总线的诞生。1976年Intel公司推出Multibus,1983年扩展为带宽达40MB/s的MultibusⅡ。1978年由Prolog设计的简单STD总线广泛应用于小型嵌入式系统。

20世纪80年代可以说是各种总线层出不穷、群雄并起的时代。随着微电子工艺水平的提高,集成电路制造商开始把嵌入式应用中所需要的微处理器、I/O接口、A/D、D/A转换、串行接口以及RAM、ROM等部件全部集成到一个VLSI中,从而制造出面向I/O设计的微控制器,即俗称的单片机,成为嵌入式计算机系统异军突起的一支新秀。其后发展的DSP产品则进一步提升了嵌入式计算机系统的技术水平,并迅速渗入到消费电子、医疗仪器、智能控制、通信电子、仪器仪表、交通运输等各个领域。

20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步加速发展。面向实时信号处理算法的DSP产品向着高速、高精度、低功耗发展。TI推出的第三代DSP芯片TMS320C30,引导着微控制器向32位高速智能化发展。在应用方面,发展也较为迅速。

特别是掌上电脑,1997年在美国市场上掌上电脑不过四五个品牌,而1998年底,各式各样的掌上电脑如雨后春笋般纷纷涌现出来。此外,Nokia推出了智能电话,西门子推出了机顶盒,Wyse推出了智能终端,NS推出了WebPAD。

21世纪无疑是一个网络的时代,将嵌入式系统应用到各类网络中也必然是嵌入式系统发展的重要方向。嵌入式系统在各个领域应用的发展潜力巨大,其在医疗仪器领域的应用也越来越广泛。

嵌入式系统的定义及分类

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序等部分组成(见图1),用于实现对其他设备的控制、监视或管理等功能。嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)和应用程序编程。

有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。嵌入式系统通常可按图2分类。嵌入式产品已经在航空航天、交通、电子、医疗仪器、通信、工控、金融、家电等行业得到广泛应用。

嵌入式系统的特点

嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备以下特点:

(1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度;

(2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;

(3)可扩展的处理器结构,以便最迅速地开发出满足应用的最高性能的嵌入式微处理器;

(4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。

嵌入式系统同通用型计算机系统相比具有六大重要特征:

(1)专用性强:嵌入式系统通常是面向特定应用的嵌入式CPU,与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有功耗低、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,与网络的耦合也越来越紧密;

(2)知识集成度高:嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统;

(3)系统内核小:嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力;

(4)系统精简:嵌入式系统和具体应用有机地结合在一起,一般没有系统软件和应用软件的明显区分。它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,便具有较长的生命周期;

(5)高实时性和可靠性:为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中;

(6)系统开发需要专门的开发工具和环境:嵌入式系统本身不具备自主开发能力,设计完成以后用户通常不能直接对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发。

嵌入式系统在医疗仪器中的应用

进入2008年,越来越多的利好消息出现在医疗仪器设备领域。近期,德国、澳大利亚都分别明确表示要在儿童医疗和全民医疗领域加大投入。而我国和墨西哥这样的发展中人口大国也将在2008年继续其备受世人瞩目的医疗改革。这些政府级别的投入将增加全社会对医疗仪器设备的需求。随着生活水平的不断提高,人们对于自身健康的关注也提升到一个前所未有的高度。

今天,越来越多的高科技手段开始运用到医疗仪器的设计中。心电图、脑电图等生理参数检测设备,各类型的监护仪器、超声波、X射线成影设备、核磁共振仪器以及各式各样的物理治疗仪都开始在各地医院广泛使用。远程医疗、HIS、病人呼叫中心、数字化医院等先进理念的出现和应用,使医院的管理比以往任何时候都更加完善和高效,同时病人享受到更加快捷方便和人性化的服务。

在技术领域,医疗仪器设备则开始呈现向便携性和网络化发展的趋势。可以随身携带的血压计、血糖仪,可以在家庭或小型社康医院中使用的呼吸机、心电监护仪必然会有越来越大的市场需求。而网络化的进一步普及也正在进入医疗仪器设备领域,通过有线或无线技术,医生可以远程访问病人的资料;数字化网络化的医疗检测设备使病人不必再携带大量的检测资料奔波在医院的各个科室甚至是远隔千里的不同医院之间,从而节省了就医者的时间和重复检测的费用;而网络化的医疗仪器设备和系统也使远程医疗变为现实,身在某些不发达地区的重症患者有可能通过远程医疗获得高水平医生的救治而重获新生。

在我国,由于医疗资源尤其是高端优质医疗资源的缺乏和地区间分布不均衡引起了广被诟病的“看病难”问题。医疗仪器设备网络化所带来的这些益处对解决该问题也有着非常现实的意义。

嵌入式系统在医疗仪器设备中的应用

由于医疗仪器设备固有的自身特点和以上提到的最新发展趋势的要求,用于医疗仪器设备的技术和系统也应该与这些特点和要求相适应。嵌入式系统应用于医疗仪器设备,符合发展趋势带来的要求和变化。医疗仪器领域大量医疗仪器的应用,如心脏起搏器、放射设备及分析监护设备,都需要嵌入式系统的支持。

各种化验设备,如肌动电流描记器、离散光度化学分析、分光光度计等,都需要使用高性能的、专用化的DSP系统来提高其精度和速度。引入嵌入式系统后,现有的各种监护仪的发往HOST。

采用Cypress公司的AN2131Q作为USB通信芯片。AN2131Q功能框图如图3。该芯片的主要特性为:

● 改进的8051内核。性能可达到标准8051的5~10倍,与标准8051的指令完全兼容;

● 高度集成。传统USB外设的硬件设计通常包括非易失性存储器(如EPROM、EEPROM、FLASH ROM)、微处理器、RAM、SIE(串行接口引擎)和DMA等。EZ-USB将上述多个模块集成在一个芯片中,从而减少了各芯片接口部分时序配合时的麻烦;

● Cypress公司的EZ-USB系列芯片接收全部USB 的吞吐量。这种设计不受端点数目、缓冲区大小及传输速度的限制;

● USB 内核。AN2131Q可以代替USB外设开发者完成USB协议中规定的80%~90%的通信工作,使得开发者不需要深入了解USB的低级协议即可顺利地开发出所需要的USB外设;

● 易用的软件开发工具。固件可独立于驱动程序被测试。驱动程序和固件的开发与调试相互独立,可加快开发的速度。

● 软配置。外设未通过USB接口连接到PC机之前,外设上的固件存储在PC上;一旦外设接到PC机上,PC读取设备描述符,然后将该外设的固件下载到EZ-USB的RAM中并执行,这个过程叫做再枚举。这种基于RAM的软配置方法,可以允许无限的配置和升级。

AN2131Q属于Cypress公司EZ-USB系列,其驱动在Cypress公司提供的例程中略加改动即可使用,简单可靠,编辑、编译工具为Microsoft的VC++6.0和98DDK,调试工具采用SOFTICE。驱动程序为上层应用程序提供了很多API接口。

数据采集子系统与处理子系统的通信与同步

本系统有采样速率快,数据量大的特点。本系统中,8位ADC的采样频率为100MHz,采样宽度为每次20ms,那么每次采样得到数据为100MHz*20ms=2KB;Trigger信号脉冲宽度采用50ms,由此可计算出每帧数据量为2KB * 50ms * 10KHz = 1M。

数据处理采用的DSP芯片满足这个速率要求,但是还要通过USB把数据传向主机,而系统采用的AN2131Q为USB1.1协议芯片,经过测算其达不到理论的1Mb/s,因此,两个子系统之间必须通过缓冲器进行通信。目前常用的多处理器间通信方法有三种:双口RAM; 高速FIFO; 总线开关加存储器。

其中前两者相对简单,容易控制,但是由于目前双口RAM和FIFO的速率和容量都达不到本系统的要求,因此最终选用最后一种方法,即高速RAM加总线开关的方法,由CPLD系统和DSP分时访问RAM。

CPLD在START电平变低之后,地址线输出高阻,此时ADC的数据输出也是高阻,此时DSP才开始从RAM读数据,这一逻辑保证了不会发生总线冲突。

高速DSP系统与AN2131Q的通信控制

通过一片数据锁存器作为缓冲器,利用TMS320C5409的XF和BIO引脚和AN2131Q的两个IO口作为握手引脚;同时,DSP利用中断来管理数据传输;AN2131Q则通过轮循来管理数据传输。

系统整体调试

由于要采集的信号频率较高,因此,电路板的抗高频干扰问题是一个很重要的问题,经过测试,高频信号在系统中没有产生影响系统整体性能的干扰。

用HP信号发生器分别产生500KHz、5MHz、10MHz、20MHz的信号进行测试,DSP子系统暂时没有对信号进行预处理而是原样不动的发给USB通信芯片(信号处理函数暂时设为空参数)。在应用程序中,上层软件利用多线程处理技术,把采集到的信号同时进行分析、显示、存储等,系统达到了令人满意的实时性。

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告