基于單片機的汽車輪胎胎壓監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
基于單片機的汽車輪胎胎壓監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn),基于,單片機,汽車輪胎,監(jiān)測,系統(tǒng),設(shè)計,實現(xiàn)
SY-025-BY-2
畢業(yè)設(shè)計(論文)任務(wù)書
學(xué)生姓名
張龍飛
系部
汽車與交通工程學(xué)院
專業(yè)、班級
車輛工程07-8
指導(dǎo)教師姓名
范德會
職稱
副教授
從事
專業(yè)
計算機應(yīng)用
是否外聘
□是
■否
題目名稱
基于單片機的汽車輪胎胎壓監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
一、設(shè)計(論文)目的、意義
隨著世界經(jīng)濟的不斷發(fā)展,基礎(chǔ)投資的不斷加大,以及公路設(shè)施的改善和高速公路里程的迅速增加,公路交通的平均車速有了很大提高。但同時交通事故尤其是爆胎事故、追尾事故也相應(yīng)增加,給人民的生命財產(chǎn)造成重大損失。
交通安全已成為國家和個人越來越關(guān)注的重點。據(jù)統(tǒng)計,輪胎爆胎的原因有:輪胎壓力過高、輪胎漏氣、輪胎溫度異常升高、輪胎松動、掉胎,而追尾事故的主要原因有前方車輛爆胎失控、視線不好,看不清前方車輛的剎車信號、不能提前獲知前方有事故車輛。這些問題大部分都可以通過輪胎胎壓檢測系統(tǒng)解決,這就決定了輪胎胎壓檢測系統(tǒng)在公路交通中起著極其重要的作用,應(yīng)用輪胎胎壓檢測系統(tǒng)可大大減少交通事故的發(fā)生,保障汽車行駛的安全。
二、設(shè)計(論文)內(nèi)容、技術(shù)要求(研究方法)
設(shè)計內(nèi)容:設(shè)計一個小型汽車輪胎胎壓監(jiān)測系統(tǒng),該系統(tǒng)采用直接式胎壓監(jiān)測的方法,硬件主要包括以下四大模塊:單片機主控模塊、傳感器模塊、報警模塊和顯示模塊。其中單片機主要完成外圍硬件的控制以及一些運算功能; 傳感器完成信號的采樣功能;報警模塊主要負(fù)責(zé)聲音報警和燈光報警;顯示模塊完成字符、數(shù)字的顯示功能。系統(tǒng)軟件主要由主程序、監(jiān)測胎壓、溫度子程序、報警子程序、顯示子程序等模塊組成。系統(tǒng)接通電源后進行初始化,然后胎壓監(jiān)測程序啟動,連續(xù)監(jiān)測輪胎的壓力及其溫度,當(dāng)輪胎壓力或溫度小于設(shè)定的報警值時,在LED顯示器上顯示。當(dāng)數(shù)值大于報警值,報警燈閃爍、喇叭鳴響,同時顯示器顯示當(dāng)前的壓力及其溫度,提醒司機進行相應(yīng)處理。
技術(shù)要求:通過室內(nèi)試驗證明,一般認(rèn)為氣壓提高25%,輪胎壽命將會降低15%~20%;氣壓降低25%,壽命大約降低30%。一般轎車的輪胎正常氣壓值在210kPa左右,多座位商務(wù)車在240kPa左右為宜。此外,汽車輪胎溫度越高,輪胎的強度越低,變形越大(一般不能超過80℃,當(dāng)溫度達到95℃時,輪胎的情況非常危險),每升高1℃,輪胎磨損就增加2%,行駛速度每增加一倍,輪胎行駛里程將降低50%。因此,本系統(tǒng)告警值設(shè)定為胎壓158KPa和262KPa,溫度小于80℃。
研究方法:系統(tǒng)設(shè)計方法采用先搭建系統(tǒng)硬件電路,然后進行系統(tǒng)軟件設(shè)計。硬件電路需要進行傳感器的選取及其設(shè)定、單片機的選取、顯示電路及其報警電路的設(shè)計。軟件設(shè)計主要包括胎壓監(jiān)測模塊、顯示模塊、報警模塊及其主模塊的設(shè)計。
三、設(shè)計(論文)完成后應(yīng)提交的成果
形成可演示的輪胎胎壓監(jiān)測系統(tǒng)及其系統(tǒng)設(shè)計說明書。
四、設(shè)計(論文)進度安排
2011.3.1——2011.3.11 查閱文獻、撰寫開題報告
2011.3.12——2011.3.27 系統(tǒng)總體設(shè)計
2011.3.28——2011.4.13 系統(tǒng)硬件設(shè)計
2011.4.14——2011.5.1 系統(tǒng)軟件設(shè)計
2011.5.2——2011.5.10 系統(tǒng)測試
2011.5.11——2011.5.31 撰寫系統(tǒng)設(shè)計說明書
五、主要參考資料
[1] 曾星星,鐘海,楊朝陽. LM2068R液晶顯示模塊在汽車胎壓監(jiān)測系統(tǒng)中的應(yīng)用[J]. 湖北汽車工業(yè)學(xué)院學(xué)報,2010,24(1): 70-72
[2] 肖文,凌玉華,廖力清. 基于智能傳感器MPXY8320A的TPMS系統(tǒng)設(shè)計[J]. 單片機與嵌入式系統(tǒng)應(yīng)用,2010,(3):59-64
[3] 張淑芳,田麗,夏新運,李玲純. TPMS設(shè)計方案的思考[J]. 電子技術(shù),2009,(8):64-65
[4] 徐道連,游穎敏,劉澤奎,黃文龍. 一種新型嵌入式汽車胎壓監(jiān)測系統(tǒng)[J]. 重慶工學(xué)院學(xué) 報,2008,22(11):1-3
[5] 臧懷泉,田超,趙保軍. 嵌入式汽車輪胎氣壓監(jiān)測系統(tǒng)設(shè)計[J]. 北京理工大學(xué)學(xué)報, 2008,28(10):870-874
六、備注
指導(dǎo)教師簽字:
年 月 日
教研室主任簽字:
年 月 日
本科學(xué)生畢業(yè)設(shè)計
基于單片機的汽車輪胎胎壓監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
系部名稱: 汽車與交通工程學(xué)院
專業(yè)班級: 車輛工程07-8班
學(xué)生姓名: 張龍飛
指導(dǎo)教師: 范德會
職 稱: 副教授
黑 龍 江 工 程 學(xué) 院
二○一一年六月
The Graduation Design for Bachelor's Degree
Design and Implemtation of Tire Pressure Detection System based on SCM
Candidate:Zhang Longfei
Specialty:Vehicle engineering
Class: 07-8
Supervisor:Associate Prof. FanDehui
Heilongjiang Institute of Technology
2011-06·Harbin
黑龍江工程學(xué)院本科生畢業(yè)設(shè)計
摘 要
隨著社會經(jīng)濟和科學(xué)技術(shù)的發(fā)展,公路交通已經(jīng)成為關(guān)系國民經(jīng)濟命脈和社會、經(jīng)濟發(fā)展的重大系統(tǒng),但隨之而來的交通事故給人的生命安全和經(jīng)濟發(fā)展造成了重大損失。爆胎是引起交通事故的主要原因,保持標(biāo)準(zhǔn)的車胎氣壓行駛是防止爆胎的關(guān)鍵,胎壓檢測系統(tǒng)(TPMS)是由此應(yīng)運而生的一項汽車安全防范系統(tǒng)。胎壓檢測系統(tǒng)主要用于汽車行駛過程中對汽車胎壓與溫度的實時檢測,當(dāng)出現(xiàn)異常狀態(tài)時進行報警,從而保障駕乘者的行車安全。本課題研究的目的是開發(fā)一種用于機動車輛上的無線胎壓檢測系統(tǒng)。
本文提出了一種基于無線技術(shù)的胎壓檢測系統(tǒng)方案,給出了系統(tǒng)總體結(jié)構(gòu)框圖,闡述了系統(tǒng)硬件電路和各模塊軟件的設(shè)計方法。硬件設(shè)計綜合運用了檢測技術(shù)、單片機技術(shù)及無線通信技術(shù),其中發(fā)射模塊能實時檢測、處理輪胎的壓力和溫度參數(shù),并運用無線方式將處理后的數(shù)據(jù)傳輸?shù)浇邮漳K;接收模塊能校驗數(shù)據(jù)并顯示結(jié)果,用以告知駕駛員各個輪胎的情況。軟件設(shè)計包括發(fā)射模塊和接收模塊兩部分,具體為發(fā)射模塊和接收模塊的初始化、數(shù)據(jù)測量及處理,發(fā)射及接收程序。
關(guān)鍵詞:胎壓檢測系統(tǒng);無線通信技術(shù);傳感器;射頻收發(fā);C語言
ABSTRACT
With the socio.economic and science and technology development,road traffic has become the major system of the national economy and the social,economic development,however,traffic accidents following resulted in significant losses about the lives and safety of people and economic development.Puncture is the main cause of traffic accidents,keep driving in standards tire pressure is the key to prevent puncture,Tire pressure detection system(TPMS)which bom as a car security system.Tire pressure monitoring system is mainly used for real-time tire pressure and temperature monitoring in the process of driving to protect the occupants of the driving safety when the abnormal state of alarm.The purpose of this research is to develop a wireless RF transmission tire pressure monitoring system which used in motor vehicle.
This paper proposed a wireless technology based on the fire pressure monitoring systems programs,gave the overall system design block diagram and explain the system hardware circuit design and software design of the modules.Hardware circuit mainly uses sensor detection technology,single-chip technology and wireless communication technology,transmitter module can detect,deal with the tire pressure and temperature parameters real—time,and transmitted data processed to the receiver module use the way of wireless.Receiver module cail calibration data and display the result to inform the driver of the situation of all tires.Software design contains transmitter module and receiver module,specific for transmitter module and receiver module initialization,data measurement and processing,send and receive procedures.
Key words:tire pressure monitoring system,wireless communication technology
sensor,anti-jamming,RF transceiver,C language
II
目 錄
摘 要 I
ABSTRACT II
第1章 緒 論 1
1.1選題的背景 1
1.2 課題的目的及意義 3
1.3 課題主要工作 4
第2章 系統(tǒng)整體方案設(shè)計 5
2.1 系統(tǒng)設(shè)計要求 5
2.2 系統(tǒng)設(shè)計方案 5
2.2.2 發(fā)射模塊 6
2.2.2 接收模塊 6
2.3 元器件選擇 6
2.4 關(guān)鍵技術(shù)研究 7
2.4.1 頻率選擇 7
2.4.2 信號編碼方式 7
2.4.3 輪胎定位技術(shù) 8
2.5 本章小結(jié) 8
第3章 發(fā)射模塊的設(shè)計 9
3.1傳感器單元的硬件電路設(shè)計 9
3.1.1 DS18B20工作方式 9
3.1.2 ADC0809工作方式 10
3.1.3 DS18B20溫度檢測程序 13
3.2發(fā)射單元的硬件電路設(shè)計 17
3.2.1 發(fā)射單元控制電路 17
3.2.2 發(fā)射單元發(fā)射電路 18
3.3發(fā)射模塊的軟件設(shè)計 18
3.3.1 編程工具選用 19
3.3.2編程語言及開發(fā)軟件的選用 19
3.3.3通信協(xié)議 19
3.3.4軟件設(shè)計 21
3.4 本章小結(jié) 25
第4章 接收模塊的設(shè)計 27
4.1接收模塊的硬件電路設(shè)計 27
4.1.1射頻接收單元的硬件電路設(shè)計 27
4.1.2射頻接收單元工作方式 29
4.1.3顯示報警單元電路設(shè)計 35
4.1.4蜂鳴器報警單元電路設(shè)計 35
4.1.5電源單元設(shè)計 36
4.2接收模塊的軟件設(shè)計 36
4.3 本章小結(jié) 40
第5章 系統(tǒng)測試 41
5.1 概述 41
5.2 信號實時傳輸顯示測試 41
5.3 溫度超過預(yù)警值報警測試 42
5.4 模擬壓力超過預(yù)警值報警測試 43
5.5 模擬壓力和溫度超過預(yù)警值報警測試 43
5.6 本章小結(jié) 44
結(jié) 論 45
參考文獻 46
致 謝 47
附錄 48
第1章 緒 論
1.1選題的背景
本世紀(jì)初,由于凡世通(Firestone)輪胎的質(zhì)量問題,造成了超過100人死亡和400人受傷,此事引起了業(yè)界和美國政府的高度關(guān)注,普利斯通、凡世通公司被迫收回650萬只輪胎。據(jù)美國汽車工程師學(xué)會最近的調(diào)查,美國每年有26萬交通事故是由于輪胎壓力低或滲漏造成的,此外,每年75%的輪胎故障是出于輪胎滲漏或充氣不足引起的。由于每年造成巨大的經(jīng)濟損失,美國政府要求汽車制造商加速發(fā)展胎壓檢測系統(tǒng)(Tire Pressure Monitoring System,簡稱TPMS),以減少輪胎事故的發(fā)生。
近年來汽車電子產(chǎn)品得到了飛速發(fā)展,并已經(jīng)形成了獨立的汽車電子產(chǎn)業(yè)。汽車輪胎壓力監(jiān)視系統(tǒng)是一項集先進傳感器技術(shù)、無線通訊技術(shù)、信息處理實時測控技術(shù)、嵌入式系統(tǒng)應(yīng)用技術(shù)等于一體的高新技術(shù)汽車電子產(chǎn)品。TPMS實時的對汽車輪胎氣壓進行自動監(jiān)測,對輪胎漏氣,低氣壓,氣壓過高及溫度過高等輪胎狀況進行預(yù)警,以保障汽車行駛安全。
目前TPMS主要有兩種實現(xiàn)方式:直接TPMS和間接TPMS。間接TPMS是與車輛的防抱死系統(tǒng)(ABS)一起使用的。ABS采用車輪轉(zhuǎn)速傳感器測量每個車輪的轉(zhuǎn)速。當(dāng)一個輪胎的氣壓減小時,滾動半徑就減小,而車輪的旋轉(zhuǎn)速度就相應(yīng)地加快。指示燈會提示司機,有一個輪胎處于低壓狀態(tài)。但是,間接TPMS有一定的局限性。第一是指示燈無法指出是哪個輪胎處于低壓狀態(tài)。第二,當(dāng)同一車軸或同一側(cè)的兩個輪胎都處于低壓狀態(tài)時,它無法檢測出究竟是哪個輪胎充氣不足。第三,如果所有四個輪胎都處于低壓狀態(tài),該系統(tǒng)不會發(fā)現(xiàn)這一故障。另外,氣壓不足時輪胎直徑的減少和氣壓的降低非常微小。對于薄胎來說,69kPa的壓降只會使輪胎直徑減小1 m m 。這種壓降不符合美國的最終判定規(guī)則所規(guī)定的25%原則,采用間接方法進行檢測在很大程度上依賴于輪胎和負(fù)載因子。直接TPMS采用固定在每個車輪中的壓力傳感器直接測量每個輪胎的氣壓。然后,這些傳感器會通過發(fā)送器將胎壓數(shù)據(jù)發(fā)送到中央接收器進行分析,分析結(jié)果將被傳送至安裝在車內(nèi)的顯示器上。顯示器的類型和當(dāng)今大多數(shù)車輛上裝配的簡單的胎壓指示器不同,它可以顯示每個輪胎的實際氣壓,甚至還包括備用輪胎的氣壓。因此,直接TPMS可以連接至顯示器,告訴司機哪個輪胎充氣不足。由于直接TPMS可直接測量每個輪胎的氣壓,因此當(dāng)任何一個或幾個輪胎處于低壓狀態(tài)時,它們都會被檢測出來,當(dāng)車輛的所有四個輪胎都處于低壓狀態(tài)時也可以檢測到。直接TPMS也可檢測到較小的壓降。有些系統(tǒng)甚至可以檢測到7 kPa的壓降。
國外對于TPMS系統(tǒng)的研究起步較早,20世紀(jì)70年代末歐洲的一些發(fā)達國家就開始對輪胎氣壓監(jiān)測系統(tǒng)進行研究。英國Lucas公司早在1981年就推出了駕駛室設(shè)置接受器和每個車輪均有傳感器的裝置模型。隨后,C.RK公司和Marketing公司也相繼開發(fā)出了自己的產(chǎn)品,基本結(jié)構(gòu)是由傳感器、信號發(fā)生器和接收器三部分組成,傳感器安裝在輪輞上,直接檢測輪胎的內(nèi)壓。德國Doduco公司研制的Primac系統(tǒng),可以同時監(jiān)測輪胎的壓力和溫度。德國Wabeo公司和Bosch公司在1989年推出了利用ABS(制動防抱死系統(tǒng))傳感器監(jiān)測輪胎壓力的新裝置。wabCO系統(tǒng)由一個3/2通道的控制閥和一個與輪胎氣門嘴相接的氣缸組成,當(dāng)輪胎氣壓變化時,氣缸活塞使ABS傳感器信號發(fā)生變化,與ABS共用一個電子控制單元。Bosch公司的汽車輪胎壓力監(jiān)測系統(tǒng)由裝在輪輞上的壓力傳感器、帶有顯示器的電子部件和高頻收發(fā)機三部分組成,與ABS一起工作,已經(jīng)開始成批量的裝載汽車上。英國S.P公司研制的DWS系統(tǒng)(漏氣報警系統(tǒng)),可以把輪胎壓力降低的信號通知駕駛員,系統(tǒng)利用ABS傳感器測量輪胎的滾動半徑,通過計算程序監(jiān)測輪胎氣壓。
國外因立法較早,其開發(fā)生產(chǎn)的TPMS已經(jīng)相當(dāng)成熟,能夠經(jīng)受5.7萬公里的使用測試。主要生產(chǎn)商有加拿大斯馬輪胎設(shè)備(SmarTire Systems)公司,固特異輪胎橡膠公司,米其林集團公司,諾基亞輪胎公司,日本橫濱公司等?,F(xiàn)在國外的TPMS的研發(fā)重點在于開發(fā)無源的TPMS,如采用SAW這類無源器件的頻率變化來監(jiān)測輪胎壓力的變化。日本阿爾卑斯電氣公司開發(fā)的不需電池的汽車輪胎氣壓監(jiān)測系統(tǒng)最近通過有關(guān)試驗驗證,符合歐洲及美國的電磁波相關(guān)法律規(guī)定,今后將以行駛條件及輪胎種類等因素的影響為中心進行評測,計劃在歐美、日本等地進行實地試驗,2004年8月開始提供樣品,2006年投入批量生產(chǎn)。
國內(nèi)對于TPMS的研究起步較晚,只是近幾年才開始進行研究。最新的中華人民共和國國家標(biāo)準(zhǔn)“機動車運行安全技術(shù)條件”中的安全防護裝置條款中規(guī)定:“車長大于6m的長途客車和旅游客車、最大設(shè)計總質(zhì)量大于12000kg的載貨汽車和載貨牽引車應(yīng)安裝輪胎壓力報警裝置;有關(guān)部分機動車應(yīng)安裝輪胎壓力報警裝置的要求,自本標(biāo)準(zhǔn)發(fā)布之日起第25個月開始對新注冊車實施”??梢娢覈呀?jīng)開始重視汽車輪胎氣壓監(jiān)測設(shè)備的發(fā)展和應(yīng)用。
現(xiàn)在國內(nèi)有許多汽車配件商開始代理銷售國外的TPMS系統(tǒng)。在上海和重慶及廣東等地有幾家公司開始投入生產(chǎn)并銷售TPMS,典型產(chǎn)品如:上海泰好電子科技有限公司的“泰好”牌TPMS--204型汽車輪胎壓力監(jiān)測器,重慶三信電子有限公司的TPMS.S1R4A輪胎壓力監(jiān)測顯示系統(tǒng),福州東球金口哨輪胎防爆有限公司的“金口哨汽車輪胎漏氣報警哨”,上海保隆工貿(mào)有限公司的“迪吉泰”輪胎氣壓監(jiān)測系統(tǒng),佛山市安力信科技有限公司“泰杰”牌TPM系列輪胎氣壓監(jiān)測系統(tǒng)等。
吉林大學(xué)、北京理工大學(xué)、鄭州大學(xué)、清華大學(xué)、上海交通大學(xué)、哈爾濱工業(yè)大學(xué)等高校都有學(xué)者對直接型TPMS相關(guān)技術(shù)進行理論研究,設(shè)計出了一系列方案,也有一些監(jiān)測報警裝置申報了專利。但是,國內(nèi)廠家生產(chǎn)的TPMS基本是靠引進國外公司輪胎壓力監(jiān)測系統(tǒng)開發(fā)平臺及生產(chǎn)線,核心技術(shù)都掌握在國外廠家手中,基本沒有自主知識產(chǎn)權(quán)可言。目前國內(nèi)的TPMS系統(tǒng)問題不少:安裝繁瑣、影響美觀、整車廠難以配裝;不能設(shè)定標(biāo)準(zhǔn)胎壓,無法保障輪胎合理使用:射頻效率、編碼糾錯性能差、在惡劣環(huán)境下漏報嚴(yán)重;能耗較高,不能達到TPMS系統(tǒng)應(yīng)有的使用壽命要求;成本高昂,檢測范圍小,產(chǎn)品通用性不高。TPMS在中國的研究剛剛開始起步。高校及科研院所方面,吉林大學(xué)孫宏偉對現(xiàn)有F費scale方案進行了研究,提出了針對Ftcaale傳感器MPXY8020A的溫度補償算法;合肥工業(yè)大學(xué)沈俊峰提出了以SPl2傳感器,PICl6F683處理器,以及T5754射頻發(fā)射器構(gòu)成的輪胎壓力檢測方案;燕山大學(xué)張啟中通過分析輪速傳感器脈沖數(shù)相對差值的影響因素和影響規(guī)律,提出了基于脈沖數(shù)互比法氣壓異常報警系糾”;浙江大學(xué),屯子科技大學(xué),中國科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所等也有學(xué)者對TPMS進行了類似的理論研列”。
1.2 課題的目的及意義
目的:隨著世界經(jīng)濟的不斷發(fā)展,基礎(chǔ)投資的不斷加大,以及公路設(shè)施的改善和高速公路里程的迅速增加,公路交通的平均車速有了很大提高。但同時交通事故尤其是爆胎事故、追尾事故也相應(yīng)增加,給人民的生命財產(chǎn)造成重大損失。交通安全已成為國家和個人越來越關(guān)注的重點。
在汽車的高速行駛中,輪胎故障是所有駕駛者最為擔(dān)心和最難預(yù)防的,也是突發(fā)性交通事故發(fā)生的重要原因。在高速公路上行駛時一旦爆胎,駕駛員思想準(zhǔn)備不充分極易造成車輛側(cè)滑和不規(guī)則翻滾,輕則撞護欄,重則與其他行使車輛發(fā)生碰撞甚至車毀人亡,后果不堪設(shè)想。
據(jù)統(tǒng)計,輪胎爆胎的原因有:
(1)輪胎壓力過高;
(2)輪胎漏氣;
(3)輪胎溫度異常升高;
(4)輪胎松動、掉胎。
而追尾事故的主要原因有:
(1)前方車輛爆胎失控;
(2)視線不好,看不清前方車輛的剎車信號;
(3)不能提前獲知前方有事故車輛。
因此實時監(jiān)測輪胎氣壓和溫度的變化,保持汽車在標(biāo)準(zhǔn)的輪胎氣壓下行駛是防止爆胎的關(guān)鍵。汽車輪胎壓力監(jiān)測系(TPMS)的主要作用就是在汽車行駛時,對輪胎氣壓進行實時自動監(jiān)測,對輪胎漏氣和低氣壓進行報警,是駕車者、乘車人的生命安全保障預(yù)警系統(tǒng)。安裝輪胎壓力監(jiān)測系統(tǒng)能有效地防止輪胎在非正常氣壓下長時間行駛,提高汽車的主動安全性。
意義:保持正常的輪胎氣壓,不僅可以延長輪胎的使用壽命,減小滾動阻力,還可減少油耗,提高車輛的使用經(jīng)濟性,而且可以大大提高汽車的行駛安全性。汽車輪胎壓力監(jiān)測系統(tǒng)是駕車者、乘車人的生命安全保障預(yù)警系統(tǒng),將是一個永恒的主題,必將成為未來汽車必備的主動安全保障系統(tǒng)之一。汽車電子技術(shù)的不斷發(fā)展使汽車上安裝了越來越多的傳感器,這將促進TPMS的發(fā)展,使其技術(shù)更加成熟,性能更加穩(wěn)定,并且它的模塊將向高度集成化、單一化、無線無源化方面發(fā)展。
1.3 課題主要工作
課題的主要任務(wù)就是研究并設(shè)計一個無線胎壓檢測系統(tǒng),實現(xiàn)胎壓變化信息的實時采集和傳送,以達到汽車司機能夠在第一時間掌握汽車輪胎壓力變化的要求,并做出相應(yīng)的反應(yīng),從而避免事故的發(fā)生。
課題主要工作有以下幾點:
(1)對系統(tǒng)的關(guān)鍵技術(shù)進行研究并提出整體設(shè)計框架。
(2)傳感器、單片機及顯示元件、報警元件的選取并連接電路。
(3)進行監(jiān)測模塊、顯示模塊、報警模塊及其主模塊的程序編寫。
(4)將軟件和硬件組裝并測試。
第2章 系統(tǒng)整體方案設(shè)計
基于汽車輪胎安全使用的要求,胎壓檢測系統(tǒng)綜合運用傳感器檢測技術(shù)、單片機技術(shù)及無線通信技術(shù)來設(shè)計。該系統(tǒng)能檢測輪胎溫度和壓力波動情況,并對檢測數(shù)據(jù)進行分析和實時處理。
2.1 系統(tǒng)設(shè)計要求
本系統(tǒng)采用直接式胎壓檢測系統(tǒng)。它以鋰離子電池為電源,通過埋于輪胎罩的傳感器來直接測量輪胎的壓力和溫度,并經(jīng)無線調(diào)制發(fā)射到安裝在駕駛臺的接收模塊上。發(fā)射模塊處于輪胎的封閉狀態(tài)中,體積要??;另外由于在輪胎中更換器件很不方便且系統(tǒng)必須長時間工作,故而要求功耗低。
工作中輪胎狀態(tài)為當(dāng)輪胎壓力高于標(biāo)準(zhǔn)值(小型車為275kpa)1.2倍時,因輪胎與地面接觸的面積減少,單位壓力增高,使輪胎胎面的中部磨損增加。通過試驗證明:,一般認(rèn)為氣壓提高25%,輪胎壽命將會降低15%~20%;氣壓降低25%,壽命大約降低30%。一般轎車的輪胎正常氣壓值在210kPa左右,多座位商務(wù)車在240kPa左右為宜。此外,汽車輪胎溫度越高,輪胎的強度越低,變形越大(一般不能超過80℃,當(dāng)溫度達到95℃時,輪胎的情況非常危險),每升高1℃,輪胎磨損就增加2%,行駛速度每增加一倍,輪胎行駛里程將降低50%。因此,本系統(tǒng)告警值設(shè)定為胎壓158KPa和262KPa,溫度小于80℃。
2.2 系統(tǒng)設(shè)計方案
根據(jù)系統(tǒng)功能及技術(shù)要求,系統(tǒng)方案的總體框圖如圖2.1所示:
圖2.1 系統(tǒng)方案的總體框圖
系統(tǒng)由置入輪胎內(nèi)的發(fā)射模塊和安裝汽車駕駛臺上的接收模塊組成。發(fā)射模塊每檢測一次壓力,都會判斷此輪胎是否出現(xiàn)異常;如果判斷出現(xiàn)異常情況,則形成一幀數(shù)據(jù)并進行發(fā)射。接收模塊判斷是否接收到完整的數(shù)據(jù)幀,如準(zhǔn)確無誤,則點亮和輪胎對應(yīng)的LED指示燈。
2.2.2 發(fā)射模塊
發(fā)射模塊包括傳感器單元、微處理器和射頻單元。傳感器單元定時采集輪胎內(nèi)壓力、溫度數(shù)值。微處理器(簡稱MCU)和射頻單元集成在同一芯片內(nèi),微處理器讀取來自傳感器的數(shù)據(jù),進行處理并通過射頻單元發(fā)射出去。發(fā)射模塊的框圖如圖2.2所示。
圖2.2 發(fā)射模塊框圖
2.2.2 接收模塊
接收模塊完成信號的接收、校驗和處理,并通過LED指示燈顯示報警。接收模塊的框圖如圖2.3所示。
圖2.3 接收模塊框圖
信號接收電路將由輪胎發(fā)射出來的射頻信號放大解調(diào)后,將數(shù)字信號送給微處理器串行接口。微處理器再進行譯碼,從數(shù)據(jù)流中提取各輪胎號、壓力值以及溫度值,然后做出相應(yīng)的處理。顯示報警部分主要包括LED指示燈。
2.3 元器件選擇
無線胎壓檢測系統(tǒng)開發(fā)所需的元器件主要包含傳感器、MCU、射頻收發(fā)芯片、電池幾個部分。
(1)傳感器
本系統(tǒng)選用DS18B20溫度傳感器,DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。
(2)單片機
本系統(tǒng)選用STC98C52系列,它是一種高性能的8位單片機系列,具有速度快、功能強、功耗低、價格低等特點并且自帶看門狗復(fù)位,非法指令碼檢測復(fù)位和非法地址檢測復(fù)位等系統(tǒng)保護特性。發(fā)射模塊的MCU選用STC89C51。
(3)射頻收發(fā)芯片
接收和發(fā)射芯片的選擇主要從芯片的接收靈敏度以及性價比兩方面考慮。本系統(tǒng)選用2RF24L01B射頻收發(fā)芯片。
2.4 關(guān)鍵技術(shù)研究
2.4.1 頻率選擇
在眾多的無線通訊頻段中,由于ISM頻段(工業(yè),科學(xué),醫(yī)學(xué)頻帶)屬于公共頻段,使用者無需申請頻段許可證,這給用戶帶來了很多的方便,因此當(dāng)今大部分無線傳輸所使用的操作頻率一般都選擇處于ISM頻段的頻率。而對采用無線技術(shù)的應(yīng)用來講,通常又采用屬于ISM頻段中的LPRD(Low Power RadioDevice)頻段作為操作頻率,此頻段有兩個頻率范圍,分別為:433.05MHz.434.790 MHz和868 MHz.870 MHzi眩l。在本系統(tǒng)中采用的工作頻率設(shè)置為433.92 MHz。
2.4.2 信號編碼方式
在本文設(shè)計的胎壓檢測系統(tǒng)中,數(shù)據(jù)以9600bps的速率發(fā)送,信源編碼方式采用曼徹斯特編碼。曼徹斯特編碼以數(shù)字信號來描述就是:在每個比特周期,取值在周期中間點進行高低電平間的轉(zhuǎn)換。如圖2.4所示,一個數(shù)字0被描述為周期前一半為低電平,后一半為高電平;而數(shù)字1則是先高后低。
圖2.4 曼徹斯特編碼示例
FSK又稱頻移鍵控,是指以信號頻率在兩個值之間的偏移來描述數(shù)字l和數(shù)字0信號。在本系統(tǒng)中,數(shù)字l具有較低的頻率,而數(shù)字0則具有較高的頻率。也就是說,如果載波頻率是433.92MHz,總體頻率偏移,數(shù)字1就是(433.92)MHz,而數(shù)字0是(433.92)MHz。圖2.5是FSK調(diào)制的曼徹斯特編碼信號波形示意圖。
圖2.5 FSK調(diào)制的曼徹斯特編碼信號波形示意圖
2.4.3 輪胎定位技術(shù)
胎壓檢測系統(tǒng)中的輪胎定位是指系統(tǒng)接收各個輪胎發(fā)射模塊發(fā)出的信號并進行識別,然后判定是哪個輪胎發(fā)出信號的過程。各輪胎發(fā)射模塊中的傳感器把胎壓的變化傳遞給MCU,由MCU處理并加上該模塊的識別ID編碼(用于區(qū)分各輪胎發(fā)射模塊的編碼,然后通過發(fā)射芯片進行調(diào)制并發(fā)射出去。接收模塊接收并進行解調(diào),恢復(fù)原始數(shù)據(jù),通過讀取原始數(shù)據(jù)的ID編碼,當(dāng)接收到的信息中的輪胎內(nèi)壓力或溫度出現(xiàn)異常時,MCU將發(fā)出報警信號,駕駛員根據(jù)對應(yīng)輪胎的LED報警燈,便可及時地對該輪胎進行處理,確保汽車行駛安全。
2.5 本章小結(jié)
本章對整個系統(tǒng)的大體框架進行了確定,包括本系統(tǒng)的使用數(shù)據(jù),系統(tǒng)的工作流程,元器件的選擇和關(guān)鍵技術(shù)的的研究。這一章是整個系統(tǒng)的關(guān)鍵,是下面要進行工作的思路和方向。
第3章 發(fā)射模塊的設(shè)計
發(fā)射模塊主要由傳感器單元、發(fā)射單元組成。傳感器單元測得壓力和溫度,通過發(fā)射單元按照一定算法處理后發(fā)射出去。發(fā)射模塊的軟件設(shè)計分為數(shù)據(jù)采集和數(shù)據(jù)處理發(fā)射兩部分。
3.1傳感器單元的硬件電路設(shè)計
3.1.1 DS18B20工作方式
溫度傳感器的種類眾多,DS18B20有著超小的體積,超低的硬件開消,抗干擾能力強,精度高,附加功能強的優(yōu)點。
DS18B20工作原理及應(yīng)用:
DS18B20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。其一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。18B20共有三種形態(tài)的存儲器資源,它們分別是:
ROM 只讀存儲器,用于存放DS18B20ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的CRC碼(冗余校驗)。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20共64位ROM。
RAM 數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個字節(jié)RAM,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶EEPROM(常用于溫度報警值儲存)的鏡像。在上電復(fù)位時其值將被刷新。第5個字節(jié)則是用戶第3個EEPROM的鏡像。第6、7、8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。
圖3.1 DS18B20
3.1.2 ADC0809工作方式
ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機直接接口。
(1)ADC0809的內(nèi)部邏輯結(jié)構(gòu)
由下圖可知,ADC0809由一個8路模擬開關(guān)、一個地址鎖存與譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉(zhuǎn)換器進行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時,才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。
(2)ADC0809引腳結(jié)構(gòu)
ADC0809各腳功能如下:
D7-D0:8位數(shù)字量輸出引腳。
IN0-IN7:8位模擬量輸入引腳。
VCC:+5V工作電壓。
GND:地。
REF(+):參考電壓正端。
REF(-):參考電壓負(fù)端。
START:A/D轉(zhuǎn)換啟動信號輸入端。
ALE:地址鎖存允許信號輸入端。
圖3.2 ADC0809內(nèi)部邏輯結(jié)構(gòu)
(以上兩種信號用于啟動A/D轉(zhuǎn)換).
EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平。
OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。
CLK:時鐘信號輸入端(一般為500KHz)。
A、B、C:地址輸入線。
圖3.3 ADC0809引腳結(jié)構(gòu)
ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。
地址輸入和控制線:4條
ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經(jīng)譯碼后被選中的通道的模擬量進轉(zhuǎn)換器進行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。
數(shù)字量輸出及控制線:11條
ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時,所有內(nèi)部寄存器清零;下跳沿時,開始進行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。
CLK為時鐘輸入信號線。因ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,
VREF(+),VREF(-)為參考電壓輸入。
(3) ADC0809應(yīng)用電路原理圖
圖3.4 ADC0809應(yīng)用電路原理圖
3.1.3 DS18B20溫度檢測程序
**--------------FileInfo------------------------------------------------------------------------------
** File name: DS18B20.c
** Last modified Date: 2009-09-3
** Last Version: 1.0
** Descriptions:
** Created by:
** Created date: 2009-09-3
** Version: 1.0
** Descriptions: The original version
** Modified by:
** Modified date:
** Version:
** Descriptions:
#include"include.h"
** Name: delayb()
** Function: 延時程序
void delayb(int count) //delay
unsigned int i;
while(count)
i=200;
while(i>0)
i--;
count--;
}
** Name: dsreset()
** Function: DS18B20初始化程序
void dsreset(void) //DS18B20初始化
{
unsigned int i;
DS=0;
i=103;
while(i>0)i--;
DS=1;
i=4;
while(i>0)i--;
}
** Name: tmpreadbit()
** Function: DS18B20讀取位程序
bit tmpreadbit(void) // 讀一位
unsigned int i;
bit dat;
DS=0;i++; //小延時一下
DS=1;i++;i++;
dat=DS;
i=8;while(i>0)i--;
return (dat);
}
** Name: tmpread()
** Function: DS18B20讀取字節(jié)程序
unsigned char tmpread(void) //讀一個字節(jié)
{
unsigned char i,j,dat;
dat=0;
for(i=1;i<=8;i++)
j=tmpreadbit();
dat=(j<<7)|(dat>>1); //讀出的數(shù)據(jù)最低位在最前面,這樣剛好//一個字節(jié)在DAT里
}
return(dat); //將一個字節(jié)數(shù)據(jù)返回
** Name: tmpwritebyte()
** Function: D寫一個字節(jié)到DS18B20里的程序
void tmpwritebyte(uchar dat)
{ //寫一個字節(jié)到DS18B20里
unsigned int i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb) // 寫1部分
{
DS=0;
i++;i++;
DS=1;
i=8;while(i>0) i--;
else
{
DS=0; //寫0部分
i=8;while(i>0)i--;
DS=1;
i++;i++;
** Name: tmpchange()
** Function: 發(fā)送溫度轉(zhuǎn)換命令的程序
void tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令
{
dsreset(); //初始化DS18B20
delayb(1); //延時
tmpwritebyte(0xcc); // 跳過序列號命令
tmpwritebyte(0x44); //發(fā)送溫度轉(zhuǎn)換命令
}
** Name: tmp()
** Function: 獲得溫度的程序
int tmp() //獲得溫度
{
int temp;
float tt;
unsigned char a,b;
dsreset();
delayb(1);
tmpwritebyte(0xcc);
tmpwritebyte(0xbe); //發(fā)送讀取數(shù)據(jù)命令
a=tmpread(); //連續(xù)讀兩個字節(jié)數(shù)據(jù)
b=tmpread();
temp=b;
temp<<=8;
temp=temp|a; //兩字節(jié)合成一個整型變量。
tt=temp*0.0625; //得到真實十進制溫度值,因為DS18B20
//可以精確到0.0625度,所以讀回數(shù)據(jù)的最低位代表的是
//0.0625度。
temp=tt*10+0.5; //放大十倍,這樣做的目的將小數(shù)點后第一位
//也轉(zhuǎn)換為可顯示數(shù)字,同時進行一個四舍五入操作。
return temp; //返回溫度值
}
3.2發(fā)射單元的硬件電路設(shè)計
發(fā)射電路如圖3.5所示,它包含控制電路和發(fā)射電路兩部分,分別完成系統(tǒng)的控制功能和發(fā)射功能。根據(jù)上面?zhèn)鞲衅鲉卧觯琈CU過PTA3、PTA4、PTA5確定出傳感器的測量值,得到數(shù)值后運用一定的算法處理后,組成一幀數(shù)據(jù)然后發(fā)送。
3.2.1 發(fā)射單元控制電路
如圖所示,RF2有12個I/O口,由PTA和PTB 2部分組成,其中PTA包含8個端口,而PTB包含4個端口。單片機通過PTAl.PTA5這5個端口與傳感器連接,完成數(shù)據(jù)的傳輸,同時可以通過4個數(shù)據(jù)輸入引腳ENABLE、DATA、BAND和MODE來控制發(fā)射電路的操作模式。
圖3.5發(fā)射單元原理圖
(一)調(diào)制方式的選擇
引腳MODE作用為模式選擇,高電平選擇FSK調(diào)制方式,低電平選擇OOK調(diào)制方式;此處將PTA7置為高電平,并將MODE與PTA7相連選擇調(diào)制方式為FSK。
對于FSK調(diào)制方式,頻率的偏移是依靠外加參考晶振的負(fù)載電容的改變來實現(xiàn)的。微處理器PTB2向射頻芯片DATA引腳輸入的數(shù)據(jù)邏輯電平控制CFSK引腳的相連的內(nèi)部開關(guān)。DATA=0:開關(guān)切斷,C4和C5串聯(lián)的電容作為晶振的負(fù)載電容,負(fù)載電容??;晶振實際頻率高。DATA=1,開關(guān)接通,僅C4作為晶振的負(fù)載電容,負(fù)載電容大;晶振實際頻率低。
(二)頻率的選擇
RF2通過引腳BAND與PTB0相連用于選擇頻率。按表3.6給出的發(fā)射器頻段選擇及相應(yīng)的匹配晶體振蕩器頻率。發(fā)射輸出頻率可由下式得出:
分頻比 (3-1)
此處選擇引腳BAND為高電平,鎖相環(huán)(PLL)分頻比為32,晶體振蕩器頻率為13.56MHZ。依據(jù)式(3—1)n-I"得出=92MHZ。
表3.6頻率選擇及附加分頻器比率
BAND引腳輸入電平
頻率(MHz)
鎖相環(huán)(PLL)分頻比
晶體振蕩器頻率(MHZ)
高電壓
315
32
9.84
433.92
13.56
低電平
868
64
3.2.2 發(fā)射單元發(fā)射電路
RF2內(nèi)含一個鎖相環(huán)(PLL)低功耗UHF發(fā)射器,電壓范圍從1.9V到3.7V。發(fā)射電路的輸出級是一個方波開關(guān)電流源,通過1個12k的電阻Rl與引腳REXT相連來控制引腳RFOUT的輸出電壓。
DATACLK引腳則是通過發(fā)射單元內(nèi)部的分頻電路,產(chǎn)生212KHz的時鐘信號脈沖輸出給微處理器,作為微處理器的數(shù)據(jù)時鐘的參考頻率。
引腳RFOUT外接天線匹配電路,通過其與天線相連。天線將RFOUT引腳送來的高頻電流能量轉(zhuǎn)變?yōu)闊o線電波并傳到空間。
3.3發(fā)射模塊的軟件設(shè)計
軟件設(shè)計分成兩個部分:發(fā)射模塊軟件設(shè)計和接收模塊軟件設(shè)計。除了通訊協(xié)議外,這兩個部分的軟件設(shè)計沒有直接的聯(lián)系。軟件設(shè)計語言采用C語言。本節(jié)主要介紹了使用語言編程的優(yōu)點,描述了系統(tǒng)兩個模塊之間的通訊協(xié)議,并對發(fā)射模塊的工作流程進行了詳細(xì)的說明。發(fā)射模塊的軟件設(shè)計包括數(shù)據(jù)的采集、判斷、傳輸?shù)葞状蠊δ堋?
3.3.1 編程工具選用
HENSE.ICD08.J/Q開發(fā)系統(tǒng)是一套開發(fā)人員可以獨立開發(fā)的關(guān)于908QTx、908QYx、908JKx、908JLx等MC68HC908系列的單片機開發(fā)工具。該套開發(fā)工具包含有用于開發(fā)的軟件和硬件工具包,軟件工具包提供了完全功能版的匯編語言、免費4/16KB目標(biāo)碼C語言的編譯、編輯、全軟件模擬仿真、軟件模擬硬件仿真和適時在線仿真等功能。該開發(fā)工具也可以通過MON08接口開發(fā)其他HC08單片機12引。
(1)編程燒錄器功能(監(jiān)控模式(Mon08 MODE)對FLASH進行在線編程);
(2)編譯開發(fā)板功能(提供給用戶最小的調(diào)試工作系統(tǒng))。
HENSE.ICD08.J/Q編程開發(fā)工具集編程器和開發(fā)板兩種功能于一身,是一種價格低廉、方便實用、功能齊全的開發(fā)工具。其性價比優(yōu)于其他類仿真器。
3.3.2編程語言及開發(fā)軟件的選用
C語言是一種從匯編語言向高級語言過渡的語言,因此它既有某些匯編語言的影子,又有高級語言的特征。C語言具有豐富的位操作運算符,允許直接訪問物理地址,能實現(xiàn)匯編語言的大部分功能。C語言在大多數(shù)情況下其機器代碼生成效率和匯編語言相差不大,但可讀性和可移植性卻遠遠超過匯編語言,而且C語言還可以嵌入?yún)R編來解決高時效性的代碼編寫問題。因此本系統(tǒng)編程語言選用C語剖。
Codewarrior支持Codefire構(gòu)架、HC08系列、HCll系列、HCl6系列等芯片。在Codewarrior工具集中,編輯器、匯編器、連接器、調(diào)試器和其他軟件模塊集成在一個IDE(Integrated Development Environment)中,它為這些工具提供了一個調(diào)用接口,使這些工具之間可以無縫連接,它們之間的切換可以利用鼠標(biāo)點擊或者菜單命令實現(xiàn)。Codewarrior可以運行在多種不同操作系統(tǒng)包括Windows,Mac OS,Solaris和Linux等。各種環(huán)境下,它的功能和操作方法都一樣。Codewarrior的多平臺實現(xiàn)的一個最大的優(yōu)點就是從一個操作系統(tǒng)下開發(fā)的用戶項目文件可以無需改動的運行在另外一個操作系統(tǒng)下。因此,本系統(tǒng)軟件開發(fā)選用了Codewarrior的IDE。
3.3.3通信協(xié)議
無線數(shù)據(jù)通信雙方之間的通信協(xié)議是指數(shù)據(jù)幀的構(gòu)成方式,通訊協(xié)議的合理性是影響數(shù)據(jù)傳輸可靠性的重要因素之一。在本系統(tǒng)發(fā)射模塊和接收模塊之間進行無線通信時,數(shù)據(jù)都是以數(shù)據(jù)幀的格式傳輸。在無線數(shù)據(jù)傳輸中,數(shù)據(jù)幀中數(shù)據(jù)字節(jié)的表示方式一般有兩種,一種是二進制字節(jié)方式,一種是十六進制的ASCII方式。二進制字節(jié)方式中,字節(jié)代表其本身,而十六進制ASCII方式則是由兩個字節(jié)表示一個實際數(shù)據(jù)字節(jié),因此其效率只有二進制字節(jié)方式的一半,但采用ASCII方式可以避免數(shù)據(jù)字節(jié)與標(biāo)志字節(jié)相混淆,因此可靠性比較高。在本系統(tǒng)中,采用的是十六進制ASCII方式。
本系統(tǒng)數(shù)據(jù)傳輸率為9600kps,可由軟件選擇設(shè)定;對于MC33594來說,一組報文包括報頭,ID,頭字以及數(shù)據(jù)。在使用前ID的值存儲在配置寄存器CR2中。ID字像數(shù)據(jù)一樣發(fā)送。報頭可以按需放在ID前,或者頭字前,或者數(shù)據(jù)前面。報頭的內(nèi)容要確定,否則它可能會被MC33594當(dāng)成ID或者頭字。在FSK調(diào)制下,報頭可以是4個“1”或者“O”曼徹斯特編碼。頭字是固定的4位曼徹斯特碼0110或者它的補碼。數(shù)據(jù)是以EOM(end—of-message)字結(jié)尾,它由2個不歸零碼組成。如果在解碼中,MC33594收到的是頭字的補碼,則它解碼后輸出的數(shù)據(jù)也是以原數(shù)據(jù)的補碼形式出現(xiàn)的。
圖3.7數(shù)據(jù)幀完整數(shù)據(jù)示例
下面將描述系統(tǒng)的通訊協(xié)議。為了方便起見,MC33594的報頭,ID以及頭字統(tǒng)一用報頭表示,這樣報頭將是4個字節(jié)16位。數(shù)據(jù)是按幀發(fā)送的,每幀數(shù)據(jù)組成如下表所示:
表3.8數(shù)據(jù)幀格式
報頭
設(shè)備ID
壓力
溫度
狀態(tài)
校驗和
結(jié)束字
16位
32位
8位
8位
8位
8位
2位
報頭設(shè)置成OxFB86。由上面所述可知,MC33594的報頭占4位,可以設(shè)置成“1111’’;ID采用其默認(rèn)值“1011 1000”,該值存在CR2中,可以根據(jù)需要進行改變;頭字是固定的4位“0110”。頭字是整幀數(shù)據(jù)報頭的最后部分,它不會被解碼。也就是說MC33594輸出的數(shù)據(jù)從設(shè)備ID開始。
設(shè)備ID是32位長。這個ID用于標(biāo)定產(chǎn)品信息。前16位保留用于以后擴展,現(xiàn)在先設(shè)置為0xFF;后16位分別標(biāo)定產(chǎn)品信息和輪胎編號。輪胎編號占兩位。數(shù)據(jù)幀被接收后,MCU將檢查這些ID,如果ID與設(shè)定不符,數(shù)據(jù)會被丟棄。ID符合后,數(shù)據(jù)被保存用于以后處理(顯示或者輸出)。
壓力代表了由傳感器測量的壓力數(shù)值,它是個8位的值。
溫度代表了傳感器測量的溫度數(shù)值,它也是個8位數(shù)值。
8位數(shù)字狀態(tài)代表了發(fā)射模塊所處于的狀態(tài),這包括模塊的供電情況、傳輸方式等。
校驗和是8位數(shù)據(jù),它的存在可以減少發(fā)射模塊或者是接收模塊以及傳輸噪聲所引起的數(shù)據(jù)錯誤的幾率。它的值取決于前面的設(shè)備ID、壓力、溫度以及狀態(tài)位,它等于它們和的相反數(shù)。這樣,當(dāng)MCU接收到數(shù)據(jù)并檢驗時,如果從設(shè)備ID開始到校驗和所有的數(shù)據(jù)相加結(jié)果為零,則說明數(shù)據(jù)傳輸正常。
2位停止位是NRZ編碼,它的內(nèi)容沒有實際意義,也不會通過SPI總線傳出,它只是代表整幀數(shù)據(jù)的結(jié)尾。MC33594接收到這2位后自動停止接收數(shù)據(jù)。
3.3.4軟件設(shè)計
軟件設(shè)計是胎壓檢測系統(tǒng)研究工作的重要組成部分。本系統(tǒng)輪胎溫度和壓力數(shù)據(jù)的讀取與輸出,數(shù)據(jù)的串行通信和數(shù)據(jù)的分析、顯示、報警等都必須通過軟件功能來實現(xiàn)。因此,開發(fā)性能優(yōu)良、工作穩(wěn)定的應(yīng)用軟件是使整個系統(tǒng)能夠正常和可靠運行的前提基礎(chǔ)。
系統(tǒng)中的四個發(fā)射模塊最終是安裝在車胎上的,而最影響發(fā)射模塊工作的是電源供電問題。因此為了減少功耗,系統(tǒng)采用定時中斷的方式對壓力、溫度數(shù)據(jù)進行采集,即只有在定時中斷到來時才采集數(shù)據(jù),在其他時間系統(tǒng)都處于空閑狀態(tài)。根據(jù)發(fā)射模塊的功能,可將發(fā)射模塊軟件設(shè)計分為數(shù)據(jù)采集設(shè)計和數(shù)據(jù)處理傳輸設(shè)計兩個階段。
為避免多個發(fā)射模塊同時向接收模塊發(fā)送數(shù)據(jù)時造成數(shù)據(jù)沖突而丟失數(shù)據(jù),應(yīng)在每個隨機時間間隔內(nèi)發(fā)送多個數(shù)據(jù)幀,但這又將縮短電池的使用壽命,并增加了接收器軟件的復(fù)雜性。解決方法是每次發(fā)送2個數(shù)據(jù)幀,并且每隔3秒發(fā)送3~4個數(shù)據(jù)幀。
初始化RF2用于設(shè)置傳感器和RF2的功能,主要包括設(shè)置內(nèi)部時鐘頻率、設(shè)置定時中斷和調(diào)制模式。其程序如下:
**--------------FileInfo------------------------------------------------------------------------------
** File name: nRF24L01.c
** Last modified Date: 2009-09-3
** Last Version: 1.0
** Descriptions:
** Created by:
** Created date: 2009-09-3
** Version: 1.0
** Descriptions: The original version
** Modified by:
** Modified date:
** Version:
** Descriptions:
#include "include.h"
unsigned char const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //本地地址
unsigned char const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //接收地址
#define uchar unsigned char
unsigned char bdata sta; //狀態(tài)標(biāo)志
sbit RX_DR =sta^6;
sbit TX_DS =sta^5;
sbit MAX_RT =sta^4;
/*延時函數(shù)
void inerDelay_us(unsigned char n)
for(;n>0;n--)
_nop_();
/*NRF24L01初始化
void init_NRF24L01(void)
inerDelay_us(100);
CE=0; // chip enable
CSN=1; // Spi disable
SCK=0; // Spi clock line init high
SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 寫本地地址
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); // 寫接收端地址
SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // 頻道0自動 ACK應(yīng)答允許
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 允許接收地址只有頻道0
SPI_RW_Reg(WRITE_REG + RF_CH, 0); // 設(shè)置信道工作為2.4GHZ,收發(fā)必須一致
SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); //設(shè)置接收數(shù)據(jù)長度,本次設(shè)置為32字節(jié)
SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); //設(shè)置發(fā)射速率為1MHZ,發(fā)射功率為最大值0dB
SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e); // IRQ收發(fā)完成中斷響應(yīng),16位CRC,主發(fā)送
/*函數(shù):uint SPI_RW(uint uchar)
/*功能:NRF24L01的SPI寫時序
unsigned char SPI_RW(unsigned char uchar1)
unsigned char bit_ct
收藏