基于FPGA的生物芯片扫描仪的位置检测

211 篇文章 51 订阅

目录

1.X-Y二维扫描台位置检测原理

2.X-Y二维扫描台位置检测的FPGA设计方案

2.1 辨向细分设计 

2.2 可逆计数器设计 

2.3 接口电路设计 

3.关键技术与数学原理

3.1 光学定位

3.2 亚像素定位


       生物芯片是20世纪末随“人类基因组计划”的研究和发展而产生的一项高新技术,是人们高效地大规模获取生物信息的有效手段。目前大部分生物芯片采用荧光染料标记待测样品分子。生物芯片扫描仪用激光激发荧光染料,通过对激发点的成像,检测一个点;结合生物芯片X-Y二维精密扫描台上移动,实现对整片的扫描。 X-Y二维扫描台的位置检测精度直接影响着扫描分辨率——生物芯片扫描仪性能的关键参数。基于传统的数字电路的生物芯片扫描仪中X-Y二维扫描台的位置检测电路存在计数误差和误清零问题,本文以基于FPGA设计的位置检测电路来解决。以FPGA芯片代替传统的数字电路,不仅可提高系统的集成度和可靠性,而且FPGA最高工作频率已超过200MHz,通过硬件描述语言对FPGA编程,电路设计更加灵活,为生物芯片扫描仪进一步提高扫描速度和扫描分辨率留了更大的裕量。 

1.X-Y二维扫描台位置检测原理

      X-Y二维扫描台X向、Y向位置检测元件采用开式光栅,50线/mm,由专用细分尺10细分后,测量分辨为2μm。开式光栅直接利用光电转换原理输出三相方波A、B、Z相。A、B相方波相位差90°(如图1、2所示),Z相用于基准点定位,其逻辑电平都为5V。当A相方波超前B相方波90°时,表示位移方向为正方向,如图1所示;当A相方波滞后B相方波90°时,表示位移方向为反方向,如图2所示。扫描台X向、Y向每位移2μm,光栅发出一个周期的方波。 

       因此,X-Y二维扫描台的位置检测首先要解决对光栅信号的辨向问题,辨别出X、Y向的位移方向;其次,为保证生物芯片扫描在最高扫描分辨率为5μm时仍有较高扫描质量,X、Y方向位置检测精度应高于2μm,以减少扫描台的定位误差,因此要对光栅信号进一步细分;此外,还要完成将光栅信号转换成控制器能读取的位置数据,当X向、Y向位移方向为正时,此位置数据递增;当X向、Y向位移方向为负时,此位置数递减,并要保证实时的准确可靠的提供X、Y向的位置数据,作为控制器(如单片机、DSP)精确定位X-Y二维扫描台位置的依据。 

      原有的生物芯片扫描仪中X-Y二维扫描台的一个方向的位置检测采用4倍频专用集成电路QA740210对光栅信号进行辨向、细分,用4片4位二进制74LS193计数器级联实现对细分后的光栅信号16位计数,计数值(即位置数据)通过2片8位74LS245缓冲器输出至控制器。这样,X、Y两个方向的位置检测电路多达14片芯片,占用大量的PCB空间,布线复杂,板上信号间的串扰易引起计数误差和误清零现象,影响扫描台的精确定位。若只用一片FPGA实现位置检测电路,输入为光栅信号,输出即为位置数据,直接送入控制器,避免PCB板间信号串扰,就能有效消除计数误差和误清零现象。 

2.X-Y二维扫描台位置检测的FPGA设计方案

      FPGA内部模块划分如图3所示:从X向光栅来的A、B两相方波信号XA,XB由X向辨向细分电路辨向细分后,输出两路脉冲信号XCU、XCD,16位计数模块分别对这两路脉冲信号进行计数,并将两计数值XUPCNT、XDOWNCNT相减,其差作为X向的16位位置数据XCNT。接口电路对3位地址信号ADDR译码,通过XCLR、YCLR对X、Y计数器分别清零,并选通X向或Y向位置数据输出到控制器。 对Y向同样如此。本论文只以X向说明之。 

