技术领域
[0001] 本
发明涉及汽车技术领域,尤其涉及一种汽车变速器档位检测方法及装置。
背景技术
[0002] 随着科技的发展,人们对整车经济性和智能性要求越来越高,于是具有启停功能整车应运而生。为了配合整车启停功能的时间,需要实时对变速器的档位进行检测与监控。目前市场应用的档位
传感器测试主要为独立的
信号测试,主要采用51
单片机(对所有兼容Intel 8031指令系统的单片机的统称)以中断计数方式检测单路脉冲宽度调制PWM信号。如图1所示,在信号下降沿触发中断,并触发第一计数器计数,当信号变为高电平时,记录下第一计数器数值a,并继续计数,当信号再处于下降沿时,再记录第二计数器数值b,得到占空比即为a/b×100%,然后将计数器归零再进入新一轮计算占空比过程。
[0003] 上述检测方法的
缺陷在于,只可检测单路占空比信号,不能检测
倒档开关量信号,并且使用的单片机的中断口和计数器有限,导致扩展性差。
发明内容
[0004] 本发明所要解决的技术问题在于,提供一种可以有效提高汽车变速器档位传感器
软件检测方法及装置,避免检测受计数器数量限制。
[0005] 为了解决上述技术问题,本发明提供一种汽车变速器档位检测方法,包括:
[0006] 接收用于检测档位的至少两路脉冲宽度调制PWM信号和一路开关量信号;
[0007] 通过分时复用第一计数器和第二计数器,检测接收的至少两路PWM信号,分别获得各路PWM信号的占空比;
[0008] 将获得的各路PWM信号的占空比以及经处理后的开关量信号输出并显示。
[0009] 其中,所述用于检测档位的至少两路脉冲宽度调制PWM信号为空档传感器的两路PWM信号,一路开关量信号为倒档开关高低电平信号。
[0010] 其中,所述通过分时复用第一计数器和第二计数器,检测接收的至少两路PWM信号,分别获得各路PWM信号的占空比,具体包括:
[0011] 消除所述第一路PWM信号高低电平的半波,在所述第一路PWM信号进入高电平时,将第一计数器和第二计数器清零,并开始计数,当所述第一路PWM信号进入低电平时,记录第一计数器的数值,当所述第一路PWM信号再次进入高电平时,记录第二计数器数值,将记录的第一计数器数值与第二计数器数值相比,获得所述第一路PWM信号的占空比;
[0012] 之后,消除所述第二路PWM信号高低电平的半波,在所述第二路PWM信号进入高电平时,第一计数器和第二计数器清零,并开始计数,当所述第二路PWM信号进入低电平时,记录第一计数器的数值,当所述第二路PWM信号再次进入高电平时,记录第二计数器数值,将记录的第一计数器数值与第二计数器数值相比,获得所述第二路PWM信号的占空比。
[0013] 其中,所述检测方法还包括初始化步骤,具体为将第一计数器和第二计数器设置为两个16位的计数器。
[0014] 其中,在检测某路PWM信号时,当第一计数器的计数值超过第一计数
阈值,或者第二计数器的计数值超过第二计数阈值时,跳出该路PWM信号检测并反馈故障信号,进行下一路信号的检测。
[0015] 本发明还提供一种汽车变速器档位检测装置,包括:
[0016] 接收单元,用于检测档位的至少两路脉冲宽度调制PWM信号和一路开关量信号;
[0017] 检测单元,用于通过分时复用第一计数器和第二计数器,检测接收的至少两路PWM信号,分别获得各路PWM信号的占空比;
[0018] 输出单元,用于将获得的各路PWM信号的占空比以及经处理后的开关量信号输出并显示。
[0019] 其中,所述用于检测档位的至少两路脉冲宽度调制PWM信号为空档传感器的两路PWM信号,一路开关量信号为倒档开关高低电平信号。
[0020] 其中,所述检测单元具体用于:
[0021] 消除所述第一路PWM信号高低电平的半波,在所述第一路PWM信号进入高电平时,将第一计数器和第二计数器清零,并开始计数,当所述第一路PWM信号进入低电平时,记录第一计数器的数值,当所述第一路PWM信号再次进入高电平时,记录第二计数器数值,将记录的第一计数器数值与第二计数器数值相比,获得所述第一路PWM信号的占空比;
[0022] 之后,消除所述第二路PWM信号高低电平的半波,在所述第二路PWM信号进入高电平时,第一计数器和第二计数器清零,并开始计数,当所述第二路PWM信号进入低电平时,记录第一计数器的数值,当所述第二路PWM信号再次进入高电平时,记录第二计数器数值,将记录的第一计数器数值与第二计数器数值相比,获得所述第二路PWM信号的占空比。
[0023] 其中,本
实施例的检测装置还包括设置单元,用于将第一计数器和第二计数器设置为两个16位的计数器。
[0024] 其中,本实施例的检测装置还包括故障处理单元,用于检测某路PWM信号时,当第一计数器的计数值超过第一计数阈值,或者第二计数器的计数值超过第二计数阈值时,跳出该路PWM信号检测并反馈故障信号,进行下一路信号的检测。
[0025] 本发明实施例的有益效果在于:
[0026] 采用分时复用计数器方式检测多路PWM信号和开关量信号,以高低电平占空比所对应的计时器数值计算占空比,实现各路信号的近似同时检测,使得检测不再受计数器的中断I/O口数量限制,并设置计数器计数阈值,一旦超过计数阈值则跳出该路PWM检测并输出故障信号,检测下一路信号,避免因为某路信号问题出现流程卡死,无法对其余信号进行检测的问题,提高各路检测的独立性,扩展设备的应用范围。
附图说明
[0027] 为了更清楚地说明本发明实施例或
现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028] 图1是现有的汽车变速器档位检测方法的流程示意图。
[0029] 图2是本发明实施例一一种汽车变速器档位检测方法的流程示意图。
[0030] 图3是本发明实施例一一种汽车变速器档位检测方法的具体流程示意图。
[0031] 图4是本发明实施例一中检测PWM信号的具体流程示意图。
具体实施方式
[0032] 以下各实施例的说明是参考附图,用以示例本发明可以用以实施的特定实施例。
[0033] 请参照图2所示,本发明实施例一提供一种汽车变速器档位检测方法,包括:
[0034] 接收用于检测档位的至少两路脉冲宽度调制PWM信号和一路开关量信号;
[0035] 通过分时复用第一计数器和第二计数器,检测接收的至少两路PWM信号,分别获得各路PWM信号的占空比;
[0036] 将获得的各路PWM信号的占空比以及经处理后的开关量信号输出并显示。
[0037] 以下结合图3、图4进行详细说明。
[0038] 本实施例以空档和倒档的检测为例,由此,用于检测档位的至少两路脉冲宽度调制PWM信号为空档传感器的两路PWM信号,一路开关量信号为倒档开关高低电平信号,则通过分时复用第一计数器和第二计数器,检测接收的至少两路PWM信号,分别获得各路PWM信号的占空比的过程,即先通过第一计数器和第二计数器对第一路PWM信号进行检测,之后同样再通过第一计数器和第二计数器对第二路PWM信号进行检测,最后对倒档开关量信号进行检测。
[0039] 具体地,首先消除第一路PWM信号高低电平的半波,在第一路PWM进入高电平时,第一计数器和第二计数器清零,并开始计数。第一路PWM信号进入低电平时,记录第一计数器的数值,第一路PWM信号再次进入高电平时,记录第二计数器数值,将记录的第一计数器数值与第二
定时器数值相比,获得第一路PWM信号的占空比。之后,消除第二路PWM信号高低电平的半波,检测第二路PWM信号也是同样方法:在第二路PWM进入高电平时,第一计数器和第二计数器清零,并开始计数,第二路PWM信号进入低电平时,记录第一计数器的数值,第二路PWM信号再次进入高电平时,记录第二计数器数值,将记录的第一计数器数值与第二定时器数值相比,获得第二路PWM信号的占空比。由于本实施例通过分时复用第一计数器和第二计数器,在利用第一计数器和第二计数器检测完一路PWM信号,之后再利用同样的第一计数器和第二计数器开始检测另一路PWM信号,这样,使用两个计数器即可完成这两路PWM信号检测(根据需要还可以完成更多路PWM信号的检测),相对于现有技术使用两个计数器只能完成单路PWM信号,本实施例提高了定时器使用效率,一定程度上克服了计数器数量的有限性。
[0040] 需要说明的是,在检测PWM信号之前,本实施例还包括初始化步骤,具体为将两个计数器设置为两个16位的计数器。当然,计数器的设置方式与单片机计数器类型和具体传感器PWM
频率有关,因此,也可以因不同的单片机或PWM频率而将计数器设置成其他类型。本实施例中使用51单片机,因此将第一计数器和第二计数器设置为两个16位的计数器。
[0041] 此外,在检测PWM信号时消除PWM信号高低电平的半波的原因在于,本实施例没有使用中断I/O口,因而不能采用以上升沿或下降沿触发方式来启动计数器,而是以
访问等待的方式,先消除PWM信号高低电平的半波影响,再开始计数过程。
[0042] 如图4所示,消除第一路PWM信号高低电平的半波后,在第一路PWM信号进入高电平时,将第一计数器T0和第二计数器T1的计数清零并开始计数。当第一路PWM信号进入低电平时,记录第一计数器T0的数值a;第一路PWM信号再次进入高电平时,记录第二计数器T1的数值b,从而获得第一路PWM信号的占空比为a/b×100%,然后输出至显示屏显示。检测第二路PWM信号也是类似的流程,消除第二路PWM信号高低电平的半波后,在第二路PWM信号进入高电平时,将第一计数器T0和第二计数器T1的计数清零并开始计数。当第二路PWM信号进入低电平时,记录第一计数器T0的数值a;第二路PWM信号再次进入高电平时,记录第二计数器T1的数值b,从而获得第二路PWM信号的占空比为a/b×100%,然后输出至显示屏显示。在此过程中,需考虑故障情况,为第一计数器设置第一计数阈值,为第二计数器设置第二计数阈值,如果第一计数器的计数值超过第一计数阈值,或者第二计数器的计数值超过第二计数阈值,则跳出该路PWM信号并输出故障信号,进行下一路信号的检测,避免因为某路信号问题出现流程卡死,无法对其余信号进行检测的问题,从而实现检测各路信号的相对独立。
[0043] 顺序完成两路PWM信号的检测之后即进行倒档开关量信号检测,倒档开关量信号检测则相对简单,将其转换为高低电平信号,传入单片机后给显示屏输出相应的信息即可。
[0044] 通过上述说明可知,本发明实施例的有益效果在于:
[0045] 采用分时复用计数器方式检测多路PWM信号和开关量信号,以高低电平占空比所对应的计时器数值计算占空比,实现各路信号的近似同时检测,使得检测不再受限计数器的中断I/O口数量限制,并设置计数器计数阈值,一旦超过计数阈值则跳出该路PWM检测并输出故障信号,避免因为某路信号问题出现流程卡死,无法对其余信号进行检测的问题,提高各路检测的独立性,扩展设备的应用范围。
[0046] 相应于本发明实施例一,本发明实施例二提供一种汽车变速器档位检测装置,包括:
[0047] 接收单元,用于检测档位的至少两路脉冲宽度调制PWM信号和一路开关量信号;
[0048] 检测单元,用于通过分时复用第一计数器和第二计数器,检测接收的至少两路PWM信号,分别获得各路PWM信号的占空比;
[0049] 输出单元,用于将获得的各路PWM信号的占空比以及经处理后的开关量信号输出并显示。
[0050] 其中,所述用于检测档位的至少两路脉冲宽度调制PWM信号为空档传感器的两路PWM信号,一路开关量信号为倒档开关高低电平信号。
[0051] 其中,所述检测单元具体用于:
[0052] 在所述第一路PWM信号进入高电平时,将第一计数器和第二计数器清零,并开始计数,当所述第一路PWM信号进入低电平时,记录第一计数器的数值,当所述第一路PWM信号再次进入高电平时,记录第二计数器数值,将记录的第一计数器数值与第二计数器数值相比,获得所述第一路PWM信号的占空比;
[0053] 之后,在所述第二路PWM信号进入高电平时,第一计数器和第二计数器清零,并开始计数,当所述第二路PWM信号进入低电平时,记录第一计数器的数值,当所述第二路PWM信号再次进入高电平时,记录第二计数器数值,将记录的第一计数器数值与第二计数器数值相比,获得所述第二路PWM信号的占空比。
[0054] 其中,本实施例的检测装置还包括设置单元,用于将第一计数器和第二计数器设置为两个16位的计数器。
[0055] 其中,本实施例的检测装置还包括预处理单元,用于在所述检测单元检测PWM信号时,先消除PWM信号高低电平的半波。
[0056] 其中,本实施例的检测装置还包括故障处理单元,用于检测某路PWM信号时,当第一计数器的计数值超过第一计数阈值,或者第二计数器的计数值超过第二计数阈值时,跳出该路PWM信号检测并反馈故障信号,进行下一路信号的检测。
[0057] 有关本实施例的工作原理及效果,参见本发明实施例一的描述,此处不再赘述。
[0058] 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明
权利要求所作的等同变化,仍属本发明所涵盖的范围。