基于 SCA61T 医用活检枪角度仪的设计
1.引言
活检枪被广泛的应用在肾穿刺、肝活检、乳腺癌活检、前列腺活检以及肺活检。在检测过程中使用的活检枪有半自动和全自动两种类型。但是现有的活检枪不管是半自动还是全自动,都没有倾角测量显示装置,对病灶的采样大多都是靠医生的经验和可视性检查系统如超声、CT。在活检枪上增加角度测量显示仪[1],使角度精确到0.1度,这样微型病灶的采样检测及化验成为可能,并且增加了诊断的可靠性和安全性,所以在活检枪上加上角度仪,非常有意义而且实用。
2.活检枪角度仪工作原理
活检枪角度仪的工作原理如图1所示:角度传感器SCA61T输出的是角度的数字信号,该数字信号为串行数据,要经过串并转换器件,将串行数据转换为并行数据,然后通过单片机的并行口将数据输入单片机,数据在单片机中经过处理之后,送到LED显示模块,将角度数据显示出来。角度传感器SCA61T所需要的触发脉冲信号由单片机控制产生。
3.角度仪的硬件设计
根据医院活检枪的测量要求,角度仪中的传感器采用芬兰VTI公司的最新款角度传感器SCA61T。串并转换和逻辑序列发生器件采用软件的方法实现。数据运算、控制显示采用单片机AT89S52[1]。LED显示模块采用四个数码管来实现。
3.1SCA61T传感器芯片的介绍
SCA61T是一种倾角传感器,当该传感器静止时,作用在它上面的只有重力加速度。重力和倾角传感器灵敏轴之间的夹角就是倾斜角。其测量的范围为-90度到+90度,输出信号有模拟和数字两种。其中数字信号为11位,该数字信号的精度可以达到0.088度,完全能够满足医用活检枪所要求的 0.1度。并且,该传感器内置温度补偿系统,可以直接写入和读取温度数据,还可以进行自检。下图为SCA61T[2]的控制功能表。
(1) 测量模式(MEAS)。上电后的标准工作模式。
(2) 读写温度数据模式。
(3) 读寄存器状态。
(4) 复位内置的数据输出存储器。
(5) X通道自测试。
(6) 读取X通道的加速度。数据的读取是通过SPI端口。读取存放在加速度寄存器的加速度信号。正常工作时,加速度寄存器X每150微秒加载一次。0代表负的角度,1代表正的角度。
在活检枪角度仪中,要得到的是角度的数字信号。根据上面的图2控制功能表,可以知道在SPI口要输入的控制命令数据为00010000。SPI接口共有三根线,一是时钟线(SCK),二是主出丛入线即 MOSI,三是主入从出线即MISO。这三根线和片选信号线(CSB)必须严格按照图3的时序,才能使传感器芯片正常工作,时序错误,SCA61T不会工作,甚至有可能将传感器芯片SCA61T烧坏。
当片选信号线(CSB)处于低电平时,数据通信才可以进行。每次数据的传输都是由CSB的下降沿开始,上升沿结束。
对于MISO数据,SCK的下降沿有效;对于MOSI数据,SCK的上升沿有效。先读取的为角度的符号位。当 COMMAND 命令一结束,就开始输出测量数据。
片选信号CSB为低电平有效。但是要输出稳定可靠的信号,每次测量CSB都要保持高电平至少150微秒。时钟信号SCK的上升沿触发数据的写入,下降沿触发数据的读取。在这种情况下,可以得出,要想获得某一时刻的角度数据至少需要19个时钟脉冲。当不需要读数据的时候,可以通过拉高片选信号CSB使传感器芯片处于未使能状态,即降低了功耗,又可以保护传感器芯片SCA61T的安全。上面的时序图也是编写传感器芯片驱动程序的严格标准。
3.2 单片机AT89S52与传感器芯片SCA61T的连接
单片机的P1口作为数据的输出口,连接到LED显示器,用于采集到的测量数据的显示。P3.0口接SCA61T的2脚,用于接受传感器输出的数字信号。P3.1口接传感器的1脚,用于产生传感器芯片的时钟脉冲。P2.7脚接传感器芯片的3脚,用于给SCA61T提供控制信号,来控制芯片的相关工作。上面的 P2.7、P3.0、P3.1脚通SCA61T的SPI接口相连,完成对传感器芯片的控制、驱动和对角度数据的采集。传感器SCA61T和单片机AT89S52[3]的其他外围电路请分别参考各自的使用手册。如3所示。
4. 软件模块的设计
在程序中,数据计算处理过程采用部分查表的方法。在数据的计算过程中,传感器芯片的片选信号始终保持高电平,为下次读取数据做准备。在整个数据的读取过程中,用定时器控制方波信号作为传感器的时钟信号,传感器读入数据时为上升沿触发,传感器输出数据时为下降沿触发。在这个过程中,必须保证方波的同步,这样就可以避免信号的丢失。
在活检枪倾角仪的设计中,要写入传感器的数据为8bit的传感器工作状态选择信号,要读取的数据为11bit的串行倾角数据,所以在程序中需要设计一个 19 位的不断循环的脉冲时钟信号。
单片机将从传感器采集到的角度数据进行处理后,要送往LED进行显示。对于显示的驱动和控制方法,可以采用顺序查询的方法,也可以采用中断的方法。这两种不同的显示方法,各自有各自的好处,应根据具体的情况来选择采用哪一种方法,以便达到最好的效果。
本设计采用了中断的方法。部分数据处理程序:
num=gao[1]<<1;
temp1=num|gao[2];
num1[6]=di[6]<<1;
num1[5]=di[5]<<2;
num1[4]=di[4]<<3;
temp2=num1[4]|num1[5]|num1[6]|di[7];
switch(temp1)
{
case 0x00: shi=0x00; break;
case 0x01: shi=0xe1; break;
case 0x02: shi=0x1c2; break;
case 0x03: shi=0x2a3; break;
}
xiao=table3[temp2];
ge=table2[temp3];
xianshi=shi+ge+xiao;
shuzi(xianshi);
5.结论
该活检枪角度仪的精度为0.1度,达到了医用活检枪的测量标准。不仅方便了医生的使用,而且使得病理取样更加精确,提高了病理诊断的准确性和安全性。