软件设计
本系统中ALTERA公司可编程逻辑器件EPM7128的内核程序采用Verilog HDL硬件描述语言编写,使用MAX+plusII10.1编译系统或Quartus II 4.2编译系统编译,设计实现了分频、频率计数、数据选择等功能。51单片机AT89S52用C语言和汇编语言混合编程,使用Keil C51编译系统编译。
1、可编程逻辑器件EPM7128的顶层电路
顶层电路如图4所示,由分频模块、计数模块、数据选择模块组成,分频模块和计数模块采用Verilog HDL硬件描述语言编写,数据选择模块用图形输入方式。
图4 可编程逻辑器件EPM7128的顶层电路
2、可编程逻辑器件EPM7128的分频模块
分频模块的目的是将可编程逻辑器件EPM7128的83脚输入的
3、可编程逻辑器件EPM7128的计数模块
由分频模块分频后的10Hz信号送到计数模块,它通过门控电路,加到可以控制开、闭时间的闸门上。被测脉冲加到计数模块中闸门的输入端,开始测频时,先将计数器置0,待门控信号到来后,打开闸门,允许被测脉冲通过,计数器开始计数,直到门控信号结束,闸门关闭,停止计数。因此,当门控信号的周期为1s时,在闸门开通时间1s通过闸门的被测脉冲个数即为该被测信号的频率,为了使上位机获得更多的数据和精度,使门控信号的周期为0.1s。
以下是可编程逻辑器件EPM7128的计数模块的程序部分代码:
上面给出了可编程逻辑器件EPM7128的计数模块的程序关键代码。CLK_1hz表示门控信号,CLKX表示被测脉冲,RST为系统复位信号,FRE为锁存后的脉冲频率数据,INT为给单片机的中断信号,这几个信号是计数模块中的输入、输出信号。在计数模块中还有几个内部定义的信号,CNT_EN为计数允许信号,CNT_CLR为计数清零信号,LOAD表示锁存信号,OUT表示锁存前的脉冲频率信号。门控信号为10Hz,每两个时钟周期进行一次频率测量,即在每两个时钟周期CLK_1hz内,先到来半个时钟周期的CNT_CLR,用于清零;随后,CNT_EN在一个时钟周期CLK_1hz内有效,进行计数;最后,在后到来的半个时钟周期内,当LOAD的上升沿到来时,锁存计数结果。
4、51单片机AT89S52的程序
51单片机先初始化定时器、串口及中断设置等,给EPM7128发出复位信号,然后进入大循环程序,等待外中断。当EPM7128计时时间到,给AT89S52的外中断0发出中断信号,AT89S52的程序跳到外中断中,进行数据处理,分别给出选择信号SEL0~SEL2的组合,分时接收EPM7128的数据信号,再通过串口发给上位机。由于所测频率不会超过10MHz,因此只读取24位数据即可。图5是外中断0中断程序流程图。
图5 外中断0中断程序流程图
实验结果
先往流池内加100微升血浆(温浴180S),旋转螺杆到刻度17.0,然后再通过侧面小孔注射进TT凝血酶溶液然后抽出注射器。图6所示是直径
图6 直径
QCM作为微质量传感器具有结构简单、成本低、振动Q值大、灵敏度高、测量精度可以达到纳克量级的优点,被广泛应用于化学、物理、生物、医学和表面科学等领域中。压电石英晶体传感器用于凝血因子检测具有使用方便、精度高和成本低等优点,有广阔的临床应用和推广前景。