基于可变长度移位寄存器的多通道超声波聚焦延时控制方法与流程

文档序号:19673367发布日期:2020-01-10 22:56阅读:642来源:国知局
基于可变长度移位寄存器的多通道超声波聚焦延时控制方法与流程

本发明涉及一种空中超声波聚焦方法,具体涉及一种基于可变长度移位寄存器的多通道超声波聚焦延时控制方法,可实现超声波传感器阵列各个通道驱动信号的延迟控制,可应用于人机交互、虚拟现实等技术领域。



背景技术:

随着人机交互技术的发展,出现了各种以人为中心的高效自然的人机交互方式,与此同时,人机交互过程中的各种感知反馈也随之发展。

在人机交互过程中,用户经常需要各种感知反馈来进行操作引导或增强用户体验,如:初次使用软件时,采用文字或语音进行引导;玩游戏时,使用振动和声音来增强沉浸感。随着科技的发展,人机交互逐渐从平面交互向三维空间交互过渡。在三维人机交互中,随着视觉和听觉反馈技术的成熟,人们开始研究触觉反馈以进一步增强三维人机交互的便利行和沉浸感。在三维触觉反馈的研究中,由于接触式触觉反馈方法(在人体上附加额外的设备,如手套,机械臂等)容易妨碍人体的自由运动,并且在使用过程中会产生不舒适感,人们逐渐将研究目标放在非接触式触觉反馈方法上。目前存在的几种非接触式触觉反馈方法有空气式触觉反馈(aireal)、激光式触觉反馈和超声波式触觉反馈等。由于空气式触觉反馈精度较低且不能精准控制、激光式触觉反馈容易被人体或障碍物遮挡,超声波式触觉反馈逐渐成为非接触式触觉反馈的主要方式。

目前已有一些关于超声聚焦方法的专利。

中国专利“一种血管内超声聚焦方法、聚焦诊断仪及聚焦换能器”(申请号201510559177.x)公开了一种血管内超声聚焦方法,该方法计算时间延迟计算后使用延时电路实现驱动信号的延迟控制。外加额外的延时电路意味着系统整体负载的增加,系统功耗将不可避免的增大,并且成本较高。中国专利“用于捷变信号控制的数字数据延迟方法”(申请号201210282839.x)公开了一种使用fpga内部移位寄存器实现数据延迟的方法,通过设置移位寄存器长度和使用锁相环对参考时钟移相,实现数据的延迟。该方法只能实现单通道数据间的延迟输出,移位寄存器的长度一旦确定仅影响最小延迟单位,延迟过程中不再变化,所有数据的延迟都是以第一个数据的输出时间为基准通过使用锁相环对参考时钟进行移相实现的。若将此方法应用到多通道信号延迟中,各个通道间的数据延迟基准很难同步,延迟精度降低,实现困难,并且每个通道都将使用锁相环对参考时钟进行移相,如果要改变延迟时间,锁相环的移相也需要重新计算,移相的计算和控制将占用大量的系统资源,得不偿失。

中国专利“用于数字电路的信号延迟方法、装置及数字电路系统”(申请号201210165584.9)公开了一种用于数字电路的信号延迟方法、装置及数字电路系统,使用计数器实现信号的延迟控制。中国专利“基于硬件计时器的延时方法”(申请号200710037065.3)公开了一种基于硬件计时器的延时方法,该方法结合硬件计时器与存储于电脑中的程序实现延时。以上方法应用于多通道信号延迟时,需要多个计数器同时使用,实现复杂,多通道间同步性差,同时驱动信号需要额外的存储器进行存储才能保证延迟输出的信号的相位相同,程序冗长,变更性差,各个通道的计时若添加硬件计时器,将增大系统功耗,提高成本。

中国专利“一种基于超声波聚焦的触觉反馈系统及方法”(申请号201510833840.0)公开了一种三维多点触觉反馈系统,具备手部位置检测、非接触触觉反馈、多点触觉反馈等功能,其核心是三维超声波阵列定位和高精度超声波聚焦技术。此方法对系统整体结构进行描述,并将计算得出的驱动信号延迟时间通过聚焦电路进行控制,产生触觉反馈。此方法描述了驱动信号延迟时间的计算,但对于延时的具体控制方法没有提及,并且此方法使用聚焦电路实现延迟控制,增加了系统负载,功耗和成本增加,不利于系统的小型化。



