基于STM32和USB接口的开放式高性能新型医用信号仪的研制

2012-12-31 13:17陈龙聪刘改琴刘亚涛熊兴良
中国生物医学工程学报 2012年6期
关键词:波形图方波子程序

陈龙聪 刘改琴 刘亚涛 高 斌 熊兴良*

(重庆医科大学生物医学工程研究室,重庆 4 00016)2(重庆理工大学光电信息学院,重庆 4 00050)3(重庆医科大学法医学与生物医学信息研究室,重庆 4 00016)

引言

在临床、医学科研和实验中,需要特定波形的电刺激信号来研究电刺激的生物效应[1],如对神经、细胞、肌肉等电刺激效应的研究;在医疗设备及其它医用设备的研究、维修或调试中,经常需要输入模拟心电、脑电等标准或异常的生理信号;在医学上,对人耳频率特性和人体阻抗特性的研究和教学中,需要高频率精度、高驱动能力、高纯度的正弦信号,但目前很多信号发生器根本无法满足要求;在各大院校的物理等相关教学中,经常会演示或实验两简谐振动不同情况下的合成波形,这对于医学生来说,理解生理信号的频谱分析有着及其重要的意义。常见的如拍频、李萨如图形等,现有相关仪器演示或实验起来极不方便,尤其是学生作实验则是更加困难,调试会花大量时间,甚至根本调不出来。为了同时满足上述医学需求,这就需要一种既能输出高频率精度和位相精度、高驱动能力的双道正弦、方波或三角波信号,又能输出各种正常或异常生理信号以及可自定义的特殊生理刺激信号的信号发生器。

目前很多医学信号发生器或信号发生仪只有产生常见的生理信号,且其波形一般是固定的,没有常用的常信号如正弦、三角和方波等,且输出驱动能力非常有限。如张福君等基于可编程片上系统(system-on-a-programmable-chip,SOPC)设计出能输出呼吸、脉搏和心电信号的人体生理信号发生器[2];陈龙聪等研制的开放式生理信号产生及测量仪能输出各种生理信号[3]。反过来,常用的非医用信号信号发生器能输出一般常用的正弦、三角波和方波等,但没有生理信号的输出。如Lee[4]、Vasan[5]、殷雷等[6-7]等利用直接数字合成(direct digital synthesizer,DDS)技术或现场可编程逻辑阵列(field-programmable gate array,FPGA)等产生常用的正弦、三角波、方波及特定的测试信号。所以不管是目前的医用信号,还是非医用发生器均不能同时满足上述医学需求。基于此,笔者研制出一种“基于STM32和USB接口的开放式高性能新型医用信号仪”,很好地克服上述不足,可广泛用于科研、实验教学和医学仪器的调试和维修等,尤其是医学中的人耳特性和人体阻抗特性测量、研究,各种细胞和组织的电生物效应的研究。

1 仪器设计

本仪器以高性能单频信号发生芯片AD9833、高性价比32位单片机STM32F103RD和高集成度芯片为核心、结合通用串行总线(universal serial bus,USB)接口、显示直观的图形液晶显示(liquid crystal display,LCD)等技术,使其具开放性好、显示直观、使用方便、体积小、便于携带等特点。

该仪器的设计方法为:一方面,利用STM32F103RD内带的两道12位D/A转换、外部存储器中读取信号数据和外部数字滤波等实现产生两道各种正常、异常的生理信号以及一些其它的特殊信号,并送入模拟开关供选择。同时,利用单片机内带USB引擎经USB接口和电脑通讯,实现生理信号或其它信号的增减或修改等。另一方面,利用单片机控制两片AD9833产生频率和位相可数控的两道正弦、三角或方波信号,也同时送入模拟开关供选择。单片机根据用户输入信息通过模拟开关,从四道信号中选择两道输出,并经信号放大、功率放大等处理后从输出端口输出。另外,该仪器利用192×64图形点阵液晶LCD直观地显示输出信号的类型、幅度、频率、当前状态等相关信息,并通过按键可简便地输入各种信息或改变各种设置。

从总体上,该仪器主要包括硬件和软件两部分,其中硬件包括单片机控制单元、双道数控常用信号产生单元等12个单元;软件采用C语言编写,利用Keil uVesion3进行编译,主要包括主程序、和USB通讯子程序等8个子程序,下面分别从硬件和软件两个方面进行阐述。

1.1 硬件设计

