基于单片机及CPLD的B超检测工装设计_第1页
基于单片机及CPLD的B超检测工装设计_第2页
基于单片机及CPLD的B超检测工装设计_第3页
基于单片机及CPLD的B超检测工装设计_第4页
基于单片机及CPLD的B超检测工装设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    基于单片机及CPLD的B超检测工装设计摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTAC)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 MHz,阻带抑制率大于35 dB,带内波纹小于05 dB,采用18 V电源,TSMC 018m CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte华东师范大学附属第二中学 刘长君北京金菩嘉医疗科技有限公司 幸坤涛引言超声在人

2、体内传播,由于人体各种组织有声学的特性差异,超声波在两种不同组织界面处会产生反射、折射、散射、绕射、衰减以及声源与接收器相对运动产生多普勒频移等物理特性。应用不同类型的超声诊断仪,采用各种扫查方法,接收这些反射、散射信号,显示各种组织及其病变的形态,结合病理学、临床医学,观察、分析、总结不同的反射规律,从而对病变部位、性质和功能障碍程度作出诊断。B超是超声诊断仪中的一种显示模式。B超工作过程为:当探头获得激励脉冲后发射超声波(同时探头受聚焦延迟电路控制,实现声波的声学聚焦),经过一段时间延迟后再由探头接收反射回的回声信号,经过滤波、对数放大等信号处理。然后由DSC电路进行数字变换形成数字信号,

3、在CPU控制下进一步进行图像处理,再同图像形成电路和测量电路一起合成视频信号送给显示器,形成我们所熟悉的B超图像,也称二维黑白超声图像。由于B超中为了增强图像分辨率,通道都比较多,大多是16、24、48、64甚至更多通道。这些通道电子元器件完全一样,要求各通道的一致性要好,在装整机前,最好有测试手段和方法,对所有通道能进行测试,以去除器件本身和焊接电路板中出现的问题,基于此目的,本人设计了B超检测工装。工装设计需求本工装设计要求为24通道、探头为96阵元的B超板AFE9624进行测试,AFE9624包含高压发射电路、继电器切换、高压模拟开关切换、前放电路和VGA电路。发射工装要求高压发射电路、

4、高压模拟开关电路、继电器切换电路测试,这几者必须同时进行检测,要设计发射工装板、继电器控制测试电路、高压模拟控制电路、探头接口高压波形测量电路。具体包括:高压发射电路工装(简称发射工装),124通道的发射驱动及切换电路;高压模拟开关控制电路工装(简称开关工装),控制任何一个通道的开通或者关断,实际使用时只控制某一个通道的开通,其他的通道关断,相应地发射控制也只开通对应的一路,其他的驱动设置为无效;继电器控制测试工装(简称继电器工装),提供继电器组开通或关断的控制信号;探头接口的波形测量电路工装(简称探头波形工装),包含961的切换电路,使得得到发射的阵元位置波形可以切换到示波器显示测量出来。接

5、收工装要求VGA测试:VGA测试主要验证放大电路的功能和准确性,需要提供给每一路VGA模拟输入信号,并通过示波器检测。通过探头接口可以将测试信号施加进去,但是必须要对高压模拟开关进行相应控制,使得每一路VGA获得准确的输入。具体包括:波形发生器工装,提供96路的模拟正弦波形,频率3.5MHz,幅度P-P 在1V1.2V,可实现负载短路保护,允许有几十欧姆的输出阻抗;高压模拟开关控制及VGA增益控制工装(简称开关增益工装),提供AFE9624上高压模拟开关电路的控制信号,并提供VGA的增益控制信号,增益控制信号可以是锯齿波,幅度值最低应大于0.2V,最大值应不大于2.5V,锯齿波周期为50

6、81;s。硬件电路设计图1所示为发射、接收工装设计电路中主控部分原理图。其中,发射部分原理图见图2,接收部分原理图见图3。需要注意的是,发射和接收有一部分电路是共用的。这3个电路主要包括用于控制自动检测的微处理器AT89S52,用数码管前2位显示探头00或01,即PROBE A或PROBE B。数码管后2位显示196,即196通道。Alter公司的CPLD(EPM7064)用于产生周期20ms、脉宽330ns的2个方向相反、有死区时间的脉冲,用于发射通道的发射波形。工装板用了18个8通道高压开关HV20220,其中6个用于控制双124通道数字开关切换电路,其余的12个用于探头96个阵元选1的切

