CN105259588B - 一种无专用同步线的光幕检测装置及其方法 - Google Patents
一种无专用同步线的光幕检测装置及其方法 Download PDFInfo
- Publication number
- CN105259588B CN105259588B CN201510740977.1A CN201510740977A CN105259588B CN 105259588 B CN105259588 B CN 105259588B CN 201510740977 A CN201510740977 A CN 201510740977A CN 105259588 B CN105259588 B CN 105259588B
- Authority
- CN
- China
- Prior art keywords
- clock
- module
- signal
- light pulse
- synchronous
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Optical Communication System (AREA)
- Train Traffic Observation, Control, And Security (AREA)
Abstract
本发明公开了一种无专用同步线的光幕检测装置及其方法,装置中光幕发射器内设有红外发射管,光幕接收器内设有接收管,红外发射管和接收管一一对应,时钟分频模块分别与基准数据生成模块和包含同步码的光脉冲生成模块相连接,基准数据生成模块与包含同步码的光脉冲生成模块相连接,锁相环模块与帧同步模块相连接,帧同步模块分别与到位检测模块和多路开关控制模块相连接。本发明在发射器第一路光脉冲之前增加捕捉可靠、抗干扰能力强的帧同步码,光幕接收器使用位同步速度快的快速锁相环算法,16路光脉冲依次串行工作,利用FPGA的并行处理特性,实现高速运动物体的实时到位检测。
Description
技术领域
本发明涉及光学计算机设备领域,特别是一种无专用同步线的光幕检测装置及其方法。
背景技术
光幕是一种由上到下安装一列红外发射管、光接收管的同步对射式检测装置。普通光幕由发射器、接收器以及连接发射接收部分的专用同步线组成,发射器沿长度方向,每隔一定间距驱动一个红外管发出一束红外线,产生交流红外光脉冲,接收器按照相同间距安排相同数量的光接收管。工作时首先一个红外发射管发出光脉冲而对应的光接收管同时来寻找该脉冲,当找到后即完成一个通道的扫描,接着转向下一个通道,直到所有的扫描都完成。当一个周期扫描完成后,系统判断是否有通道被遮挡,从而实现物体到位检测功能。
在光幕工作过程中,连接发射器和接收器的专用同步线是非常重要的。每个红外发射管在某个时间片内发出瞬时光脉冲,对应的光接收管必需在相同时间片内检测是否收到光信号,如果时间错位,由于光的散射效应,就会收到相邻红外发射管发出的光脉冲,导致判决错误。光幕接收器通过同步线将必要的时钟信号和启动信号传给发射器,使发射器上的红外发射管按照固定的顺序和时间轮流发射红外光脉冲,这样才能保证光幕稳定工作。
光幕广泛应用于高速公路收费站车辆分类检测计重、电梯门开关控制、工业生产安全防护、冶金工业螺纹钢生产过程等多种场合。在这些应用环境中,连接光幕发射器和接收器的同步线会导致很多问题,例如电梯门的开关会使同步线磨损、老化,导致电梯门的误动作;螺纹钢生产中安装光幕必需在生产线地下开挖通道,施工麻烦,而且工业现场的变频器、电机干扰严重,同步线屏蔽不好的话会容易受到现场各种电磁干扰,从而影响正常工作。现有的普通光幕由于设计方案的局限性,很难解决这些问题。
专利申请号为201510180138.9的文献中给出了“无线安全光幕检测方法及其光幕”,由主从两个传感器阵列组成,每个传感器阵列交叉排列发光和受光器件,各个光路使用不同的地址编码方式通信,实现主从传感器之间的可靠通信。由于光幕接收器要使用运放芯片将收到的微弱光信号放大,电路中通过交流信号的电容必然会导致多地址编码方法的通信时间要比较大,否则作为地址编码的交流信号无法通过耦合电容,再加上在发射和接收之间使用交互式令牌传递而导致的双倍通信时间,此方法的通信时间会达到几百毫秒甚至秒量级。这种方案可以用于电梯门开关控制场合,但在工业生产安全防护、螺纹钢生产过程等实时性要求较高的场合就无法使用。另外在两个传感器上交叉排列发光和受光器件,成本增加一倍,不利于批量生产。
专利申请号为201210246711.8的文献中给出了“安全光幕的动态自检方法”,提出了一种电梯安全光幕的自检方法,但在发射器和接收器之间仍需要使用专用同步线。专利申请号为201010150301.4的文献中给出了“纵向式电梯光幕系统及纵向式电梯光幕探测方法”,为了解决电梯门开关造成同步线断路问题,提出将通常左右安装的光幕发射器和接收器改为上下纵向安装,但这需要电梯机械结构加以改造,并且没有解决同步线容易受到电磁干扰的问题。
在多篇论文中提出了各种光幕检测器的设计方案,其中有一篇论文提出在接收器上增加一个红外发射管,在发射器上增加一个光接收管,通过在接收端逆向发送光同步窄脉冲的方法,从而取消连接发射器和接收器的同步线,论文名称如下:
陈杰,秦荪榛,徐寅林.光触发同步的安全光幕设计和实现[J].南京师范大学学报(工程技术版),2013,13(2):13-17.
这篇论文提出的这种无专用同步线的光幕检测器实现方案,存在下面两个问题:额外增加了一对红外发射器和接收管,增加了成本和光路设计难度;接收端发出的光同步脉冲使用100us的窄脉冲,和发射器的16路红外光脉冲相同,容易误同步导致检测错误。
发明内容
针对现有技术中存在的问题,本发明提供了一种可以克服普通光幕发射器和接收器中间的同步线容易折断、易受电磁干扰等问题,响应速度快、抗干扰能力强、升级方便、可用于各种工业恶劣环境,可对高速运动物体实现到位检测的无专用同步线的光幕检测装置及其方法。
本发明的目的通过以下技术方案实现。
一种无专用同步线的光幕检测装置,包括光幕发射器和光幕接收器,所述的光幕发射器内设有红外发射管,所述的光幕接收器内设有接收管,所述的红外发射管和接收管一一对应,所述的光幕发射器包括时钟分频模块、基准数据生成模块、包含同步码的光脉冲生成模块,所述的时钟分频模块分别与基准数据生成模块和包含同步码的光脉冲生成模块相连接,所述的基准数据生成模块与包含同步码的光脉冲生成模块相连接,所述的光幕接收器包括锁相环模块、帧同步模块、多路开关控制模块、到位检测模块,所述的锁相环模块与帧同步模块相连接,所述的帧同步模块分别与到位检测模块和多路开关控制模块相连接。
进一步的,所述的红外发射器和接收管各16个。
进一步的,所述的时钟分频模块用于输入50M时钟,输出500KHz和31.25KHz两个时钟;所述的基准数据生成模块用于产生发射器所需要的时钟SerCLK和起始基准数据SerData,所述的基准数据生成模块接收时钟分频模块输出的CLK31K时钟;所述的包含同步码的光脉冲生成模块用于产生16路红外发射管的导通控制信号,在第一路光脉冲之前产生16位帧同步码1001001101011101,所述的包含同步码的光脉冲生成模块的接收基准数据生成模块输出的发射光脉冲时钟为频率31.25KHz的SerCLK和同步脉冲为SerData,所述的包含同步码的光脉冲生成模块的接收时钟分频模块输出的时钟信号CLK500K,用于同步码生成,所述的包含同步码的光脉冲生成模块的输出信号是16路红外发射管的导通控制信号LightT[16..1]。
进一步的,所述的锁相环模块包括鉴相器、滤波器、数控振荡器,所述的锁相环模块的输入时钟CLK50M来自本地50MHz的有源晶振,输入光脉冲信号LightSign来自模拟多路开关,经过锁相环位同步运算后,产生与发射器光脉冲相位相同的500KHz时钟信号CLK500K、31.25KHz时钟信号CLK31K;所述的帧同步模块的输入时钟信号CLK500K、CLK31K来自锁相环模块,输入光脉冲信号LightSign来自模拟多路开关,捕捉到帧同步码1001001101011101后,认为收发同步,进入同步工作阶段,输出同步数据SerData和同步时钟SerCLK;所述的多路开关控制模块用于产生模拟多路开关的使能信号和各通道选择信号,使模拟多路开关可以采用时分复用方式将16路模拟信号合并成一路模拟信号,所述的多路开关控制模块的输入信号SerData和SerCLK来自帧同步模块,输出信号SwiAEN、SwiA[2..0]、SwiBEN、SwiB[2..0]分别是两片八选一多路开关的使能信号和通道选择信号;所述的到位检测模块作用是根据光脉冲数字信号LightSign、来自帧同步模块的同步数据SerData和同步时钟SerCLK,判断运动物体是否出现,输出一个开关量信号SwitchOut。
一种无专用同步线的光幕检测方法,步骤包括:
1)时钟分频模块的输入时钟CLK50M来自50M的有源晶振,500KHz时钟输出端CLK500K连到光脉冲生成模块的时钟输入端,31.25KHz时钟输出端CLK31K连到基准数据生成模块的时钟输入端。时钟分频模块根据50M晶振上升沿工作,每出现一次上升沿,七位计数总线加一,加到99后计数总线清零,计数总线最高位就是所需要的时钟CLK500K,CLK500K=CLK50M/(99+1)=500KHz;时钟分频模块输出31.25KHz时钟,根据上面产生的CLK500K上升沿工作,每出现一次上升沿,四位计数总线加一,加到15后计数总线清零,计数总线最高位就是所需要的时钟CLK31K,CLK31K=CLK500K/(15+1)=31.25KHz;
2)以CLK31K为时钟,进行模80计数,产生计数总线LEDCount[6..0];当LEDCount[6..0]=1时,同步数据SerData为1,其余任何计数状态SerData均为0,保证在每个循环周期起始出现一个瞬时高电平,输出时钟SerCLK与输入时钟CLK31K相同;
3)包含同步码的光脉冲生成模块以CLK500K为时钟,SerData为复位信号,设计停止型模64计数器,产生计数总线CLKCountA[6..0],根据CLKCountA[6..0]的数值,采用case译码语句产生串行的同步码SyncOutA:
当CLKCountA[6..0]=15时,SyncOutA=SyncData[15],即同步码第15位;
当CLKCountA[6..0]=16时,SyncOutA=SyncData[14],即同步码第14位;
当CLKCountA[6..0]=17时,SyncOutA=SyncData[13],即同步码第13位;
依次类推,当CLKCountA[6..0]=30时,SyncOutA=SyncData[0],即同步码第0位;然后光脉冲生成模块以SerCLK为时钟,SerData为复位信号,设计停止型模80计数器,产生计数总线CLKCountB[7..0];当CLKCountB[7..0]=3时,第一路红外发射管导通,当CLKCountB[7..0]=7时,第二路红外发射管导通,CLKCountB[7..0]的判断数值不断加四,依次类推,产生16路红外发射管的导通控制信号LightT[16..1],在第一路发射光脉冲之前增加同步码,LightT[1]=LightT[1]or SyncOutA,将第一路发射信号与串行同步码SyncOutA进行或运算,产生包含同步码的第一路发射光脉冲信号;
4)使用两级D触发器实现鉴相器功能,光脉冲信号LightSign作为第一级D触发器的数据输入,CLK50M为第一级D触发器的时钟,第一级D触发器的数据输出连到第二级D触发器的数据输入,CLK50M反相后作为第二级D触发器的时钟,第二级D触发器的输出信号为LightSignA;第二级D触发器的输出信号LightSignA反相后与原始光脉冲信号LightSign进行与运算,就会产生光脉冲边沿信号LightSignEdge,LightSignEdge=LightSign and(notLightSignA),将边沿信号LightSignEdge经过积分器滤波后,连到数控振荡器的复位端,CLK50M连到数控振荡器的时钟引脚。数控振荡器根据50M晶振上升沿工作,每出现一次上升沿,七位计数总线加一,加到99后计数总线清零,计数总线最高位即时钟CLK500K,CLK500K=CLK50M/(99+1)=500KHz,锁相环模块输出31.25KHz时钟,根据上面产生的CLK500K上升沿工作,每出现一次上升沿,四位计数总线加一,加到15后计数总线清零,计数总线最高位就是所需要的时钟CLK31K,CLK31K=CLK500K/(15+1)=31.25KHz,即产生了与发射器相位完全相同的500KHz和31.25KHz时钟信号,并且在每个循环周期内提取16次边沿信号;
5)帧同步模块的输入时钟信号CLK500K、CLK31K,输入光脉冲信号LightSign,捕捉到帧同步码1001001101011101后,认为收发同步,进入同步工作阶段,输出同步数据SerData和同步时钟SerCLK;帧同步模块对LightSign信号进行十六位串并转换,帧同步模块的时钟输入端使用CLK500K时钟信号,数据输入端为光脉冲信号LightSign,输出十六位并行总线EPulData[15..0];串并转换模块根据CLK500K上升沿工作,每出现一次上升沿,将LightSign送给并行总线EPulData[15..0]的最低位,同时使用for循环将EPulData[15..0]字节的十六个比特左移一位;在每个CLK500K时钟的下降沿,比较并行数据EPulData[15..0]和同步码1001001101011101是否相同,若相同,同步比较信号SyncComp输出为1,否则SyncComp输出为0;
6)以CLK500K为时钟,SyncComp为复位信号,设计停止型模64计数器,产生计数总线CLKCountC[7..0];接下来判断CLKCountC[7..0]的数值,当CLKCountC[7..0]大于0且小于16时,输出同步数据SerData为1,否则为0;
7)多路开关控制模块以SerCLK为时钟,SerData为复位信号,设计同步复位型模80计数器,产生计数总线CLKCountD[6..0];接下来判断CLKCountD[6..0]的数值,当CLKCountD[6..0]大于0且小于31时,第一片八选一多路开关的使能信号SwiAEN为0,其余任何计数状态SwiAEN均为1;当CLKCountD[6..0]大于32且小于63时,第二片八选一多路开关的使能信号SwiBEN为0,其余任何计数状态SwiBEN均为1;设计同步触发型电路,在SerCLK下降沿时:
SwiA[2..0]=CLKCountD[4..2]
SwiB[2..0]=CLKCountD[4..2]
8)到位检测模块确定每个光脉冲的开始和结束位置,在各个光脉冲中产生多次判决时钟;然后对单个光脉冲进行十二位串并转换,对转换后的并行码进行数据累加、大数判断;对有效光脉冲个数进行计数,若其等于十六,则接收光电池收到了十六个光脉冲,光幕发射器、接收器中间没有物体挡住,输出信号SwitchOut为高电平,否则为低电平。
相比于现有技术,本发明的优点在于:在发射器第一路光脉冲之前增加捕捉可靠、抗干扰能力强的帧同步码,光幕接收器使用位同步速度快的快速锁相环算法,16路光脉冲依次串行工作,利用FPGA的并行处理特性,实现高速运动物体的实时到位检测。光幕包含16个红外发射管和16个接收管,每个红外发射管和相同位置的接收管相对应,在每个循环周期的第一路发射光脉冲之前增加帧同步码;选择捕捉可靠、抗干扰能力强、工作稳定的帧同步码,本装置中帧同步码型定为16位二进制比特1001001101011101;同步捕捉阶段,需要捕捉到两次以上帧同步码,才认为收发同步,以保证同步可靠;同步工作阶段,不轻易失步,需要连续三次以上捕捉不到帧同步码,才重新进入同步捕捉状态,以保证工作稳定;提出了适用于无同步线光幕装置的快速锁相环算法,时钟边沿提取方便,位同步速度快;16路光脉冲串行工作,即依次发出光信号,这样每次仅有一对发射管和接收管处于工作状态,需要判断的光脉冲也只有一路,从根本上排除了光散射而导致的级间信号干扰问题;光幕发射器和接收器的控制核心基于FPGA设计,处理速度快,嵌入式软件升级方便;在光幕发射器和接收器之间不需要使用专用同步线,省去布线麻烦,增加抗干扰能力。
相比普通使用同步线的光幕装置,通过FPGA嵌入式软件升级,未增加任何硬件成本,同时省去原先传递同步信号的高速通信接口芯片、屏蔽电缆,降低了硬件成本,减轻了设备现场安装工作量,增加了抗电磁干扰能力。因此,本发明具有数据处理速度快、抗干扰能力强、升级方便等特点,可用于各种工业恶劣环境。
附图说明
图1是本发明整体工作示意图;
图2是光幕发射器FPGA的结构示意图;
图3(a)是光幕发射器16路光脉冲串行工作时序图,图3(b)是包含帧同步码的第一路光脉冲时序图;
图4(a)、图4(b)、图4(c)是用示波器测量两个同频晶振产生时钟的相位变化波形;
图5是光幕接收器FPGA的结构示意图;
图6是光幕接收器帧同步码捕捉时序图;
图7(a)、图7(b)是示波器测量得到的光幕接收器部分光电池波形图。
具体实施方式
下面结合说明书附图和具体的实施例,对本发明作详细描述。
一种无专用同步线的光幕检测装置,包括光幕发射器和光幕接收器,所述的光幕发射器内设有红外发射管,所述的光幕接收器内设有接收管,所述的红外发射管和接收管一一对应,所述的光幕发射器包括时钟分频模块、基准数据生成模块、包含同步码的光脉冲生成模块,所述的时钟分频模块分别与基准数据生成模块和包含同步码的光脉冲生成模块相连接,所述的基准数据生成模块与包含同步码的光脉冲生成模块相连接,所述的光幕接收器包括锁相环模块、帧同步模块、多路开关控制模块、到位检测模块,所述的锁相环模块与帧同步模块相连接,所述的帧同步模块分别与到位检测模块和多路开关控制模块相连接。所述的红外发射器和接收管各16个。所述的时钟分频模块用于输入50M时钟,输出500KHz和31.25KHz两个时钟;所述的基准数据生成模块用于产生发射器所需要的时钟SerCLK和起始基准数据SerData,所述的基准数据生成模块接收时钟分频模块输出的CLK31K时钟;所述的包含同步码的光脉冲生成模块用于产生16路红外发射管的导通控制信号,在第一路光脉冲之前产生16位帧同步码1001001101011101,所述的包含同步码的光脉冲生成模块的接收基准数据生成模块输出的发射光脉冲时钟为频率31.25KHz的SerCLK和同步脉冲为SerData,所述的包含同步码的光脉冲生成模块的接收时钟分频模块输出的时钟信号CLK500K,用于同步码生成,所述的包含同步码的光脉冲生成模块的输出信号是16路红外发射管的导通控制信号LightT[16..1]。所述的锁相环模块包括鉴相器、滤波器、数控振荡器,所述的锁相环模块的输入时钟CLK50M来自本地50MHz的有源晶振,输入光脉冲信号LightSign来自模拟多路开关,经过锁相环位同步运算后,产生与发射器光脉冲相位相同的500KHz时钟信号CLK500K、31.25KHz时钟信号CLK31K;所述的帧同步模块的输入时钟信号CLK500K、CLK31K来自锁相环模块,输入光脉冲信号LightSign来自模拟多路开关,捕捉到帧同步码1001001101011101后,认为收发同步,进入同步工作阶段,输出同步数据SerData和同步时钟SerCLK;所述的多路开关控制模块用于产生模拟多路开关的使能信号和各通道选择信号,使模拟多路开关可以采用时分复用方式将16路模拟信号合并成一路模拟信号,所述的多路开关控制模块的输入信号SerData和SerCLK来自帧同步模块,输出信号SwiAEN、SwiA[2..0]、SwiBEN、SwiB[2..0]分别是两片八选一多路开关的使能信号和通道选择信号;所述的到位检测模块作用是根据光脉冲数字信号LightSign、来自帧同步模块的同步数据SerData和同步时钟SerCLK,判断运动物体是否出现,输出一个开关量信号SwitchOut。
该装置中FPGA芯片在Quartus集成开发环境中使用VHDL描述,本装置的整体工作情况如图1所示,发射器沿长度方向,每隔一定间距驱动一个红外管发出一束红外线,产生交流红外光脉冲,接收器按照相同间距安排相同数量的光接收管。工作时首先一个红外发射管发出光脉冲而对应的光接收管同时来寻找该脉冲,当找到后即完成一个通道的扫描,接着转向下一个通道,直到所有的扫描都完成。当一个周期扫描完成后,系统判断是否有通道被遮挡,从而实现物体到位检测功能。
本装置在发射器和接收器之间不需要使用专用同步线,通过在第一路发射光脉冲之前增加帧同步码,确定第一路光信号起始位置,16路光脉冲串行工作,依次发出光信号,每次仅有一对发射管和接收管处于工作状态,需要判断的光脉冲也只有一路,从根本上排除了光散射而导致的级间信号干扰问题。
本装置中,光幕发射器核心芯片FPGA的内部功能如图2所示,由时钟分频模块、基准数据生成模块、包含同步码的光脉冲生成模块组成。其中:
时钟分频模块的主要功能是输入50M时钟,产生两个时钟500KHz和31.25KHz。时钟分频模块的输入时钟CLK50M来自50M的有源晶振,500KHz时钟输出端CLK500K连到光脉冲生成模块的时钟输入端,31.25KHz时钟输出端CLK31K连到基准数据生成模块的时钟输入端。时钟分频模块根据50M晶振上升沿工作,每出现一次上升沿,七位计数总线加一,加到99后计数总线清零,计数总线最高位就是所需要的时钟CLK500K。
CLK500K=CLK50M/(99+1)=500KHz
时钟分频模块还需要输出31.25KHz时钟,根据上面产生的CLK500K上升沿工作,每出现一次上升沿,四位计数总线加一,加到15后计数总线清零,计数总线最高位就是所需要的时钟CLK31K。
CLK31K=CLK500K/(15+1)=31.25KHz
基准数据生成模块作用是产生发射器所需要的时钟SerCLK和起始基准数据SerData,输入时钟CLK31K,来自时钟分频模块。
工作过程描述如下:首先以CLK31K为时钟,进行模80计数,产生计数总线LEDCount[6..0];接下来判断LEDCount[6..0]的数值,当LEDCount[6..0]=1时,同步数据SerData为1,其余任何计数状态SerData均为0,这样保证在每个循环周期起始出现一个瞬时高电平,输出时钟SerCLK与输入时钟CLK31K相同。
包含同步码的光脉冲生成模块作用是产生16路红外发射管的导通控制信号,在第一路光脉冲之前产生16位帧同步码1001001101011101,光脉冲生成模块的输入发射光脉冲时钟为SerCLK,频率为31.25KHz,输入同步脉冲为SerData,该信号在每周期起始出现一个瞬时高电平,这两个信号是由基准数据生成模块产生,另外还有一个由时钟分频模块产生的时钟信号CLK500K,用于同步码生成,光脉冲生成模块的输出信号是16路红外发射管的导通控制信号LightT[16..1]。
包含同步码的光脉冲生成模块的工作过程描述如下:首先以CLK500K为时钟,SerData为复位信号,设计停止型模64计数器,产生计数总线CLKCountA[6..0],根据CLKCountA[6..0]的数值,采用case译码语句产生串行的同步码SyncOutA。
当CLKCountA[6..0]=15时,SyncOutA=SyncData[15](同步码第15位);
当CLKCountA[6..0]=16时,SyncOutA=SyncData[14](同步码第14位);
当CLKCountA[6..0]=17时,SyncOutA=SyncData[13](同步码第13位);
依次类推。
当CLKCountA[6..0]=30时,SyncOutA=SyncData[0](同步码第0位);
然后光脉冲生成模块以SerCLK为时钟,SerData为复位信号,设计停止型模80计数器,产生计数总线CLKCountB[7..0];接下来判断CLKCountB[7..0]的数值,当CLKCountB[7..0]=3时,第一路红外发射管导通,当CLKCountB[7..0]=7时,第二路红外发射管导通,CLKCountB[7..0]的判断数值不断加四,依次类推,产生16路红外发射管的导通控制信号LightT[16..1],需要注意的是要在第一路发射光脉冲之前增加同步码。
LightT[1]=LightT[1]or SyncOutA
将第一路发射信号与串行同步码SyncOutA进行或运算,产生包含同步码的第一路发射光脉冲信号。
图3(a)是光幕发射器16路光脉冲串行工作时序图,非常清楚的表示了16路光脉冲的相互关系。16路发射管依次发出光信号,每次仅有同对发射管接收管处于工作状态,同一时刻只需要判断一路光脉冲,从而解决了光散射而导致的级间干扰问题。图3(b)是将第一路光脉冲放大,可以很清楚的看到在第一路光脉冲之前产生了16位同步码1001001101011101。
本装置中,光幕接收器使用光电池实现光电转换,产生微弱的电信号用运算放大器将其放大,经过模拟多路开关采用时分复用方式将16路模拟信号合并成一路模拟信号,将其转换为数字信号后送给FPGA。FPGA对信号进行运算处理,实现物体到位检测,输出开关信号。
本装置在发射器和接收器之间没有使用同步线,发射器和接收器各自根据本地晶振产生系列时钟,在没有锁相的情况下,收发双方即使采用相同程序,产生同样的时钟,也会有频率、相位上的偏差。
图4中通过示波器很直观的描述了两个同频晶振产生时钟的相位变化过程。图4中上方波形为发射器50MHz晶振分频后产生的31.25KHz时钟,下方波形为接收器50MHz晶振分频后产生的31.25KHz时钟。图4(a)为起始时刻存储的波形,发射器和接收器的时钟基本同相;图4(b)为3秒后存储波形,接收器时钟比发射器滞后90°;图4(c)为6秒后存储波形,接收器时钟比发射器滞后180°。也就是说,如果以发射器时钟为基准,就会发现接收器的时钟在不断飘移。因此在没有同步线情况下,不进行锁相的话,用接收器时钟直接判断发射光脉冲,会导致大量运算错误,光幕根本无法正常运行。
本装置中,光幕接收器FPGA的内部功能如图5所示,由实现位同步的锁相环模块、帧同步模块、多路开关控制模块、到位检测模块组成。其中:
锁相环模块由鉴相器、滤波器、数控振荡器组成,输入时钟CLK50M来自本地50MHz的有源晶振,输入光脉冲信号LightSign来自模拟多路开关,经过锁相环位同步运算后,产生与发射器光脉冲相位相同的500KHz时钟信号CLK500K、31.25KHz时钟信号CLK31K。
锁相环模块的工作过程描述如下:首先使用两级D触发器实现鉴相器功能,光脉冲信号LightSign作为第一级D触发器的数据输入,CLK50M为第一级D触发器的时钟,第一级D触发器的数据输出连到第二级D触发器的数据输入,CLK50M反相后作为第二级D触发器的时钟,第二级D触发器的输出信号为LightSignA。第二级D触发器的输出信号LightSignA反相后与原始光脉冲信号LightSign进行与运算,就会产生光脉冲边沿信号LightSignEdge。
LightSignEdge=LightSign and(not LightSignA)
将边沿信号LightSignEdge经过积分器滤波后,连到数控振荡器的复位端,CLK50M连到数控振荡器的时钟引脚。数控振荡器根据50M晶振上升沿工作,每出现一次上升沿,七位计数总线加一,加到99后计数总线清零,计数总线最高位就是所需要的时钟CLK500K。
CLK500K=CLK50M/(99+1)=500KHz
锁相环模块还需要输出31.25KHz时钟,根据上面产生的CLK500K上升沿工作,每出现一次上升沿,四位计数总线加一,加到15后计数总线清零,计数总线最高位就是所需要的时钟CLK31K。
CLK31K=CLK500K/(15+1)=31.25KHz
光幕接收器经过FPGA内部的数字锁相环模块后,就产生了与发射器相位完全相同的500KHz和31.25KHz时钟信号,并且在每个循环周期内提取16次边沿信号,实现快速锁相,这样就可以对光脉冲信号进行稳定判决。
帧同步模块的输入时钟信号CLK500K、CLK31K来自锁相环模块,输入光脉冲信号LightSign来自模拟多路开关,捕捉到帧同步码1001001101011101后,认为收发同步,进入同步工作阶段,输出同步数据SerData和同步时钟SerCLK。
帧同步模块的工作过程包含串并转换、同步码比较、信号展宽三个阶段。
工作过程描述如下:首先对LightSign信号进行十六位串并转换,它的时钟输入端使用CLK500K时钟信号,数据输入端为光脉冲信号LightSign,输出十六位并行总线EPulData[15..0]。串并转换模块根据CLK500K上升沿工作,每出现一次上升沿,将LightSign送给并行总线EPulData[15..0]的最低位,同时使用for循环将EPulData[15..0]字节的十六个比特左移一位,实现串并转换功能。
同步码比较阶段是在每个CLK500K时钟的下降沿,比较并行数据EPulData[15..0]和同步码1001001101011101是否相同,若相同,同步比较信号SyncComp输出为1,否则SyncComp输出为0。
由于帧同步过程的串并转换和同步比较都是基于时钟CLK500K,因此同步比较信号SyncComp仅为正常同步数据宽度的1/16,因此需要将SyncComp信号展宽。以CLK500K为时钟,SyncComp为复位信号,设计停止型模64计数器,产生计数总线CLKCountC[7..0];接下来判断CLKCountC[7..0]的数值,当CLKCountC[7..0]大于0且小于16时,输出同步数据SerData为1,否则为0。
在图6中描述了光幕接收器帧同步码的捕捉时序,图6中的LightSign、CLK500K、CLK31K是输入信号,同步比较信号SyncComp明显较窄,输出的同步数据SerData在第一路光脉冲信号之前,输出的同步时钟SerCLK与CLK31K相同。
多路开关控制模块的作用是产生模拟多路开关的使能信号和各通道选择信号,使模拟多路开关可以采用时分复用方式将16路模拟信号合并成一路模拟信号。多路开关控制模块的输入信号SerData和SerCLK来自帧同步模块,输出信号SwiAEN、SwiA[2..0]、SwiBEN、SwiB[2..0]分别是两片八选一多路开关的使能信号和通道选择信号。
多路开关控制模块的工作过程描述如下:首先以SerCLK为时钟,SerData为复位信号,设计同步复位型模80计数器,产生计数总线CLKCountD[6..0];接下来判断CLKCountD[6..0]的数值,当CLKCountD[6..0]大于0且小于31时,第一片八选一多路开关的使能信号SwiAEN为0,其余任何计数状态SwiAEN均为1;当CLKCountD[6..0]大于32且小于63时,第二片八选一多路开关的使能信号SwiBEN为0,其余任何计数状态SwiBEN均为1;设计同步触发型电路,在SerCLK下降沿时:
SwiA[2..0]=CLKCountD[4..2]
SwiB[2..0]=CLKCountD[4..2]
通过上述步骤产生了模拟多路开关所需要的使能信号和通道选择信号。
到位检测模块作用是根据光脉冲信号LightSign、来自帧同步模块的同步数据SerData和同步时钟SerCLK,判断运动物体是否出现,输出一个开关量信号SwitchOut。
到位检测模块由单束光启停信号生成、单束光判决时钟生成、串并转换、数据累加、计数判断这些部分组成。首先确定每个光脉冲的开始和结束位置,在各个光脉冲中产生多次判决时钟;然后对单个光脉冲进行十二位串并转换,对转换后的并行码进行数据累加、大数判断,可以防止干扰,实现信号滤波;最后对有效光脉冲个数进行计数,若其等于十六,则说明接收光电池收到了十六个光脉冲,光幕发射器、接收器中间没有物体挡住,输出信号SwitchOut为高电平,否则为低电平。通过上述这些步骤,实现了物体到位检测功能。
图7是示波器实际测量得到的光幕接收器部分光电池波形图,图7(a)是物体挡住第一通道的波形,光电池接收到15路有效信号;图7(b)是物体挡住第一、二通道的波形,光电池接收到14路有效信号。波形上方的同步数据SerData是光幕接收器经过锁相环位同步、帧同步后产生的信号,它与光幕发射器信号同步,非常稳定。
本具体实施方式在发射器第一路光脉冲之前增加捕捉可靠、抗干扰能力强的帧同步码,光幕接收器使用位同步速度快的快速锁相环算法,16路光脉冲依次串行工作,利用FPGA的并行处理特性,实现高速运动物体的实时到位检测。
因此,本发明具有现场安装方便、数据处理速度快、抗干扰能力强、升级方便等特点,可用于各种工业恶劣环境。
Claims (5)
1.一种无专用同步线的光幕检测装置,包括光幕发射器和光幕接收器,其特征在于所述的光幕发射器内设有红外发射管,所述的光幕接收器内设有接收管,所述的红外发射管和接收管一一对应,所述的光幕发射器包括时钟分频模块、基准数据生成模块、包含同步码的光脉冲生成模块,所述的时钟分频模块分别与基准数据生成模块和包含同步码的光脉冲生成模块相连接,所述的基准数据生成模块与包含同步码的光脉冲生成模块相连接,所述的光幕接收器包括锁相环模块、帧同步模块、多路开关控制模块、到位检测模块,所述的锁相环模块与帧同步模块相连接,所述的帧同步模块分别与到位检测模块和多路开关控制模块相连接。
2.根据权利要求1所述的一种无专用同步线的光幕检测装置,其特征在于所述的红外发射器和接收管各16个。
3.根据权利要求2所述的一种无专用同步线的光幕检测装置,其特征在于所述的时钟分频模块用于输入50M时钟,输出500KHz和31.25KHz两个时钟;所述的基准数据生成模块用于产生发射器所需要的时钟SerCLK和起始基准数据SerData,所述的基准数据生成模块接收时钟分频模块输出的CLK31K时钟;所述的包含同步码的光脉冲生成模块用于产生16路红外发射管的导通控制信号,在第一路光脉冲之前产生16位帧同步码1001001101011101,所述的包含同步码的光脉冲生成模块的接收基准数据生成模块输出的发射光脉冲时钟为频率31.25KHz的SerCLK和同步脉冲为SerData,所述的包含同步码的光脉冲生成模块的接收时钟分频模块输出的时钟信号CLK500K,用于同步码生成,所述的包含同步码的光脉冲生成模块的输出信号是16路红外发射管的导通控制信号LightT[16..1]。
4.根据权利要求2所述的一种无专用同步线的光幕检测装置,其特征在于所述的锁相环模块包括鉴相器、滤波器、数控振荡器,所述的锁相环模块的输入时钟CLK50M来自本地50MHz的有源晶振,输入光脉冲信号LightSign来自模拟多路开关,经过锁相环位同步运算后,产生与发射器光脉冲相位相同的500KHz时钟信号CLK500K、31.25KHz时钟信号CLK31K;所述的帧同步模块的输入时钟信号CLK500K、CLK31K来自锁相环模块,输入光脉冲信号LightSign来自模拟多路开关,捕捉到帧同步码1001001101011101后,认为收发同步,进入同步工作阶段,输出同步数据SerData和同步时钟SerCLK;所述的多路开关控制模块用于产生模拟多路开关的使能信号和各通道选择信号,使模拟多路开关可以采用时分复用方式将16路模拟信号合并成一路模拟信号,所述的多路开关控制模块的输入信号SerData和SerCLK来自帧同步模块,输出信号SwiAEN、SwiA[2..0]、SwiBEN、SwiB[2..0]分别是两片八选一多路开关的使能信号和通道选择信号;所述的到位检测模块作用是根据光脉冲数字信号LightSign、来自帧同步模块的同步数据SerData和同步时钟SerCLK,判断运动物体是否出现,输出一个开关量信号SwitchOut。
5.一种无专用同步线的光幕检测方法,其特征在于步骤包括:
1)时钟分频模块的输入时钟CLK50M来自50M的有源晶振,500KHz时钟输出端CLK500K连到光脉冲生成模块的时钟输入端,31.25KHz时钟输出端CLK31K连到基准数据生成模块的时钟输入端,时钟分频模块根据50M晶振上升沿工作,每出现一次上升沿,七位计数总线加一,加到99后计数总线清零,计数总线最高位就是所需要的时钟CLK500K,CLK500K=CLK50M/(99+1)=500KHz;时钟分频模块输出31.25KHz时钟,根据上面产生的CLK500K上升沿工作,每出现一次上升沿,四位计数总线加一,加到15后计数总线清零,计数总线最高位就是所需要的时钟CLK31K,CLK31K=CLK500K/(15+1)=31.25KHz;
2)以CLK31K为时钟,进行模80计数,产生计数总线LEDCount[6..0];当LEDCount[6..0]=1时,同步数据SerData为1,其余任何计数状态SerData均为0,保证在每个循环周期起始出现一个瞬时高电平,输出时钟SerCLK与输入时钟CLK31K相同;
3)包含同步码的光脉冲生成模块以CLK500K为时钟,SerData为复位信号,设计停止型模64计数器,产生计数总线CLKCountA[6..0],根据CLKCountA[6..0]的数值,采用case译码语句产生串行的同步码SyncOutA:
当CLKCountA[6..0]=15时,SyncOutA=SyncData[15],即同步码第15位;
当CLKCountA[6..0]=16时,SyncOutA=SyncData[14],即同步码第14位;
当CLKCountA[6..0]=17时,SyncOutA=SyncData[13],即同步码第13位;
依次类推,当CLKCountA[6..0]=30时,SyncOutA=SyncData[0],即同步码第0位;然后光脉冲生成模块以SerCLK为时钟,SerData为复位信号,设计停止型模80计数器,产生计数总线CLKCountB[7..0];当CLKCountB[7..0]=3时,第一路红外发射管导通,当CLKCountB[7..0]=7时,第二路红外发射管导通,CLKCountB[7..0]的判断数值不断加四,依次类推,产生16路红外发射管的导通控制信号LightT[16..1],在第一路发射光脉冲之前增加同步码,LightT[1]=LightT[1]or SyncOutA,将第一路发射信号与串行同步码SyncOutA进行或运算,产生包含同步码的第一路发射光脉冲信号;
4)使用两级D触发器实现鉴相器功能,光脉冲信号LightSign作为第一级D触发器的数据输入,CLK50M为第一级D触发器的时钟,第一级D触发器的数据输出连到第二级D触发器的数据输入,CLK50M反相后作为第二级D触发器的时钟,第二级D触发器的输出信号为LightSignA;第二级D触发器的输出信号LightSignA反相后与原始光脉冲信号LightSign进行与运算,就会产生光脉冲边沿信号LightSignEdge,LightSignEdge=LightSign and(notLightSignA),将边沿信号LightSignEdge经过积分器滤波后,连到数控振荡器的复位端,CLK50M连到数控振荡器的时钟引脚,数控振荡器根据50M晶振上升沿工作,每出现一次上升沿,七位计数总线加一,加到99后计数总线清零,计数总线最高位即时钟CLK500K,CLK500K=CLK50M/(99+1)=500KHz,锁相环模块输出31.25KHz时钟,根据上面产生的CLK500K上升沿工作,每出现一次上升沿,四位计数总线加一,加到15后计数总线清零,计数总线最高位就是所需要的时钟CLK31K,CLK31K=CLK500K/(15+1)=31.25KHz,即产生了与发射器相位完全相同的500KHz和31.25KHz时钟信号,并且在每个循环周期内提取16次边沿信号;
5)帧同步模块的输入时钟信号CLK500K、CLK31K,输入光脉冲信号LightSign,捕捉到帧同步码1001001101011101后,认为收发同步,进入同步工作阶段,输出同步数据SerData和同步时钟SerCLK;帧同步模块对LightSign信号进行十六位串并转换,帧同步模块的时钟输入端使用CLK500K时钟信号,数据输入端为光脉冲信号LightSign,输出十六位并行总线EPulData[15..0];串并转换模块根据CLK500K上升沿工作,每出现一次上升沿,将LightSign送给并行总线EPulData[15..0]的最低位,同时使用for循环将EPulData[15..0]字节的十六个比特左移一位;在每个CLK500K时钟的下降沿,比较并行数据EPulData[15..0]和同步码1001001101011101是否相同,若相同,同步比较信号SyncComp输出为1,否则SyncComp输出为0;
6)以CLK500K为时钟,SyncComp为复位信号,设计停止型模64计数器,产生计数总线CLKCountC[7..0];接下来判断CLKCountC[7..0]的数值,当CLKCountC[7..0]大于0且小于16时,输出同步数据SerData为1,否则为0;
7)多路开关控制模块以SerCLK为时钟,SerData为复位信号,设计同步复位型模80计数器,产生计数总线CLKCountD[6..0];接下来判断CLKCountD[6..0]的数值,当CLKCountD[6..0]大于0且小于31时,第一片八选一多路开关的使能信号SwiAEN为0,其余任何计数状态SwiAEN均为1;当CLKCountD[6..0]大于32且小于63时,第二片八选一多路开关的使能信号SwiBEN为0,其余任何计数状态SwiBEN均为1;设计同步触发型电路,在SerCLK下降沿时:
SwiA[2..0]=CLKCountD[4..2]
SwiB[2..0]=CLKCountD[4..2]
8)到位检测模块确定每个光脉冲的开始和结束位置,在各个光脉冲中产生多次判决时钟;然后对单个光脉冲进行十二位串并转换,对转换后的并行码进行数据累加、大数判断;对有效光脉冲个数进行计数,若其等于十六,则接收光电池收到了十六个光脉冲,光幕发射器、接收器中间没有物体挡住,输出信号SwitchOut为高电平,否则为低电平。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510740977.1A CN105259588B (zh) | 2015-11-04 | 2015-11-04 | 一种无专用同步线的光幕检测装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510740977.1A CN105259588B (zh) | 2015-11-04 | 2015-11-04 | 一种无专用同步线的光幕检测装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105259588A CN105259588A (zh) | 2016-01-20 |
CN105259588B true CN105259588B (zh) | 2017-12-19 |
Family
ID=55099348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510740977.1A Active CN105259588B (zh) | 2015-11-04 | 2015-11-04 | 一种无专用同步线的光幕检测装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105259588B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110980465A (zh) * | 2019-12-30 | 2020-04-10 | 苏州和阳电气有限公司 | 一种光幕收发装置之间互相确认及同步收发节奏的方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109839672A (zh) * | 2017-11-24 | 2019-06-04 | 合肥欣奕华智能机器有限公司 | 一种光电检测装置及信号同步方法 |
CN108761557B (zh) * | 2018-05-24 | 2019-10-25 | 常州工学院 | 一种基于fpga的交叉型光幕检测装置 |
CN109459969B (zh) * | 2018-10-24 | 2021-03-02 | 济宁科力光电产业有限责任公司 | 一种安全光幕ip核系统 |
CN111115050A (zh) * | 2020-01-06 | 2020-05-08 | 惠州拓邦电气技术有限公司 | 垃圾投扔次数的统计方法、装置、垃圾桶及存储介质 |
CN113358141B (zh) * | 2020-03-06 | 2023-05-09 | 欧姆龙(上海)有限公司 | 光电传感器以及信号处理方法 |
CN111829564B (zh) * | 2020-06-03 | 2022-05-24 | 佳格科技(浙江)股份有限公司 | 一种无专用同步线的光幕检测方法及设备 |
CN111741093B (zh) * | 2020-06-12 | 2023-06-30 | 喻军 | 基于屏幕的数据发送方法、接收方法、接收装置、设置系统及可读存储介质 |
CN112034525B (zh) * | 2020-08-25 | 2021-07-20 | 广州安协科技股份有限公司 | 一种无需同步的对射光幕、检测系统以及检测方法 |
CN112363238B (zh) * | 2020-11-25 | 2022-09-06 | 上海长江电气设备集团有限公司 | 光幕光束对齐修正方法、光幕接收器、发射器及存储介质 |
CN112882120B (zh) * | 2021-01-29 | 2022-09-27 | 深圳市同创机电一体化技术有限公司 | 一种测量光栅线新型线同步系统 |
CN113075852A (zh) * | 2021-04-08 | 2021-07-06 | 青岛科技大学 | 一种壁画式短焦投影屏幕及控制方法 |
CN113535007A (zh) * | 2021-07-10 | 2021-10-22 | 北京汇冠触摸技术有限公司 | 一种无中间走线的异步双边屏及其工作方法 |
CN113872746A (zh) * | 2021-10-27 | 2021-12-31 | 猫岐智能科技(上海)有限公司 | 无需同步数据线的光幕装置信号同步采集方法及系统 |
CN114162692B (zh) * | 2021-12-01 | 2022-10-18 | 伟龙意程智能科技(江苏)有限公司 | 一种电梯光幕的在线自动检测系统 |
DE202022100571U1 (de) * | 2022-02-02 | 2022-08-22 | Leuze Electronic Gmbh + Co. Kg | Lichtschrankenanordnung |
CN116183181B (zh) * | 2023-04-13 | 2023-07-04 | 伟龙意程智能科技(江苏)有限公司 | 一种电梯光幕光束测试方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6968073B1 (en) * | 2001-04-24 | 2005-11-22 | Automotive Systems Laboratory, Inc. | Occupant detection system |
CN103389039B (zh) * | 2013-07-18 | 2015-12-23 | 常州工学院 | 一种基于fpga和fpaa的高速高精度光幕检测装置 |
CN104348468B (zh) * | 2013-08-09 | 2018-03-06 | 上海龙诚自动化系统有限公司 | 一种脉宽自适应单总线接收器 |
CN103837086B (zh) * | 2014-03-28 | 2016-08-31 | 常州工学院 | 一种基于fpga和高精度光幕的板坯长度动态检测装置 |
-
2015
- 2015-11-04 CN CN201510740977.1A patent/CN105259588B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110980465A (zh) * | 2019-12-30 | 2020-04-10 | 苏州和阳电气有限公司 | 一种光幕收发装置之间互相确认及同步收发节奏的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105259588A (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105259588B (zh) | 一种无专用同步线的光幕检测装置及其方法 | |
CN102326443B (zh) | 用于基于pco的uwb脉冲无线电的系统、节点和方法 | |
CN103174418B (zh) | 掘进灾害超前探测系统及方法 | |
CN101800636B (zh) | 一种用于量子密钥分发的同步装置及同步方法 | |
CN108761557B (zh) | 一种基于fpga的交叉型光幕检测装置 | |
CN105245203B (zh) | 高精度低速时钟占空比检测系统及方法 | |
CN105119376B (zh) | 一种基于常规采样goose跳闸模式的采样实现方法及装置 | |
CN105450215B (zh) | 一种符合测量系统及方法 | |
WO2015038018A2 (en) | Method and system for synchronization of seismic and seismo-acoustic measurement networks, in particular intrinsically safe mine networks | |
CN104135332A (zh) | 一种用于大功率电磁发射机的gps时间同步装置 | |
CN107948515A (zh) | 一种相机同步方法及装置、双目相机 | |
CN101598995A (zh) | 一种节能的红外触摸装置及其方法 | |
CN104992650B (zh) | Mipi信号自动测试方法和装置 | |
CN103487649A (zh) | 一种兼容连续波和脉冲调制载波频率测量的方法及装置 | |
CN106788739A (zh) | 基于光子计数的无线光通信接收装置及光信号检测方法 | |
CN101175225A (zh) | 数字视频数据测试系统及半导体器件 | |
CN1076580A (zh) | 检测视频信号奇数场和偶数场的电路 | |
CN106501622A (zh) | 一种基于fpga的纳秒级脉冲宽度测量装置及方法 | |
CN102882624A (zh) | 基于pxi/pci总线的测试信号源设备间远程同步设备及方法 | |
CN104881268A (zh) | 一种光量子随机源装置及随机位提取方法 | |
CN106303451A (zh) | 多屏显示装置的视频处理单元输出同步性检测方法和系统 | |
CN106209090B (zh) | 一种基于fpga的合并单元秒脉冲同步输出系统及方法 | |
CN102494756A (zh) | 单光源分布式光纤微振动传感与定位装置 | |
CN109361501B (zh) | 一种用于可见光通信的时钟与数据恢复电路及方法 | |
CN104184471B (zh) | 一种航空无线通信鉴频器及其鉴频方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |