发明名称 对开关输入信号跳变时序进行记录的方法
摘要 本发明公开了一种对开关输入信号跳变时序进行记录的方法,具体步骤如下:(1)采样开关输入信号值;(2)将采样值与SOE状态值进行比较运算,判断是否发生跳变;(3)判断是否为稳定跳变;(4)查找出该稳定跳变的首次跳变记录并记录;(5)计算稳定时间,并比较稳定时间与滤波周期的大小;(6)查找首次跳变;(7)查找到首次跳变记录后记录跳变时刻;(8)处理所有跳变状态,退出程序。本发明通过设计一种对开关输入信号跳变时序进行记录的方法采用高分辨率的采样周期,解决了开关输入信号跳变时间短、硬件滤波成本高,可靠性差、不易测试的问题,特别是可对多路开关输入信号同时进行采样记录时,有效提高了检测速度。
申请公布号 CN102664042B 申请公布日期 2016.05.04
申请号 CN201210116066.8 申请日期 2012.04.19
申请人 北京新航智科技有限公司 发明人 樊红斌
分类号 G11C27/02(2006.01)I 主分类号 G11C27/02(2006.01)I
代理机构 北京东正专利代理事务所(普通合伙) 11312 代理人 刘瑜冬
主权项 一种对开关输入信号跳变时序进行记录的方法,其特征在于:其具体步骤如下:(1)采样开关输入信号值DINewSts,即采样值;(2)将采样值DINewSts与SOE状态值DISOESts进行异或比较运算,DIJUMP=DINewSts∧DISOESts,当DIJUMP值为1时,发生跳变,执行步骤(3);否则继续采样;这里的DIJUMP是跳变记录值;(3)将跳变记录DIJUMP存入跳变缓冲区DIChangeRecord,依据DIJUMP<sub>k</sub>&amp;DIJUMP<sub>k‑1</sub>&amp;DIJUMP<sub>k‑2</sub>&amp;…&amp;DIJUMP<sub>i</sub>&amp;DIJUMP<sub>i‑1</sub>=0作与运算的结果判断该跳变记录是否为稳定跳变,这里DIJUMP<sub>k</sub>…DIJUMP<sub>i‑1</sub>是从k时刻向前至i‑1时刻的跳变记录值,如果为稳定跳变,通过该公式查找到首次稳定跳变时刻i,并进入步骤(4)SOE事件处理流程;否则对下一个跳变记录利用该公式进行判断;(4)用当前所在的稳定跳变时刻k与首次稳定跳变时刻i作减法运算T=k‑i,得到一个稳定时间T;(5)比较所得的稳定时间T与滤波周期TIMETICK的大小,若T不小于滤波周期TIMETICK,则进入步骤(6)查找首次抖动跳变时刻j<sub>sta</sub>;若T小于滤波周期TIMETICK,则重复步骤(4)和步骤(5)判断下一个稳定时刻;(6)从上一个滤波周期的j时刻开始,这里j=i‑TIMETICK,至时刻i之间的每个跳变记录DIJUMP<sub>j</sub>与jump<sub>search</sub>作jump<sub>search</sub>&amp;DIJUMP<sub>j</sub>&gt;0运算,jump<sub>search</sub>值为所有稳定跳变记录作与运算,即DIJUMP<sub>k</sub>&amp;DIJUMP<sub>k‑1</sub>&amp;DIJUMP<sub>k‑2</sub>&amp;…&amp;DIJUMP<sub>i</sub>=jump<sub>search</sub>所得的结果,如果运算结果成立,则判定该j时刻为首次抖动跳变发生的时刻;如果运算不成立,判断j的下一个时刻的跳变记录,直至时刻i,若直至跳变时刻i均未发生抖动跳变,则将时刻i视为首次跳变发生的时刻,将i时刻的记录作为首次跳变记录并进入步骤(8);(7)若在j时刻或j与i的中间某时刻找到首次抖动跳变记录,则不用继续查找,进入步骤(8);(8)查找到第一次跳变记录后,通过公式DISOESts=DISOESts^DIJump更新稳定跳变后的开关信号状态值,并将查找到的时刻存入SOE缓存中,并将所有跳变记录清除,退出程序。
地址 100085 北京市海淀区上地信息路10号南天大厦402室