基于QCM传感器的生物芯片检测电路的设计
时间:08-16
来源:互联网
点击:
石英晶体振荡频率对晶体表面质量负载(质量效应)和反应体系物理性状如密度、粘度、电导率等(非质量效应)的改变高度敏感,具有亚ng级的质量检测能力,其灵敏度可达1ng/Hz。
QCM凝血传感器属于非质量响应型传感器,利用石英晶体振荡频率变化对晶体所处体系密度和粘度变化的高度敏感性来检测体系性状的改变。QCM凝血传感器通过红细胞阻抗特性的变化引起传感器的响应来检测红细胞凝集时间和沉降速率。因此,利用基于QCM传感器的生物芯片检测技术,研制了凝血分析仪。
总体设计
本系统原设计为8通道QCM检测,即采用8套完全相同的以MAX913芯片为核心的振荡器,通过2个CD4069反相器反相后分别送到4个差频器74LS74的D端,每一个差频器74LS74内部有2个D触发器。2个6M高精度有源晶振分别经时钟芯片CDCV304后变成8个6M输出信号,分别送到4个差频器74LS74的CLK端。经过4个差频器74LS74差频后的频率信号送到可编程逻辑器件EPM570GT100C3芯片的I/O口。EPM570GT100C3在这里做频率计,通过软件编程来实现。记下的差频频率通过8位数据线送到51单片机AT89S52,同时AT89S52对EPM570GT100C3控制,以选择哪个通道,AT89S52处理后的数据经过232串口送到上位机。
以一个通道为例来进行基于QCM传感器的生物芯片检测电路的设计,由于一个通道所使用的逻辑门比较少,因此选择可编程逻辑器件EPM7128LC84-10。图1所示是系统总体设计框图。
图1 系统设计总体框图
硬件设计
石英晶体振荡及差频电路
为了保证QCM在滴入生物试剂后能振荡起来,必须采用一套比较特殊的自激振荡器电路,普通的用反相器构成的振荡器电路不易起振,自激振荡器通常是由基本放大电路、正反馈网络和选频网络三部分组成的。在石英晶体振荡电路中,石英晶体作为正反馈网络的主要组成部分,也是一种选频网络,只有在石英晶体振荡器的固有谐振频率下才能满足条件。根据这一原理,采用以MAX913芯片为核心的振荡器,它的输出是TTL电平,便于单片机或可编程逻辑器件的信号采集。测量用QCM振荡电路输出的方波信号送入差频器74LS74的D端,参考用高精度6M晶振输出的方波信号送入差频器74LS74的CLK端,得到的差频信号送入可编程逻辑器件进行计数,采用差频的目的是为了降低输入到可编程逻辑器件EPM7128的频率。石英晶体振荡及差频电路如图2所示。
图2 石英晶体振荡及差频电路
EPM7128和AT89S52的控制电路
经过差频器74LS74后的差频信号,从74LS74的5脚输出送到可编程逻辑器件EPM7128的6脚I/O口上。由于可编程逻辑器件引脚比较灵活,又有可擦除可编程的能力,因此对原设计进行修改时,只需要修改原设计文件再对可编程逻辑器件芯片重新编程即可,而不需要修改电路布局,更不需要重新加工印刷线路板,这就大大提高了系统的灵活性,且具有很好的保密性,在这里通过软件编程将其设计为频率计。在开始测量时,上位机通过串口给51单片机AT89S52发出命令,AT89S52先给EPM7128的22脚一个RST复位命令,使EPM7128复位后开始工作计频,频率测量计时时间为100ms,计时结束后,EPM7128的46脚发出中断信号送给AT89S52的外中断0口(INT0),单片机接收到中断信号后从P1口的P10"P12给EPM7128发出3个选择信号SEL0"SEL2。由于在EPM7128设计的是32位计数器,而51单片机是8位机,因此需要4次分时处理32位数据信号,由选择信号SEL0"SEL2来控制。最终从EPM7128输出8位数据信号到AT89S52的P0数据口,经单片机处理后通过串口发到上位机进行最后的数据处理和图形界面显示。此部分硬件电路图如图3所示。
图3 可编程逻辑器件EPM7128和51单片机AT89S52的控制电路
AT89S52的14、15脚外接晶振和电容组成单片机的振荡电路,4脚是复位端,由IPM810控制,IPM810具备上电复位、手动复位及欠压复位功能。AT89S52使用PLCC44脚封装的贴片器件,利用单片机AT89S52的P1口和复位口进行在线编程,使用at89isp软件在线编程,进行程序的烧写。
EPM7128的83脚是全局时钟,外接工作用的时钟信号。该时钟信号可以使用有源晶振来产生,也可以使用无源晶振加振荡器产生。EPM7128的14、71、23、62脚分别是TDI、TDO、TMS、TCK端,是JTAG编程口。EPM7128也是采用在线编程方式进行程序的烧写,采用JTAG在线编程。其他引脚基本上都是I/O口,可根据需要指定。本设计中可编程逻辑器件EPM7128和51单片机AT89S52共有13根线相连,进行数据通讯和控制,其中OUTPUT0"OUTPUT7是数据通讯,SEL0"SEL2是AT89S52对EPM7128的片选控制信号,INT则是EPM7128对AT89S52发出的中断控制信号。
软件设计
本系统中ALTERA公司可编程逻辑器件EPM7128的内核程序采用Verilog HDL硬件描述语言编写,使用MAX+plusII10.1编译系统或Quartus II 4.2编译系统编译,设计实现了分频、频率计数、数据选择等功能。51单片机AT89S52用C语言和汇编语言混合编程,使用Keil C51编译系统编译。
可编程逻辑器件EPM7128的顶层电路
顶层电路如图4所示,由分频模块、计数模块、数据选择模块组成,分频模块和计数模块采用Verilog HDL硬件描述语言编写,数据选择模块用图形输入方式。12M的振荡信号送到EPM7128的CLK端,经过分频模块后变成10Hz的频率信号给计数模块提供基准时基。AT89S52给EPM7128的RST端提供复位RST信号,使EPM7128复位,开始记录差频器送到EPM7128的CLKX1端的频率信号。记时时间到,EPM7128的输出端INT发出中断信号,通知单片机接收数据。由于计数模块的计时器是32位的,因此通过3个8位的二选一数据选择器,在单片机给出的SEL0"SEL2片选信号控制下,分时选择从EPM7128的输出端OUTPUT7"OUTPUT0输出的8位数据信号到AT89S52的P0数据口。
图4 可编程逻辑器件EPM7128的顶层电路
可编程逻辑器件EPM7128的分频模块
分频模块的目的是将可编程逻辑器件EPM7128的83脚输入的12M频率信号,分频成10Hz频率信号给计数模块做基准时钟,即计时时间是100ms。
可编程逻辑器件EPM7128的计数模块
由分频模块分频后的10Hz信号送到计数模块,它通过门控电路,加到可以控制开、闭时间的闸门上。被测脉冲加到计数模块中闸门的输入端,开始测频时,先将计数器置0,待门控信号到来后,打开闸门,允许被测脉冲通过,计数器开始计数,直到门控信号结束,闸门关闭,停止计数。因此,当门控信号的周期为1s时,在闸门开通时间1s通过闸门的被测脉冲个数即为该被测信号的频率,为了使上位机获得更多的数据和精度,使门控信号的周期为0.1s。
以下是可编程逻辑器件EPM7128的计数模块的程序部分代码:
always @ (posedge CLK_1hz or negedge RST)
begin
if (!RST)
begin
CNT_EN=0;
LOAD=1;
end
else
begin
CNT_EN="CNT_EN;
LOAD="CNT_EN;
end
end
assign CNT_CLR="("CLK_1hz&
LOAD);
assign INT=LOAD; //使用LOAD的上升沿使单片机中断。
always @(posedge CLKX or negedge CNT_CLR)
begin
if (!CNT_CLR) //当CNT_CLR为低电平到来时,OUT=0;计数器清零
UT=0;
else if (CNT_EN)
begin
UT=OUT+1; //当CLKX的上升沿到来时,计数器加1
end
end
always @(posedge LOAD) //当锁存信号LOAD的上升沿到来时,执行以下语句
begin
FRE=OUT; //将OUT赋值给FRE
end
endmodule
上面给出了可编程逻辑器件EPM7128的计数模块的程序关键代码。CLK_1hz表示门控信号,CLKX表示被测脉冲,RST为系统复位信号,FRE为锁存后的脉冲频率数据,INT为给单片机的中断信号,这几个信号是计数模块中的输入、输出信号。在计数模块中还有几个内部定义的信号,CNT_EN为计数允许信号,CNT_CLR为计数清零信号,LOAD表示锁存信号,OUT表示锁存前的脉冲频率信号。门控信号为10Hz,每两个时钟周期进行一次频率测量,即在每两个时钟周期CLK_1hz内,先到来半个时钟周期的CNT_CLR,用于清零;随后,CNT_EN在一个时钟周期CLK_1hz内有效,进行计数;最后,在后到来的半个时钟周期内,当LOAD的上升沿到来时,锁存计数结果。
51单片机AT89S52的程序
51单片机先初始化定时器、串口及中断设置等,给EPM7128发出复位信号,然后进入大循环程序,等待外中断。当EPM7128计时时间到,给AT89S52的外中断0发出中断信号,AT89S52的程序跳到外中断中,进行数据处理,分别给出选择信号SEL0"SEL2的组合,分时接收EPM7128的数据信号,再通过串口发给上位机。由于所测频率不会超过10MHz,因此只读取24位数据即可。图5是外中断0中断程序流程图。
图5 外中断0中断程序流程图
实验结果
先往流池内加100微升血浆(温浴180S),旋转螺杆到刻度17.0,然后再通过侧面小孔注射进TT凝血酶溶液然后抽出注射器。图6所示是直径6mm血浆凝结实验(血浆+TT凝血酶=100+100μl)。此图是石英晶体采用AT切向,电极为银膜,基频I0MHZ,晶体直径6mm(没有使用差频器),直接将10MHz石英晶体的频率送到可编程逻辑器件计数的结果。
图6 直径6毫米血浆凝结实验
结束语
QCM作为微质量传感器具有结构简单、成本低、振动Q值大、灵敏度高、测量精度可以达到纳克量级的优点,被广泛应用于化学、物理、生物、医学和表面科学等领域中。压电石英晶体传感器用于凝血因子检测具有使用方便、精度高和成本低等优点,有广阔的临床应用和推广前景。
QCM凝血传感器属于非质量响应型传感器,利用石英晶体振荡频率变化对晶体所处体系密度和粘度变化的高度敏感性来检测体系性状的改变。QCM凝血传感器通过红细胞阻抗特性的变化引起传感器的响应来检测红细胞凝集时间和沉降速率。因此,利用基于QCM传感器的生物芯片检测技术,研制了凝血分析仪。
总体设计
本系统原设计为8通道QCM检测,即采用8套完全相同的以MAX913芯片为核心的振荡器,通过2个CD4069反相器反相后分别送到4个差频器74LS74的D端,每一个差频器74LS74内部有2个D触发器。2个6M高精度有源晶振分别经时钟芯片CDCV304后变成8个6M输出信号,分别送到4个差频器74LS74的CLK端。经过4个差频器74LS74差频后的频率信号送到可编程逻辑器件EPM570GT100C3芯片的I/O口。EPM570GT100C3在这里做频率计,通过软件编程来实现。记下的差频频率通过8位数据线送到51单片机AT89S52,同时AT89S52对EPM570GT100C3控制,以选择哪个通道,AT89S52处理后的数据经过232串口送到上位机。
以一个通道为例来进行基于QCM传感器的生物芯片检测电路的设计,由于一个通道所使用的逻辑门比较少,因此选择可编程逻辑器件EPM7128LC84-10。图1所示是系统总体设计框图。
图1 系统设计总体框图
硬件设计
石英晶体振荡及差频电路
为了保证QCM在滴入生物试剂后能振荡起来,必须采用一套比较特殊的自激振荡器电路,普通的用反相器构成的振荡器电路不易起振,自激振荡器通常是由基本放大电路、正反馈网络和选频网络三部分组成的。在石英晶体振荡电路中,石英晶体作为正反馈网络的主要组成部分,也是一种选频网络,只有在石英晶体振荡器的固有谐振频率下才能满足条件。根据这一原理,采用以MAX913芯片为核心的振荡器,它的输出是TTL电平,便于单片机或可编程逻辑器件的信号采集。测量用QCM振荡电路输出的方波信号送入差频器74LS74的D端,参考用高精度6M晶振输出的方波信号送入差频器74LS74的CLK端,得到的差频信号送入可编程逻辑器件进行计数,采用差频的目的是为了降低输入到可编程逻辑器件EPM7128的频率。石英晶体振荡及差频电路如图2所示。
图2 石英晶体振荡及差频电路
EPM7128和AT89S52的控制电路
经过差频器74LS74后的差频信号,从74LS74的5脚输出送到可编程逻辑器件EPM7128的6脚I/O口上。由于可编程逻辑器件引脚比较灵活,又有可擦除可编程的能力,因此对原设计进行修改时,只需要修改原设计文件再对可编程逻辑器件芯片重新编程即可,而不需要修改电路布局,更不需要重新加工印刷线路板,这就大大提高了系统的灵活性,且具有很好的保密性,在这里通过软件编程将其设计为频率计。在开始测量时,上位机通过串口给51单片机AT89S52发出命令,AT89S52先给EPM7128的22脚一个RST复位命令,使EPM7128复位后开始工作计频,频率测量计时时间为100ms,计时结束后,EPM7128的46脚发出中断信号送给AT89S52的外中断0口(INT0),单片机接收到中断信号后从P1口的P10"P12给EPM7128发出3个选择信号SEL0"SEL2。由于在EPM7128设计的是32位计数器,而51单片机是8位机,因此需要4次分时处理32位数据信号,由选择信号SEL0"SEL2来控制。最终从EPM7128输出8位数据信号到AT89S52的P0数据口,经单片机处理后通过串口发到上位机进行最后的数据处理和图形界面显示。此部分硬件电路图如图3所示。
图3 可编程逻辑器件EPM7128和51单片机AT89S52的控制电路
AT89S52的14、15脚外接晶振和电容组成单片机的振荡电路,4脚是复位端,由IPM810控制,IPM810具备上电复位、手动复位及欠压复位功能。AT89S52使用PLCC44脚封装的贴片器件,利用单片机AT89S52的P1口和复位口进行在线编程,使用at89isp软件在线编程,进行程序的烧写。
EPM7128的83脚是全局时钟,外接工作用的时钟信号。该时钟信号可以使用有源晶振来产生,也可以使用无源晶振加振荡器产生。EPM7128的14、71、23、62脚分别是TDI、TDO、TMS、TCK端,是JTAG编程口。EPM7128也是采用在线编程方式进行程序的烧写,采用JTAG在线编程。其他引脚基本上都是I/O口,可根据需要指定。本设计中可编程逻辑器件EPM7128和51单片机AT89S52共有13根线相连,进行数据通讯和控制,其中OUTPUT0"OUTPUT7是数据通讯,SEL0"SEL2是AT89S52对EPM7128的片选控制信号,INT则是EPM7128对AT89S52发出的中断控制信号。
软件设计
本系统中ALTERA公司可编程逻辑器件EPM7128的内核程序采用Verilog HDL硬件描述语言编写,使用MAX+plusII10.1编译系统或Quartus II 4.2编译系统编译,设计实现了分频、频率计数、数据选择等功能。51单片机AT89S52用C语言和汇编语言混合编程,使用Keil C51编译系统编译。
可编程逻辑器件EPM7128的顶层电路
顶层电路如图4所示,由分频模块、计数模块、数据选择模块组成,分频模块和计数模块采用Verilog HDL硬件描述语言编写,数据选择模块用图形输入方式。12M的振荡信号送到EPM7128的CLK端,经过分频模块后变成10Hz的频率信号给计数模块提供基准时基。AT89S52给EPM7128的RST端提供复位RST信号,使EPM7128复位,开始记录差频器送到EPM7128的CLKX1端的频率信号。记时时间到,EPM7128的输出端INT发出中断信号,通知单片机接收数据。由于计数模块的计时器是32位的,因此通过3个8位的二选一数据选择器,在单片机给出的SEL0"SEL2片选信号控制下,分时选择从EPM7128的输出端OUTPUT7"OUTPUT0输出的8位数据信号到AT89S52的P0数据口。
图4 可编程逻辑器件EPM7128的顶层电路
可编程逻辑器件EPM7128的分频模块
分频模块的目的是将可编程逻辑器件EPM7128的83脚输入的12M频率信号,分频成10Hz频率信号给计数模块做基准时钟,即计时时间是100ms。
可编程逻辑器件EPM7128的计数模块
由分频模块分频后的10Hz信号送到计数模块,它通过门控电路,加到可以控制开、闭时间的闸门上。被测脉冲加到计数模块中闸门的输入端,开始测频时,先将计数器置0,待门控信号到来后,打开闸门,允许被测脉冲通过,计数器开始计数,直到门控信号结束,闸门关闭,停止计数。因此,当门控信号的周期为1s时,在闸门开通时间1s通过闸门的被测脉冲个数即为该被测信号的频率,为了使上位机获得更多的数据和精度,使门控信号的周期为0.1s。
以下是可编程逻辑器件EPM7128的计数模块的程序部分代码:
always @ (posedge CLK_1hz or negedge RST)
begin
if (!RST)
begin
CNT_EN=0;
LOAD=1;
end
else
begin
CNT_EN="CNT_EN;
LOAD="CNT_EN;
end
end
assign CNT_CLR="("CLK_1hz&
LOAD);
assign INT=LOAD; //使用LOAD的上升沿使单片机中断。
always @(posedge CLKX or negedge CNT_CLR)
begin
if (!CNT_CLR) //当CNT_CLR为低电平到来时,OUT=0;计数器清零
UT=0;
else if (CNT_EN)
begin
UT=OUT+1; //当CLKX的上升沿到来时,计数器加1
end
end
always @(posedge LOAD) //当锁存信号LOAD的上升沿到来时,执行以下语句
begin
FRE=OUT; //将OUT赋值给FRE
end
endmodule
上面给出了可编程逻辑器件EPM7128的计数模块的程序关键代码。CLK_1hz表示门控信号,CLKX表示被测脉冲,RST为系统复位信号,FRE为锁存后的脉冲频率数据,INT为给单片机的中断信号,这几个信号是计数模块中的输入、输出信号。在计数模块中还有几个内部定义的信号,CNT_EN为计数允许信号,CNT_CLR为计数清零信号,LOAD表示锁存信号,OUT表示锁存前的脉冲频率信号。门控信号为10Hz,每两个时钟周期进行一次频率测量,即在每两个时钟周期CLK_1hz内,先到来半个时钟周期的CNT_CLR,用于清零;随后,CNT_EN在一个时钟周期CLK_1hz内有效,进行计数;最后,在后到来的半个时钟周期内,当LOAD的上升沿到来时,锁存计数结果。
51单片机AT89S52的程序
51单片机先初始化定时器、串口及中断设置等,给EPM7128发出复位信号,然后进入大循环程序,等待外中断。当EPM7128计时时间到,给AT89S52的外中断0发出中断信号,AT89S52的程序跳到外中断中,进行数据处理,分别给出选择信号SEL0"SEL2的组合,分时接收EPM7128的数据信号,再通过串口发给上位机。由于所测频率不会超过10MHz,因此只读取24位数据即可。图5是外中断0中断程序流程图。
图5 外中断0中断程序流程图
实验结果
先往流池内加100微升血浆(温浴180S),旋转螺杆到刻度17.0,然后再通过侧面小孔注射进TT凝血酶溶液然后抽出注射器。图6所示是直径6mm血浆凝结实验(血浆+TT凝血酶=100+100μl)。此图是石英晶体采用AT切向,电极为银膜,基频I0MHZ,晶体直径6mm(没有使用差频器),直接将10MHz石英晶体的频率送到可编程逻辑器件计数的结果。
图6 直径6毫米血浆凝结实验
结束语
QCM作为微质量传感器具有结构简单、成本低、振动Q值大、灵敏度高、测量精度可以达到纳克量级的优点,被广泛应用于化学、物理、生物、医学和表面科学等领域中。压电石英晶体传感器用于凝血因子检测具有使用方便、精度高和成本低等优点,有广阔的临床应用和推广前景。
传感器 振荡器 单片机 电路 51单片机 电路图 电容 PLC LTE Verilog Quartus C语言 Keil 相关文章:
- 基于中颖SH79F164单片机的电子血压计应用(07-01)
- 医疗电子发展方向(04-17)
- 从高交会看医疗器械产品六大发展趋势(11-22)
- 医疗电子技术大会折射行业发展方向(04-18)
- 超声成像系统连续波多普勒设计的挑战(05-04)
- 基于Blackfin DSP的哮喘管理设备(12-18)