2.1 辨向细分设计 

       由图可知,当光栅正向移动时,A相、B相的电平逻辑表现为“00”→“10”→“11”→“01”→“00” 序列;当光栅反向移动时,A相、B相的电平逻辑表现为“00”→“01”→“11”→“10”→“00”序列。因此,只要能辨别出这两种序列,就能实现辨向。 

      引入外部频率为10MHz的时钟源,利用这个时钟的上升沿同时对A相、B相信号采样,作为当前XA、XB值,以二维向量AB_new记之,AB_new通过一级触发器后,记为AB_old, AB_new 和AB_old都跟随A相、B相方波信号变化而变化,只是AB_old要滞后AB_new一个采样时钟周期。这样,就可以将AB_old和AB_new进行比较:当AB_old为“00”时,若AB_new为“10”,即A相超B相前90°,XCU输出一个负脉冲,XCD保持为高电平不变;若AB_new为“01”,即A相滞后B相90°,XCD输出一个负脉冲,XCU保持为高电平不变。X向光栅信号变化一个周期,如果A相超B相90°(位移方向为正),XCU就会输出四个负脉冲,如果A相滞后B相90°(位移方向为负),XCD就会输出四个负脉冲,同时实现了辨向与细分功能。 

2.2 可逆计数器设计 

      用两个16位二进制计数器对两路脉冲信号XCU、XCD分别计数,然后用一个16位减法器对此两个计数器的计数值作差,被减数为XCU的计数值XUPCNT,减数为对XCD的计数值XDOWNCNT,其差作为X向的位置数据XCNT。这样, XCU有计数脉冲时,XCNT就会增加,而XCD有计数脉冲时,XCNT就会减小,实现了可逆计数。结合前面的辨向细分电路,使X向的位置数据在正向位移时增加,反向位移时减少。位置数据的变化真实反映了位移情况。 


2.3 接口电路设计 

       接口电路是控制器实时可靠读取X向、Y向的位置数据或清零的接口。接口电路由译码电路、输出三态缓冲器组成。接口电路与控制器的16位数据线CNT用于FPGA向控制器传送位置数据,控制器的3位地址线ADDR作为译码电路的输入:能分别输出X、Y向位置数据,以及分别对X、Y向计数器清零。译码电路可使X向、Y向位置数据复用16位数据线,高效的利用控制器的端口资源;对3位地址信号译码产生清零信号,能有效地防止在只使用一根信号线时受干扰等原因而引起的误清零现象。 

3.关键技术与数学原理

3.1 光学定位

       光学定位是通过精确测量光束路径或反射光的变化来确定芯片上每个检测点的精确位置。这通常涉及到几何光学和物理光学的知识。

       几何定位公式:对于直接成像系统,芯片上点P(x,y)映射到探测器上的点P′(x′,y′),可以通过透镜成像公式关联:f1​=x′1​+x1​ 其中,f是透镜焦距,x′和x分别是像距和物距。通过已知的透镜参数和探测器上的像素位置,可以反推出芯片上点的实际位置。

3.2 亚像素定位

       为了提高定位精度,常采用亚像素级定位技术,通过插值或其他算法处理像素级别的图像数据,获取更高的分辨率。

     Sobel边缘检测:用于识别芯片特征边缘,其数学表达式为:Gx​=[−1,0,1;−2,0,2;−1,0,1]*I,Gy​=[−1,−2,−1;0,0,0;1,2,1]*I其中,Gx​和Gy​分别是水平和垂直方向的梯度,I是原始图像矩阵。

    抛物线插值:一旦找到边缘附近的像素点,可以通过抛物线插值确定边缘的精确位置: f(x)=ax2+bx+c 通过已知三个像素点的坐标和灰度值,可以解方程组找到最佳的a,b,c,进而求得最优点的x值。

       生物芯片扫描仪的位置检测是一个集成了光学、电子、机械和计算机科学多领域知识的复杂过程。通过精确的光学设计、亚像素级图像处理技术和高精度的伺服控制,确保了生物芯片上微小特征的精确定位。这些技术的综合应用,使得生物芯片扫描仪能够高效准确地获取生物分子相互作用的大量数据,为生物医学研究和诊断提供了强大的工具。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值