技术实现要素:

本发明提供一种基于可变长度移位寄存器的多通道超声波聚焦延时控制方法,利用移位寄存器对超声波传感器阵列各通道的驱动信号进行延迟控制,在三维空间中产生人体可感知的聚焦点,实现三维空间中的非接触式触觉反馈。

多通道超声波聚焦系统由上位机、计算单元、延迟控制单元、驱动单元和超声波传感器阵列组成。上位机一般是pc,计算单元由微处理器1和存储器组成;延迟控制单元由微处理器2和存储器组成;驱动单元由mn个相同的驱动电路组成;超声波传感器阵列为m×n型,对应mn个超声通道。

本发明采取的技术方案是,包括如下步骤:

(1)计算单元根据接收的上位机发送的焦点坐标计算超声波传感器阵列各通道的驱动信号延迟时间τmn;

(2)计算单元将驱动信号延迟时间τmn量化为延迟控制时钟clk_delay下的周期数,向上取整得到datamn;

(3)延迟控制单元通过时钟分频产生超声波传感器驱动信号xdrive(i);

(4)延迟控制单元根据接收的延迟数据大小设置各通道移位寄存器长度lmn,并初始化移位寄存器;

(5)延迟控制单元生成移位寄存器输入信号xin(i),以时钟clk_delay作为移位时钟,各通道移位寄存器每个时钟移位一次,在第lmn个时钟后,达到寄存器长度,输出延迟后的信号,实现多通道信号的延迟控制。

进一步,所述步骤(1)超声波传感器阵列各通道驱动信号延迟时间τmn计算方法如下:

1)计算出超声波传感器阵列上传感器smn(xm,yn,0)发射的超声波到达焦点p(x,y,z)所需的时间tmn:

其中,p(x,y,z)为焦点坐标,smn(xm,yn,0)表示超声波传感器阵列中第m行第n列传感器的坐标,xm=(m-1)*d,yn=(n-1)*d,1≤m≤m,1≤n≤n,d是相邻超声波传感器中心间的距离,c是超声波在空气中的传播速度;

2)取超声波到达时间tmn的最大值tmax:

3)计算超声波传感器阵列各通道驱动信号的延迟时间τmn:

τmn=tmax-tmn

进一步,所述步骤(2)驱动信号延迟时间τmn量化方法如下:

其中,fdelay为延迟控制时钟clk_delay的频率,表示向上取整。

延迟控制时钟clk_delay为驱动信号延迟时间τmn的量化时钟,同时作为移位寄存器的移位时钟,延时单位δ为时钟频率的倒数,表示为:

进一步,所述步骤(3)传感器驱动信号xdrive(i)生成方法如下:

1)延迟控制单元通过时钟分频产生调制信号x0(i)和传感器谐振频率信号xc(i);

2)将所得的两个信号进行与运算,得到传感器驱动信号xdrive(i):

xdrive(i)=x0(i)&xc(i)

进一步,所述步骤(4)移位寄存器长度设置方法如下:

1)延迟控制单元根据接收的延迟数据datamn设置mn通道移位寄存器长度lmn:

lmn=datamn

2)mn通道移位寄存器初始化,移位寄存器内容置0。

进一步,所述步骤(5)移位寄存器实现延迟控制方法如下:

1)延迟控制单元在设置完各通道移位寄存器后,拉高聚焦使能信号xen(i),将传感器驱动信号xdrive(i)与聚焦使能信号xen(i)进行与运算,得到移位寄存器输入信号xin(i):

xin(i)=xdrive(i)&xen(i)

系统的聚焦时间tfocu可通过控制聚焦使能信号xen(i)拉高的时钟周期数进行调整,聚焦时间计算方法:

其中,a为使能信号xen(i)拉高的时钟周期数,fdelay为延迟控制时钟频率;

2)以时钟clk_delay作为移位时钟,信号xin(i)进入各通道移位寄存器后,启动延迟控制。信号xin(i)在设置完各通道移位寄存器后使能,并且所有通道的移位寄存器使用同一信号xin(i),可以同步启动所有通道的延迟控制;

3)mn通道的延时控制以时钟clk_delay为移位时钟;

4)时钟上升沿到来时,移位寄存器采集并存储第1个数据;

5)时钟下一个上升沿到来时,移位寄存器将第1个数据右移,同时采集并存储第2个数据;

6)以此类推,直到移位寄存器存储lmn个数据;

7)时钟下一个上升沿到来时,移位寄存器第一个存储的数据移出寄存器,同时采集并存储第lmn+1个数据;

8)重复步骤4)~7),完成该通道信号的延迟输出;

9)各通道移位寄存器使用同一个时钟clk_delay作为移位时钟,将同一信号xin(i)按照步骤4)~8),移位相应的时钟周期,即lmn个时钟周期,然后输出,实现多通道信号的延迟控制。

本发明的优点在于:根据各通道延时时间设置移位寄存器的长度实现多通道信号的延迟控制,与使用计时器和延时电路的方法相比,结构简单,控制灵活,各通道间的同步易于控制,便于实现多通道控制。

附图说明

图1是本发明多通道超声聚焦系统组成框图;

图2是本发明多通道超声聚焦系统原理框图;

图3是本发明延迟控制方法实现流程图;

图4是本发明超声波传感器阵列各通道信号延迟计算及量化流程图;

图5是本发明超声波传感器阵列聚焦原理示意图;

图6是本发明超声波传感器驱动信号生成示意图;

图7是本发明各通道移位寄存器长度设置示意图;

图8是本发明mn通道延迟控制示意图;

图9是本发明多通道延迟控制示意图。

具体实施方式

多通道超声波聚焦系统由上位机[100]、计算单元[101]、延迟控制单元[102]、驱动单元[103]和超声波传感器阵列[104]组成,系统组成框图如图1所示,系统各部分的组成如图2所示。

(1)上位机[100]是可以直接发送操作命令的计算机,一般是pc,负责将聚焦点坐标发送到计算单元[101],实现超声波聚焦系统的灵活控制;

(2)计算单元[101]主要由微处理器1[201]和存储器1[202]组成,微处理器1[201]可以是dsp、单片机或fpga等器件,用于接收上位机[100]发送的聚焦点坐标,进行超声波传感器阵列[104]上各传感器驱动信号延迟时间的计算和量化,并将其发送至延迟控制单元[102];

(3)延迟控制单元[102]主要由微处理器2[203]和存储器2[204]组成,微处理器2[203]为可编程逻辑器件,如cpld、fpga等,负责接收计算单元[101]发送的驱动信号延迟数据,产生传感器驱动信号和聚焦使能信号,然后根据延迟数据完成对各通道驱动信号的延迟控制;

(4)驱动单元[103]由mn个相同的驱动电路[205]组成,将延迟控制单元[102]输出的驱动信号进行放大,为超声波传感器提供充足的能量,以此实现三维空间中的触觉反馈;

(5)超声波传感器阵列[104]为m×n阵列,对应mn个超声通道,可通过控制每个通道的超声波发射时间(驱动信号延迟时间),使得各通道发射的超声波的相位在三维空间中某个位置进行叠加,从而产生人体可感知到的触觉反馈,这个位置就是焦点。

一种基于可变长度移位寄存器的多通道超声波聚焦延时控制方法,如图3,包括下列步骤:

(1)计算单元根据接收的上位机发送的焦点坐标p(x,y,z)计算超声波传感器阵列[104]各通道的驱动信号延迟时间τmn,流程图如图4所示,超声聚焦原理如图5所示;具体方法如下:

1)计算出超声波传感器阵列[104]上传感器smn(xm,yn,0)发射的超声波到达焦点所需的时间tmn:

其中,smn(xm,yn,0)表示超声波传感器阵列[104]中第m行第n列传感器的坐标,d是相邻超声波传感器中心间的距离,xm=(m-1)*d,yn=(n-1)*d,1≤m≤m,1≤n≤n,c是超声波在空气中的传播速度;

2)取超声波到达时间tmn的最大值tmax:

3)计算超声波传感器阵列[104]各通道驱动信号的延迟时间τmn:

τmn=tmax-tmn

(2)计算单元将驱动信号延迟时间τmn量化为延迟控制时钟clk_delay下的周期数,向上取整得到datamn:

其中,fdelay为延迟控制时钟clk_delay的频率,表示向上取整;

延迟控制时钟clk_delay为驱动信号延迟时间τmn的量化时钟,同时作为移位寄存器的移位时钟,延时单位δ为时钟频率的倒数,表示为:

(3)延迟控制单元通过时钟分频产生超声传感器驱动信号xdrive(i),下面结合图6,具体说明如下:

超声波传感器的谐振频率是fc(具体请查阅相关数据手册),人类皮肤能感知到的触觉频率范围为1hz~1000hz,需要在1hz~1000hz中选取合适的调制频率f0对传感器谐振频率信号xc(i)[601]进行调制,以产生人体能感知的触觉反馈;

1)延迟控制单元通过时钟分频产生调制信号x0(i)[602]和传感器谐振频率信号xc(i)[601];

2)将所得的两个信号进行与运算,得到驱动信号xdrive(i):

xdrive(i)=x0(i)&xc(i)

(4)延迟控制单元根据接收的延迟数据大小设置各通道移位寄存器长度lmn,并初始化移位寄存器;下面结合图7,具体说明如下:

1)延迟控制单元根据接收的延迟数据datamn,设置mn通道移位寄存器[701]的长度lmn,移位寄存器共有lmn位,bit0到bit(lmn-1),lmn表示为:

lmn=datamn

2)mn通道移位寄存器初始化,移位寄存器内容置0。

(5)延迟控制单元生成移位寄存器输入信号xin(i),以时钟clk_delay作为移位时钟,各通道移位寄存器每个时钟移位一次,在第lmn个时钟后,达到寄存器长度,输出延迟后的信号,实现多通道信号的延迟控制;

其中,移位寄存器实现延迟控制方法如下:

1)延迟控制单元在设置完各通道移位寄存器后,拉高聚焦使能信号xen(i),将传感器驱动信号xdrive(i)与聚焦使能信号xen(i)[603]进行与运算,得到移位寄存器输入信号xin(i):

xin(i)=xdrive(i)&xen(i)

系统的聚焦时间tfocu可通过控制聚焦使能信号xen(i)[603]拉高的时钟周期数进行调整,聚焦时间计算方法:

其中,a为使能信号xen(i)拉高的时钟周期数,fdelay为延迟控制时钟频率;

2)以时钟clk_delay作为移位时钟,信号xin(i)进入各通道移位寄存器后,启动延迟控制。信号xin(i)在设置完各通道移位寄存器后使能,并且所有通道的移位寄存器使用同一信号xin(i),可以同步启动所有通道的延迟控制;

3)mn通道移位寄存器结构如图8所示,由lmn个触发器组成,d0~d(lmn-1),时钟clk_delay为移位时钟;

4)时钟clk_delay上升沿到来时,触发器d0采集并存储信号xin(i)的第1个数据;

5)时钟clk_delay下一个上升沿到来时,触发器d0中数据移到触发器d1,触发器d0采集并存储信号xin(i)的第2个数据;

时钟clk_delay下一个上升沿到来时,触发器d1中数据移到触发器d2,触发器d0中数据移到触发器d1,触发器d0采集并存储信号xin(i)的第3个数据;

6)以此类推,直到触发器d(lmn-2)中数据移到触发器d(lmn-1),触发器d0采集并存储信号xin(i)的第lmn个数据;

7)时钟clk_delay下一个上升沿到来时,触发器d(lmn-1)因达到移位寄存器长度lmn,移出其中的数据,即信号xin(i)的第1个数据,触发器d0采集并存储信号xin(i)的第lmn+1个数据;

8)重复步骤4)~7),完成该通道信号的延迟输出;

9)其余通道移位寄存器使用同一时钟clk_delay作为移位时钟,将信号xin(i)按照步骤4)~8),移位相应的时钟周期,即lmn个时钟周期,然后输出,实现各通道信号的延迟控制,多通道延迟控制原理如图9所示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1