一种RDC解算处理方法及装置与流程

文档序号:31454028发布日期:2022-09-07 14:04阅读:243来源:国知局
一种RDC解算处理方法及装置与流程
一种rdc解算处理方法及装置
技术领域
1.本发明涉及软件解码技术,更具体的说,是涉及一种rdc解算处理方法及装置。


背景技术:

2.软件rdc(resolver-to-digital converter轴角数字变换器)解码技术主要是指在解调旋转变压器的输出信号时,将旋转变压器的输出信号经过adc(analog to digital converter,模拟数字转换器)采样变成数字量后,利用数字信号处理器对其进行软件解调,得到电机的转子位置。
3.图1为旋转变压器的信号示意图,基于旋转变压器的原理,设计基于观测器的软件rdc解码算法,为提高rdc精度,需要对正余弦信号进行过采样,如rdc激励信号为10khz,一个周期内等间隔采样32个,解算一次rdc角度,这样正余弦信号adc采样频率高达320khz。电机运行过程中,rdc的数据需要保证正余弦信号的连续性和实时性,而目前方案的实现效果均不太理想。


技术实现要素:

4.有鉴于此,本发明提供如下技术方案:
5.一种rdc解算处理方法,包括:
6.获得周期采样数据;
7.采用双缓存对所述周期采样数据进行处理;
8.其中,在同一时间,一个缓存用于传输所述周期采样数据,另一个缓存用于对接收到的周期采样数据进行解算。
9.可选地,所述采用双缓存对所述周期采样数据进行处理,包括:
10.采用循环链表结构,控制将获得的不同周期的周期采样数据依次交替传输给所述循环链表结构中的第一链表和第二链表;
11.其中,在将周期采样数据传输给所述循环链表中的一个链表后,周期采样数据的写入位置自动切换到另一个链表,以使得后续获得的下一个周期的周期采样数据传输给所述循环链表中的另一个链表;
12.其中,在所述第一链表或所述第二链表不接收周期采样数据的时,其用于对之前接收到的周期采样数据进行解算。
13.可选地,所述采用循环链表结构,控制将获得的不同周期的周期采样数据依次交替传输给所述循环链表结构中的第一链表和第二链表,包括:
14.将循环链表结构中的第一链表中指示下一个链表的指针配置为第二链表的开始位置,将所述第二链表中指示下一个链表的指针配置为所述第一链表的开始位置;
15.设置传输数据长度对应一个周期的采样点数,在一次传输完成后,硬件自动实现所述第一链表和所述第二链表之间的链表切换。
16.可选地,在所述获得周期采样数据前,还包括:
17.通过两路独立设计的adc模块分别对旋转变压器输出的两路rdc正余弦信号进行采样,得到模拟采样数据,并对所述模拟采样数据进行模数转换,得到周期采样数据。
18.可选地,所述两路独立设计的adc模块由gtm产生的等间隔的周期同步信号触发实现同时采样。
19.可选地,所述获得周期采样数据,包括:
20.在所述adc模块对模拟采样数据进行模数转换后,触发dma将转换后得到的周期采样数据传输至处理器的内存空间。
21.一种rdc解算处理装置,包括:
22.数据获得模块,用于获得周期采样数据;
23.数据处理模块,用于采用双缓存对所述周期采样数据进行处理;其中,在同一时间,一个缓存用于传输所述周期采样数据,另一个缓存用于对接收到的周期采样数据进行解算。
24.可选地,所述数据处理模块具体用于:采用循环链表结构,控制将获得的不同周期的周期采样数据依次交替传输给所述循环链表结构中的第一链表和第二链表;
25.其中,在将周期采样数据传输给所述循环链表中的一个链表后,周期采样数据的写入位置自动切换到另一个链表,以使得后续获得的下一个周期的周期采样数据传输给所述循环链表中的另一个链表;
26.其中,在所述第一链表或所述第二链表不接收周期采样数据的时,其用于对之前接收到的周期采样数据进行解算。
27.可选地,所述数据处理模块包括:
28.链表设置模块,用于将循环链表结构中的第一链表中指示下一个链表的指针配置为第二链表的开始位置,将所述第二链表中指示下一个链表的指针配置为所述第一链表的开始位置;
29.数据设置模块,用于设置传输数据长度对应一个周期的采样点数,在一次传输完成后,硬件自动实现所述第一链表和所述第二链表之间的链表切换。
30.可选地,还包括:
31.采样模块,用于通过两路独立设计的adc模块分别对旋转变压器输出的两路rdc正余弦信号进行采样,得到模拟采样数据,并对所述模拟采样数据进行模数转换,得到周期采样数据。
32.经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种rdc解算处理方法及装置,方法包括:获得周期采样数据;采用双缓存对所述周期采样数据进行处理;其中,在同一时间,一个缓存用于传输所述周期采样数据,另一个缓存用于对接收到的周期采样数据进行解算。上述方案中,rdc数据结算和数据采集是同时进行的,通过双缓存,一个缓存用于传输当前的周期采样数据,另一个缓存用于rdc解算,从而保证了rdc数据的实时性和连续性,实现了对rdc正余弦信号的高速数据处理。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为旋转变压器的信号示意图;
35.图2为本技术实施例公开的一种rdc解算处理方法的流程图;
36.图3为本技术实施例公开的常规链表工作模式示意图;
37.图4为本技术实施例公开的循环链表工作模式示意图;
38.图5为本技术实施例公开的另一个rdc解算处理方法的流程图;
39.图6为本技术实施例公开的rdc同步与触发机制示意图;
40.图7为本技术实施例公开的一种rdc解算处理装置的结构示意图;
41.图8为本技术实施例公开的一种电子设备的结构示意图。
具体实施方式
42.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.本技术实施例可以应用于电子设备,本技术对该电子设备的产品形式不做限定,可以包括但并不局限于智能手机、平板电脑、可穿戴设备、个人计算机(personal computer,pc)、上网本等,可以依据应用需求选择。
44.图2为本技术实施例公开的一种rdc解算处理方法的流程图。参见图2所示,rdc解算处理方法可以包括:
45.步骤201:获得周期采样数据。
46.所述周期采样数据,可以是旋转变压器发出的正余弦信号经过采样转换后获得的数据。为提高rdc软件解码精度,需要对正余弦信号进行过采样,因此所述周期采样数据包含多个采样点。
47.需要说明的是,旋转变压器在工作过程中是不间断输出正余弦信号的,而对正余弦信号的采样也是不间断进行的,因此周期采样数据也是不间断实时产生并获得的。
48.步骤202:采用双缓存对所述周期采样数据进行处理。其中,在同一时间,一个缓存用于传输所述周期采样数据,另一个缓存用于对接收到的周期采样数据进行解算。
49.这样,周期采样数据的传输和周期采样数据的处理能够同时进行并且互不干扰,保障采了周期采样数据传输和处理的连续性和实时性。
50.具体的,采用怎样的双缓存保障周期采样数据传输和处理的连续性和实时性,将在后面的实施例中详细介绍,在此不再过多说明。
51.本实施例所述rdc解算处理方法,rdc数据结算和数据采集是同时进行的,通过双缓存,一个缓存用于传输当前的周期采样数据,另一个缓存用于rdc解算,从而保证了rdc数据的实时性和连续性,实现了对rdc正余弦信号的高速数据处理。
52.上述实施例中,所述采用双缓存对所述周期采样数据进行处理的一个实现,可以是:采用循环链表结构,控制将获得的不同周期的周期采样数据依次交替传输给所述循环链表结构中的第一链表和第二链表。
53.其中,在将周期采样数据传输给所述循环链表中的一个链表后,周期采样数据的写入位置自动切换到另一个链表,以使得后续获得的下一个周期的周期采样数据传输给所述循环链表中的另一个链表。
54.其中,在所述第一链表或所述第二链表不接收周期采样数据的时,其用于对之前接收到的周期采样数据进行解算。
55.实现双缓存采用的链表结构,可以是循环链表,如图4所示,为循环链表工作模式示意图。当一次dma传输完成后,切换到另一个链表,链表切换是硬件实现,无需mcu干扰,保证了数据的稳定性。循环链表中仅包括两个链表,也即上述第一链表和第二链表,这两个链表交替进行周期采样数据的接收存储以及处理工作。其中,周期采样数据从模数转换器传输到内存区可以通过dma(direct memoryaccess,直接存储器访问)技术实现。具体的,模数转换器每次转换得到数字格式的周期采样数据后,可以触发dma将周期采样数据从adc结果寄存器搬移至cpu ram区;高速数据实时采集和传输利用dma可降低cpu的负载率。
56.为了更好的理解循环链表的工作实现,下面将常规使用的链表工作模式和本技术所述循环链表的工作模式进行对比介绍。
57.常规链表中每个transaction(事务)的tcs(transaction control set事务控制配置)存储在sram中,如图3所示,为常规链表工作模式示意图,其中每个tcs由8个word组成,每个word对应通道的配置寄存器,其中m1ar(memory-1 access register存储地址1寄存器)存储下一个tcs的首地址。
58.配置通道时,将链表的第一个tcs写入到通道dmaram中,dma请求触发dma执行第一个transaction,执行完成后me(move engine移位引擎)将自动加载下一个tcs到dmaram中,继续由dma请求触发再执行,直到最后一个transaction完成。
59.常规链表的长度有限,传输到最后一个链表,dma传输终止,不能满足rdc采样连续性要求,将普通链表设计为循环链表,如图4所示,可以解决dma传输数据中断问题,使得dma传输数据不会停止。具体实现可以是:dma传输数据长度设置为一个周期采样数据点数32,当一个链表传输完成,自动加载下另一个tcs到dmaram中,dma请求触发,dma执行另一个传输,2个transaction交替执行,组成一个循环链表,实现高速采样传输。上述实现的实验结果中,一个电机周期内(一般100us)rdc采样解算5个us内可以完成,快速高效。
60.dma采用循环链表结构,解决高速、实时的将saradc采样结果传输到内存,减少cpu负载率,满足软件解码算法,实现rdc角度和速度检测。
61.基于以上,所述采用循环链表结构,控制将获得的不同周期的周期采样数据依次交替传输给所述循环链表结构中的第一链表和第二链表,可以包括:将循环链表结构中的第一链表中指示下一个链表的指针配置为第二链表的开始位置,将所述第二链表中指示下一个链表的指针配置为所述第一链表的开始位置;设置传输数据长度对应一个周期的采样点数,在一次传输完成后,硬件自动实现所述第一链表和所述第二链表之间的链表切换。
62.图5为本技术实施例公开的另一个rdc解算处理方法的流程图。结合图5所示,rdc解算处理方法可以包括:
63.步骤501:通过两路独立设计的adc模块分别对旋转变压器输出的两路rdc正余弦信号进行采样,得到模拟采样数据,并对所述模拟采样数据进行模数转换,得到周期采样数据。
64.为提高rdc软件解码精度,需要对正余弦信号进行过采样,同时在物理上保持同时采样,本技术设计2路独立的adc模块分别采样rdc正余弦信号,由gtm(generic timer module通用定时模块)产生等间隔、周期同步信号触发adc同时采样。
65.由此,所述两路独立设计的adc模块由gtm产生的等间隔的周期同步信号触发实现同时采样。具体的,可以采用gtm对2路saradc(successive-approximation analog to digital converter逐次逼近式模拟数字转换器)同步高速触发进行采样,gtm在本技术中主要作用即高稳定同步触发saradc采样信号。
66.图6为本技术实施例公开的rdc同步与触发机制示意图,可结合图6理解前述相关工作过程。
67.步骤502:接收获得周期采样数据。
68.具体的,可以是在所述adc模块对模拟采样数据进行模数转换后,触发dma将转换后的周期采样数据传输至处理器的内存空间。
69.步骤503:采用双缓存对所述周期采样数据进行处理。其中,在同一时间,一个缓存用于传输所述周期采样数据,另一个缓存用于对接收到的周期采样数据进行解算。
70.本技术所述rdc解算处理方法采用基于gtm对2路saradc同步高速触发和dma循环链表结构传输数据实现对rdc正余弦信号高速数据处理,解决正余弦信号采样的稳定性、同步性,rdc的数据连续性、实时性,同时解决一个电机周期内rdc采样解算控制在5个us完成,减少cpu负载率问题。
71.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
72.上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
73.图7为本技术实施例公开的一种rdc解算处理装置的结构示意图。结合图7所示,rdc解算处理装置70可以包括:
74.数据获得模块701,用于获得周期采样数据。
75.数据处理模块702,用于采用双缓存对所述周期采样数据进行处理;
76.其中,在同一时间,一个缓存用于传输所述周期采样数据,另一个缓存用于对接收到的周期采样数据进行解算。
77.本实施例所述rdc解算处理装置,rdc数据结算和数据采集是同时进行的,通过双缓存,一个缓存用于传输当前的周期采样数据,另一个缓存用于rdc解算,从而保证了rdc数据的实时性和连续性,实现了对rdc正余弦信号的高速数据处理。
78.一个实现中,所述数据处理模块具体用于:采用循环链表结构,控制将获得的不同周期的周期采样数据依次交替传输给所述循环链表结构中的第一链表和第二链表;其中,在将周期采样数据传输给所述循环链表中的一个链表后,周期采样数据的写入位置自动切换到另一个链表,以使得后续获得的下一个周期的周期采样数据传输给所述循环链表中的另一个链表;其中,在所述第一链表或所述第二链表不接收周期采样数据的时,其用于对之前接收到的周期采样数据进行解算。
79.一个实现中,所述数据处理模块可以包括:链表设置模块,用于将循环链表结构中的第一链表中指示下一个链表的指针配置为第二链表的开始位置,将所述第二链表中指示下一个链表的指针配置为所述第一链表的开始位置;数据设置模块,用于设置传输数据长度对应一个周期的采样点数,在一次传输完成后,硬件自动实现所述第一链表和所述第二链表之间的链表切换。
80.一个实现中,rdc解算处理装置还包括:采样模块,用于通过两路独立设计的adc模块分别对旋转变压器输出的两路rdc正余弦信号进行采样。
81.一个实现中,所述两路独立设计的adc模块由gtm产生的等间隔的周期同步信号触发实现同时采样。
82.一个实现中,数据获得模块具体可用于:在所述adc模块对模拟采样数据进行模数转换后,触发dma将转换后得到的周期采样数据传输至处理器的内存空间。
83.上述实施例中的所述的任意一种rdc解算处理装置包括处理器和存储器,上述实施例中的数据获得模块、数据处理模块、链表设置模块、数据设置模块、采样模块等均作为程序模块存储在存储器中,由处理器执行存储在所述存储器中的上述程序模块来实现相应的功能。
84.处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或多个,通过调整内核参数来实现回访数据的处理。
85.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
86.在示例性实施例中,还提供了一种计算机可读存储介质,可直接加载到计算机的内部存储器,其中含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述rdc解算处理方法任一实施例所示步骤。
87.在示例性实施例中,还提供一种计算机程序产品,可直接加载到计算机的内部存储器,其中含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述所述的rdc解算处理方法任一实施例所示步骤。
88.进一步,本发明实施例提供了一种电子设备。图8为本技术实施例公开的一种电子设备的结构示意图。参见图8所示,电子设备包括至少一个处理器801、以及与处理器连接的至少一个存储器802、总线803;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的rdc解算处理方法。
89.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
90.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
91.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
92.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1