如图1所示,该仪器的硬件主要由单片机控制、双道数控常用信号产生、滤波处理、信号选择、信号幅度调节、功率放大、峰峰值检波、LCD显示、按键输入和存储共十个单元以及输出接口、USB接口构成。下面只对单片机控制、双道数控常用信号产生、功率放大、存储共4个重要单元进行阐述,其它部分在此就不进行阐述了。

1.1.1 单片机控制单元

主要由32位单片机STM32F103RD和相应的外围元件构成。其中单片机内带两道12位D/A转换、A/D转换、USB引擎、其最高工作频率可达72MHz,可方便与计算机通信,同时对通过按钮输入的信息进行分析,并向其它部分发送相应的数据或控制信号,实现输出相应参数的信号,并控制LCD液晶实现各种相关信息的显示。

图1 硬件原理框图Fig.1 The structure of hardware

1.1.2 双道数控常用信号产生单元

主要包括两片数控信号发生集成芯片(integrated chip,IC)AD9833[8],该芯片是一种高性能12位数控位相和28位数控频率能产生高精度的正弦、三角、方波。本仪器选用25 MHz时钟晶振,其数控频率分辨率可达25 M/228约为0.093 1Hz,其数控位相分辨率可达360°/212,约为0.088°,由此可知其频率和位相精度均很高。当需要输出正弦、三角、方波时,利用单片机向数控信号发生IC传送频率、位相和信号类型控制字,产生相应频率、位相和类型的信号,经信号处理电路后输出信号,可作为人耳频率特性和人体阻抗特性的研究及教学、也可作为演示简谐振动合成的信号源或作为一般医学电子学的高精度数控信号源等。

1.1.3 功率放大单元

主要由集成功率放大器THS6042及相应外围元件构成。其具有较高信号的驱动能力,可提供最大350 mA的驱动电流,并具有短路和热保护等功能。

1.1.4 存储单元

主要由4片 Flash存储(掉电数据不丢失)K9W5608U1M及外围元器件构成。每片有32 M字节的存储空间,该仪器中主要用于存储各生理信号或特定信号的数据。当需要输出相应信号时,在单片机的控制下,不断间隔相同时间从特定的Flash存储芯片中读取数据,并送入D/A转换,从而产生相应的生理信号或特定信号。若按每一生理信号用1 K字节的空间,则4片共128 M字节的存储空间,至少可以存储13万个生理信号。显然,在实际中这完全可以满足所需。

1.2 软件设计

如图2所示,软件部分主要采用C语言编写,Keil C编译器编译而成。采用C语言编写的单片机处理软件主要包括主程序和显示、双道常用信号产生控制、生理信号产生等共八个子程序组成。其中主程序主要是调用按键处理子程序获得用户输入的信息,调用其它相应子程序实现所需功能,并显示输出信号幅度、波形、频率等;双道常用信号产生控制子程序主要在需要输出常用信号时实现对两片AD9833的控制,输出所需常用信号;生理信号产生子程序主要是实现需要输出生理或其它特殊信号时,产生所需的信号;输出信号选择子程序主要根据按钮的输入信息选择信号源,以得到需要的信号;按键处理子程序主要是将输入的按钮值转换为各变量值,同时将相应的变化送给主程序;显示子程序主要是控制液晶实现频率、波形种类等信息的显示。存储子程序主要实现从Flash存储器中读取数据产生各种生理或特殊信号或写入信号波形数据;USB通子程序主要实现单片机和计算机之间的数据交换;峰峰值测量子程序主要实现测量输出信号的峰峰值,并传送给主程序。

图2 软件框图Fig.2 Structure of software

2 工作模式

该信号仪器,共有两种工作模式:信号提取模式和信号产生模式。两种工作模式可通过按键输入来切换。

信号提取模式主要为信号的提取使用。有两种途径:第一种,通过笔者编制的Windows应用软件提取信号[9]。其主要通过计算机的USB接口将信号数据传给单片机储存,从而获得相应定制的信号源数据;第二种,通过该系统的按键依次输入信号数据,并将其数据依次保存起来,从而获得用户定义的信号源数据。不难得出,通过以上两种途径很容易增加本仪器产生波形信号的种类或数量。

在信号产生模式下,用户可以选择和调用需要输出的信号,如心电信号,脉搏波等生理信号以及自己定义的信号或者常用的方波、正弦波、三角波等标准信号。

3 结果

为了减小该仪器体积,在制作中尽量选用了贴片元件,最后制作出仪器的其外观如图3所示,其体积为17.5 cm(长)×13.5 cm(宽)×5.6 cm(高,最高处)。利用它可同时输出两道高频率精度和位相差精度的常用信号(如三角波、正弦波和方波),或输出两道生理或其它特殊信号(包括正常和异常),或输出一道常用信号和生理信号,也可输出自己定义的特殊波形的信号等。由于本仪器可通过USB自己定义特殊波形的信号,其输出波形种类也可以根据需要增减,因此其具有很好的开放性。同时该仪器利用LCD直观地显示频率,峰峰值及波形类型等信息。

图3 仪器外观图。(a)开机外观图;(b)输出一道心电信号和一道正弦波信号的外观图。Fig.3 Outside view of the instrument.(a)Outside view of starting up for the instrument;(b)Outside view of outputting one electrocardiosignal(ECG)and one sine signal for the instrument.

该仪器的最大幅度可达10 V,输出最大电流可达350 mA;常用信号(正弦、三角波和方波)最大频率12 MHz,其数控频率分辨率约为0.093 1Hz,位相分辨率约为0.088°。为了便于用一般示波器观察正常或异常低频生理信号(如心电、脉搏波等),本仪器设有四个频率(正常频率,125Hz、1 250Hz、12.5 kHz)供选择,便于教学中观察生理信号波形。

为了阐述该仪器的实际结果,利用江苏绿杨YB4328D双踪示波器显示,用数码相机记录了一些实际输出信号情况波形图。如图4给出了该仪器输出的双道信号波形图,其中图4(a)为该仪器输出一道三角波和一道正弦波的波形图;图4(b)为其一道方波和一道标准心电信号的波形图;(c)同时输出两道正常心电波信号的波形图。

图4 输出双道信号的波形图。(a)输出一路三角波信号和一路正弦波信号;(b)输出一路方波信号和一路心电信号;(c)同时输出的两路心电信号。Fig.4 Output waveform of double-channel signal.(a)A triangle signal and a sine signal;(b)A square wave signal and a ECG signal;(c)Two ECGs.

图5给出了输两正弦信号在同一方向上的合成波形。其中图5(a)频率为3 000Hz和1 000Hz即频率为3∶1、初相差为0的合成波形图;图5(b)频率为2 000Hz和2 010Hz合成的拍频波形图。因为正弦波可以看作简谐振动,因此利用该仪器的这一功能可以直观地演示医学物理中的两简谐振动的合成情况。

图6给出了输两正弦信号在相互垂直方向的合成波形,即李萨茹波形图。其中图6(a)给出了位相差为3π/4、频率之比为1∶1(2 000Hz和2 000Hz)的合成波形图;6(b)给出了位相差为π/2、频率之比为2∶1(2 000Hz和1 000Hz)的合成波形图;6(c)给出了位相差为π/4、频率之比为3∶1(3 000Hz和1 000Hz)的合成波形图;6(d)给出了位相差为π/4、频率之比为3∶2(3 000Hz和2 000Hz)的合成波形图。在实际中,利用这一点可以及其方便地演示李萨茹图形,且其稳定性也非常好。

图5 两正弦信号的同方向合成波形图。(a)3 000Hz与1 000Hz合成;(b)2 000Hz与2 010Hz合成。Fig.5 Synthesis waveform of two sine signal with same direction.(a)Two sine signals with frequency 3 000Hz and 1 000Hz;(b)Two sine signals with frequency 2 000Hz and 2 010Hz.

图6 两正弦信号的合成的李萨茹波形图。(a)位相差为3π/4、频率为2 000Hz和2 000Hz;(b)位相差为π/2、频率为2 000Hz和1 000Hz;(c)位相差为π/4、频率为3 000Hz和1 000Hz的合成波形图;(d)位相差为π/4、频率为3 000Hz和2 000Hz。Fig.6 Synthesis Lissajous figure of two sine signal with orthogonal direction.(a)Two sine signals with phase difference 3π/4,frequency 2 000Hz and 2 000Hz;(b)Two sine signals with phase difference π/2,frequency 2 000Hz and 1 000Hz;(c)Two sine signals with phase difference π/4,frequency 3 000Hz and 1 000Hz;(d)Two sine signals with phase difference π/4,frequency 3 000Hz and 2 000Hz.

另外,由于能输出高纯度的正弦信号、具有峰峰值显示且其输出可直接驱动32 Ω以上的监听耳机(仪器上留有专用插座,如图3中所示),利用这一特性可以作为医学中的人耳特性和人体阻抗特性测量、研究中的信号源。

总体上说,该仪器具有体积小、性能稳定、操作简便、显示直观和良好的开放性等优点。

4 讨论