7、换。发射和接收的控制回路基本一样,需要改变的是2个双刀双掷开关S1、S2的拨动方向,接收工装的发射波形是正弦波,由函数发生器芯片MAX038产生。本设计留有单片机AT89S52与上位机的通讯接口,可以通过上位机编程,利用图形界面控制本工装,只需软件编程即可。本文采用上电自动检测和手工检测这两种模式,没有使用上位机控制模式。图1 发射、接收工装设计电路中主控部分原理图发射和接收工装都需要把发射波形或接收波形经过控制后,通过转接线JP3JP7及JP10和需要检测的实际B超板相接,来检测B超板(图1图3中未给出JP3JP7及JP10连接线的插座)。发射工装设计图1中,U1(7400)与非门电路和12

8、MHz晶振组成晶体振荡器,给EPM7064的全局时钟端43脚提供时钟信号。EPM7064的21脚和25脚输出周期20ms、脉宽330ns、带660ns死区时间的2个方向相反的脉冲信号,经同向放大器U21(74F07)驱动后得到IPA和INB,加到双刀双掷开关S1上(在图2中,S1此时需拨到发射位置)。IPA经S1加到U3、U4、U5这3个高压开关HV20220上,3个高压开关的所有输出都接在了一起,而且这3个高压开关接成菊花瓣形式,即下一个开关的数据输入端DIN,接前一个开关的数据输出端DOUT。在微处理器AT89S52的控制下,给出SDATA1, SCLK1, SLD1,RESET1切换电路

9、的串行控制信号,使3个高压开关的输入端依次和自己的输出端闭合,如U3的7脚和8脚,此时,IPA信号送给了IP001。但需注意的是,在同一时间,3个高压开关的24个通道只有一个是可以闭合的,其余的都断开。INB的过程和IPA的过程完全一样,在IP001得到IPA信号的同时,IN001也得到了INB信号。IP001IP024依次得到IPA信号,IN001IN024则依次得到INB信号。IP001IP024和IN001IN024通过转接头JP3 、JP4 送到B超的AFE9624板上。在AFE9624板上经过MD1211驱动,驱动内置场效应管芯片C6320,得到工装发出的两个带死区时间、方向相反并经

10、MD1211放大后合成的波形。再经过AFE9624板上的12个高压开关HV20220切换,根据继电器切换选择探头A或探头B输出。在微处理器AT89S52的控制下,给继电器组开通或关断信号SRELAY:SRELAY=0时,探头A开;SRELAY=1时,探头B开通。同时又发出SDATA2,SCLK2,SLD2,RESET2串行控制信号,通过JP10转接线去控制AFE9624板上高压模拟开关HV20220。经过AFE9624板放大控制的信号,再通过转接线JP5、JP6、JP7送到工装板上12个高压开关U12U20上(在图3中,只给出了U18U20),最后通过双刀双掷开关S2(此时应该拨到发射位置),

11、接在J3端的示波器就能看到需要的合成波形。U12U20在微处理器AT89S52的控制下,给出SDATA3, SCLK3, SLD3,RESET3串行控制信号,达到96选1的目的。图2 发射、接收工装设计电路中发射部分原理图接收工装设计图3中,U25(MAX038)是函数发生器产生芯片,其3脚A0、4脚A1是输出波形选择端,输出波形的选择由逻辑地址引脚A0和A1的组合来决定:A1A010或11时,输出正弦波;A1A000时,输出方波;A1A001时输出三角波。波形切换可在0.3s内完成,但输出波形有0.5s的延迟时间。MAX038的19脚是波形输出端,本设计输出正弦波,频率为3.5MHz,幅度P

12、-P 在1V左右。此正弦波通过双刀双掷开关S2(此时应该拨到接收位置),在微处理器AT89S52的控制下,给出SDATA3, SCLK3, SLD3,RESET3串行控制信号,控制U12U20,将此正弦波切换到(96选1)探头上,即PA0PA95分别得到此正弦波,通过转接线JP5、JP6、JP7送到AFE9624板。根据转接线JP5、JP6、JP7接到该探头,和微处理器用继电器控制其工作。正弦波经过12个高压开关HV20220(和发射时是同一组高压开关),经过发射、接收隔离电路得到接收信号(这里是我们工装给出的正弦波),再通过AFE9624板上的前放电路放大,通过工装上转接线JP3、JP4送到

13、图2中发射工装上的U3U5的IP001IP024端和U6U8的IN001IN024端。同样在微处理器AT89S52的控制下,高压开关轮流导通,此时高压开关的另一端IP和IN得到正弦波,经过双刀双掷开关S1(S1此时需拨到接收位置)。在J1接双踪示波器就能看到差分的2个正弦波。三极管Q5发射极输出TGC增益控制信号,通过转接线JP10送到AFE9624板上的前放电路的增益控制端,控制接收信号的幅度。图3 发射、接收工装设计电路中接收部分原理图软件设计本工装使用CPLD产生发射波形,使用微处理器AT89S52控制整个工装板,还给要测试的B超板(AFE9624)提供继电器和高压开关的切换指令。发射波

