專利名稱:一種曼徹斯特編碼的解碼方法及應(yīng)用裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種編碼的解碼方法,尤其是涉及一種曼徹斯特編碼的解碼方法及應(yīng)用裝置。
背景技術(shù):
現(xiàn)有的曼徹斯特編碼廣泛應(yīng)用于各種低速通訊裝置中,如在現(xiàn)在廣泛使用的汽車輪胎壓力監(jiān)測(cè)系統(tǒng)中,通過安裝在每個(gè)輪胎內(nèi)的傳感器,精確地測(cè)量輪胎的氣壓、溫度等物理量,并將這些信息通過無線方式傳輸?shù)桨惭b在駕駛室內(nèi)的汽車輪胎壓力監(jiān)測(cè)系統(tǒng)接收器上,使駕駛員隨時(shí)掌握汽車輪胎的壓力和溫度狀況,并在輪胎氣壓和溫度出現(xiàn)異常情況時(shí)報(bào)警,促使駕駛員及時(shí)解決輪胎故障,消除事故隱患,從而保障行車安全。
汽車輪胎壓力監(jiān)測(cè)系統(tǒng)是以無線方式傳送輪胎傳感器檢測(cè)的數(shù)據(jù),為了提高汽車輪胎壓力監(jiān)測(cè)系統(tǒng)的無線數(shù)據(jù)通信的可靠性和穩(wěn)定性,目前主要有兩種解決方式1、提高發(fā)送功率,2、提高接收靈敏度。
但是,由于民用類無線產(chǎn)品發(fā)射功率都是受限制的,并且由于汽車輪胎壓力監(jiān)測(cè)系統(tǒng)中的傳感器模塊都是由電池供電的,提高發(fā)射功率無疑會(huì)大大縮短電池的使用壽命,因此這個(gè)方法是不可取的。
提高接收靈敏度是一個(gè)可行的解決方法,但目前方法的不足之處是需要增加部分電路,并因此而增加了產(chǎn)品成本。
而在接收端對(duì)曼徹斯特編碼的解碼方面目前也存在兩種解碼模式,一是數(shù)據(jù)端口實(shí)時(shí)采樣軟件解碼,二是通過曼徹斯特的特有上升沿和下降沿以中斷方式解碼。但是由于接收芯片在沒有數(shù)據(jù)接收的時(shí)候仍然有雜波輸出,這給數(shù)據(jù)解碼帶來了很大的問題,若采用純粹的數(shù)據(jù)采樣解碼則會(huì)影響汽車輪胎壓力監(jiān)測(cè)系統(tǒng)的鍵盤、LCD顯示和聲光報(bào)警等處理裝置;而采用中斷方式解碼,由于單片機(jī)只能響應(yīng)一種中斷,也會(huì)給解碼過程帶來麻煩,因此說目前所采用的對(duì)曼徹斯特編碼的兩種解碼方法都存在著缺陷。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種新型的曼徹斯特編碼的解碼方法,可有效地提高數(shù)據(jù)接收的靈敏度,提高通信距離,降低產(chǎn)品成本,并解決應(yīng)用于相關(guān)產(chǎn)品上時(shí)成本與可靠性之間的矛盾。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為一種曼徹斯特編碼的解碼方法,第一單片機(jī)在信號(hào)發(fā)送數(shù)據(jù)前把數(shù)據(jù)組織成一個(gè)數(shù)據(jù)幀,該數(shù)據(jù)幀包括同步碼和校驗(yàn)碼,在同步碼前還設(shè)置有前導(dǎo)碼,在對(duì)同步碼進(jìn)行解碼之前第二單片機(jī)首先以中斷方式對(duì)前導(dǎo)碼進(jìn)行無線數(shù)據(jù)解碼,并判斷前導(dǎo)碼是否正確,在判斷前導(dǎo)碼是正確后再通過第二單片機(jī)直接采樣數(shù)據(jù)端口,并結(jié)合一個(gè)定時(shí)器定時(shí)方式對(duì)前導(dǎo)碼之后的同步碼和數(shù)據(jù)解碼,否則繼續(xù)監(jiān)測(cè)接收信號(hào)。
所述的前導(dǎo)碼解碼判斷的具體過程為定義曼徹斯特編碼的“1”為下降沿,“0”為上升沿,第①步,具有中斷功能的第二單片機(jī)與射頻接收芯片的數(shù)據(jù)輸出引腳連接的I/O口在數(shù)據(jù)從高電平下降到低電平時(shí),產(chǎn)生一個(gè)單片機(jī)中斷,同時(shí)給數(shù)據(jù)“1”接收累加器加1,并從該時(shí)刻開始定時(shí)器計(jì)時(shí);第②步,在下一次端口中斷來臨時(shí),判斷定時(shí)器定時(shí)時(shí)間是否溢出,若下一次中斷為定時(shí)器溢出中斷,則轉(zhuǎn)到第③步,若下一次中斷不是定時(shí)器溢出中斷,則停止定時(shí)器計(jì)時(shí),讀出定時(shí)器計(jì)時(shí)時(shí)間,同時(shí)數(shù)據(jù)“1”接收計(jì)數(shù)器加1,定時(shí)器清零重新計(jì)時(shí),等待下一次中斷;第③步,判斷接收數(shù)據(jù)“1”計(jì)數(shù)器是否為大于10,若是則整個(gè)前導(dǎo)碼接收正確,跳轉(zhuǎn)到第④步,若接收數(shù)據(jù)“1”計(jì)數(shù)器計(jì)數(shù)值小于10,則計(jì)數(shù)器清零重新監(jiān)測(cè)前導(dǎo)碼,返回第①步;第④步,開始同步碼和數(shù)據(jù)解碼。
所述的前導(dǎo)碼最好是0xFFh、0xFEh兩個(gè)字節(jié)。
所述的第④步的具體步驟如下第④-1步,第二單片機(jī)開始采樣數(shù)據(jù)端口,并保存當(dāng)前采樣的數(shù)據(jù)“0”或者“1”到數(shù)據(jù)緩沖器;第④-2步,當(dāng)檢測(cè)到數(shù)據(jù)時(shí),判斷數(shù)據(jù)是否產(chǎn)生跳變,是則轉(zhuǎn)入第④-3步,不是則返回第④-1步;第④-3步,開啟定時(shí)器計(jì),并等待下一次定時(shí)器溢出中斷;第④-4步,判斷定時(shí)器是否溢出中斷,是則轉(zhuǎn)入第④-5步,否則返回第④-3步;第④-5步,保存本次數(shù)據(jù),并繼續(xù)接收后續(xù)數(shù)據(jù);第④-6步,將數(shù)據(jù)緩沖區(qū)內(nèi)部接收進(jìn)來的數(shù)據(jù)與同步碼比較,判斷是否相等,若相等,則進(jìn)入第⑤步;若與同步碼不相等,那么之前的所有數(shù)據(jù)解碼均視為無效,開始重新監(jiān)測(cè)前導(dǎo)碼;第⑤步,以同樣方式接收數(shù)據(jù)和CRC8校驗(yàn)碼,當(dāng)數(shù)據(jù)接收次數(shù)累加器達(dá)到通信協(xié)議中規(guī)定的數(shù)據(jù)長(zhǎng)度時(shí),停止接收數(shù)據(jù),轉(zhuǎn)入第⑥步;第⑥步,對(duì)數(shù)據(jù)進(jìn)行CRC8校驗(yàn),若數(shù)據(jù)校驗(yàn)正確,則結(jié)束解碼;若校驗(yàn)出錯(cuò),則丟棄本次數(shù)據(jù),返回第①步。
一種使用上述解碼方法的應(yīng)用裝置,包括發(fā)射裝置和一個(gè)接收裝置,所述的發(fā)射裝置包括一個(gè)具有壓力、溫度、加速度和電壓檢測(cè)及后信號(hào)處理功能的智能傳感器、一個(gè)4-8位的第一單片機(jī)、一個(gè)射頻發(fā)射芯和一個(gè)發(fā)射天線,所述的接收裝置包括一個(gè)接收天線、一個(gè)射頻接收芯片和一個(gè)第二單片機(jī),所述的智能傳感器與汽車輪胎接觸,所述的射頻接收芯片的數(shù)據(jù)輸出端口與所述的第二單片機(jī)的I/O接口連接,所述的智能傳感器與汽車輪胎接觸,所述的射頻接收芯片的數(shù)據(jù)輸出端口與所述的第二單片機(jī)的I/O接口連接,所述的第二單片機(jī)以中斷方式對(duì)接收信號(hào)中的前導(dǎo)碼進(jìn)行無線數(shù)據(jù)解碼,所述的第二單片機(jī)對(duì)直接采樣數(shù)據(jù)端口的前導(dǎo)碼之后的同步碼和數(shù)據(jù)解碼。
表格2
(繼續(xù))
由t2可以得出每個(gè)數(shù)據(jù)波形持續(xù)的最長(zhǎng)時(shí)間為t3,t3=(T1+t1);最短時(shí)間為t4,t4=(T1-t1)。
曼徹斯特編碼的“1”定義為下降沿 相應(yīng)的“0”定義為上升沿 在具體解碼時(shí)采用了兩種特殊的處理方式。
1、針對(duì)前導(dǎo)碼。設(shè)置前導(dǎo)碼是0xFFh、0xFEh這兩個(gè)字節(jié),因?yàn)樵摂?shù)據(jù)除了最后一個(gè)bit為“0”之外,其他的全部是“1”,那么這個(gè)前導(dǎo)碼的前15bit的數(shù)據(jù)波形是一樣的,因此我們只要判斷兩個(gè)“1”之間的時(shí)間間隔是在指定的曼徹斯特編碼數(shù)據(jù)有效脈沖寬度范圍之內(nèi)就正確,否則就錯(cuò)誤,因此,針對(duì)前導(dǎo)碼我們?cè)O(shè)計(jì)以中斷方式對(duì)無線數(shù)據(jù)解碼。
2、針對(duì)前導(dǎo)碼之后的數(shù)據(jù)。因?yàn)檫@個(gè)部分的數(shù)據(jù)是任意的,其脈沖波形也是任意的。簡(jiǎn)單以上面針對(duì)前導(dǎo)碼的解碼方法是行不通的??紤]到該數(shù)據(jù)波形的任意性,我們通過單片機(jī)直接采樣數(shù)據(jù)端口,并結(jié)合一個(gè)定時(shí)器定時(shí)方式來解碼數(shù)據(jù),但是每次定時(shí)和采樣動(dòng)作在數(shù)據(jù)沿發(fā)生改變的時(shí)刻。
對(duì)前導(dǎo)碼軟件解碼的具體實(shí)現(xiàn)步驟如下第①步,具有中斷功能的第二單片機(jī)23與射頻接收芯片22的數(shù)據(jù)輸出引腳連接的I/O口在數(shù)據(jù)從高電平下降到低電平時(shí),產(chǎn)生一個(gè)單片機(jī)中斷,同時(shí)給數(shù)據(jù)“1”接收累加器加1,并從該時(shí)刻開始定時(shí)器計(jì)時(shí);第②步,在下一次端口中斷來臨時(shí),判斷定時(shí)器定時(shí)時(shí)間是否溢出,若下一次中斷為定時(shí)器溢出中斷,說明不是曼徹斯特編碼的數(shù)據(jù)“1”,則轉(zhuǎn)到第③步,若下一次中斷不是定時(shí)器溢出中斷,則停止定時(shí)器計(jì)時(shí),讀出定時(shí)器計(jì)時(shí)時(shí)間,這個(gè)時(shí)間處于t2有效時(shí)間范圍之內(nèi),則上次數(shù)據(jù)“1”累計(jì)正確,同時(shí)數(shù)據(jù)“1”接收計(jì)數(shù)器加1,定時(shí)器清零重新計(jì)時(shí),等待下一次中斷;第③步,判斷接收數(shù)據(jù)“1”計(jì)數(shù)器是否為大于10,若是則整個(gè)前導(dǎo)碼接收正確,同時(shí)表明接下來的可能是同步碼,跳轉(zhuǎn)到第④步,若接收數(shù)據(jù)“1”計(jì)數(shù)器計(jì)數(shù)值小于10,則說明當(dāng)前脈沖不是真正的數(shù)據(jù)前導(dǎo)碼,計(jì)數(shù)器清零重新監(jiān)測(cè)前導(dǎo)碼,返回第①步;第④步,當(dāng)接收完最后一個(gè)前導(dǎo)碼“0”之后,第二單片機(jī)23關(guān)閉該端口的外部中斷功能,第二單片機(jī)23開始接收同步碼、數(shù)據(jù)和CRC8校驗(yàn)的數(shù)據(jù),并開始同步碼和數(shù)據(jù)解碼,具體步驟如下第④-1步,第二單片機(jī)23開始采樣數(shù)據(jù)端口,并保存當(dāng)前采樣的數(shù)據(jù)“0”或者“1”到數(shù)據(jù)緩沖器;第④-2步,當(dāng)檢測(cè)到數(shù)據(jù)時(shí),判斷數(shù)據(jù)是否產(chǎn)生跳變,是則轉(zhuǎn)入第④-3步,不是則返回第④-1步;第④-3步,開啟定時(shí)器計(jì)時(shí),這個(gè)定時(shí)的時(shí)間為曼徹斯特編碼的有效數(shù)據(jù)脈沖的最長(zhǎng)時(shí)間t3,之后,第二單片機(jī)23處理其他任務(wù),并等待下一次定時(shí)器溢出中斷;第④-4步,判斷定時(shí)器是否溢出中斷,是則轉(zhuǎn)入第④-5步,否則返回第④-3步;第④-5步,定時(shí)器溢出中斷,保存本次數(shù)據(jù),并繼續(xù)接收后續(xù)數(shù)據(jù);第④-6步,判斷數(shù)據(jù)接收次數(shù)為16次,將數(shù)據(jù)緩沖區(qū)內(nèi)部接收進(jìn)來的數(shù)據(jù)與同步碼比較,判斷是否相等,若相等,則進(jìn)入第⑤步;若與同步碼不相等,那么之前的所有數(shù)據(jù)解碼均視為無效,開始重新監(jiān)測(cè)前導(dǎo)碼;若數(shù)據(jù)接收次數(shù)不為16,那么同步碼還沒有接收完畢,返回第④-1步繼續(xù)接收同步碼;第⑤步,以同樣方式接收數(shù)據(jù)和CRC8校驗(yàn)碼,當(dāng)數(shù)據(jù)接收次數(shù)累加器達(dá)到通信協(xié)議中規(guī)定的數(shù)據(jù)長(zhǎng)度時(shí),停止接收數(shù)據(jù),轉(zhuǎn)入第⑥步;第⑥步,對(duì)數(shù)據(jù)進(jìn)行CRC8校驗(yàn),若數(shù)據(jù)校驗(yàn)正確,則說明此次數(shù)據(jù)接收正確,則結(jié)束解碼,第二單片機(jī)23作其它的相應(yīng)處理函數(shù);若校驗(yàn)出錯(cuò),說明本次數(shù)據(jù)解碼錯(cuò)誤,則丟棄本次數(shù)據(jù),返回第①步。
權(quán)利要求
1.一種曼徹斯特編碼的解碼方法,其特征在于第一單片機(jī)在信號(hào)發(fā)送數(shù)據(jù)前把數(shù)據(jù)組織成一個(gè)數(shù)據(jù)幀,該數(shù)據(jù)幀包括同步碼和校驗(yàn)碼,在同步碼前還設(shè)置有前導(dǎo)碼,在對(duì)同步碼進(jìn)行解碼之前第二單片機(jī)首先以中斷方式對(duì)前導(dǎo)碼進(jìn)行無線數(shù)據(jù)解碼,并判斷前導(dǎo)碼是否正確,在判斷前導(dǎo)碼是正確后再通過第二單片機(jī)直接采樣數(shù)據(jù)端口,并結(jié)合一個(gè)定時(shí)器定時(shí)方式對(duì)前導(dǎo)碼之后的同步碼和數(shù)據(jù)解碼,否則繼續(xù)監(jiān)測(cè)接收信號(hào)。
2.如權(quán)利要求1所述的一種曼徹斯特編碼的解碼方法,其特征在于所述的前導(dǎo)碼解碼判斷的具體過程為定義曼徹斯特編碼的“1”為下降沿,“0”為上升沿,第①步,具有中斷功能的第二單片機(jī)與射頻接收芯片的數(shù)據(jù)輸出引腳連接的I/O口在數(shù)據(jù)從高電平下降到低電平時(shí),產(chǎn)生一個(gè)單片機(jī)中斷,同時(shí)給數(shù)據(jù)“1”接收累加器加1,并從該時(shí)刻開始定時(shí)器計(jì)時(shí);第②步,在下一次端口中斷來臨時(shí),判斷定時(shí)器定時(shí)時(shí)間是否溢出,若下一次中斷為定時(shí)器溢出中斷,則轉(zhuǎn)到第③步,若下一次中斷不是定時(shí)器溢出中斷,則停止定時(shí)器計(jì)時(shí),讀出定時(shí)器計(jì)時(shí)時(shí)間,同時(shí)數(shù)據(jù)“1”接收計(jì)數(shù)器加1,定時(shí)器清零重新計(jì)時(shí),等待下一次中斷;第③步,判斷接收數(shù)據(jù)“1”計(jì)數(shù)器是否為大于10,若是則整個(gè)前導(dǎo)碼接收正確,跳轉(zhuǎn)到第④步,若接收數(shù)據(jù)“1”計(jì)數(shù)器計(jì)數(shù)值小于10,則計(jì)數(shù)器清零重新監(jiān)測(cè)前導(dǎo)碼,返回第①步;第④步,開始同步碼和數(shù)據(jù)解碼。
3.如權(quán)利要求1或2所述的一種曼徹斯特編碼的解碼方法,其特征在于所述的前導(dǎo)碼為0xFFh、0xFEh兩個(gè)字節(jié)。
4.如權(quán)利要求2所述的一種曼徹斯特編碼的解碼方法,其特征在于所述的第④步的具體步驟如下第④-1步,第二單片機(jī)開始采樣數(shù)據(jù)端口,并保存當(dāng)前采樣的數(shù)據(jù)“0”或者“1”到數(shù)據(jù)緩沖器;第④-2步,當(dāng)檢測(cè)到數(shù)據(jù)時(shí),判斷數(shù)據(jù)是否產(chǎn)生跳變,是則轉(zhuǎn)入第④-3步,不是則返回第④-1步;第④-3步,開啟定時(shí)器計(jì),并等待下一次定時(shí)器溢出中斷;第④-4步,判斷定時(shí)器是否溢出中斷,是則轉(zhuǎn)入第④-5步,否則返回第④-3步;第④-5步,保存本次數(shù)據(jù),并繼續(xù)接收后續(xù)數(shù)據(jù);第④-6步,將數(shù)據(jù)緩沖區(qū)內(nèi)部接收進(jìn)來的數(shù)據(jù)與同步碼比較,判斷是否相等,若相等,則進(jìn)入第⑤步;若與同步碼不相等,那么之前的所有數(shù)據(jù)解碼均視為無效,開始重新監(jiān)測(cè)前導(dǎo)碼;第⑤步,以同樣方式接收數(shù)據(jù)和CRC8校驗(yàn)碼,當(dāng)數(shù)據(jù)接收次數(shù)累加器達(dá)到通信協(xié)議中規(guī)定的數(shù)據(jù)長(zhǎng)度時(shí),停止接收數(shù)據(jù),轉(zhuǎn)入第⑥步;第⑥步,對(duì)數(shù)據(jù)進(jìn)行CRC8校驗(yàn),若數(shù)據(jù)校驗(yàn)正確,則結(jié)束解碼;若校驗(yàn)出錯(cuò),則丟棄本次數(shù)據(jù),返回第①步。
5.一種使用權(quán)利要求1的解碼方法的應(yīng)用裝置,包括發(fā)射裝置和一個(gè)接收裝置,所述的發(fā)射裝置包括一個(gè)具有壓力、溫度、加速度和電壓檢測(cè)及后信號(hào)處理功能的智能傳感器、一個(gè)4-8位的第一單片機(jī)、一個(gè)射頻發(fā)射芯和一個(gè)發(fā)射天線,所述的接收裝置包括一個(gè)接收天線、一個(gè)射頻接收芯片和一個(gè)第二單片機(jī),其特征在于所述的智能傳感器與汽車輪胎接觸,所述的射頻接收芯片的數(shù)據(jù)輸出端口與所述的第二單片機(jī)的I/O接口連接,所述的第二單片機(jī)以中斷方式對(duì)接收信號(hào)中的前導(dǎo)碼進(jìn)行無線數(shù)據(jù)解碼,所述的第二單片機(jī)對(duì)直接采樣數(shù)據(jù)端口的前導(dǎo)碼之后的同步碼和數(shù)據(jù)解碼。
全文摘要
本發(fā)明公開了一種曼徹斯特編碼的解碼方法,特點(diǎn)是第一單片機(jī)在信號(hào)發(fā)送數(shù)據(jù)前把數(shù)據(jù)組織成一個(gè)數(shù)據(jù)幀,該數(shù)據(jù)幀包括同步碼和校驗(yàn)碼,在同步碼前還設(shè)置有前導(dǎo)碼,在對(duì)同步碼進(jìn)行解碼之前第二單片機(jī)首先以中斷方式對(duì)前導(dǎo)碼進(jìn)行無線數(shù)據(jù)解碼,并判斷前導(dǎo)碼是否正確,在判斷前導(dǎo)碼是正確后再通過第二單片機(jī)直接采樣數(shù)據(jù)端口,并結(jié)合一個(gè)定時(shí)器定時(shí)方式對(duì)前導(dǎo)碼之后的同步碼和數(shù)據(jù)解碼,否則繼續(xù)監(jiān)測(cè)接收信號(hào),優(yōu)點(diǎn)在于可以在數(shù)據(jù)輸出端口輸出的雜波中辨識(shí)出正確有效的數(shù)據(jù),可以有效地提高數(shù)據(jù)接收的靈敏度,并提高通信距離,降低產(chǎn)品成本;應(yīng)用于相關(guān)產(chǎn)品(如汽車輪胎壓力監(jiān)測(cè)系統(tǒng))上時(shí)可以很好地解決成本與可靠性之間的矛盾。
文檔編號(hào)H04L25/49GK1866310SQ20061005082
公開日2006年11月22日 申請(qǐng)日期2006年5月19日 優(yōu)先權(quán)日2006年5月19日
發(fā)明者黃菲, 胡仕偉 申請(qǐng)人:寧波中科集成電路設(shè)計(jì)中心有限公司