本仪器可同时输出两道不同的常见正常或异常的生理信号如心电、脉搏、心音、呼吸波等或特殊波形信号,且对同一信号可提供了4种频率,便于教学中使用一般示波器观察波形图,这一点目前的医用信号发生器是没有这一功能。同时,可通过USB接口增减各种生理信号或其它波形信号,这使其具有很好的开放性。

可利用本仪器能输出两道数控高频率精度、高纯度、高驱动能力的正弦信号,作为人体阻抗特性的研究和教学等中的信号源。也可直接驱动监听耳机,作为人耳频率特性测量、实验和研究中的信号源。另外,利用可直接驱动耳机这一特点,不但可让用户直接地听取不通频率的纯音、方波、三角波等产生的声音,而且可以听取不同生理信号的声音,这尤其是教学中让学生亲身感受其效果,加深学生对不同频率下声波相关内容的理解。也可以让学生感受不同生理信号的听觉效果,在教学中,尤其是医学院校的教学中,具有很大的意义。目前的信号发生器还没有这一功能。

本仪器采用数控频率和位相,因此可非常方便地演示与频谱分析相关的两简谐振动在不同频率、相同频率、不同相位等情况下的合成(同方向、相互垂直――拍频、李萨如图形等),这比现有仪器使用起来方便很多。同时也可提供高精度频率和位相差,这可供科研等提供高精度的信号源。

本仪器使用的是STM32F103RD内带最大为转换速率1 μs的D/A转换,虽然在医学中其频率基本够用,但这限制了通过D/A转换获取信号的频率。这有待于改进设计提高该项性能。

本仪器有待进一步完善的地方主要有两方面:(1)显示中,若为常用信号(正弦、方波和三角波,则其波形类型能显示对应输出信号的波形,但为生理信号或其它波形时,波形类型中只能显示出BXXXX,这不够直观。这需下一步对单片机软件和Windows软件进行同步设计,以到达将代码直接转换为波形图,使显示更直观;(2)D/A转换的数据目前来源于内带的存储器,需通过USB改变,下一步将使该仪器能使用大容量的U盘和SD卡,使其使用更加方便,具有更好的开放性。

5 结论

综上,该仪器采用了显示直观的LCD液晶、控制及处理功能强大的32位高性价比的单片机和各种集成芯片等,使其能稳定、可靠,同时具有体积小、显示直观、使用方便、灵活、便于携带、成本低及开放性好等特点。具有很好的新颖性、实用性和开发性,可广泛用于科研、实验教学和医学仪器的调试和维修等,尤其是医学中的人耳特性和人体阻抗特性测量、研究,各种细胞和组织的电生物效应的研究。不过,对其各种正常或异常的生理信号的种类有待进一步增加,对于其性能和功能还有待于进一提高和挖掘。

[1]王伟,肖颖彬,程伟.快速电场起搏对心房肌细胞电生理特性的实验研究[J].重庆医学,2010,39(14):1792-1797.

[2]张福君,周滨,吕实诚.基于SOPC的人体生理信号发生器的设计[J].电脑学习,2009,4:21-22.

[3]陈龙聪,胡国虎,高斌.开放式生理信号产生及测量仪的研制[J].生物医学工程学杂志,2004,21(6):953-956.

[4]Lee WT,Liao YZ,Hsu JC,et al.A high precision ramp generator for low cost ADC test[C]//.Proceedings of 9th International Conference on Solid-State And Integrated-Circuit Technology.Beijing:IEEE,2008:2103-2106.

[5]Vasan BK,Duan J,Zhao C,et al.Signal generators for cost effective BIST of ADCs[C]//Proceedings of the European Conference On Circuit Theory And Design.Antalya:IEEE,2009:113-116.

[6]殷 雷,金海军,李映雪,等.基于DDS的高精度函数信号发生器的研制[J].现代电子技术,2009,288(1):68-70.

[7]郝小江,罗彪.基于FPGA的函数信号发生器[J].电测与仪表,2009,45(9):49-51.

[8]Analog Devices.http://www.analog.com/static/imported-files/data_sheets/AD9833.pdf[EB/OL].

[9]陈龙聪,刘改琴,刘亚涛,等.生理信号数据生成系统的设计及应用[J].中国医学物理学杂志,2007,24(2):143-146.

猜你喜欢
波形图方波子程序
便携式多功能频率计的设计与实现
由波形图领悟声音特性
浅析CH-γ方程中解的求法
测绘技术在土地资源管理中的应用
浅谈轨道动态检测资料在线路维修中的应用
轨道几何动态检测项目及病害成因分析
浅谈子程序在数控车编程中的应用
一种防垢除垢的变频电磁场发生装置
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序