14、形的产生周期20ms、脉宽330ns、带660ns死区时间的2个方向相反的脉冲信号,是用Verilog HDL语言编写,由EPM7064的21脚和25脚输出。源码如下:module pwm(clock,pwm_out,pwm_out1);input clock;output pwm_out;output pwm_out1;reg 20:0 count;reg pwm_reg;reg pwm_reg1;always (posedge clock)begincount=count+1;if (count<4) /330ns脉宽beginpwm_reg=1;pwm_reg1=1;endelse

15、 if (count<12)/660ns死区时间beginpwm_reg=0;pwm_reg1=1;endelse if(count<21&apos;d16) /330ns负脉冲beginpwm_reg=0;pwm_reg1=0;endelse if(count=21&apos;d240000)/12M晶振,12000000/240000=50Hz,即20毫秒beginount=21&apos;d000000;pwm_reg=1;pwm_reg1=1;endelsebeginpwm_reg=0;pwm_reg1=1;endendassign pwm_out=

16、pwm_reg;assign pwm_out1=pwm_reg1;endmodule微处理器AT89S52控制代码微处理器AT89S52外接3个轻触开关S3、S4、S5,S3接外中断0,用于继电器控制,上电默认选择探头1(PROBE A),按下S3,则选择探头2(PROBE B),再次按下无效(防止带电换探头)。再重新上电,才能选择探头1。S4接外中断1,上电默认24个通道、96阵元是每隔2s自动检测的,若需要人工检测,则按下S4,此时,每按一次S4,则检测下一通道和阵元。S5是复位开关。根据硬件连接,设置如下:uchar m=0;/用于96阵元的选择uchar n=0;/默认选择探头1uch

17、ar l=0;/用于24通道的选择uchar k;sbit SDATA1= P10; /移位数据1sbit SCLK1= P11; /移位时钟1sbit SLD1= P12; /移位锁定sbit RESET1=P13;/复位1sbit SDATA3= P14; /移位数据3sbit SCLK3= P15; /移位时钟3sbit SLD3= P16; /移位锁定sbit RESET3=P17;/复位3sbit SDATA2= P00; /移位数据2sbit SCLK2= P01; /移位时钟2sbit SLD2= P02; /移位锁定sbit RESET2=P03;/复位2sbit SRELAY

18、=P04;/探头继电器选择定时器自动检测子程序void serves_timer2() interrupt 5 using 0EA=0;TF2=0;k=k+1;if(k=40)/2秒 k=0;m=m+1;l=l+1;if( m>96) m=1;if (l>24) l=1;DELAY1s( );for (j=0;j<8;j+)HV20220_1(l) ;HV20220_2( m) ;HV20220_3(m);elseEA=1;在本程序中,if( m>96) m=1;if (l>24) l=1; 即:96个阵元是对应24个通道的,在实际的B超工作过程中,一个通道工作的

19、时候,同时会有4个按一定规律排列的阵元在工作。本工装不仅独立检测24个通道的每个通道,同时还检测96个阵元中的每一个,因此,检测96个阵元,24个通道运行了4次。轻触开关S4外中断1子程序void serves_int1() interrupt 2 using 2/外中断1EA=0;TR2=0;/停止计数m=m+1;l=l+1;if( m>96) m=1;if (l>24) l=1;DELAY1s( );for (j=0;j<8;j+)HV20220_1(l) ;HV20220_2( m) ;HV20220_3(m);EA=1;轻触开关S3外外中断0子程序void serve

20、s_int0() interrupt 0 using 0/外中断0EA=0;n=1;/显示01SRELAY=1;/选择探头2DELAY1s( );EA=1;工装先检测探头1,探头1的96个阵元都检测通过后,断电,将探头转接线放到探头2的位置;上电,按下轻触按钮S3,此时数码管前2位显示01,是选择探头2的标志。微处理器控制继电器把所有通道都转接到探头2的测量上。高压开关HV20220的驱动函数函数HV20220_1(uchar dd)的功能:打开CPLD波形发生器(工装)1选24的高压开关。函数HV20220_2(uchar dd)的功能:打开主系统板(AFE9624)上的高压开关。函数HV2

21、0220_3(uchar dd)功能:打开探头上(工装)来的96选1的高压开关。以驱动HV20220_1为例,其它2个和此类似。void HV20220_1(uchar dd)uchar i;SLD1=1;for (i=0;i<96;i+) SCLK1=0;data10=0;SDATA1 = data10;SCLK1=1;_Nop( );_Nop( );for (i=0;iSCLK1=0;if (i=0) data10=1;else data10=0;SDATA1 = data10;SCLK1=1;_Nop( );_Nop( );RESET1=0;_Nop( );_Nop( );RESET1=1;_Nop( );_Nop( );_Nop( );_Nop( )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论