本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別是涉及一種濾波方法及裝置。
背景技術(shù):
市面上絕大多數(shù)的乘用車為提高舒適性,廣泛采用直流電機(jī)實現(xiàn)對汽車閉合部件的電動控制,如天窗、門窗等。為了實現(xiàn)直流電機(jī)的防夾功能,在汽車閉合部件的閉合過程中,需要獲取汽車閉合部件的位置信息。所謂防夾功能指的是,在汽車閉合部件閉合的過程中,在規(guī)定范圍內(nèi)如果遇到物體或人的身體阻礙時,直流電機(jī)必須能夠檢測出該阻礙并反轉(zhuǎn)運(yùn)行。
目前,通過采集直流電機(jī)電源母線上的紋波電流,獲得汽車閉合部件的位置信息。具體地,通過對紋波電流進(jìn)行高通濾波、放大、再經(jīng)過比較器得到方波信號,通過單片機(jī)的中斷口對方波信號的下降沿進(jìn)行計數(shù),并根據(jù)計數(shù)值得到位置信息。然而,由于高通濾波只能過濾掉紋波電流中的低頻直流分量,并不能過濾掉直流電機(jī)在啟動、穩(wěn)定運(yùn)行、堵轉(zhuǎn)及切停時產(chǎn)生的高頻毛刺,所以得到的方波信號仍然會存在噪聲,這將使得依據(jù)方波信號得到的下降沿的計數(shù)值存在誤差,從而使根據(jù)計數(shù)值得到的位置信息也不準(zhǔn)確。
針對上述問題,現(xiàn)有技術(shù)中提出了一種基于軟件延時的濾波方案,其原理為,當(dāng)檢測到方波信號時,控制汽車閉合部件閉合的主程序接收中斷指令,執(zhí)行啟動計數(shù)器進(jìn)行累加計時的中斷程序,然后通過判斷計數(shù)器計時時間內(nèi)是否接收到脈沖,若是,則將計時時間內(nèi)的方波信號認(rèn)為噪聲信號,不被計數(shù),以此過濾掉噪聲。由上可見,現(xiàn)有技術(shù)的方案中,中斷程序在執(zhí)行時,主程序需要暫停,也就是說,中斷程序的執(zhí)行會占用主程序的執(zhí)行時間。對于低成本的單片機(jī)系統(tǒng),其運(yùn)算速度有限,通常主程序執(zhí)行時間在2ms以上,而方波信號及其噪聲脈寬在500μs-10μs之間,因此,中斷程序的計時過程會嚴(yán)重占用主程序時間,造成主程序執(zhí)行緩慢,從而導(dǎo)致依靠主程序無法實現(xiàn)有效延時濾波。
技術(shù)實現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明實施例提供了一種濾波方法及裝置,以解決由于累加計時的中斷程序占用主程序的執(zhí)行時間,導(dǎo)致的對方波信號延時過濾效率低的問題,技術(shù)方案如下:
一種濾波方法,應(yīng)用于主控制器,包括:
判斷與所述主控制器并列運(yùn)行的計時單元是否計時開始;
若是,判斷與所述主控制器并列運(yùn)行的計時單元是否計時結(jié)束;
若是,對方波信號進(jìn)行濾波。
優(yōu)選地,
所述判斷與所述主控制器并列運(yùn)行的計時單元是否計時開始,包括:
判斷是否檢測到所述方波信號的第一跳變沿;
若是,執(zhí)行第一中斷服務(wù)函數(shù),所述第一中斷服務(wù)函數(shù)用于觸發(fā)所述計時單元開始計時;
所述判斷與所述主控制器并列運(yùn)行的計時單元是否計時結(jié)束,包括:
判斷是否檢測到所述方波信號的第二跳變沿,所述第二跳變沿為在所述第一跳變沿之后發(fā)生的、與所述第一跳變沿最接近的跳變沿;
若是,執(zhí)行第二中斷服務(wù)函數(shù),所述第二中斷服務(wù)函數(shù)用于觸發(fā)所述計時單元結(jié)束計時,并執(zhí)行所述對方波信號進(jìn)行濾波的步驟。
優(yōu)選地,所述判斷與所述主控制器并列運(yùn)行的計時單元是否計時開始,包括:
判斷所述計時單元是否接收到計時開始的指令;
若是,執(zhí)行判斷與所述主控制器并列運(yùn)行的計時單元是否計時結(jié)束的步驟。
優(yōu)選地,所述判斷與所述主控制器并列運(yùn)行的計時單元是否計時結(jié)束,包括:
判斷是否接收到所述計時單元發(fā)送的觸發(fā)指令,所述觸發(fā)指令為所述計時單元測量預(yù)設(shè)時間后、所發(fā)送的用于觸發(fā)所述主控制器執(zhí)行第三中斷服務(wù)函數(shù)的指令,所述第三中斷服務(wù)函數(shù)用于對所述方波信號進(jìn)行濾波,所述計時單元周期執(zhí)行對所述預(yù)設(shè)時間的測量,所述預(yù)設(shè)時間至少大于最長噪聲時間,所述最長噪聲時間為從所述方波信號中監(jiān)測到的存在時間最長的噪聲的時間。
優(yōu)選地,所述對方波信號進(jìn)行濾波,包括:
獲取所述計時單元的計時時間;
判斷所述計時時間是否不小于預(yù)設(shè)濾波時間常數(shù),所述預(yù)設(shè)濾波時間常數(shù)至少大于最長噪聲時間,所述最長噪聲時間為從所述方波信號中監(jiān)測到的存在時間最長的噪聲的時間;
若是,將所述方波信號在上一時刻的電平值作為濾波后的信號在當(dāng)前時刻的電平值,所述上一時刻為所述第二跳變沿發(fā)生之前且所述第一跳變沿發(fā)生之后的任一時刻,所述當(dāng)前時刻為所述第二跳變沿發(fā)生的時刻;
若否,則將所述濾波后的信號在所述第一跳變沿發(fā)生時刻的電平值作為所述濾波后的信號在所述當(dāng)前時刻的電平值。
優(yōu)選地,所述對方波信號進(jìn)行濾波,包括:
將所述方波信號在當(dāng)前時刻的電平值,設(shè)置為一次濾波信號在所述當(dāng)前時刻的電平值,所述當(dāng)前時刻為所述計時單元本次計時結(jié)束的時刻;
判斷所述一次濾波信號在所述當(dāng)前時刻的電平值與在上一時刻的電平值是否相等,所述上一時刻為本次計時結(jié)束之前、與本次計時結(jié)束最接近的計時結(jié)束時刻;
若是,則將所述一次濾波信號在所述當(dāng)前時刻的電平值,作為濾波后的信號在所述當(dāng)前時刻的電平值;
若否,則將所述濾波后的信號在所述上一時刻的電平值,作為所述濾波后的信號在所述當(dāng)前時刻的電平值。
優(yōu)選地,還包括:
判斷是否檢測到方波信號;
若否,執(zhí)行第四中斷服務(wù)函數(shù),所述第四中斷服務(wù)函數(shù)用于觸發(fā)所述計時單元停止計時。
優(yōu)選地,所述計時單元采用計數(shù)器累加計時或采用計時器實現(xiàn)。
一種濾波裝置,應(yīng)用于主控制器,包括:
第一判斷單元,用于判斷與所述主控制器并列運(yùn)行的計時單元是否計時開始;
第二判斷單元,用于當(dāng)所述第一判斷單元的判斷結(jié)果為是時,判斷與所述主控制器并列運(yùn)行的計時單元是否計時結(jié)束;
第一執(zhí)行單元,用于當(dāng)所述第二判斷單元確定與所述主控制器并列運(yùn)行的計時單元計時結(jié)束時,對方波信號進(jìn)行濾波。
優(yōu)選地,所述第二判斷單元,包括:
第二判斷子單元,用于判斷是否接收到所述計時單元發(fā)送的觸發(fā)指令,所述觸發(fā)指令為所述計時單元測量預(yù)設(shè)時間后、所發(fā)送的用于觸發(fā)所述主控制器執(zhí)行第三中斷服務(wù)函數(shù)的指令,所述第三中斷服務(wù)函數(shù)用于對所述方波信號進(jìn)行濾波,所述計時單元周期執(zhí)行對所述預(yù)設(shè)時間的測量,所述預(yù)設(shè)時間至少大于最長噪聲時間,所述最長噪聲時間為從所述方波信號中監(jiān)測到的存在時間最長的噪聲的時間。
本實施例所提供的技術(shù)方案,執(zhí)行主程序的主控制器與實現(xiàn)計時的計時單元并列運(yùn)行,即計時單元的計時過程并不占用主程序的執(zhí)行時間,因此,采用本申請的方案解決了由于計時過程占用主程序的執(zhí)行時間導(dǎo)致的不能對方波信號有效濾波的問題。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例所提供的一種濾波方法的一種流程示意圖;
圖2為本發(fā)明實施例所提供的一種濾波方法的另一種流程示意圖;
圖3為本發(fā)明實施例所提供的一種濾波方法的一種原理圖;
圖4為本發(fā)明實施例所提供的一種濾波方法的另一種流程示意圖;
圖5為本發(fā)明實施例所提供的一種濾波方法的另一種原理圖;
圖6為本發(fā)明實施例所提供的一種濾波裝置的一種結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1,圖1為本申請實施例提供的濾波方法的一種實現(xiàn)流程圖,該方法應(yīng)用于主控制器,所述方法包括:
步驟S101、判斷與所述主控制器并列運(yùn)行的計時單元是否計時開始,若是,執(zhí)行步驟S102;
本實施例中的計時單元,既可以通過計數(shù)器累加計時這一軟件方式實現(xiàn)計時,也可以通過計時器這一硬件實現(xiàn)實時,當(dāng)然,現(xiàn)有技術(shù)中任何其它的能夠?qū)崿F(xiàn)計時的方案也適用于本發(fā)明的方案。
本實施例中,主控制器用于實現(xiàn)控制汽車閉合部件閉合的主程序,而計時單元的計時過程與主程序并列執(zhí)行。
本實施例中,計時單元計時開始,可以與主控制器有關(guān),如通過主控制器向計時單元發(fā)送計時開始的指令實現(xiàn),也可以與主控制器無關(guān),如通過對主控制器和計時單元同時上電,實現(xiàn)主控制器與計時單元的并列運(yùn)行。
步驟S102、判斷與所述主控制器并列運(yùn)行的計時單元是否計時結(jié)束,若是,執(zhí)行步驟S103;
類似于計時單元計時開始的過程,計時單元計時結(jié)束,可以與主控制器有關(guān),如通過主控制器執(zhí)行中斷函數(shù)的方式,觸發(fā)計時單元計時結(jié)束,也可以與主控制器無關(guān),如預(yù)先給計時單元設(shè)定計時時間,當(dāng)計時單元測量該計時時間后,向主控制器發(fā)送觸發(fā)指令,以通知主控制器計時單元計時結(jié)束。
步驟S103、對方波信號進(jìn)行濾波。
本實施例所提供的技術(shù)方案,執(zhí)行主程序的主控制器與實現(xiàn)計時的計時單元并列運(yùn)行,即計時單元的計時過程并不占用主程序的執(zhí)行時間,因此,采用本申請的方案解決了由于計時過程占用主程序的執(zhí)行時間導(dǎo)致的不能對方波信號有效濾波的問題。
請參閱圖2,圖2為本申請實施例提供的濾波方法的另一種實現(xiàn)流程圖,該方法應(yīng)用于主控制器,所述方法包括:
步驟S201、判斷是否檢測到方波信號的第一跳變沿,若是,執(zhí)行步驟S202;
步驟S202、執(zhí)行第一中斷服務(wù)函數(shù);
所述第一中斷服務(wù)函數(shù)用于觸發(fā)與主控制器并列運(yùn)行的計時單元開始計時。
本實施例中的計時單元,既可以通過計數(shù)器累加計時這一軟件方式實現(xiàn)計時,也可以通過計時器這一硬件實現(xiàn)實時,當(dāng)然,現(xiàn)有技術(shù)中任何其它的能夠?qū)崿F(xiàn)計時的方案也適用于本發(fā)明的方案。
步驟S203、判斷是否檢測到所述方波信號的第二跳變沿,若是,執(zhí)行步驟S204;
所述第二跳變沿為在所述第一跳變沿之后發(fā)生的、與所述第一跳變沿最接近的跳變沿。
方波信號的跳變沿包括上升沿和下降沿,因此,第一跳變沿、第二跳變沿既可以是上升沿,也可以是下降沿,但,第一跳變沿、第二跳變沿不能同時為上升沿或下降沿,即當(dāng)?shù)谝惶冄貫樯仙貢r,第二跳變沿為下降沿,當(dāng)?shù)谝惶冄貫橄陆笛貢r,第二跳變沿為上升沿。
步驟S204、發(fā)送用于觸發(fā)所述計時單元計時結(jié)束的指令;
步驟S205、獲取所述計時單元的計時時間;
當(dāng)確定計時單元計時結(jié)束后,獲取計時單元的計時時間,并根據(jù)該計時時間對方波信號進(jìn)行過濾。
步驟S206、判斷所述計時時間是否不小于預(yù)設(shè)濾波時間常數(shù),若是,執(zhí)行步驟S207,否則,執(zhí)行步驟S208;
所述預(yù)設(shè)濾波時間常數(shù)至少大于最長噪聲時間,所述最長噪聲時間為從所述方波信號中監(jiān)測到的存在時間最長的噪聲的時間,優(yōu)選地,預(yù)設(shè)濾波時間常數(shù)取有效方波信號的半個周期。
當(dāng)預(yù)設(shè)濾波時間常數(shù)取有效方波信號的周期的一半時,判斷計時時間是否等于預(yù)設(shè)濾波時間常數(shù);當(dāng)預(yù)設(shè)濾波時間常數(shù)小于有效方波信號的周期的一半,且大于最長噪聲時間時,判斷計時時間是否大于預(yù)設(shè)濾波時間常數(shù)。
當(dāng)計時時間滿足預(yù)設(shè)濾波時間常數(shù)的判斷規(guī)則時,說明計時時間內(nèi)的方波信號為有效信號,否則,說明計時時間內(nèi)的方波信號為噪聲信號。
步驟S207、將所述方波信號在上一時刻的電平值作為濾波后的信號在當(dāng)前時刻的電平值;
所述上一時刻為所述第二跳變沿發(fā)生之前且所述第一跳變沿發(fā)生之后的任一時刻,所述當(dāng)前時刻為所述第二跳變沿發(fā)生的時刻。
當(dāng)計時時間內(nèi)的方波信號為有效信號時,將方波信號在第二跳變沿發(fā)生之前的電平值作為濾波后的信號在當(dāng)前時刻的電平值,具體地,當(dāng)?shù)诙冄貫閺母唠娖教優(yōu)榈碗娖綍r,濾波后的信號在當(dāng)前時刻的電平值為高電平,當(dāng)?shù)诙冄貫閺牡碗娖教優(yōu)楦唠娖綍r,濾波后的信號在當(dāng)前時刻的電平值為低電平。
步驟S208、將所述濾波后的信號在所述第一跳變沿發(fā)生時刻的電平值作為所述濾波后的信號在所述當(dāng)前時刻的電平值。
當(dāng)計時時間內(nèi)的方波信號為噪聲信號時,濾波后的信號在當(dāng)前時刻的電平值保持在跳變沿發(fā)生時刻的電平值,以此將噪聲信號濾除。
本實施例中,步驟S204-S208均屬于對第二中斷服務(wù)函數(shù)執(zhí)行的過程。
需要說明的是,第二跳變沿用于觸發(fā)對從第一跳變沿到該第二跳變沿之間方波信號的計時的結(jié)束,但同時,該第二跳變沿也作為觸發(fā)該方波信號從第二跳變沿到沿時間軸上與該第二跳變沿最近的跳變沿之間的計時的開始。例如,第一跳變沿在t1時刻發(fā)生,第二跳變沿在t2時刻發(fā)生,沿時間軸與第二跳變沿最近的跳變沿在t3時刻發(fā)生,按照本實例的方案,對于t1時刻到t2時刻的方波信號,t1時刻計時開始,t2時刻計時結(jié)束,但同時,對于t2時刻到t3時刻的方波信號,t2時刻的第二跳變沿也用于觸發(fā)計時開始。
以下以圖3為例,說明本實施例中對計時時間內(nèi)的方波信號進(jìn)行濾波的過程:
圖3中預(yù)設(shè)濾波時間常數(shù)為有效方波信號周期的一半。
t1時刻,檢測到方波信號的上升沿,執(zhí)行第一中斷服務(wù)函數(shù),第一中斷服務(wù)函數(shù)用于觸發(fā)計時單元開始計時,t2時刻,檢測到方波信號的下降沿,執(zhí)行第二中斷服務(wù)函數(shù),第二中斷服務(wù)函數(shù)用于觸發(fā)計時單元結(jié)束計時,之后,獲取從t1到t2計時單元的計時時間,判斷計時時間是否等于預(yù)設(shè)濾波時間常數(shù),經(jīng)圖3可以看出,計時時間等于預(yù)設(shè)濾波時間常數(shù),因此,將濾波后的信號在t2時刻的電平值取為高電平。
對于t4-t5之間的方波信號,可以發(fā)現(xiàn),t4-t5的計時時間小于預(yù)設(shè)濾波時間常數(shù),因此,將濾波后的信號在t5時刻的電平值維持在t4時刻的電平值,即仍取為高電平。
需要說明的是,濾波后的信號在兩個跳變沿發(fā)生時刻之間的電平,均保持時間軸上較小的發(fā)生時刻時的電平。以t1-t2舉例說明,t1時,濾波后的信號為低電平,所以t1-t2這個時間區(qū)間內(nèi),濾波后的信號保持低電平,直到t2時刻,才由低電平變?yōu)楦唠娖健?/p>
本實施例所提供的技術(shù)方案,當(dāng)檢測到方波信號的第一跳變沿時,跳轉(zhuǎn)執(zhí)行第一中斷服務(wù)函數(shù),以觸發(fā)計時開始,觸發(fā)計時開始的動作結(jié)束后,跳轉(zhuǎn)回主程序的執(zhí)行,即,判斷是否檢測到方波信號的第二跳變沿,也就是說,第一中斷服務(wù)函數(shù)僅用于對計時觸發(fā),觸發(fā)結(jié)束后跳回主程序運(yùn)行,從而使主程序與計時過程并列執(zhí)行。由于計時過程在濾波中占用絕大部分時間,而濾波過程所占用時間幾乎可以忽略不計,因此,本申請的方案在執(zhí)行時不占用主程序時間,從而實現(xiàn)了對方波信號的有效濾波。
請參閱圖4,圖4為本申請實施例提供的濾波方法的另一種實現(xiàn)流程圖,該方法應(yīng)用于主控制器,所述方法包括:
步驟S401、判斷與所述主控制器并列運(yùn)行的計時單元是否計時開始,若是,執(zhí)行步驟S402;
本實施例中,計時單元既可以通過計數(shù)器累加計時這一軟件方式實現(xiàn)計時,也可以通過計時器這一硬件實現(xiàn)實時,當(dāng)然,現(xiàn)有技術(shù)中任何其它的能夠?qū)崿F(xiàn)計時的方案也適用于本實施例的方案。
實際應(yīng)用中,該步驟可以通過判斷計時單元是否接收到計時開始的指令實現(xiàn)。
步驟S402、判斷是否接收到所述計時單元發(fā)送的觸發(fā)指令,若是,執(zhí)行步驟S403;
所述觸發(fā)指令為所述計時單元測量預(yù)設(shè)時間后、所發(fā)送的用于觸發(fā)所述主控制器執(zhí)行第三中斷服務(wù)函數(shù)的指令,所述第三中斷服務(wù)函數(shù)用于對所述方波信號進(jìn)行濾波,所述計時單元周期執(zhí)行對所述預(yù)設(shè)時間的測量,所述預(yù)設(shè)時間至少大于最長噪聲時間,所述最長噪聲時間為從所述方波信號中監(jiān)測到的存在時間最長的噪聲的時間。
本實施例中,預(yù)先設(shè)置計時單元的計時時間(即預(yù)設(shè)時間),當(dāng)預(yù)設(shè)時間到后,計時單元向主控制器發(fā)送觸發(fā)指令,即本實施例中,計時單元計時結(jié)束的時刻不受主程序控制,而是由計時單元自身根據(jù)預(yù)先設(shè)置的預(yù)設(shè)時間所確定。
為了實現(xiàn)對方波信號的濾波,計時單元所測量的預(yù)設(shè)時間至少大于最長噪聲時間,所述最長噪聲時間為從所述方波信號中監(jiān)測到的存在時間最長的噪聲的時間,優(yōu)選地,預(yù)設(shè)時間可以取有效方波信號周期的一半。
步驟S403、將所述方波信號在當(dāng)前時刻的電平值,設(shè)置為一次濾波信號在所述當(dāng)前時刻的電平值,所述當(dāng)前時刻為所述計時單元本次計時結(jié)束的時刻;
本實施例中,當(dāng)接收到觸發(fā)指令后,對方波信號進(jìn)行了兩次濾波,第一次濾波后的信號在當(dāng)前時刻的電平值,為方波信號在當(dāng)前時刻的電平值,其中,當(dāng)前時刻為所述計時單元本次計時結(jié)束的時刻。
步驟S404、判斷所述一次濾波信號在所述當(dāng)前時刻的電平值與在上一時刻的電平值是否相等,若是,執(zhí)行步驟S405,否則,執(zhí)行步驟S406;
所述上一時刻為本次計時結(jié)束之前、與本次計時結(jié)束最接近的計時結(jié)束時刻。
步驟S405、將所述一次濾波信號在所述當(dāng)前時刻的電平值,作為濾波后的信號在所述當(dāng)前時刻的電平值;
步驟S406、將所述濾波后的信號在所述上一時刻的電平值,作為所述濾波后的信號在所述當(dāng)前時刻的電平值。
優(yōu)選地,本實施例在對方波信號過濾時,一直檢測輸入信號是否為方波信號,當(dāng)檢測不到方波信號時,執(zhí)行第四中斷服務(wù)函數(shù),所述第四中斷服務(wù)函數(shù)用于觸發(fā)所述計時單元停止計時。
以下以圖5為例,說明本實施例中對方波信號進(jìn)行濾波的過程:
其中,圖5中計時單元的時刻表示每次計時結(jié)束的時刻,且預(yù)設(shè)時間為有效方波信號周期的一半。
t2時刻,計時單元計時結(jié)束,向主程序發(fā)送觸發(fā)指令,執(zhí)行對方波信號的濾波,具體地,由于t2時刻時,方波信號為高電平,所以此時,一次濾波信號也為高電平,由于t1時刻一次濾波信號為低電平,即一次濾波信號在t1時刻與在t2時刻的電平不相等,所以,濾波后的信號在t2時刻的電平值保持其在t1時刻的電平值,即仍為低電平。
t3時刻,方波信號為高電平,所以,一次濾波后的信號也為高電平,由于t2時刻一次濾波信號為高電平,即一次濾波信號在t2時刻與在t3時刻的電平相等,所以,濾波后的信號在t3時刻的電平值與一次濾波信號在t3時刻的電平值相同,即為高電平。
需要說明的是,無論是一次濾波信號、記錄一次濾波在上一時刻的信號,還是濾波后的信號,在兩個計時結(jié)束時刻之間的電平,均保持時間軸上較小的結(jié)束時刻時的電平。以t2-t3舉例說明,t2時,一次濾波信號為高電平,所以t2-t3這個時間區(qū)間內(nèi),一次濾波信號保持高電平,同理,t2時,濾波后的信號為低電平,所以,t2-t3這個時間區(qū)間內(nèi),濾波后的信號保持低電平。
本發(fā)明實施例所提供的技術(shù)方案,執(zhí)行主程序的主控制器與實現(xiàn)計時的計時單元并列運(yùn)行,即計時單元的計時過程并不占用主程序的執(zhí)行時間,因此,采用本申請的方案解決了由于計時過程占用主程序的執(zhí)行時間導(dǎo)致的不能對方波信號有效濾波的問題。
請參閱圖6,圖6為本申請實施例提供的濾波裝置的一種結(jié)構(gòu)示意圖,該裝置結(jié)構(gòu)示意圖中的各單元的工作過程參照圖1對應(yīng)的實施例中方法的執(zhí)行過程,該裝置應(yīng)用于主控制器,該裝置包括:
第一判斷單元610,用于判斷與所述主控制器并列運(yùn)行的計時單元是否計時開始;
第二判斷單元620,用于當(dāng)所述第一判斷單元610的判斷結(jié)果為是時,判斷與所述主控制器并列運(yùn)行的計時單元是否計時結(jié)束;
第一執(zhí)行單元630,用于當(dāng)所述第二判斷單元620確定與所述主控制器并列運(yùn)行的計時單元計時結(jié)束時,對方波信號進(jìn)行濾波。
優(yōu)選地,所述第二判斷單元,包括:
第二判斷子單元,用于判斷是否接收到所述計時單元發(fā)送的觸發(fā)指令,所述觸發(fā)指令為所述計時單元測量預(yù)設(shè)時間后、所發(fā)送的用于觸發(fā)所述主控制器執(zhí)行所述第三中斷服務(wù)函數(shù)的指令,所述第三中斷服務(wù)函數(shù)用于對所述方波信號進(jìn)行濾波,所述計時單元周期執(zhí)行對所述預(yù)設(shè)時間的測量,所述預(yù)設(shè)時間至少大于最長噪聲時間,所述最長噪聲時間為從所述方波信號中監(jiān)測到的存在時間最長的噪聲的時間。
本實施例所提供的技術(shù)方案,執(zhí)行主程序的主控制器與實現(xiàn)計時的計時單元并列運(yùn)行,即計時單元的計時過程并不占用主程序的執(zhí)行時間,因此,采用本申請的方案解決了由于計時過程占用主程序的執(zhí)行時間導(dǎo)致的不能對方波信號有效濾波的問題。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。