一种车载编码器旋钮控制调节的方法及系统的制作方法
【技术领域】
[0001]本发明涉及车载导航多媒体产品领域,尤其涉及的是一种车载编码器旋钮控制调节的方法及系统。
【背景技术】
[0002]编码器是车载导航多媒体产品常用的控制按钮,用户通过面板上的编码器按钮调节音量、收音机的频道等。
[0003]车载导航多媒体产品常用的编码器属于接触机械式(增量型),在制造和使用过程中会产生一些抖动信号。制造过程中的抖动有:五金冲制产生的毛刺;五金植入塑胶时搭接处的高低不平及溢胶等。使用过程中因接触电刷与五金接触片及塑胶磨擦会产生一些杂肩,这些均会引起抖动信号,使产品输出的波形与标准波形有差异。由于车载产品的编码器工作的汽车环境可能比较恶劣,输出脉冲较易受干扰,比较容易产生毛刺,例如在车子过坑或振动时,接触刷会瞬间的断开再导通,就产生脉冲信号。当编码器快速旋转时,更容易导致抖动信号的波形,从而造成了用户快速旋转编码器按钮后,车载导航多媒体产品的音量增加达不到用户旋转效果,或者延迟增加,甚至出现误处理,导致音量不变或变低的结果。
[0004]因此,现有技术有待于进一步的改进。
【发明内容】
[0005]鉴于上述现有技术中的不足之处,本发明的目的在于提供一种车载编码器旋钮控制调节的方法及系统,以解决现有技术中车载编码器在遇到振动时,可能会产生失效的波形信号,从而造成编码器旋钮在旋转后,车载导航多媒体产品的音量达不到用户需要的缺陷。
[0006]本发明解决技术问题所采用的技术方案如下:
一种车载编码器旋钮控制调节的方法,其中,包括:
51、每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到电位在所述第一预定时间内是否发生变化;若发生变化,则执行步骤S2 ;否则重复本步骤;
52、检测所述A相端口和B相端口是否输出有效波形,若为有效波形,则执行步骤S3,否则返回步骤SI ;
53、根据所述有效波形判断编码器旋钮的旋转方向及调节量的大小;
54、根据判断出的编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节;
在所述步骤S2中,所述有效波形,在一个周期内,满足:
当A相端口的信号波形领先于B相端口的信号波形时,其波形的电位变化对应的序列为:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};当 A 相端口的信号波形落后于B相端口的信号波形时,其波形的电位变化对应的序列为:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O
[0007]所述车载编码器旋钮控制调节的方法,其中,所述步骤S3还包括:
S31、当A相端口的信号波形领先于B相端口的信号波形时,则判定编码器旋钮的旋转方向为正转,否则判定旋转方向为反转。
[0008]所述车载编码器旋钮控制调节的方法,其中,所述步骤S4还包括:
541、根据判断出的编码器的旋转方向及调节量的大小进行正转计数或反转计数;
542、根据所述正转计数或者反转计数控制调节电路执行相应调节。
[0009]所述车载编码器旋钮控制调节的方法,其中,所述步骤S4还包括:
543、根据所述正转计数或者反转计数,控制进度条显示调节结果。
[0010]一种车载编码器旋钮控制调节的系统,其中,包括:第一判断模块、检测信号模块、第二判断模块,和控制调节模块;
所述第一判断模块,用于每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到电位在所述第一预定时间内是否发生变化;
所述检测信号模块,用于检测检测所述A相端口和B相端口是否输出有效波形;
所述第二判断模块,用于根据所述有效波形判断编码器旋钮的旋转方向及调节量的大小;
所述控制调节模块,用于根据判断出的编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节;
在所述检测信号模块中,所述有效波形,在一个周期内,满足:
当A相位的信号波形领先于B相位的信号波形时,其波形的电位变化对应的序列为:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};当 A 相位的信号波形落后于B相位的信号波形时,其波形的电位变化对应的序列为:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O
[0011]所述车载编码器旋钮控制调节的系统,其中,第二判断模块包括方向判断单元; 所述方向判断单元,用于当A相端口的信号波形领先于B相端口的信号波形时,则判定编码器旋钮的旋转方向为正转,否则判定旋转方向为反转。
[0012]所述车载编码器旋钮控制调节的系统,其中,所述控制调节模块包括:计数单元和调节控制单元;
所述计数单元,用于根据判断出的编码器的旋转方向及调节量的大小进行正转计数或反转计数;
所述调节控制单元,用于根据所述正转计数或者反转计数控制调节电路执行相应调
-K-T。
[0013]所述车载编码器旋钮控制调节的系统,其中,所述控制调节模块还包括调节显示单元;
所述调节显示单元,用于根据所述正转计数或者反转计数,控制进度条显示调节结果。
[0014]有益效果,本发明所提供的一种车载编码器旋钮控制调节的方法及系统,通过每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到电位在所述第一预定时间内是否发生变化;若发生变化,则检测采集到的电位是否输出有效波形,若为有效波形,根据所述有效波形判断编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节,从而有效的避免了由于车辆抖动产生的波形对通过编码器旋钮旋转调节时造成的干扰,实现了车载编码器准确控制调节的目的。
【附图说明】
[0015]图1是本发明所述车载编码器旋钮控制调节的方法的步骤流程图。
[0016]图2是本发明所述车载编码器旋钮控制调节的方法的具体实施例的示意图。
[0017]图3是本发明所述方法中过滤干扰信号的具体步骤流程图。
[0018]图4a是本发明所述方法中当A相领先B相时有效波形示意图。
[0019]图4b是本发明所述方法中当A相落后B相时有效波形示意图。
[0020]图5是本发明所述车载编码器旋转控制调节的系统原理结构图。
【具体实施方式】
[0021]为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
[0022]现有技术中,接触机械式(增量型)编码器电路模块常用的过滤杂信号的方式有二种:硬件法,在电路中加入RC电路,过滤掉干扰信号。软件法,在程序中设计算法,过滤掉干扰信号。软件方式比硬件法的成本低,效果更好,因此,本发明的硬件与一般的车载编码器旋钮设计类似,主要是从软件上进行优化设计车载导航多媒体产品编码器旋钮的效果。
[0023]本发明所述涉及到的软件设计包括车载导航多媒体产品CPU上运行的驱动程序(BSP),应用软件(APP),以及单片机上运行的程序(MCU)。以下对本发明如何使用上述软件对旋钮控制调节进行详细的说明。
[0024]本发明所提供的一种车载编码器旋钮控制调节的方法,如图1所示,所述方法包括:
S1、每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到电位在所述第一预定时间内是否发生变化;若发生变化,则执行步骤S2 ;否则重复本步骤。
[0025]在实施过程中,载导航多媒体产品CPU的2个GP1引脚与编码器电路的A、B相端口连接,驱动程序启动定时器,每隔第一预定时间通过2个GP1引脚采集编码器电路A、B相端口的电位,CPU根据获取的电位信号判断在预定时间内A相端口和B相端口的电位是否发生变化,若发生变化,则执行步骤S2,否则继续对A、B相端口的电位进行定时检测。
[0026]S2、检测所述A相端口和B相端口是否输出有效波形,若为有效波形,则执行步骤S3,否则返回步骤SI。
[0027]若检测到能采集到有效波形,则判定本次输出的有效波形,此处采集到的信号为旋钮调节的信号,非抖动引起的干扰信号,则执行下一步,否则判定该信号为干扰信号,返回上一步继续对A、B相端口的电位进行检测。
[0028]在所述步骤S2中,所述有效波形,在一个周期内,满足:
当A相端口的信号波形领先于B相端口的信号波形时,其波形的电位变化对应的序列为:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};当 A 相端口的信号波形落后于B相端口的信号波形时,其波形的电位变化对应的序列为:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O
[0029]S3、根据所述有效波形的脉冲信号判断编码器旋钮的旋转方向及调节量的大小。
[0030]根据A、B相端口输出的波形信号,即所述有效波形的脉冲信号判定编码器旋钮的旋转方向及调节量的大小。
[0031 ] 具体的,根据采集到的编码器电路A相端口和B相端口的电位,对A相端口的电位相对于B相端口电位在一个周期内是否先发生变化进行判断,若是,则判定编码器旋钮的旋转方向为正转,否则判定旋转方向为反转。
[0032]S4、根据编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节。
[0033]所述步骤S4还包括:
541、根据判断出的编码器的旋转方向及调节量的大小进行正转计数或反转计数;
542、根据所述正转计数或者反转计数控制调节电路执行相应调节。
[0034]S43、根据所述正转计数或者反转计数,控制进度条显示调节结果。
[00
35]具体的,如图2所述,在具体实施过程中,为了实现对旋钮调节进行有效的控制,具体应用中采用驱动程序、应用软件(APP),以及单片机上运行的程序(MCU)实现上述方法所具有的功能,其实现上述方法包括以下步骤:
H1、驱动程序监测到有效的旋转,发送一个检测到编码器有效的旋转的消息给应用软件;
H2、如果应用软件当前界面没有显示音量调节的进度条,则弹出音量调节进度条;
H3、驱动程序的定时器里检测到编码器的有效旋转后,每隔20ms产生一次软中断,通过SetEventDataO和SetEventO发送一次这段时间(20ms)内的正转(反转)的旋转量(对应编码器旋钮上的小格)消息给应用软件;
H4、应用软件通过串口通讯,转发步骤H3中的消息给单片机;
H5、单片机程序解析出消息中的正转(反转)的旋转量数据,控制声音控制电路进行对应的调节;
H6、单片机将步骤H5中的控制电路调节结果返回给应用程序;
H7、应用软件的调节进度条显示步骤H5中最新音量调节结果。
[0036]在上述步骤Hl中,为了过滤掉干扰信号对旋钮旋转调节时的影响,具体的,如图3所示,其还包括以下步骤:
Hll:驱动程序的一个定时器启动;
H12:步骤Hll中的定时器间隔Ims采集编码器电路模块的A、B端口电位;
H13:判定采集到A、B端口的电位有变化(从高变低,或从低变高),若是,则执行步骤H14,否则返回步骤H12;
H14:根据采集到A、B端口的电位得到波形;
H15:根据图4a和图4b中所示的有效波形在周期T内的不同组合情况,判定周期T内A、B端口的波形是否符合编码器有效波形;
如果不符合有效波形特征,则判定是杂信号,返回步骤H12,继续采集A、B端口的电位。如果是有效波形,则执行H16;
H16:根据周期T内A、B端口的波形的相位判定,即在一个周期内,如果A点的波形相对B点波形先变化,如图4a所示的4种波形组合,判定为正转;反之,即在一个周期内,如果A点的波形相对B点波形后变化,如图4b所示的4种波形组合,判定为反转; H17:如果步骤H16判定为正转,执行H181 ;反之,执行H182 ;
H181:进行正转计数;
H182:进行反转计数。
[0037]在上述方法的前提下,本发明还提供了一种车载编码器旋钮控制调节的系统,如图5所示,包括:第一判断模块110、检测信号模块120、第二判断模块130,和控制调节模块140 ;
所述第一判断模块110,用于每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到电位在所述第一预定时间内是否发生变化;
所述检测信号模块120,用于检测检测所述A相端口和B相端口是否输出有效波形;所述第二判断模块130,用于根据所述有效波形判断编码器旋钮的旋转方向及调节量的大小;
所述控制调节模块140,用于根据判断出的编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节;
在所述检测信号模块中,所述有效波形,在一个周期内,满足:
当A相端口的信号波形领先于B相端口的信号波形时,其波形的电位变化对应的序列为:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};当 A 相端口的信号波形落后于B相端口的信号波形时,其波形的电位变化对应的序列为:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O
[0038]第二判断模块包括方向判断单元;
所述方向判断单元,用于当A相端口的信号波形领先于B相端口的信号波形时,则判定编码器旋钮的旋转方向为正转,否则判定旋转方向为反转。
[0039]所述控制调节模块包括:计数单元和调节控制单元;
所述计数单元,用于根据判断出的编码器的旋转方向及调节量的大小进行正转计数或反转计数;
所述调节控制单元,用于根据所述正转计数或者反转计数控制调节电路执行相应调
-K-T。
[0040]所述控制调节模块还包括调节显示单元;
所述调节显示单元,用于根据所述正转计数或者反转计数,控制进度条显示调节结果。
[0041]本发明所采用的所述方法及系统,由于采用软件过滤杂信号的方式,因此成本低,并且通过编码器周期内的输出电位波形判定是否有效旋转的算法彻底去除了杂信号的干扰;间隔20ms发送一次方向判定与旋转量计数的消息给应用软件,以及转发给单片机控制声音(或其他)控制电路进行调节,应用程序的调节进度条显示最新的调节结果,实时性高,可以实现了提高了车载编码器控制调节准确性和实用性的效果。
[0042]本发明所提供的一种的车载编码器旋钮控制调节的方法及系统,通过每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到电位在所述第一预定时间内是否发生变化;若发生变化,则检测所述A相端口和B相端口是否输出有效波形,若为有效波形,根据所述有效波形判断编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节,从而有效的避免了由于车辆抖动产生的波形对通过编码器旋钮旋转调节时造成的干扰,实现了车载编码器准确控制调节的目的。
[0043]可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
【主权项】
1.一种车载编码器旋钮控制调节的方法,其特征在于,包括: 51、每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到的电位在所述第一预定时间内是否发生变化;若发生变化,则执行步骤S2 ;否则重复本步骤; 52、检测所述A相端口和B相端口是否输出有效波形,若为有效波形,则执行步骤S3,否则返回步骤SI ; 53、根据所述有效波形判断编码器旋钮的旋转方向及调节量的大小; 54、根据编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节; 在所述步骤S2中,所述有效波形,在一个周期内,满足: 当A相端口的信号波形领先于B相端口的信号波形时,其波形的电位变化对应的序列为:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};当 A 相端口的信号波形落后于B相端口的信号波形时,其波形的电位变化对应的序列为:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O2.根据权利要求1所述车载编码器旋钮控制调节的方法,其特征在于,所述步骤S3还包括: S31、当A相端口的信号波形领先于B相端口的信号波形,则判定编码器旋钮的旋转方向为正转,否则判定旋转方向为反转。3.根据权利要求2所述车载编码器旋钮控制调节的方法,其特征在于,所述步骤S4还包括: 541、根据判断出的编码器的旋转方向及调节量的大小进行正转计数或反转计数; 542、根据所述正转计数或者反转计数控制调节电路执行相应调节。4.根据权利要求3所述车载编码器旋钮控制调节的方法,其特征在于,所述步骤S4还包括: 543、根据所述正转计数或者反转计数,控制进度条显示调节结果。5.一种车载编码器旋钮控制调节的系统,其特征在于,包括:第一判断模块、检测信号模块、第二判断模块,和控制调节模块; 所述第一判断模块,用于每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到电位在所述第一预定时间内是否发生变化; 所述检测信号模块,用于检测所述A相端口和B相端口是否输出有效波形; 所述第二判断模块,用于根据所述有效波形判断编码器旋钮的旋转方向及调节量的大小; 所述控制调节模块,用于根据判断出的编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节; 在所述检测信号模块中,所述有效波形,在一个周期内,满足: 当A相位的信号波形领先于B相位的信号波形时,其波形的电位变化对应的序列为:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};当 A 相位的信号波形落后于B相位的信号波形时,其波形的电位变化对应的序列为:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O6.根据权利要求5所述车载编码器旋钮控制调节的系统,其特征在于,第二判断模块包括方向判断单元; 所述方向判断单元,用于当A相端口的信号波形领先于B相端口的信号波形时,则判定编码器旋钮的旋转方向为正转,否则判定旋转方向为反转。7.根据权利要求6所述车载编码器旋钮控制调节的系统,其特征在于,所述控制调节模块包括:计数单元和调节控制单元; 所述计数单元,用于根据判断出的编码器的旋转方向及调节量的大小进行正转计数或反转计数; 所述调节控制单元,用于根据所述正转计数或者反转计数控制调节电路执行相应调-K-T。8.根据权利要求7所述车载编码器旋钮控制调节的系统,其特征在于,所述控制调节模块还包括调节显示单元; 所述调节显示单元,用于根据所述正转计数或者反转计数,控制进度条显示调节结果。
【专利摘要】本发明所提供的一种车载编码器旋钮控制调节的方法及系统,通过每隔第一预定时间采集编码器电路A相端口和B相端口的电位,并判断采集到电位在所述第一预定时间内是否发生变化;若发生变化,则检测所述A相端口和B相端口是否输出有效波形,若为有效波形,根据所述有效波形判断编码器旋钮的旋转方向及调节量的大小,控制调节电路进行相应的调节,从而有效的避免了由于车辆抖动产生的波形对通过编码器旋钮旋转调节时造成的干扰,实现了车载编码器准确控制调节的目的。
【IPC分类】G05G1/10
【公开号】CN104898763
【申请号】CN201510177065
【发明人】邹历军, 曾昭德
【申请人】广东好帮手电子科技股份有限公司
【公开日】2015年9月9日
【申请日】2015年4月15日