一種車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及車(chē)載導(dǎo)航多媒體產(chǎn)品領(lǐng)域,尤其涉及的是一種車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法及系統(tǒng)。
【背景技術(shù)】
[0002]編碼器是車(chē)載導(dǎo)航多媒體產(chǎn)品常用的控制按鈕,用戶通過(guò)面板上的編碼器按鈕調(diào)節(jié)音量、收音機(jī)的頻道等。
[0003]車(chē)載導(dǎo)航多媒體產(chǎn)品常用的編碼器屬于接觸機(jī)械式(增量型),在制造和使用過(guò)程中會(huì)產(chǎn)生一些抖動(dòng)信號(hào)。制造過(guò)程中的抖動(dòng)有:五金沖制產(chǎn)生的毛刺;五金植入塑膠時(shí)搭接處的高低不平及溢膠等。使用過(guò)程中因接觸電刷與五金接觸片及塑膠磨擦?xí)a(chǎn)生一些雜肩,這些均會(huì)引起抖動(dòng)信號(hào),使產(chǎn)品輸出的波形與標(biāo)準(zhǔn)波形有差異。由于車(chē)載產(chǎn)品的編碼器工作的汽車(chē)環(huán)境可能比較惡劣,輸出脈沖較易受干擾,比較容易產(chǎn)生毛刺,例如在車(chē)子過(guò)坑或振動(dòng)時(shí),接觸刷會(huì)瞬間的斷開(kāi)再導(dǎo)通,就產(chǎn)生脈沖信號(hào)。當(dāng)編碼器快速旋轉(zhuǎn)時(shí),更容易導(dǎo)致抖動(dòng)信號(hào)的波形,從而造成了用戶快速旋轉(zhuǎn)編碼器按鈕后,車(chē)載導(dǎo)航多媒體產(chǎn)品的音量增加達(dá)不到用戶旋轉(zhuǎn)效果,或者延遲增加,甚至出現(xiàn)誤處理,導(dǎo)致音量不變或變低的結(jié)果。
[0004]因此,現(xiàn)有技術(shù)有待于進(jìn)一步的改進(jìn)。
【發(fā)明內(nèi)容】
[0005]鑒于上述現(xiàn)有技術(shù)中的不足之處,本發(fā)明的目的在于提供一種車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法及系統(tǒng),以解決現(xiàn)有技術(shù)中車(chē)載編碼器在遇到振動(dòng)時(shí),可能會(huì)產(chǎn)生失效的波形信號(hào),從而造成編碼器旋鈕在旋轉(zhuǎn)后,車(chē)載導(dǎo)航多媒體產(chǎn)品的音量達(dá)不到用戶需要的缺陷。
[0006]本發(fā)明解決技術(shù)問(wèn)題所采用的技術(shù)方案如下:
一種車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法,其中,包括:
51、每隔第一預(yù)定時(shí)間采集編碼器電路A相端口和B相端口的電位,并判斷采集到電位在所述第一預(yù)定時(shí)間內(nèi)是否發(fā)生變化;若發(fā)生變化,則執(zhí)行步驟S2 ;否則重復(fù)本步驟;
52、檢測(cè)所述A相端口和B相端口是否輸出有效波形,若為有效波形,則執(zhí)行步驟S3,否則返回步驟SI ;
53、根據(jù)所述有效波形判斷編碼器旋鈕的旋轉(zhuǎn)方向及調(diào)節(jié)量的大??;
54、根據(jù)判斷出的編碼器旋鈕的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小,控制調(diào)節(jié)電路進(jìn)行相應(yīng)的調(diào)節(jié);
在所述步驟S2中,所述有效波形,在一個(gè)周期內(nèi),滿足:
當(dāng)A相端口的信號(hào)波形領(lǐng)先于B相端口的信號(hào)波形時(shí),其波形的電位變化對(duì)應(yīng)的序列為:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};當(dāng) A 相端口的信號(hào)波形落后于B相端口的信號(hào)波形時(shí),其波形的電位變化對(duì)應(yīng)的序列為:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O
[0007]所述車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法,其中,所述步驟S3還包括:
S31、當(dāng)A相端口的信號(hào)波形領(lǐng)先于B相端口的信號(hào)波形時(shí),則判定編碼器旋鈕的旋轉(zhuǎn)方向?yàn)檎D(zhuǎn),否則判定旋轉(zhuǎn)方向?yàn)榉崔D(zhuǎn)。
[0008]所述車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法,其中,所述步驟S4還包括:
541、根據(jù)判斷出的編碼器的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小進(jìn)行正轉(zhuǎn)計(jì)數(shù)或反轉(zhuǎn)計(jì)數(shù);
542、根據(jù)所述正轉(zhuǎn)計(jì)數(shù)或者反轉(zhuǎn)計(jì)數(shù)控制調(diào)節(jié)電路執(zhí)行相應(yīng)調(diào)節(jié)。
[0009]所述車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法,其中,所述步驟S4還包括:
543、根據(jù)所述正轉(zhuǎn)計(jì)數(shù)或者反轉(zhuǎn)計(jì)數(shù),控制進(jìn)度條顯示調(diào)節(jié)結(jié)果。
[0010]一種車(chē)載編碼器旋鈕控制調(diào)節(jié)的系統(tǒng),其中,包括:第一判斷模塊、檢測(cè)信號(hào)模塊、第二判斷模塊,和控制調(diào)節(jié)模塊;
所述第一判斷模塊,用于每隔第一預(yù)定時(shí)間采集編碼器電路A相端口和B相端口的電位,并判斷采集到電位在所述第一預(yù)定時(shí)間內(nèi)是否發(fā)生變化;
所述檢測(cè)信號(hào)模塊,用于檢測(cè)檢測(cè)所述A相端口和B相端口是否輸出有效波形;
所述第二判斷模塊,用于根據(jù)所述有效波形判斷編碼器旋鈕的旋轉(zhuǎn)方向及調(diào)節(jié)量的大?。?br> 所述控制調(diào)節(jié)模塊,用于根據(jù)判斷出的編碼器旋鈕的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小,控制調(diào)節(jié)電路進(jìn)行相應(yīng)的調(diào)節(jié);
在所述檢測(cè)信號(hào)模塊中,所述有效波形,在一個(gè)周期內(nèi),滿足:
當(dāng)A相位的信號(hào)波形領(lǐng)先于B相位的信號(hào)波形時(shí),其波形的電位變化對(duì)應(yīng)的序列為:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};當(dāng) A 相位的信號(hào)波形落后于B相位的信號(hào)波形時(shí),其波形的電位變化對(duì)應(yīng)的序列為:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O
[0011]所述車(chē)載編碼器旋鈕控制調(diào)節(jié)的系統(tǒng),其中,第二判斷模塊包括方向判斷單元; 所述方向判斷單元,用于當(dāng)A相端口的信號(hào)波形領(lǐng)先于B相端口的信號(hào)波形時(shí),則判定編碼器旋鈕的旋轉(zhuǎn)方向?yàn)檎D(zhuǎn),否則判定旋轉(zhuǎn)方向?yàn)榉崔D(zhuǎn)。
[0012]所述車(chē)載編碼器旋鈕控制調(diào)節(jié)的系統(tǒng),其中,所述控制調(diào)節(jié)模塊包括:計(jì)數(shù)單元和調(diào)節(jié)控制單元;
所述計(jì)數(shù)單元,用于根據(jù)判斷出的編碼器的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小進(jìn)行正轉(zhuǎn)計(jì)數(shù)或反轉(zhuǎn)計(jì)數(shù);
所述調(diào)節(jié)控制單元,用于根據(jù)所述正轉(zhuǎn)計(jì)數(shù)或者反轉(zhuǎn)計(jì)數(shù)控制調(diào)節(jié)電路執(zhí)行相應(yīng)調(diào)
-K-T。
[0013]所述車(chē)載編碼器旋鈕控制調(diào)節(jié)的系統(tǒng),其中,所述控制調(diào)節(jié)模塊還包括調(diào)節(jié)顯示單元;
所述調(diào)節(jié)顯示單元,用于根據(jù)所述正轉(zhuǎn)計(jì)數(shù)或者反轉(zhuǎn)計(jì)數(shù),控制進(jìn)度條顯示調(diào)節(jié)結(jié)果。
[0014]有益效果,本發(fā)明所提供的一種車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法及系統(tǒng),通過(guò)每隔第一預(yù)定時(shí)間采集編碼器電路A相端口和B相端口的電位,并判斷采集到電位在所述第一預(yù)定時(shí)間內(nèi)是否發(fā)生變化;若發(fā)生變化,則檢測(cè)采集到的電位是否輸出有效波形,若為有效波形,根據(jù)所述有效波形判斷編碼器旋鈕的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小,控制調(diào)節(jié)電路進(jìn)行相應(yīng)的調(diào)節(jié),從而有效的避免了由于車(chē)輛抖動(dòng)產(chǎn)生的波形對(duì)通過(guò)編碼器旋鈕旋轉(zhuǎn)調(diào)節(jié)時(shí)造成的干擾,實(shí)現(xiàn)了車(chē)載編碼器準(zhǔn)確控制調(diào)節(jié)的目的。
【附圖說(shuō)明】
[0015]圖1是本發(fā)明所述車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法的步驟流程圖。
[0016]圖2是本發(fā)明所述車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法的具體實(shí)施例的示意圖。
[0017]圖3是本發(fā)明所述方法中過(guò)濾干擾信號(hào)的具體步驟流程圖。
[0018]圖4a是本發(fā)明所述方法中當(dāng)A相領(lǐng)先B相時(shí)有效波形示意圖。
[0019]圖4b是本發(fā)明所述方法中當(dāng)A相落后B相時(shí)有效波形示意圖。
[0020]圖5是本發(fā)明所述車(chē)載編碼器旋轉(zhuǎn)控制調(diào)節(jié)的系統(tǒng)原理結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0021]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]現(xiàn)有技術(shù)中,接觸機(jī)械式(增量型)編碼器電路模塊常用的過(guò)濾雜信號(hào)的方式有二種:硬件法,在電路中加入RC電路,過(guò)濾掉干擾信號(hào)。軟件法,在程序中設(shè)計(jì)算法,過(guò)濾掉干擾信號(hào)。軟件方式比硬件法的成本低,效果更好,因此,本發(fā)明的硬件與一般的車(chē)載編碼器旋鈕設(shè)計(jì)類(lèi)似,主要是從軟件上進(jìn)行優(yōu)化設(shè)計(jì)車(chē)載導(dǎo)航多媒體產(chǎn)品編碼器旋鈕的效果。
[0023]本發(fā)明所述涉及到的軟件設(shè)計(jì)包括車(chē)載導(dǎo)航多媒體產(chǎn)品CPU上運(yùn)行的驅(qū)動(dòng)程序(BSP),應(yīng)用軟件(APP),以及單片機(jī)上運(yùn)行的程序(MCU)。以下對(duì)本發(fā)明如何使用上述軟件對(duì)旋鈕控制調(diào)節(jié)進(jìn)行詳細(xì)的說(shuō)明。
[0024]本發(fā)明所提供的一種車(chē)載編碼器旋鈕控制調(diào)節(jié)的方法,如圖1所示,所述方法包括:
S1、每隔第一預(yù)定時(shí)間采集編碼器電路A相端口和B相端口的電位,并判斷采集到電位在所述第一預(yù)定時(shí)間內(nèi)是否發(fā)生變化;若發(fā)生變化,則執(zhí)行步驟S2 ;否則重復(fù)本步驟。
[0025]在實(shí)施過(guò)程中,載導(dǎo)航多媒體產(chǎn)品CPU的2個(gè)GP1引腳與編碼器電路的A、B相端口連接,驅(qū)動(dòng)程序啟動(dòng)定時(shí)器,每隔第一預(yù)定時(shí)間通過(guò)2個(gè)GP1引腳采集編碼器電路A、B相端口的電位,CPU根據(jù)獲取的電位信號(hào)判斷在預(yù)定時(shí)間內(nèi)A相端口和B相端口的電位是否發(fā)生變化,若發(fā)生變化,則執(zhí)行步驟S2,否則繼續(xù)對(duì)A、B相端口的電位進(jìn)行定時(shí)檢測(cè)。
[0026]S2、檢測(cè)所述A相端口和B相端口是否輸出有效波形,若為有效波形,則執(zhí)行步驟S3,否則返回步驟SI。
[0027]若檢測(cè)到能采集到有效波形,則判定本次輸出的有效波形,此處采集到的信號(hào)為旋鈕調(diào)節(jié)的信號(hào),非抖動(dòng)引起的干擾信號(hào),則執(zhí)行下一步,否則判定該信號(hào)為干擾信號(hào),返回上一步繼續(xù)對(duì)A、B相端口的電位進(jìn)行檢測(cè)。
[0028]在所述步驟S2中,所述有效波形,在一個(gè)周期內(nèi),滿足:
當(dāng)A相端口的信號(hào)波形領(lǐng)先于B相端口的信號(hào)波形時(shí),其波形的電位變化對(duì)應(yīng)的序列為:{11,01,00,10}、{01,00,10,11}、{00,10,11,01}或者{10,11,01,00};當(dāng) A 相端口的信號(hào)波形落后于B相端口的信號(hào)波形時(shí),其波形的電位變化對(duì)應(yīng)的序列為:{11,10,00,01}、{10,00,01,11}、{00,01,11,10}或者{01,11,10,00} O
[0029]S3、根據(jù)所述有效波形的脈沖信號(hào)判斷編碼器旋鈕的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小。
[0030]根據(jù)A、B相端口輸出的波形信號(hào),即所述有效波形的脈沖信號(hào)判定編碼器旋鈕的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小。
[0031 ] 具體的,根據(jù)采集到的編碼器電路A相端口和B相端口的電位,對(duì)A相端口的電位相對(duì)于B相端口電位在一個(gè)周期內(nèi)是否先發(fā)生變化進(jìn)行判斷,若是,則判定編碼器旋鈕的旋轉(zhuǎn)方向?yàn)檎D(zhuǎn),否則判定旋轉(zhuǎn)方向?yàn)榉崔D(zhuǎn)。
[0032]S4、根據(jù)編碼器旋鈕的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小,控制調(diào)節(jié)電路進(jìn)行相應(yīng)的調(diào)節(jié)。
[0033]所述步驟S4還包括:
541、根據(jù)判斷出的編碼器的旋轉(zhuǎn)方向及調(diào)節(jié)量的大小進(jìn)行正轉(zhuǎn)計(jì)數(shù)或反轉(zhuǎn)計(jì)數(shù);
542、根據(jù)所述正轉(zhuǎn)計(jì)數(shù)或者反轉(zhuǎn)計(jì)數(shù)控制調(diào)節(jié)電路執(zhí)行相應(yīng)調(diào)節(jié)。
[0034]S43、根據(jù)所述正轉(zhuǎn)計(jì)數(shù)或者反轉(zhuǎn)計(jì)數(shù),控制進(jìn)度條顯示調(diào)節(jié)結(jié)果。
[00