CN105162551B - 一种针对编码器信号处理的crc安全校验码的计算方法 - Google Patents
一种针对编码器信号处理的crc安全校验码的计算方法 Download PDFInfo
- Publication number
- CN105162551B CN105162551B CN201510467898.8A CN201510467898A CN105162551B CN 105162551 B CN105162551 B CN 105162551B CN 201510467898 A CN201510467898 A CN 201510467898A CN 105162551 B CN105162551 B CN 105162551B
- Authority
- CN
- China
- Prior art keywords
- crc
- signal
- check
- signal processing
- channel
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
- H04L1/0063—Single parity check
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开了一种针对编码器信号处理的CRC安全校验码的计算方法,其将编码器的信息产生、信号处理、信号传送都发生在安全状态下。所设计的编码器信号处理电路具有一主一从两个传输通道且共用一个查找表,每个传输通道内的位置信息单独产生、单独处理、单独传送。CRC安全校验并传输一定要有两个冗余的位置信息作为信息字段的校验码才能确保位置信息安全地传输。使用所述信息字段的校验码,对比接收到的CRC安全校验的实际校验码,如果相等则信息正确,不相等则信息错误。本发明能检查处理电路工作状态,还能检测数据在传输过程中是否损坏,两个独立通道间的数据是否产生交替,数据字节顺序是否颠倒,以及数据是否由正确通道中发出。
Description
技术领域
本发明涉及一种CRC安全校验码的计算方法,尤其涉及一种针对编码器信号处理的CRC安全校验码的计算方法。
背景技术
伺服电机内置的编码器输出信号能否实现数字化传输,是决定一个数控系统是否是全数字交流伺服数控系统的标志。发改高改字[2014]2072号文件规定:实现交流伺服驱动内部控制及测量器的全数字化,采用PROFINET或实时以太网的数字化控制接口技术。这里说的测量器指的就是伺服电机内置编码器,它是用来测量实际位置值和实际速度值的传感器。
增量编码器A/B(1Vpp)+绝对位置C/D(1Vpp)+参考点(R),在没有获得数字化传输之前,是峰-峰值为1V的模拟量信号,如果内置于伺服电机,其输出信号必须转化为数字信号并通过数字接口输出给驱动器才能够实现全数字交流伺服数控系统。
在CRC-16这一块,循环校验CRC码数据通信领域中最常用的一种差错校验码。任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。CRC-16是最常用的循环校验码,它的使用方法如下表所示。
地址 | 功能码 | 数据信息 | 校验码 |
1byte | 1byte | nbyte | 2byte |
CRC-16校验是前面几段数据内容的校验值,为一个16位数据,发送时,低8位在前,高8为最后。例如发送方发出的传输字段为:
1011001 | 1010 |
信息字段 | 校验字段 |
发明内容
本发明的目的是研究编码器信号安全处理的方法,这里的安全指的是处理的方法和结果使得伺服电机内置编码器符合SIL(Safety Integrity Level)安全完整性等级认证,为此,本发明提供一种针对编码器信号处理的CRC安全校验码的计算方法,该方法是通过软件+硬件的联合实施得以实现的。
本发明的解决方案是:一种针对编码器信号处理的CRC安全校验码的计算方法,其用于将编码器的信息产生、信号处理、信号传送都发生在安全状态下;
所设计的编码器信号处理电路具有双通道,双通道为一主一从两个传输通道:即主通道与从通道,两个传输通道共用一个查找表,每个传输通道内的位置信息单独产生、单独处理、单独传送;
CRC安全校验并传输一定要有两个冗余的位置信息作为信息字段的校验码才能确保位置信息安全地传输,其中,从通道的位置值II的长度小于等于主通道的位置值I的长度,两个传输通道内,编码器信号处理电路的报文中都必须包括位置信息通过编码器信号处理电路的计数器获得的位置值信息;
使用所述信息字段的校验码,对比接收到的CRC安全校验的实际校验码,如果相等则信息正确,不相等则信息错误。
作为上述方案的进一步改进,报文中还包括CRC校验信息。
作为上述方案的进一步改进,在编码器信号处理电路中,编码器产生的信号进行CRC校验码计算,一主一从两个传输通道里传送的数据通过各自的CRC校验码进行保护。
优选地,每个传输通道的CRC校验码计算的初始值存放在相应传输通道的配置寄存器一的[bit15至bit0]内,而CRC校验本征多项式存放在相应传输通道的配置寄存器一的[bit31至bit16]内。
再优选地,每个传输通道的配置寄存器二的[bit15至bit0]内的数据决定是否将接收到的数据应用于CRC校验码计算中,即:倘若把接收到的数据应用于CRC校验码计算中,CRC校验码计算单元的[bit15至bit0]的输出结果就存储在相应传输通道的结果寄存器中,反之,则存储在MUX中,用于保存CRC校验码计算单元的当前值。
进一步地,CRC校验码计算过程中,当前的校验码会反馈到CRC校验码计算单元中,用于下一个校验码的生成。
优选地,当完整数据在主通道与从通道传送完毕之后,计算所得的校验码[bit15至bit0]与传送所得的校验码[bit15至bit0]进行比较,比较结果存储于编码器信号处理电路的状态寄存器中。
进一步地,每个传输通道接收到的数据通过相应传输主通道的配置寄存器三设置,通过4个累加器,合并成4个字,每个字32bit;每个传输通道的比较器把来自累加器的传送所得CRC校验码与来自结果寄存器的计算所得CRC校验码进行比较,比较结果存在相应传输通道的CRC校验状态寄存器中。
作为上述方案的进一步改进,所述编码器信号处理电路包括方波信号转换器、两个信号处理器、仲裁器:方波信号转换器用于将编码器输入信号Asinα、Bcosα、R并分别转换成方波信号;其中,A、B分别表示三相交流电中的A相信号、B相信号,α表示一个信号周期内的电气角,R表示编码器每圈经历的绝对位置参考点;两个信号处理器均用于将转换成方波信号的编码器输入信号Asinα、Bcosα、R处理成相应的两个待传输信号;仲裁器用于判断两个待传输信号是否相同,如相同则将两个待传输信号带CRC安全校验轮流交替输出而形成数据流,所述数据流通过现场总线或实时以太网以报文的形式传递给伺服电机驱动器。
本发明通过计数器获得的位置值信息,可以检查处理电路工作状态,比如检查每个通道是否在正常工作;通过CRC校验可以检测数据在传输过程中是否损坏,两个独立通道间的数据是否产生交替,数据字节顺序是否颠倒,以及数据是否由正确通道中发出。
附图说明
图1为本发明提供一种针对编码器信号处理的CRC安全校验码的计算方法的发送方的流程示意图。
图2为本发明提供一种针对编码器信号处理的CRC安全校验码的计算方法的接收方的流程示意图。
图3为应用CRC安全校验码的计算方法的伺服电机内置编码器信号处理电路示意图。
图4为图3中的一种具体实现方式。
图5为图3中的另一种具体实现方式。
图6为图3中的又一种具体实现方式。
图7为编码器信号处理电路的仲裁器的实现方式示意图。
图8为采用类似图3中编码器信号处理电路实现的第1种数据流的数据流向示意图。
图9为采用类似图3中编码器信号处理电路实现的第2种数据流的数据流向示意图。
图10为采用类似图3中伺服电机内置编码器信号处理电路实现的第3种数据流的数据流向示意图。
图11为采用类似图3中伺服电机内置编码器信号处理电路实现的第4种数据流的数据流向示意图。
图12为实现图3中全系列伺服电机内置编码器信号处理电路的一种硬件电路示意图。
图13为实现图3中A+B+R增量伺服电机内置编码器信号处理电路的一种硬件电路示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的针对编码器信号处理的CRC安全校验码的计算方法,其用于将编码器的信息产生、信号处理、信号传送都发生在安全状态下,是一种信号安全CRC校验、传输的方法,该方法是通过软件+硬件的联合实施得以实现的。
本发明研究的例子是一种16位数据宽度的CRC校验方法,即CRC-16,但并不局限于16位,用同样的方法,可以处理24位CRC校验和32位CRC校验。虽然,本发明涉及CRC-16,但是并不是在于CRC-16的原理,而讲的是两个通道的CRC-16是怎么协同工作的。
为实现编码器信号产生、处理、传输与SIL(Safety Integrity Level)安全完整性的一体化,要求编码器的信息产生、信号处理、信号传送都发生在安全状态下。为此,要求所设计的电路具有双通道,两个通道1主1从即主通道与从通道,传输通道也指下文中的通道,通道1是主通道,通道2是从通道,并且每个通道内的位置信息单独产生、单独处理、单独传送。也就是说,在发送方的硬件上,要求所设计的编码器信号处理电路具有双通道,双通道为一主一从两个传输通道,并且每个传输通道内的位置信息单独产生、单独处理、单独传送。
CRC安全校验并传输一定要有两个冗余的位置信息才能确保位置信息安全地传输,其中,位置值II的长度小于等于位置值I的长度。此外,两个传输通道内,报文中都必须包括计数器的粗位置信息,完整的乃至部分的报文还要包括CRC校验。也就是说:在发送方的软件上,要求CRC安全校验并传输一定要有两个冗余的位置信息作为信息字段的校验码才能确保位置信息安全地传输,其中,从通道的位置值II的长度小于等于主通道的位置值I的长度,两个传输通道内,编码器信号处理电路的报文中都必须包括通过编码器信号处理电路的计数器获得的粗位置值信息。
接收方:使用相同的计算方法计算出信息字段的校验码,对比接收到的实际校验码,如果相等则信息正确,不相等则信息错误;或者将接收到的所有信息除多项式,如果能够除尽,则信息正确。这里所说的多项式是本征多项式,一旦确定CRC校验引用的标准,这个多项式就是固定的,例如IBM标准的CRC-16-IBM,本征多项式是8005;而CCITT标准的CRC-16-CCITT,本征多项式是1021。当然了,本发明不讨论本征多项式的具体形式,只是用到本征多项式。
也就是说:在接收方的软件上,使用发送方软件的相同计算方法计算出信息字段的校验码,对比接收到的CRC安全校验的实际校验码,如果相等则信息正确,不相等则信息错误;或者将接收到的所有信息除多项式,如果能够除尽,则信息正确。
本发明通过计数器获得的粗位置值信息,可以检查处理电路工作状态,比如检查每个通道是否在正常工作;通过CRC校验可以检测数据在传输过程中是否损坏,两个独立通道间的数据是否产生交替,数据字节顺序是否颠倒,以及数据是否由正确通道中发出。
请参阅图1,在编码器信号处理电路中,编码器产生的信号进行CRC校验码计算,通道1和通道2里传送的数据通过各自的CRC校验码进行保护。这里的CRC校验码是传送所得CRC校验码。
通道1的CRC校验码计算的初始值存放在通道1配置寄存器1的[bit15至bit0]内,而CRC校验本征多项式存放在通道1配置寄存器1的[bit31至bit16]内。通道1配置寄存器2的[bit15至bit0]内的数据决定是否将接收到的数据应用于CRC校验码计算中,倘若把接收到的数据应用于CRC校验码计算中,CRC校验码计算单元的[bit15至bit0]的输出结果就存储在通道1结果寄存器中。反之,则存储在MUX中,用于保存CRC校验码计算单元的当前值。CRC校验码计算过程中,当前的校验码会反馈到CRC校验码计算单元中,用于下一个校验码的生成。
通道2的CRC校验码计算过程依此类推。
请参阅图2,计算所得的校验码与传送所得的校验码进行比较。
当完整数据在通道1与通道2传送完毕之后,计算所得的校验码[bit15至bit0]与传送所得的校验码[bit15至bit0]进行比较,比较结果存储于状态寄存器中。全部的比较过程是由软件自动完成的。全部的比较过程在通道1与通道2内的CRC校验比较器中进行。
通道1接收到的数据通过通道1配置寄存器3设置,通过4个累加器,合并成4个字,每个字32bit。通道1的比较器把来自累加器的传送所得CRC校验码与来自结果寄存器的计算所得CRC校验码进行比较。比较结果存在通道1CRC校验状态寄存器中。
通道2的CRC校验码比较与通道1类似,以此类推。
本发明提供的数据CRC安全校验方法不仅可以应用于对编码器信号的处理和传输。实际可以应用于任何信号的安全传输的CRC校验计算码的产生。
需要指出的是,两个传输通道共用一个查找表是本发明的一大特色。本技术领域,一般只有一个通道,每个通道一个查找表,这是软件设计上的特点。查找表很庞大,类似一个子程序,两个通道类似两个主程序,主程序访问子程序实现查表。而本发明两个传输通道共用查找表,就是用同样的多项式,因为查找表就是利用多项式计算出来的,多项式不同,查找表也不同,共用查找表就是共用一个多项式,使用了相同的算法,结果,每个通道的CRC校验结果才有可比性。
本发明的伺服电机内置编码器信号处理电路及其信号处理方法用于将编码器输入信号Asinα、Bcosα、R从模拟信号转换为数字信号,所述数字信号以报文的形式通过现场总线传递给伺服电机驱动器。
请参阅图3,本发明的针对编码器信号处理的CRC安全校验码的计算方法中,涉及到的编码器信号处理电路即伺服电机内置编码器信号处理电路,其包括方波信号转换器31、信号处理器一32、信号处理器二33、仲裁器、精细计数器35。
方波信号转换器31用于将编码器输入信号Asinα、Bcosα、R并分别转换成方波信号;其中,A、B分别表示三相交流电中的A相信号、B相信号,α表示一个信号周期内的电气角,R表示编码器每圈经历一次的绝对位置参考点。
方波信号转换器31可采用差分放大器、比较放大器转变成方波信号,实现相应功能。具体地,编码器输入信号Asinα经过差分放大器311、比较放大器K_A变成相应的方波信号,同理,编码器输入信号Bcosα经过差分放大器312、比较放大器K_B变成相应的方波信号;编码器输入信号R经过差分放大器313、比较放大器K_R变成相应的方波信号。
信号处理器一32用于将转换成方波信号的编码器输入信号Asinα、Bcosα、R处理成待传输信号一。信号处理器一32包括倍频器一、参考点寄存器一、粗计数器一、CRC校验器一。
倍频器一用于对编码器输入信号Asinα、Bcosα进行4倍频,如4倍频电路。参考点寄存器一用于记载编码器输入信号R并形成编码器每圈经历一次的绝对位置轨迹一。粗计数器一用于根据绝对位置轨迹一对4倍频后的编码器输入信号Asinα、Bcosα计算出粗位置值一,并根据所述粗位置值一衍生出速度值一,所述粗位置值一、所述速度值一依次形成代码一。CRC校验器一用于在所述代码一的最低位设置校验码形成所述待传输信号一,所述待传输信号一的一个周期内容为:粗位置值一、速度值一、状态值一。
信号处理器一32可以采用具有相同功能的CPU1。同理,信号处理器二33可以采用具有相同功能的CPU2。信号处理器二33用于将转换成方波信号的编码器输入信号Asinα、Bcosα、R处理成待传输信号二。信号处理器二33包括倍频器二、参考点寄存器二、粗计数器二、CRC校验器二。
倍频器二用于对编码器输入信号Asinα、Bcosα进行4倍频,倍频器一可采用4倍频电路。参考点寄存器二用于记载编码器输入信号R并形成编码器每圈经历一次的绝对位置轨迹二。粗计数器二用于根据绝对位置轨迹二对4倍频后的编码器输入信号Asinα、Bcosα计算出粗位置值二,并根据所述粗位置值二衍生出速度值二,所述粗位置值二、所述速度值二依次形成代码二。
CRC校验器二用于在所述代码二的最低位设置校验码形成所述待传输信号二,所述待传输信号二的一个周期内容为:粗位置值二、速度值二、状态值二。
精细计数器35用于对所述粗位置值一插值细分形成精细位置值,精细计数器35可以设置,也可以不设置。精细计数器35设置有机械角λs计算器和转速n计算器。
机械角λs计算器根据公式(1)获得机械角λs:
其中,N为编码器的分辨率,每转信号周期数;
Z为活动的信号周期数量;
α为一个信号周期内的电气角,
λs为一个信号周期内的机械角;
转速n计算器根据公式(2)获得转速n:
精细计数器根据机械角λs和转速n对所述粗位置值一插值细分形成所述精细位置值,使所述代码一的一个周期内的内容变更成粗位置值一、速度值一、精细位置值,相应的所述待传输信号一的一个周期内的内容变更成粗位置值一、速度值一、精细位置值、状态值一。
精细计数器35可以集成在具有信号处理器一32功能的CPU1内,如图3所示,不带安全功能时,电机转子角度λs和速度n的计算:在CPU1内,编码器信号Asinα、Bcosα经由多路复选器MUX A、MUX B和MUX C,以及两个采样保持放大器S&H,12位A/D转换器,Asinα、Bcosα瞬时值信号被读取。
公式(1)即
在CPU1内,Asinα、Bcosα通过比较器K_A、K_B和粗计数器一后获得粗位置值一,使用精细插补软件算法,计算α角。转子位置(粗位置值一和精插补α)通过总线被传输到伺服电机的驱动器。
转速n的计算方法如下:
CPU1里,参考点寄存器一提供额外的参考标记。当粗计数器一计数到参考标记位置时,CPU1提取寄存器的信息,并存储粗位置值一和精插补α。
仲裁器用于判断所述待传输信号一与所述待传输信号二是否相同,如相同则将所述待传输信号一、所述待传输信号二轮流交替输出而形成数据流通过现场总线传递给伺服电机驱动器。仲裁器可以采用具有相同功能的仲裁器,仲裁器可集成在CPU内,也可以选择带有仲裁器的CPU2,如图3所示。
CPU2内有仲裁器,CPU2通过片内的仲裁程序,选择通过总线输出的是CPU1计算的位置值还是CPU2计算的位置值。被仲裁器选中的信号通过总线输出。CPU2内的参考点寄存器二提供零点检测,通过片内软件检查相邻两个参考点之间的信号周期数是否对应恒定的编码器脉冲数。进入CPU2的方波信号交叉连接,目的为了检测伺服电机反转。
综上所述,信号处理器一32可集成为芯片CPU1,信号处理器二33可集成为芯片CPU2,仲裁器设置有总线接口并与所述总线接口集成为芯片CPU3。如图4所示。信号处理器一32与信号处理器二33一同集成为芯片CPU4,仲裁器设置有总线接口并与所述总线接口集成为芯片CPU3,如图5所示。信号处理器一32、信号处理器二33、仲裁器同集成为芯片CPU5,如图6所示。
请再次参阅图4,也就是说在编码器信号处理电路板上,用两颗芯片(CPU1、CPU2)对编码器信号进行信号处理,每颗芯片各自执行一个程序进程,就是各自一个通道。
在每个通道内完成信号输入和信号处理,主要的信号处理有:计数器计数、软件差值细分、位置值、状态值、CRC校验。每个通道内信号处理的末端是仲裁电路接口,供片选输出。
这种情况下CPU1=进程1=通道1;CPU2=进程2=通道2;
信号传输电路里用第三颗芯片,CPU3,CPU3里主要负责通过仲裁主站,片选信号,选中CPU1或者CPU2作为信号输出的信号源,CPU3的另一个功能是片内运行着现场总线或实时以太网的协议栈软件,MAC,LAYER2,通过此MAC,信号传输到总线接口。
请再次参阅图5,也就是说在编码器信号处理电路板上,用一颗芯片(CPU1)对编码器信号进行信号处理,每颗芯片里有多个核心,多核CPU,每个核心各自执行一个程序进程,就是各自一个通道。
在每个通道内完成信号输入和信号处理,主要的信号处理有:计数器计数、软件差值细分、位置值、状态值、CRC校验。每个通道内信号处理的末端是仲裁电路接口,供片选输出。
这种情况下CPU1=进程1=通道1;CPU1=进程2=通道2;
信号传输电路里用第二颗芯片,CPU3,CPU3里主要负责通过仲裁主站,片选信号,选中通道1或者通道2作为信号输出的信号源,CPU3的另一个功能是片内运行着现场总线或实时以太网的协议栈软件,MAC,APP,(LAYER2,LAYER7)通过此MAC+APP,信号传输到总线接口。
请再次参阅图6,也就是说没有CPU3,即信号传输整合进信号处理,芯片及系统的集成度更高。
在编码器信号处理电路板上,用一颗芯片(CPU1)对编码器信号进行信号处理,每颗芯片里有多个核心,多核CPU,每个核心各自执行一个程序进程,就是各自一个通道。
在每个通道内完成信号输入和信号处理,主要的信号处理有:计数器计数、软件差值细分、位置值、状态值、CRC校验。每个通道内信号处理的末端是仲裁电路接口,供片选输出。
这种情况下CPU1=进程1=通道1;CPU1=进程2=通道2;
信号传输电路集成到CPU1中,共用进程1,是单独的线程,仲裁电路集成进CPU1,片选信号,选中通道1或者通道2作为信号输出的信号源,片内运行着现场总线或实时以太网的协议栈软件,MAC,APP,(LAYER2,LAYER7)通过此MAC+APP,信号传输到总线接口,信号传输的物理层PHY集成进CPU1,比如DP83848vv。
伺服电机内置编码器信号处理电路还可设置有内存器,内存可选择多种存储器。如电路中的内存包括三种,FlashRAM、SRAM和DPRAM。CPU2和PHY共享内存DPRAM,由CPU1控制该内存的读写,该DPRAM位于CPU2片内。
所述信号处理电路还可设置温度传感器信号模数转换器,进给电机定子线圈内的温度传感器信号输入给CPU1的A/D转换器,经过计算的温度数值加载进报文规定的字段里,传递给电机驱动器。主轴电机定子线圈内的KTY、PTC温度传感器信号输入给CPU1的A/D转换器,经过计算的温度数值加载进报文规定的字段里,传递给电机驱动器。此时,“待传输信号一、待传输信号二、模数转换后的温度传感器信号”为所述数据流的一个周期内容。
仲裁器的具体应用方式可参阅图7:
1.DATA[7:0] 数据线
仲裁接口是一个8位并行数据接口;
2.LATCH 控制线
通过控制线LATCH区分循环和其他非循环读取模式,低电平有效,该线使能,编码器的信号就被锁定。位置值从锁定的信号来确定;
3.RD/WR 读/写线
读取和写入,低电平有效,只作用于被选中(激活的)通道;
4.CS 片选线
芯片选择信号CS确保同一时刻只有一个通道的数据与仲裁主站通讯;
5.P 电源
6.M 电源公共端
来自总线接口的电源,一般+24V+COM,经P,M给信号处理或编码器供电。
控制线LATCH,CS,RD/WR都是单向线,初始化之后总是保持在一个确定的信号状态,缺省的是高电平。DATA[7:0]是双向的。
信号传输是本发明的重要组成部分之一,编码器信号经过仲裁后进入信号传输,信号性质是并口信号,并且经过了数字化,在信号传输部分里,并口数据要转换成串行数据,并按照输出总线或实时以太网协议栈的要求,以报文的形式通过总线接口传递给驱动器或控制器。总线或实时以太网协议栈,涉及OSI模型的LAYER2、7,MAC、APP,是运行在CPU3内的RTOS上的一段应用程序。
本发明带安全功能时,功能安全编码器信号传输原理:电机转子的机械角λs′和速度n'的计算:在CPU1内,编码器信号Asinα、Bcosα经由加法器、减法器、45°移项、0.707倍调幅、反向,生成Asin'(α+45°)、-Bcos'(α+45°),(符号',仅代表这是安全信号),Asin'(α+45°)、-Bcos'(α+45°)与Asinα、Bcosα相比具有45°相移和反向。再经过多路复选器MUX A、MUX B和MUX C,以及两个采样保持放大器S&H,12位A/D转换器,Asin'(α+45°)、-Bcos'(α+45°)瞬时值信号被读取。
Asin'(α+45°)、-Bcos'(α+45°)经由CPU2、然后通过总线传送给驱动器,再通过总线传送给控制器主站。在主站内,有算法利用这些安全信号计算出安全信号的电子角α,并叠加到粗位置值二上。由此计算出安全信号的机械角λs′。算法把控制器计算的转子位置值λs′和驱动器里的转子位置值λs进行对比。与此类似,对n'和n也要进行对比:
需要说明的是:编码器输入信号Asinα、Bcosα的A和B只代表A相信号和B相信号,不代表信号的幅值。
为实现编码器信号产生、处理、传输与SIL(Safety Integrity Level)安全完整性的一体化,要求编码器的信息产生、信号处理、信号传送都发生在安全状态下。为此,要求所设计的电路具有双通道,两个通道1主1从,通道1是主通道,通道2是从通道,并且两个位置值在各自的通道内单独产生、单独处理、单独传送。
一定要有两个冗余的位置信息才能确保位置信息安全地传输,其中,位置值II的长度小于等于位置值I的长度。此外,两个传输通道内,报文中都必须包括计数器的粗位置信息,完整的报文还要包括CRC校验。
通过计数器,可以检查运转时的情况,比如检查每个通道是否在正常工作。
通过CRC校验码可以检测数据是否在传输过程中损坏,两个独立通道间的数据是否产生交替,数据字节顺序是否颠倒,以及数据是否由正确通道中发出。
本发明较佳实施例的编码器信号数字化安全信号处理电路在应用时,其传输方法包括以下步骤。
1、将编码器输入信号Asinα、Bcosα、R并分别转换成方波信号;其中,A、B分别表示三相交流电中的A相信号、B相信号,α表示一个信号周期内的电气角,R表示编码器每圈经历一次的绝对位置参考点。
在CPU1内,编码器信号Asinα、Bcosα经由多路复选器MUX A、MUX B和MUX C,以及两个采样保持放大器S&H,12位A/D转换器,Asinα、Bcosα瞬时值信号被读取。
2、将转换成方波信号的编码器输入信号Asinα、Bcosα、R处理成待传输信号一。
所述待传输信号一的处理步骤包括:对编码器输入信号Asinα、Bcosα进行4倍频;记载编码器输入信号R并形成编码器每圈经历一次的绝对位置轨迹一;根据绝对位置轨迹一对4倍频后的编码器输入信号Asinα、Bcosα计算出粗位置值一,并根据所述粗位置值一衍生出速度值一,所述粗位置值一、所述速度值一依次形成代码一;在所述代码一的最低位设置校验码形成所述待传输信号一,所述待传输信号一的一个周期内容为:粗位置值一、速度值一、状态值一。
所述待传输信号一的处理步骤还可包括:对所述粗位置值一插值细分形成精细位置值。
3、将转换成方波信号的编码器输入信号Asinα、Bcosα、R处理成待传输信号二。
所述待传输信号二的处理步骤包括:对编码器输入信号Asinα、Bcosα进行4倍频;记载编码器输入信号R并形成编码器每圈经历一次的绝对位置轨迹二;根据绝对位置轨迹一对4倍频后的编码器输入信号Asinα、Bcosα计算出粗位置值二,并根据所述粗位置值二衍生出速度值二,所述粗位置值二、所述速度值二依次形成代码二;在所述代码二的最低位设置校验码形成所述待传输信号二,所述待传输信号二的一个周期内容为:粗位置值二、速度值二、状态值二。
4、判断所述待传输信号一与所述待传输信号二是否相同,如相同则将所述待传输信号一、所述待传输信号二轮流交替输出而形成数据流通过现场总线传递给伺服电机驱动器。
其中,所述编码器信号数字化传输方法还包括:模数转换测量电机温度得到的温度传感器信号,“待传输信号一、待传输信号二、模数转换后的温度传感器信号”为所述数据流的一个周期内容。
对每种编码器的信号处理的过程可不尽相同。本实施例电路的输入信号是编码器信号+温度传感器信号,输出信号是数字化的编码器信号+温度传感器信号。输入信号是模拟量性质的,输出信号是数字量性质的。输出信号通过总线或实时以太网接口,以报文的方式高速串行输出。根据报文格式的不同,输出信号可以是:
位置值1+状态值1+位置值2+状态值2;
位置值1+精细位置值1+状态值1+位置值2+状态值2;
位置值1+状态值1+位置值2+状态值2+安全信号位置值1;
位置值1+精细位置值1+状态值1+位置值2+状态值2+安全信号位置值1;
位置值1+状态值1+位置值2+状态值2+温度;
位置值1+精细位置值1+状态值1+位置值2+状态值2+温度;
位置值1+状态值1+位置值2+状态值2+安全信号位置值1+温度;
位置值1+精细位置值1+状态值1+位置值2+状态值2+安全信号位置值1+温度。
位置值1即上文的粗位置值一,状态值1即上文的状态值一,精细位置值1即上文的精细位置值,位置值2即上文的粗位置值二,状态值2即上文的状态值二。安全信号位置值1、温度可分别作为附加信号,如上文的模数转换后的温度传感器信号。
其中,“位置值1+状态值1+位置值2+状态值2+温度”的数据流,如图8所示;“位置值1+精细位置值1+状态值1+位置值2+状态值2+温度的数据流,如图9所示;“位置值1+状态值1+位置值2+状态值2+安全信号位置值1+温度;”的数据流,如图10所示;“位置值1+精细位置值1+状态值1+位置值2+状态值2+安全信号位置值1+温度”的数据流,如图11所示。
图12是全系列编码器信号处理电路的一种硬件电路示意图,用于说明本发明所描述的装置及方法可以处理全系列编码器信号。虚线框1用于处理旋转变压器信号输入;虚线框2用于处理A+B+R增量编码器信号输入;虚线框3用于处理A+B+C+D+R增量编码器信号输入;虚线框4用于处理温度传感器信号输入;虚线框5用于EnDAT、SSI、TTL编码器信号输入。
图13所示,是A+B+R编码器信号处理电路的一种硬件电路示意图,在具体实现时可采用两个CPU来实现,具体地,可采用CPU1为ADSP21990芯片,CPU2为FPGA芯片。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种针对编码器信号处理的CRC安全校验码的计算方法,其用于将编码器的信息产生、信号处理、信号传送都发生在安全状态下;其特征在于:
所设计的编码器信号处理电路具有双通道,双通道为一主一从两个传输通道:即主通道与从通道,两个传输通道共用一个查找表,每个传输通道内的位置信息单独产生、单独处理、单独传送;
CRC安全校验并传输一定要有两个冗余的位置信息作为信息字段的校验码才能确保位置信息安全地传输,其中,从通道的位置值II的长度小于等于主通道的位置值I的长度,两个传输通道内,编码器信号处理电路的报文中都必须包括位置信息通过编码器信号处理电路的计数器获得的位置值信息;
使用所述信息字段的校验码,对比接收到的CRC安全校验的实际校验码,如果相等则信息正确,不相等则信息错误。
2.如权利要求1所述的针对编码器信号处理的CRC安全校验码的计算方法,其特征在于:报文中还包括CRC校验信息。
3.如权利要求1所述的针对编码器信号处理的CRC安全校验码的计算方法,其特征在于:在编码器信号处理电路中,编码器产生的信号进行CRC校验码计算,一主一从两个传输通道里传送的数据通过各自的CRC校验码进行保护。
4.如权利要求3所述的针对编码器信号处理的CRC安全校验码的计算方法,其特征在于:每个传输通道的CRC校验码计算的初始值存放在相应传输通道的配置寄存器一的[bit15至bit0]内,而CRC校验本征多项式存放在相应传输通道的配置寄存器一的[bit31至bit16]内。
5.如权利要求4所述的针对编码器信号处理的CRC安全校验码的计算方法,其特征在于:每个传输通道的配置寄存器二的[bit15至bit0]内的数据决定是否将接收到的数据应用于CRC校验码计算中,即:倘若把接收到的数据应用于CRC校验码计算中,CRC校验码计算单元的[bit15至bit0]的输出结果就存储在相应传输通道的结果寄存器中,反之,则存储在MUX中,用于保存CRC校验码计算单元的当前值。
6.如权利要求5所述的针对编码器信号处理的CRC安全校验码的计算方法,其特征在于:CRC校验码计算过程中,当前的校验码会反馈到CRC校验码计算单元中,用于下一个校验码的生成。
7.如权利要求5所述的针对编码器信号处理的CRC安全校验码的计算方法,其特征在于:当完整数据在主通道与从通道传送完毕之后,计算所得的校验码[bit15至bit0]与传送所得的校验码[bit15至bit0]进行比较,比较结果存储于编码器信号处理电路的状态寄存器中。
8.如权利要求7所述的针对编码器信号处理的CRC安全校验码的计算方法,其特征在于:每个传输通道接收到的数据通过相应传输主通道的配置寄存器三设置,通过4个累加器,合并成4个字,每个字32bit;每个传输通道的比较器把来自累加器的传送所得CRC校验码与来自结果寄存器的计算所得CRC校验码进行比较,比较结果存在相应传输通道的CRC校验状态寄存器中。
9.如权利要求1所述的针对编码器信号处理的CRC安全校验码的计算方法,其特征在于:所述编码器信号处理电路包括方波信号转换器、两个信号处理器、仲裁器:方波信号转换器用于将编码器输入信号Asinα、Bcosα、R并分别转换成方波信号;其中,A、B分别表示三相交流电中的A相信号、B相信号,α表示一个信号周期内的电气角,R表示编码器每圈经历的绝对位置参考点;两个信号处理器均用于将转换成方波信号的编码器输入信号Asinα、Bcosα、R处理成相应的两个待传输信号;仲裁器用于判断两个待传输信号是否相同,如相同则将两个待传输信号带CRC安全校验轮流交替输出而形成数据流,所述数据流通过现场总线或实时以太网以报文的形式传递给伺服电机驱动器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510467898.8A CN105162551B (zh) | 2015-07-29 | 2015-07-29 | 一种针对编码器信号处理的crc安全校验码的计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510467898.8A CN105162551B (zh) | 2015-07-29 | 2015-07-29 | 一种针对编码器信号处理的crc安全校验码的计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105162551A CN105162551A (zh) | 2015-12-16 |
CN105162551B true CN105162551B (zh) | 2018-11-06 |
Family
ID=54803322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510467898.8A Active CN105162551B (zh) | 2015-07-29 | 2015-07-29 | 一种针对编码器信号处理的crc安全校验码的计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105162551B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020059B (zh) * | 2016-07-19 | 2018-01-19 | 珠海格力智能装备技术研究院有限公司 | 一种编码补偿方法、装置及伺服驱动器 |
US11018694B2 (en) * | 2019-06-10 | 2021-05-25 | Hewlett Packard Enterprise Development Lp | Fast cyclic redundancy check code generation |
CN112306741B (zh) * | 2020-11-19 | 2022-12-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种crc校验方法及相关装置 |
CN112350735A (zh) * | 2020-11-24 | 2021-02-09 | 广芯微电子(广州)股份有限公司 | 一种多项式可配的crc数字电路的实现方法及系统 |
CN113391625A (zh) * | 2021-08-17 | 2021-09-14 | 新石器慧通(北京)科技有限公司 | 车辆控制方法、装置、电子设备及存储介质 |
CN114443347B (zh) * | 2021-12-23 | 2022-11-22 | 湖南毂梁微电子有限公司 | 一种可配置crc码计算方法 |
CN114443348B (zh) * | 2021-12-23 | 2023-02-10 | 湖南毂梁微电子有限公司 | 一种可配置crc码的计算系统 |
CN117782992A (zh) * | 2024-02-23 | 2024-03-29 | 宁德时代新能源科技股份有限公司 | 包膜设备及包膜方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994006080A1 (de) * | 1992-09-04 | 1994-03-17 | Fault Tolerant Systems | Kommunikationskontrolleinheit und verfahren zur übermittlung von nachrichten |
CN1441577A (zh) * | 2003-04-15 | 2003-09-10 | 北京润光泰力科技发展有限公司 | 一种反向复用器电路层的保护与恢复的方法和装置 |
GB2435366B (en) * | 2003-03-03 | 2007-10-10 | Level 5 Networks Inc | Data protocol |
EP2234305A1 (en) * | 2009-03-27 | 2010-09-29 | Nokia Siemens Networks Oy | Method of reliable communications by splitting redundant data into CRC sub-blocks best reassembled at the receiver |
CN102567276A (zh) * | 2011-12-19 | 2012-07-11 | 华为技术有限公司 | 基于多通道的数据传输方法、相关节点及系统 |
CN103427846A (zh) * | 2013-07-16 | 2013-12-04 | 首都师范大学 | 动态可重构高速串行总线中错误控制方法 |
CN104639294A (zh) * | 2015-02-10 | 2015-05-20 | 浪潮电子信息产业股份有限公司 | 一种改进的crc校验实现方法 |
-
2015
- 2015-07-29 CN CN201510467898.8A patent/CN105162551B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994006080A1 (de) * | 1992-09-04 | 1994-03-17 | Fault Tolerant Systems | Kommunikationskontrolleinheit und verfahren zur übermittlung von nachrichten |
GB2435366B (en) * | 2003-03-03 | 2007-10-10 | Level 5 Networks Inc | Data protocol |
CN1441577A (zh) * | 2003-04-15 | 2003-09-10 | 北京润光泰力科技发展有限公司 | 一种反向复用器电路层的保护与恢复的方法和装置 |
EP2234305A1 (en) * | 2009-03-27 | 2010-09-29 | Nokia Siemens Networks Oy | Method of reliable communications by splitting redundant data into CRC sub-blocks best reassembled at the receiver |
CN102567276A (zh) * | 2011-12-19 | 2012-07-11 | 华为技术有限公司 | 基于多通道的数据传输方法、相关节点及系统 |
CN103427846A (zh) * | 2013-07-16 | 2013-12-04 | 首都师范大学 | 动态可重构高速串行总线中错误控制方法 |
CN104639294A (zh) * | 2015-02-10 | 2015-05-20 | 浪潮电子信息产业股份有限公司 | 一种改进的crc校验实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105162551A (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105162551B (zh) | 一种针对编码器信号处理的crc安全校验码的计算方法 | |
WO2018196498A1 (zh) | 一种biss协议数据解码方法及接口系统 | |
KR101029394B1 (ko) | 고장 검출 장치, 고장 검출 방법 및 고장 검출 프로그램 | |
CN105162470B (zh) | 一种编码器信号数字化安全传输装置 | |
CN110955715B (zh) | Erp系统和目标平台的数据转换方法、装置以及电子设备 | |
CN111078612A (zh) | 基于FPGA的biss-c协议的译码系统 | |
CN106210749A (zh) | 解码设备、信息传输系统和解码方法 | |
CN104852743B (zh) | 绝对值编码器信号处理装置及方法 | |
CN105141316B (zh) | 一种伺服电机内置编码器信号处理电路及其信号处理方法 | |
CN204808004U (zh) | 基于profinet通信的编码器接口装置及其模块 | |
CN204761417U (zh) | 一种伺服电机内置编码器信号处理电路及其信号处理模块 | |
CN108318028A (zh) | 一种导航系统核心处理电路设计方法 | |
JP6826077B2 (ja) | エンコーダおよびデータ送信方法 | |
CN109855661A (zh) | 一种增量式编码器信号处理方法和系统 | |
US8554966B2 (en) | Method for data exchange | |
JP5322433B2 (ja) | 処理システムにおけるデータ処理中のエラー検知方法および制御システム | |
Zhang et al. | Design and Implementation of CRC Based on FPGA | |
JP2022546947A (ja) | 同期式にシリアルデータ伝送するための装置及び方法 | |
JP2004326338A (ja) | エンコーダのデータ送受信方法及び装置 | |
JP7277274B2 (ja) | エンコーダおよびデータ送信方法 | |
CN113064402B (zh) | 一种磁粉探伤机的多芯单片机间数据校验电路及其系统 | |
CN102571268B (zh) | 接收设备和数据传输设备 | |
JPH0774743B2 (ja) | アブソリュート測長方法 | |
Li et al. | The design and implementation of universal interface circuit for photoelectric encoder | |
JP6781226B2 (ja) | エンコーダ及び制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Wen Changming Inventor after: Wen Ke Inventor after: Zheng Haixia Inventor before: Wen Changming Inventor before: Wen Ke |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |