【溫馨提示】====【1】設計包含CAD圖紙 和 DOC文檔,均可以在線預覽,所見即所得,,dwg后綴的文件為CAD圖,超高清,可編輯,無任何水印,,充值下載得到【資源目錄】里展示的所有文件======【2】若題目上備注三維,則表示文件里包含三維源文件,由于三維組成零件數(shù)量較多,為保證預覽的簡潔性,店家將三維文件夾進行了打包。三維預覽圖,均為店主電腦打開軟件進行截圖的,保證能夠打開,下載后解壓即可。======【3】特價促銷,,拼團購買,,均有不同程度的打折優(yōu)惠,,詳情可咨詢QQ:1304139763 或者 414951605======【4】 題目最后的備注【LB3系列】為店主整理分類的代號,與課題內(nèi)容無關,請忽視
本科學生畢業(yè)設計
汽車防抱死制動
系統(tǒng)試驗儀的軟件設計
系部名稱: 汽車工程系
專業(yè)班級: 車輛工程 B05-18班
學生姓名: 楊 旭
指導教師: 付百學
職 稱: 教 授
黑 龍 江 工 程 學 院
二○○九年六月
The Graduation Design for Bachelor's Degree
Design on the Tester Software of
Antilock Braking System
Candidate:Yang Xu
Specialty:Vehicle Engineering
Class:B05-18
Supervisor:Professor. Fu Baixue
Heilongjiang Institute of Technology
2009-06·Harbin
黑龍江工程學院本科生畢業(yè)設計
摘 要
汽車防抱死制動系統(tǒng)是提高車輛制動性能和行車安全的重要裝置,主要功能是在汽車制動時防止車輪因抱死而使車輛失去方向,從而提高車輛行駛的安全性。隨著我國汽車保有量的不斷增加,車輛行駛的安全性也越來越受人們的觀注,加之科學技術的飛速發(fā)展,開發(fā)及合理使用高性能的汽車防抱死制動系統(tǒng)已經(jīng)成為一項重要的課題。
本文通過介紹與分析ABS的結構與工作原理、試驗儀的功能要求,確定了試驗儀的總體方案,為構建出試驗儀進行了軟件模塊的設計,給出了系統(tǒng)的抗干擾措施,完成了軟件系統(tǒng)的調(diào)試工作,并給與仿真。
關鍵詞:防抱死制動系統(tǒng);軟件;設計;調(diào)試;仿真
ABSTRACT
Automobile anti-lock braking system is to improve braking performance and the importance of traffic safety devices, the main function is to brake the car when locked to prevent the wheels of the vehicle due to loss of direction, so as to enhance the safety of vehicles. With the cars in increasing the safety of vehicles has also increased people's concept of equity, combined with the rapid development of science and technology, development and rational use of high-performance anti-lock braking system of vehicles has become a important topic.
In this paper, through the presentation and analysis of the ABS structure and working principle, the functional requirements of the tester, the tester to determine the overall program, in order to build a tester for a software module design, given the anti-jamming measures of the system to complete the debug the software system and give simulation.
Key words: anti-lock braking system; software; design; debug; simulation
II
目 錄
摘要 I
Abstract II
第1章 緒論 1
1.1 汽車防抱死制動系統(tǒng)試驗儀的國內(nèi)外研究現(xiàn)狀 1
1.2 研究的目的及意義 2
1.3 本文研究的主要內(nèi)容 2
第2章 總體方案設計 4
2.1 設計思想 4
2.1.1 設計步驟 4
2.1.2 實現(xiàn)功能和創(chuàng)新點 4
2.2 確定ABS類型 4
2.2.1 ABS的分類 4
2.2.2 選擇ABS類型 5
2.3 汽車防抱死制動系統(tǒng)的組成和工作原理 6
2.3.1 汽車防抱死制動系統(tǒng)組成 6
2.3.2 汽車防抱死系統(tǒng)工作原理 7
2.4 總體方案確定 9
2.4.1 ABS試驗儀組成及工作原理 9
2.4.2 仿真實驗板總體布置 9
2.5 本章小結 10
第3章 軟件系統(tǒng)的設計 11
3.1 軟件設計的編程語言 11
3.1.1 開發(fā)環(huán)境的選擇 11
3.1.2 編程語言的選擇 11
3.1.3 編程語言的介紹 12
3.2 編程環(huán)境 12
3.3 軟件系統(tǒng)的主程序 14
3.4 ABS控制系統(tǒng)軟件模塊設計 17
3.4.1 系統(tǒng)初始化模塊 17
3.4.2 系統(tǒng)啟動自檢模塊 17
3.4.3 ABS主控制模塊 18
3.4.4 數(shù)據(jù)采集中斷服務程序 18
3.4.5 故障診斷模塊 18
3.4.6 參考車速計算模塊 18
3.5 軟件系統(tǒng)抗干擾技術 19
3.5.1 自檢程序 19
3.5.2 冗余技術 19
3.5.3 軟件陷阱技術 19
3.5.4 軟件“看門狗”技術 20
3.6 本章小結 21
第4章 硬件選擇與系統(tǒng)開發(fā)應用 22
4.1 控制系統(tǒng)組成及原理 22
4.2 ABS電路硬件設計 23
4.2.1 單片機的選擇 23
4.2.2 二極管的功能原理及接口電路 27
4.2.3 控制開關的設計及其接口電路 28
4.2.4 電源的選擇及其電路 29
4.2.5 驅動芯片的選擇 31
4.3 軟件程序運行和調(diào)試 32
4.3.1 調(diào)試過程 32
4.3.2 調(diào)試中出現(xiàn)的問題 32
4.4 軟件的仿真演示 33
4.4.1 仿真面板 33
4.4.2 降壓演示 34
4.4.3 升壓演示 34
4.4.4 保壓演示 35
4.4.5 電路演示 35
4.4.6 油電聯(lián)合演示 36
4.5 本章小結 38
結論 39
參考文獻 40
致謝 41
附錄 43
第1章 緒 論
1.1 汽車防抱死制動系統(tǒng)試驗儀的國內(nèi)外研究現(xiàn)狀
從ABS系統(tǒng)從出現(xiàn)至今,其發(fā)展取得了很大的突破。目前國內(nèi)、外使用的汽車制動防抱死仿真實驗裝置數(shù)量不多,而且功能并不全面?,F(xiàn)今使用的汽車制動防抱死系統(tǒng)試驗軟件可以分為兩類:
一類是以國外進口設備為代表的汽車制動防抱死仿真實驗裝置。它主要是利用一個電子控制系統(tǒng)控制電動機的通斷電來模擬汽車制動時ABS系統(tǒng)所控制的車輪速度的變化,其顯示系統(tǒng)也僅僅是顯示制動過程中輪速的變化,不能較真實的反映汽車的制動防抱死過程[1]。而且該裝置無真實的制動防抱死系統(tǒng),無法展示ABS系統(tǒng)的結構及工作原理,不具有真實感,更無故障仿真處理功能。
第二類是我國部分院校自行研制的汽車制動防抱死仿真試驗裝置,其主要特點如下:
1、以電機為動力源,靠皮帶驅動車輪旋轉
該種結構在進行制動仿真實驗時,皮帶與車輪間存在強烈的打滑現(xiàn)象,皮帶磨損較快,而且會產(chǎn)生噪聲。同時,該結構不便于調(diào)速甚至不能調(diào)速,無法展現(xiàn)不同車速下ABS系統(tǒng)的工作情況,更無法反映汽車在不同附著系數(shù)路面上制動效果的差異。
2、以轉速表顯示制動時車輪轉動速度的變化
其顯示功能較差,效果不很明顯。要真正反映ABS系統(tǒng)的工作情況,制動仿真實驗裝置還必須能夠如實地展現(xiàn)ABS系統(tǒng)的工作過程,并以曲線的形式顯示制動時滑移率等參數(shù)的變化。
3、故障診斷的仿真功能尚不完善,不能便捷地進行故障的仿真設置與清除
故障仿真設置與清除是該仿真系統(tǒng)的一個重要組成部分,不能進行故障仿真將嚴重影響該裝置的實用性。
4、ABS系統(tǒng)教學手段單一,主要采用口頭教學方式
如果利用二維或三維動畫形象直觀地展示ABS系統(tǒng)的結構及工作原理,將有助于我國廣大汽車使用者及汽車維修人員對ABS知識的掌握,極大地提高教學效率,有助于汽車的合理使用與合理維修。
由此可見,目前所使用的汽車制動防抱死仿真實驗裝置還相當不完善,對汽車制動防抱死裝置進行仿真研究,研制適應我國國情的、功能更加完備的汽車制動防抱死仿真實驗裝置是非常必要的[2]。
1.2 研究的目的及意義
ABS(Anti-locked Braking System)防抱死制動系統(tǒng),它是一種具有防滑、防鎖死等優(yōu)點的汽車安全控制系統(tǒng),現(xiàn)代汽車上大量安裝防抱死制動系統(tǒng),ABS既有普通制動系統(tǒng)的制動功能,又能防止車輪鎖死,使汽車在制動狀態(tài)下仍能轉向,保證汽車的制動方向穩(wěn)定性,防止產(chǎn)生側滑和跑偏,是目前汽車上最先進、制動效果最佳的制動裝置[3]。
隨著汽車工業(yè)的飛速發(fā)展,我國汽車保有量不斷增加(截止到2008年末我國民用汽車保有量約為6467萬輛,比上年末增長13.5%,其中私人汽車保有量4173萬輛,增長18.1%),汽車數(shù)量迅猛增加的同時,車速也變得越來越快,汽車工業(yè)的高速發(fā)展,給人們的工作和生活帶來了極大的方便。ABS系統(tǒng)的作用是自動地控制作用于車輪上的制動力矩的大小,將制動時車輪的滑移率控制在15%~20%的范圍內(nèi),從而使車輪與地面之間始終保持在峰值附著系數(shù)附近進行制動,以縮短制動距離。與此同時,ABS系統(tǒng)可有效地避免車輪被制動抱死時出現(xiàn)的甩尾及橫向側滑現(xiàn)象,使汽車的方向穩(wěn)定性及轉向操縱性得到明顯提高[3]。
隨著ABS系統(tǒng)的逐漸普及,合理地使用和維修汽車制動防抱死裝置已成為廣大汽車用戶及汽車維修人員必須面對的問題。
ABS系統(tǒng)的技術含量較高,結構較為復雜,學習難度較大。如果設計用單片機控制的汽車ABS試驗儀裝置,通過現(xiàn)在新型單片機的強大的數(shù)據(jù)處理與控制功能,實時顯示制動時制動壓力的變化及車輪轉動減速度、滑移率和車速等參數(shù)的變化,同時進行ABS仿真裝置故障的設置與排除,將極大地提高汽車ABS裝置的學習效率。
利用該試驗儀可以形象直觀地展現(xiàn)汽車ABS系統(tǒng)的結構及油電路的工作過程,將有助于我國廣大汽車使用者及汽車維修人員對ABS知識的掌握,有助于汽車的合理使用與合理維修。
用單片機控制的汽車防抱死試驗儀是對現(xiàn)行車輛的防抱死制動系統(tǒng)的模擬系統(tǒng)。研究與開發(fā)ABS試驗儀,能夠顯性地展現(xiàn)車載ABS的工作狀況,將其工作原理與控制方法再現(xiàn),對于準確了解和掌握ABS的工作原理、使人們正確使用ABS系統(tǒng)提高車輛安全性方面具有重要意義。
1.3 本文研究的主要內(nèi)容
在對課題進行了認真全面地分析,對中等轎車ABS系統(tǒng)進行全面分析比較的基礎上,根據(jù)我國汽車工業(yè)的發(fā)展現(xiàn)狀,確定以應用較為普遍的四通道、四傳感器ABS系統(tǒng)作為研究對象,根據(jù)四通道、四傳感器ABS系統(tǒng)的結構及工作原理,在對國內(nèi)、外現(xiàn)有汽車制動防抱死仿真實驗裝置進行充分分析論證的基礎上,確定設計的具體研究內(nèi)容如下:
1、總體方案的確定
介紹ABS系統(tǒng)的組成和基本原理,根據(jù)汽車防抱死制動系統(tǒng)的功能及ABS實驗儀的組成,輪速傳感器、主控單片機及通訊設備的硬件系統(tǒng),確定出總體方案。
2、軟件模塊的設計
軟件部分配合硬件電路,共同完成ABS試驗儀的智能模擬,采用C語言模塊化編程,實現(xiàn)單片機的控制,主要包括初始化模塊、啟動自檢模塊、主控制輪速可調(diào)模塊、數(shù)據(jù)采集中斷模塊、故障診斷模塊、參考車速計算模塊。數(shù)據(jù)采用SCI串行通訊在上位機上進行數(shù)據(jù)和圖像的顯示。
3、軟件的抗干擾
軟件的抗干擾技術包括自檢程序、冗余技術、陷阱技術、軟件“看門狗”技術。文中采用了“看門狗[4]”技術對程序的可靠性加以完備,防止程序出現(xiàn)跑飛的現(xiàn)象。
4、軟件系統(tǒng)的測試與調(diào)試
首先完成軟件的模塊化測試,而后通過與硬件系統(tǒng)的混合調(diào)試,完善軟件系統(tǒng)對ABS試驗儀系統(tǒng)的軟件支持。
5、軟件的實物仿真
軟件的實物仿真采用單片機控制,由上位機以及發(fā)光二極管共同控制。
第2章 總體方案設計
2.1 設計思想
2.1.1 設計步驟
ABS試驗儀設計涉及到電子、材料,而且涉及到單片機的編程。為了完成ABS試驗儀的設計,實現(xiàn)更多的功能,將按照以下幾步去做:
(1)確定整體思想及要實現(xiàn)的功能;
(2)確定軟件的編寫方法及模塊的整合;
(3)油路和電路的設計和布置要合理;
(4)故障的設置及診斷要準確;
(5)滑移率控制系統(tǒng)設計;
(6)LED選擇要準確,設計要合理。
2.1.2 實現(xiàn)功能和創(chuàng)新點
1、 實現(xiàn)功能
(1)能進行ABS元件識別;
(2)能進行ABS工作原理實驗;
(3)能進行故障設置;
(4)能進行ABS故障診斷實驗;
(5)能同步顯示滑移率和車輪轉速。
2、創(chuàng)新點
(1)控制面板的合理布置,能反應油路、電路二者關聯(lián)工作狀態(tài);
(2)數(shù)字模塊顯示器適時顯示工作狀況及滑移率;
(3)LED燈顯示車輪轉速的工作狀態(tài);
(4)故障模擬與實時檢測。
2.2 確定ABS類型
2.2.1 ABS的分類
根據(jù)ABS制動管路布置方式的不同進行分類,可分成單通道、雙通道、三通道或四通道的兩輪系統(tǒng)和四輪系統(tǒng)[5]。
1、兩輪系統(tǒng)
兩輪系統(tǒng)僅對后輪提供防抱死制動性能,對前輪不提供防抱死制動性能。兩輪系統(tǒng)常見于輕型貨車。兩輪ABS系統(tǒng)可以是單通道系統(tǒng)或雙通道系統(tǒng)。
在單通道系統(tǒng)中,同時調(diào)節(jié)左、右兩側后車輪的制動器,控制滑移。單通道系統(tǒng)依靠放在中央的ABS轉速傳感器的輸入信號。該轉速傳感器通常位于差速器齒圈上、變速器上或分動箱上。
雙通道兩輪ABS系統(tǒng)相互獨立地調(diào)節(jié)每個后輪的液壓力。在每個車輪上都裝有輪速傳感器,根據(jù)轉速傳感器傳來的速度信號來控制壓力調(diào)節(jié)。
2、對角分路式系統(tǒng)
這種系統(tǒng)用兩個轉速傳感器的讀數(shù)調(diào)整所有四個車輪的車輪轉速。一個傳感器輸入控制右前輪,另一個傳感器輸入控制左前輪。
對應后輪的制動壓力同時由其位于對角線上的前輪控制著。例如,右后輪與左前輪接受同一傳輸指令,左后輪與右前輪接受同一指令。
這種系統(tǒng)比兩輪系統(tǒng)要好,因為它可提供制動時的轉向控制。
3、前/后輪分路式系統(tǒng)
這種系統(tǒng)具有三通道回路。對每個前輪有單獨的液壓回路,對后輪有一條液壓回路。
4、全輪(四輪)系統(tǒng)
全輪系統(tǒng)是最有效的ABS系統(tǒng),它是四路系統(tǒng),每個車輪都有轉速傳感器監(jiān)控。ABS電子控制單元以連續(xù)的信息保證每個車輪接受正確的制動力來保持防抱死控制和轉向控制。
全輪系統(tǒng)是最有效的ABS系統(tǒng),它是四路系統(tǒng),每個車輪都有轉速傳感器監(jiān)控。ABS電子控制單元以連續(xù)的信息保證每個車輪接受正確的制動力來保持防抱死控制和轉向控制。
2.2.2 選擇ABS類型
根據(jù)ABS類型和特點本設計選用MK20-I型ABS為研究對象。該系統(tǒng)采用3通道4傳感器控制方式,即兩前輪獨立控制,兩后輪按低選原則控制(在2個后輪中,以保證附著系數(shù)較小的車輪不發(fā)生抱死為原則來調(diào)節(jié)制動壓力)。MK20-I型ABS具有以下優(yōu)點[6]:
(1)體積小、質(zhì)量輕;
(2)安全系數(shù)高;
(3)對所有ABS零部件都能持續(xù)監(jiān)測;
(4)操作容易,具有自我診斷功能。
2.3 汽車防抱死制動系統(tǒng)的組成和工作原理
2.3.1 汽車防抱死制動系統(tǒng)組成
一般來說,帶有ABS的汽車防抱死制動系統(tǒng)由基本制動系統(tǒng)和制動力調(diào)節(jié)系統(tǒng)兩部分組成,如圖2.1所示。前者是制動主缸、制動輪缸和制動管路等構成的普通制動系統(tǒng),用來實現(xiàn)汽車的常規(guī)制動,而后者是由傳感器、ABS控制器、執(zhí)行器等組成的壓力調(diào)節(jié)控制系統(tǒng),在制動過程中用來確保車輪始終不抱死,車輪滑動率處于合理范圍內(nèi)[7]。
圖2.1 ABS系統(tǒng)組成圖
1、輪速傳感器
汽車的每一個車輪上都裝有車輪速度傳感器,它的作用是將轉速變換為電信號送給電子控制單元ECU。輪速傳感器的結構為極軸與永磁體相連,且安裝于傳感器轉盤的上方,因此磁體的磁通延伸到傳感器轉盤上,并與它構成磁路。當傳感器轉子轉動時,齒頂與齒隙輪流交替,此時磁通迅速變化,磁力線切割傳感線圈,于是在線圈中產(chǎn)生了感應電壓,該感應電壓呈交流正弦波變化,其變化頻率與傳感器轉盤的齒數(shù)和車輪的輪速成正比。若傳感器轉子齒數(shù)為一固定的值,則交流正弦波的變化頻率只與車輪的轉速成正比。因此可以通過交流正弦波的變化頻率來確定車輪的轉速,并由線圈末端通過電纜傳輸送至ABS電子控制單元ECU。輪速傳感器是ABS系統(tǒng)的關鍵部分,從傳感器傳出信號的準確性直接影響ABS的性能[8]。
2、ABS控制器
ABS的電子控制單元ECU的主要任務是接收各車輪傳感器送來的信號,進行比較、分析和判別,然后通過精確計算得出制動時車輪的轉速和車速。在制動過程中,盡管車輪的轉速下降,但其減速度的大小還隨著汽車制動時的車速以及所行駛的路況(諸如干瀝青路、濕滑或覆蓋有冰的路面等等)的變化而變化。換句話說,電子控制單元ECU通過制動過程中車輪轉速的變化來判斷車輪與道路表面之間的滑移狀況,然后控制ABS執(zhí)行器使之產(chǎn)生最合適的制動液壓,傳遞給各車輪制動分泵,以此來控制各車輪的轉速。
ABS電子控制單元ECU還包括初始檢測功能、故障排除功能,速度傳感器檢測功能和失效保障功能[9]。
3、執(zhí)行器
ABS執(zhí)行器又稱為制動壓力調(diào)節(jié)器,由電磁閥、儲液器和回液泵電動機組成,安裝在制動總泵(主缸)與車輪制動分泵(輪缸)之間,主要功用是根據(jù)ECU的控制指令,自動調(diào)節(jié)制動分泵(輪缸)的制動壓力[10]。
電磁閥是制動壓力調(diào)節(jié)器的主要部件,通過電磁閥動作便可控制制動壓力“升高”、“保持”和“降低”。
2.3.2 汽車防抱死系統(tǒng)工作原理
防抱死制動系統(tǒng)的目的是防止汽車車輪在制動過程中抱死,避免失去可操縱性(前輪抱死)和失去穩(wěn)定性(后輪抱死)的現(xiàn)象,并使制動力保持在最大值范圍,達到最佳的制動效果。
通常,人們會認為只有在車輪抱死情況下,制動距離才最短。實際上,剎車在車輪即將抱死而又未抱死的臨界狀態(tài)下剎車距離才最短。應用ABS技術,實質(zhì)上就是把傳統(tǒng)的制動過程轉變成瞬態(tài)控制過程,其基本原理在于附著系數(shù)和滑移率的關系上。當制動摩擦力矩足夠大時,制動將能使車輪速度減小,這時車輪與路面發(fā)生相對移動。路面作用于輪胎的制動力等于輪胎與路面間的附著力。附著力大小等于路面對輪胎垂直反作用力與路面附著系數(shù)的乘積。
車輪純滾動時s=0,車輪抱死時s=100%。從附著系數(shù)與滑移率關系曲線圖2.2可知。制動開始時,附著系數(shù)隨著滑移率急劇增大,直至滑移率為15%~20%左右達峰值,隨著滑移率繼續(xù)增大,附著系數(shù)反而減小,直到車輪抱死。
對于四輪可以進行獨立調(diào)節(jié)的ABS系統(tǒng),(圖2.3所示為其單輪模型)一般緊急制動時滾動阻力只有緊急制動力的幾十分之一,因此不計滾動阻力的影響,只考慮輪缸壓力Pi(t)產(chǎn)生的制動力矩Mbi和地面制動力(附著力)Fbi對車輪系統(tǒng)的作用[11]。
假設單車輪系統(tǒng)的轉動慣量為Ji,其角速度為wi,車輪半徑為R,整車質(zhì)量為M,車速為v,則
ψ
S
0
1
1
0.2
0.2
0.4
0.4
0.6
0.8
0.6
0.8
圖2.2 附著系數(shù)與滑移率關系曲線
(2.1)
(2.2)
通常車輪制動力矩Mbi與輪缸壓力Pi(t)成正比,假設制動力矩系數(shù)為Ki,則
(2.3)
(2.4)
可見車輪地面制動力Fbi由輪缸壓力Pi(t)和車輪角減速度決定。
調(diào)壓模式有增壓、保壓和減壓3種[12]。對于整個ABS系統(tǒng),由于其調(diào)壓開關特性、
油管、輪缸和系統(tǒng)的結構性能確定,在只有數(shù)十毫秒的調(diào)壓周期內(nèi),可利用二階多項式的制動輪缸壓力函數(shù)Pi(t),等效調(diào)壓過程中壓力產(chǎn)生的制動效果,則
(2.5)
為綜合制動壓力調(diào)節(jié)過程各因素的影響,可以利用試驗方法,得到每種調(diào)壓方式的輪缸壓力實際的時間歷程統(tǒng)計數(shù)據(jù),然后按能量法進行擬合,求出每階系數(shù),得到不同調(diào)壓模式下的制動輪缸的等效壓力函數(shù)Pi(t)。
滑移率Si反映車輪與道路的接觸狀態(tài),可以由滑移率的定義式求得。制動時車速為V,輪速為Vwi為車輪角速度wi和半徑的乘積,則
(2.6)
圖2.3 制動過程單輪受力模型
從ABS系統(tǒng)裝備的車輪轉速傳感器,可以獲得各輪輪速Vwi,由公式(2.2)、(2.3)、(2.4)可求整車制動減速度,并由公式(2.7)計算出從制動初速V0開始的任何時刻車速,則
(2.7)
由公式(2.6)就可以確定各車輪制動過程的滑移率Si。
2.4 總體方案確定
2.4.1 ABS試驗儀組成及工作原理
ABS試驗儀主要由ECU、車輪輪速傳感器、顯示器、制動主缸、液壓泵、LED、出油閥和進油閥等組成。
當ABS電教板工作時,模擬控制面板上就同步顯示其工作過程。其工作原理如下:當接通開關電路,ECU收到工況信息,LED將隨機顯示出此過程的輪速,并將信號傳回ECU,經(jīng)過ECU處理調(diào)出此工況二極管閃爍的程序,使二極管按此程序閃爍。與此同時,ECU將信號傳到電動機,控制電動機的轉速和正反轉來調(diào)節(jié),踏板、制動鉗、出油閥、進油閥等機械部分的運動[13]。
2.4.2 仿真實驗板總體布置
根據(jù)設計要求選擇3通道4傳感器布置方式,兩前輪獨立控制,兩后輪一同控制??傮w布置如圖2.4所示。
1-ABS ECU;2-儲液泵;3-液壓泵;4-制動主缸及踏板;5-指示燈;6-LED;
7-車輪傳感器; 8-顯示器;9-進油閥;10-診斷開關;11-控制開關;12-出油閥
圖2.4 總體布置圖
2.5 本章小結
本章主要闡述了汽車防抱死制動系統(tǒng)試驗儀設計思想和它實現(xiàn)的功能以及創(chuàng)新點,確定了ABS類型,介紹了ABS系統(tǒng)的組成和工作原理,試驗儀系統(tǒng)的功能要求,確定了試驗儀系統(tǒng)的總體方案,對輪速傳感器信號采集電路、輪速可調(diào)節(jié)器電路、ABS電控系統(tǒng)電路的組成作了總體介紹,對系統(tǒng)所用傳感器的結構、工作原理進行了說明介紹,同時設計出汽車防抱死制動系統(tǒng)電教板總體布置圖。
第3章 軟件系統(tǒng)的設計
3.1 軟件設計的編程語言
3.1.1 開發(fā)環(huán)境的選擇
根據(jù)ABS試驗儀控制系統(tǒng)設計的基礎不同,開發(fā)環(huán)境可分為以下兩種:
(1)裸機環(huán)境:在基于裸機的編程環(huán)境下,開發(fā)者面臨的是一個完全空白的單片機芯片及其相關的周邊硬件電路,系統(tǒng)運行的所有程序都必須由開發(fā)者來設計。
(2)操作系統(tǒng)環(huán)境:在基于操作系統(tǒng)的編程環(huán)境下,開發(fā)者面臨的是一個具有“實時多任務操作系統(tǒng)”內(nèi)核的單片機。在操作系統(tǒng)基礎上進行程序設計時,只須完成系統(tǒng)各項任務的程序設計,而任務的管理和調(diào)度等基本操作由操作系統(tǒng)內(nèi)核來完成。
從以上可以看出,基于操作系統(tǒng)的編程環(huán)境可以高效率的進行軟件開發(fā),但這需要付出一定的代價:操作系統(tǒng)內(nèi)核一般要花錢購買,并占有用系統(tǒng)資源。采用操作系統(tǒng)內(nèi)核的最佳場合是實時性要求高、任務比較多的系統(tǒng)[14]。
在低、中檔電子產(chǎn)品中,系統(tǒng)資源較為緊張,成本要求苛刻,通常不采用操作系統(tǒng)內(nèi)核。很多采用廉價單片機開發(fā)的小型電子產(chǎn)品功能單純,程序量不大,完全沒有采用操作系統(tǒng)的必要。在一般的智能儀器中,系統(tǒng)任務數(shù)目不多,通常不采用操作系統(tǒng)也能很好地完成任務。
結合本系統(tǒng)的設計要求,采用裸機環(huán)境來開發(fā)軟件系統(tǒng)。
3.1.2 編程語言的選擇
目前單片機軟件的開發(fā)主要采用匯編語言和C語言,或者采用匯編語言與C語言混合編程。采用匯編語言編程必須對單片機的內(nèi)部資源和外圍電路非常熟悉,尤其是對指令系統(tǒng)的使用必須非常熟練,故對程序開發(fā)者的要求是比較高的。用匯編語言開發(fā)是較為辛苦,因為程序量大,各個方面均需要考慮,一切問題都需要由程序設計者安排,其實時性和可靠性完全取決于程序設計人員的水平。采用匯編語言程序主要適用于功能比較簡單的中小型應用系統(tǒng)[15]。
采用C語言編程時,只需對單片機的內(nèi)部結構基本了解,對外圍電路比較熟悉,而對指令系統(tǒng)則不必非常熟悉。用C語言開發(fā)軟件相對比較輕松,很多細節(jié)問題無需考慮,編譯軟件會替設計者安排好。因此,C語言在單片機開發(fā)中的應用越來越廣,使用者越來越多。當開發(fā)環(huán)境為基于操作系統(tǒng)編程時,編程語言通常采用C語言。所以,考慮到使用匯編語言和C語言的優(yōu)缺點,本設計采用C語言編程[16]。
3.1.3 編程語言的介紹
單片機控制程序主要采用C語言進行編寫。
C語言——高級語言,是一種通用的計算機程序設計語言,它既可以用來編寫通用計算機的系統(tǒng)程序,也可以用來編寫一般的應用程序,由于它具有直接操作計算機硬件的功能,所以非常適合用來編寫單片機程序,與其他的計算機高級程序設計語言相比,它具有以下的特點:
1、語言規(guī)模小,使用簡單
在現(xiàn)有的計算機設計程序中,C語言的規(guī)模是最小的,ANSIC標準的C語言一共只有32個關鍵字,9種控制語句,然而它的書寫形式卻比較靈活,表達方式簡潔,使用簡單的方法就可以構造出相當復雜的數(shù)據(jù)類型和程序結構。
2、可以直接操作計算機硬件
C語言能夠直接訪問單片機的物理空間地址,亦可直接訪問片內(nèi)或片外存儲器,還可以進行各種位操作。
3、表達能力強,表達方式靈活
C語言有豐富的數(shù)據(jù)結構類型,可以采用整型、實型、字符型、數(shù)組類型、指針類型、結構類型、聯(lián)合類型、枚舉類型等多種數(shù)據(jù)類型來實現(xiàn)各種復雜數(shù)據(jù)結構的運算。利用C語言提供的多種運算符,我們可以組成各種表達式,還可以采用多種方法來獲得表達式的值,從而使程序設計具有更大的靈活性。
4、可移植性
由于單片機的結構不同,所以不同類型的單片機就要用不同的匯編語言來編寫程序,而C語言則不同,它是通過匯編來得到可執(zhí)行代碼的,所以不同的機器上有80%的代碼是公用的,一般只要對程序稍加修改,甚至不加修改就可以方便地把代碼移植到另一種單片機中[17]。
3.2 編程環(huán)境
Wave6000是一款功能強大的優(yōu)秀的單片機程序編輯、調(diào)試、仿真中文Windows軟件。該軟件可以配合硬件進行單片機的硬件仿真,也可以單獨進行單片機的軟件仿真。利用該軟件進行單片機軟件的編輯調(diào)試和模擬仿真,結合一臺寫碼器,就可進行低投入的單片機的開發(fā)工作。
Wave6000可以作為AT89S52單片機的開發(fā)工具,安裝好軟件后,打開窗口,點擊文件,選新建文件,如圖3.1和圖3.2所示。
Wave6000帶有集成的調(diào)試器,可以再程序主窗口中打開一個窗口來進行調(diào)試工作。使用調(diào)試器的方法是,從工程菜單中選擇全速執(zhí)行或者單步執(zhí)行,來調(diào)試文件中是否有錯誤語句,如圖3.3所示。
圖3.1 選擇-新建文件
圖3.2 建立工程文件
圖3.3 軟件程序的調(diào)試
3.3 軟件系統(tǒng)的主程序
當路面狀態(tài)等的變化,使制動力的控制一旦進入不穩(wěn)定區(qū)時,車輪就很容易進入鎖死狀態(tài)。所以需要迅速減壓,以降低制動力防止車輪鎖死;反之,當制動力不足時,此時需要迅速增加控制油壓,以提高制動力,保證制動控制區(qū)始終落在最佳的控制區(qū)。圖3.4表示ABS控制流程圖。ECU通過車輪速度演算車輪的加速度,并設定模擬車體的運動速度演算車輪的加速度,并設定模擬車體的運動速度和滑依率的基準值。然后根據(jù)車輪的運動狀況,判定是否制動狀態(tài),當車輪進入制動控制狀態(tài)時,根據(jù)實際制動要求判定控制油壓模型,進行制動油壓的控制。如果不是制動狀態(tài)時,檢查系統(tǒng)機能是否正常,如果正常,就返回控制程序的初始狀態(tài),否則,當系統(tǒng)出現(xiàn)不正?,F(xiàn)象時,點亮警告燈后關閉ECU電源,結束本控制程序。
開始
輸入車輪速度
演算車輪加速度
設定模擬車體速度Vs
滑移率基準值St的設定
油壓控制模型判定
制動狀態(tài)?
液壓控制
單元指令
檢查機能
警示燈點亮ECU
電源OFF
結束
N
Y
N
Y
正常?
圖3.4 ABS控制流程圖
本設計中控制流程在ABS控制流程的基礎上加了故障診斷等。使試驗儀功能更加強大。ABS試驗儀控制流程如圖3.5所示。
主程序開始
模擬
單步/連續(xù)
電動機工作
INT0
升 降 保
正常行駛
二極管閃爍
LED工作
滑移率演示
跳出中斷
工作電路演示
跳出中斷
是否有故障
跳出中斷
單步/連續(xù)
INT0
是
否
1
0
0
1
0
1
連續(xù)
單步
禁止INT0開INT1
INT1
故障診斷
圖3.5 ABS試驗儀流程圖
3.4 ABS控制系統(tǒng)軟件模塊設計
3.4.1 系統(tǒng)初始化模塊
系統(tǒng)初始化模塊在系統(tǒng)上電復位時對系統(tǒng)進行初始化。初始化內(nèi)容包括內(nèi)部的時鐘、各端口設置、串行通訊接口、模擬和數(shù)字通道、看門狗定時器、系統(tǒng)變量等,以保證單片機正常運行。
‘
main()
InitFunctions
Init ( )
Init CAN
Enable Interrupts
Functions
Can.h
InitValTable
InitPLL
InitSCI
InitPortA
InitPortB
InitPortK
InitPortT
InitPortJ
Init.h
InitPortH
InitAD
InitECT
InitRTimer
InitTimerTCNT
InitEEPROM
InitFlash
InitValMot
InitCOP
圖3.6 ABS系統(tǒng)初始化
3.4.2 系統(tǒng)啟動自檢模塊
為了使系統(tǒng)安全運行,系統(tǒng)在復位和初始化完畢后要進行自檢,對系統(tǒng)的關鍵軟、硬件部分進行靜態(tài)檢測,以判斷系統(tǒng)的軟、硬件工作是否正常[18]。在系統(tǒng)自檢期間,故障警示燈將會自動點亮,如果電子控制裝置發(fā)現(xiàn)系統(tǒng)中存在故障,電子控制裝置將會以故障代碼的形式存儲故障情況,故障警示燈會持續(xù)點亮,執(zhí)行機構復位至常規(guī)狀態(tài);如果未發(fā)現(xiàn)系統(tǒng)中存在故障,在自檢過程結束后,故障警示燈在1.5s后會自動熄滅,表示系統(tǒng)處于正常運行狀態(tài)。
3.4.3 ABS主控制模塊
主控制模塊為ABS系統(tǒng)的控制主程序,主控制模塊自身做無限的循環(huán),連續(xù)調(diào)用故障診斷模塊、數(shù)據(jù)處理模塊、參考車速計算模塊、路面識別模塊,實時進行車輛運動狀態(tài)和外界環(huán)境的判斷。
3.4.4 數(shù)據(jù)采集中斷服務程序
數(shù)據(jù)采集模塊由定時中斷服務程序完成。系統(tǒng)采用數(shù)據(jù)采集和主控制程序分離的
結構型式。由于ABS電磁閥動作響應時間通常不小于7ms,再加上制動系統(tǒng)的機械滯后,傳統(tǒng)的數(shù)據(jù)采集和控制周期通常不能低于電磁閥動作響應時間。為了使數(shù)據(jù)處理更為方便和準確,提高數(shù)據(jù)采樣頻率是一種有效的手段之一,因此用了3ms周期的定時中斷數(shù)據(jù)采集程序[19]。
為了滿足ABS控制系統(tǒng)的需要,采集的數(shù)據(jù)主要包括:四個車輪轉速信號,蓄能器壓力信號(預留)??紤]到數(shù)據(jù)采集模塊屬于實時模塊,對實時性要求較高,所以在設計軟件時,盡可能的利用硬件資源,減少占用時間。
3.4.5 故障診斷模塊
故障診斷模塊在系統(tǒng)運行的過程中實時檢測執(zhí)行機構各電磁閥和電機的故障反饋端,車輪、輪速信號。輪速的檢測采用下式:
(3.1)
式中:
ωlf——左前輪轉動角速度,rad/s;
ωrf——右前輪轉動角速度,rad/s;
ωlr——左后輪轉動角速度,rad/s;
ωrr——右后輪轉動角速度,rad/s。
λ1為設定好的閥值。式(3.1)滿足時認為輪速傳感器工作正常;式(3.1)不滿足時,再通過對同軸車輪轉速差和同側前后輪轉速差的分析比較,就可以識別出發(fā)生故障的車輪輪速傳感器,電控單元以故障代碼的形式存儲故障情況[20]。
3.4.6 參考車速計算模塊
參考車速計算模塊用來計算車身速度。由于成本等方面的原因,一般車輛上是不安裝車身速度傳感器的,ABS系統(tǒng)控制的目標就是將車輪的縱向滑動率(滑移率或滑轉率)控制在合理的范圍內(nèi),見式(3.2)。
(3.2)
式中:
v ——計算的參考車速,km/h;
wI ——各車輪轉動角速度,rad/s;
SAi ——對應車輪的滑轉率和滑移率;
r ——車輪半徑,mm。
3.5 軟件系統(tǒng)抗干擾技術
軟件系統(tǒng)抗干擾技術包括自檢程序、冗余技術、陷阱技術、軟件“看門狗”技術。
3.5.1 自檢程序
對微控制器內(nèi)的特定部位或某些內(nèi)存單元狀態(tài)標志,在開機后,運行中斷循環(huán)測試,以保證系統(tǒng)中存儲,傳輸以及運算的可靠性。
3.5.2 冗余技術
微控制器是最容易受干擾的是內(nèi)部程序計數(shù)器PC的值。當受強電干擾時PC的狀態(tài)被破壞,使CPU誤將一些操作數(shù)當成操作碼來執(zhí)行,導致程序從一個區(qū)域跳轉到另一個區(qū)域,程序在地址空間“亂飛”或陷入“死循環(huán)”,引起程序混亂。為使“亂飛”的程序在程序區(qū)迅速納入正軌,在關鍵地方插入—些個字節(jié)指令NOP,或將有效指令重寫,稱為指令冗余。
當微控制器斷電,會造成RAM數(shù)據(jù)丟失。當CPU受到干擾而造成程序跑飛時,可能會破壞RAM中的數(shù)據(jù)。所以,將系統(tǒng)中重要參數(shù)進行備份保留,當系統(tǒng)復位后,立即利用備份RAM對重要參數(shù)區(qū)進行自檢和恢復,這就是數(shù)據(jù)冗余[21]。
1、指令冗余
NOP的使用
在雙字節(jié)指令和三字節(jié)指令之后插入兩條NOP指令,可保證其后的指令不被拆散。為了不降低程序的運行效率,不能加入太多的NOP指令,加入NOP指令是有一定原則的:在跳轉指令或多字節(jié)指令之前插入:在比較重要的指令前插入,保證“亂飛”程序迅速納入軌道,使程序正確執(zhí)行。
2、數(shù)據(jù)冗余
在數(shù)據(jù)冗余中,可把RAM分為兩部分:運行存儲器和備分存儲器。當需讀取數(shù)據(jù)時,采用三中取二的表決原則,保證數(shù)據(jù)的正確性。對備份數(shù)據(jù)的建立應注意以下原則:各備份數(shù)據(jù)間應相互遠離出分散設置,減小備份數(shù)據(jù)同時被破壞的概率;各備份數(shù)據(jù)應遠離堆棧區(qū),避免由堆棧操作錯誤造成數(shù)據(jù)被沖毀的可能:備份少于兩份。
3.5.3 軟件陷阱技術
采用指令冗余使跑飛的程序恢復正常是有條件的,如果“亂飛”的程序落到非程序區(qū),這時指令冗余便無能為力。我們可在非程序區(qū)里設置攔截措施,當程序進入陷阱,強迫程序進入一個指定的地址,執(zhí)行一段專門對出錯進行處理的程序,若出錯程序的口地址為ERR,軟件陷阱由下面三條指令組成:(NOP、NOP、LJMP ERR)。
3.5.4 軟件“看門狗”技術
當程序彈飛到一個臨時構成的“死循環(huán)”時,指令冗余和軟件陷阱技術都無能為力,這時可以采用人工復位的方法使系統(tǒng)恢復正常。實際上,可以設計一種模仿人工監(jiān)測的“程序運行監(jiān)視器”,俗稱“看門狗”。它不斷監(jiān)視程序循環(huán)運行時間,若發(fā)現(xiàn)時間超過己知的循環(huán)設定時間,則認為系統(tǒng)陷入“死循環(huán)”。然后強迫程序返回0000H入口,在入口處安排—段出錯處理程序,使系統(tǒng)納入正軌。
#include
#include
static int waittime = 0;
static long absoluteTime = 0;
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void COP_ISR(void){
//DisableInterrupts;
waittime++;
if(waittime>=200) waittime=0;
PORTB = waittime;
}
#pragma CODE_SEG DEFAULT
static void COPInit(void) {
COPCTL = 0X07;
}
void main(void) {
DDRB = 0xFF;
PORTB =0X0F;
COPInit();
//EnableInterrupts;
while(1)? {
ARMCOP = 0X55;
ARMCOP = 0XAA;
//在程序中,如果沒有上邊這2行,看門狗會自動使系統(tǒng)復位
//如果添加了這2行,看門狗不能使系統(tǒng)復位
PORTB = 0x00;
for(absoluteTime=0;absoluteTime<10000;absoluteTime++);
PORTB = 0xFF;
for(absoluteTime=0;absoluteTime<10000;absoluteTime++);
}
}
3.6 本章小結
本章主要進行了ABS試驗儀系統(tǒng)軟件設計,使用C語言在CodeWarrior環(huán)境下進行編寫軟件及控制模塊,選擇了以單片機為系統(tǒng)的控制核心,借助微機對數(shù)據(jù)進行顯示。PC機部分采用VB語言編程,選擇MSCOMM控件接收單片機發(fā)送過來的數(shù)據(jù),該控件采用事件驅動方式工作,當有數(shù)據(jù)進入PC的數(shù)據(jù)緩沖區(qū)后,即觸發(fā)Oncomm事件進行相關的數(shù)據(jù)處理。最后給出了軟件的抗干攏設計,采用了COP“看門狗”程序可以有效地防止程序進行死循環(huán)和出現(xiàn)程序跑飛現(xiàn)象。
第4章 硬件選擇與系統(tǒng)開發(fā)應用
4.1 控制系統(tǒng)組成及原理
本試驗儀控制系統(tǒng)組成圖如圖4.1所示。
汽車防抱死制動電子控制示教系統(tǒng)
實時監(jiān)控與檢測
模擬仿真
硬件與教學系統(tǒng)
ABS系統(tǒng)運行監(jiān)控、檢測
輪速傳感器運行監(jiān)控、檢測
警告燈運行監(jiān)控、檢測
ABS執(zhí)行器運行監(jiān)控、檢測
ABS系統(tǒng)運行實時仿真
ABS執(zhí)行器運行實時仿真
ABS系統(tǒng)實時仿真
ABS硬件系統(tǒng)示教板
ABS故障診斷系統(tǒng)
圖4.1 ABS電教板控制系統(tǒng)組成圖
控制系統(tǒng)原理如圖4.2所示。
開關量
微處理器
電動機
LED
二極管
顯示器
圖4.2 ABS電教板控制系統(tǒng)原理圖
通過開關量輸入信號,把相應開關量輸入到微處理器內(nèi)部,經(jīng)過微處理器內(nèi)部運算調(diào)用相關的子程序來實現(xiàn)各開關量的控制。從而實現(xiàn)控制電動機的正反轉、LED動態(tài)顯示輪速和二極管點亮順序以及滑移率在顯示器上的顯示。
4.2 ABS電路硬件設計
ABS電路硬件包括單片機、發(fā)光二極管、控制開關、電源。
4.2.1 單片機的選擇
當今單片機品種繁多,產(chǎn)品性能各異。首先要理解兩個概念:集中指令集(CISC)和精簡指令集(RISC)。采用CISC結構的單片機數(shù)據(jù)線和指令線分時復用,它的指令豐富,功能較強,但取指令和取數(shù)據(jù)不能同時進行,速度受限,價格也高。采用RISC結構的單片機數(shù)據(jù)線和指令線分離,這種結構的單片機取指令包含更多的處理信息,執(zhí)行效率更高,速度也更快。同時,這種單片機指令多為單字節(jié),程序存儲器的空間利用率大大提高,有利于實現(xiàn)超小型化設計。
一般來說,對于控制方式較簡單的家電,可以采用RISC型單片機;對于控制關系較復雜的場合,如通信產(chǎn)品,工業(yè)控制系統(tǒng),應采用CISC單片機。所以,根據(jù)功能需要和性價比以及匹配關系,在這里選擇CISC型的單片機,它主要包括Intel系列、Motorola系列、Atmel系列的AT89系列等。
除此之外,在實際應用中還可根據(jù)如下原則來選擇單片機:
(1)了解單片機對應用系統(tǒng)的適用性。所謂對應用系統(tǒng)的適用性,就是能否用一個單片機對系統(tǒng)的控制,或需要增加幾個附加的集成電路才能實現(xiàn)對系統(tǒng)的控制。從這一方面應主要考慮以下問題:
①單片機是否含有所需的I/O端口數(shù)目;
②單片機是否含有所需的外圍端口部件;
③單片機的CPU是否有合適的吞吐量;
④單片機的極限性能是否滿足要求。
(2)了解單片機的可購買性。從這一方面應主要考慮以下問題:
①單片機是否可直接購買到;
②單片機是否有足夠的供應量;
③單片機是否仍在生產(chǎn)之中;
④單片機是否在改進之中。
(3)了解單片機的可開發(fā)性。從這一方面應主要考慮以下問題:
①編譯軟件;
②程序寫入工具;
③調(diào)試工具;
④技術支持;
⑤語言體系與熟悉程度。
根據(jù)上面的要求對單片機進行選擇,就可選擇出最適用于應用系統(tǒng)的單片機,從而保證應用系統(tǒng)最高的可靠性、最優(yōu)的價格性能比、最長的使用壽命和最好的升級換代性。所以這里初選89C52單片機作為系統(tǒng)的控制芯片。
1、 89S52單片機的基本組成
外部事件記數(shù)輸入
圖4.3所示為89S52帶閃存(Flash ROM)單片機的基本結構框圖。
P0 P1 P2 P3
控制
串行通信
振蕩器和時序OSC
程序存儲器8KB FlashROM
89S52
CPU
數(shù) 據(jù) 存 儲 器
256字節(jié)RAM/SFR
2×16位定時器
/計數(shù)器
可編程全雙工
串行口
可編程I/O
64KB總線擴展控制器
內(nèi)中斷
外中斷
地址數(shù)據(jù)
圖4.3 89S52單片機結構框圖
在一小塊芯片上,集成了一個微型計算機的各個組成部分,即89C52單片機芯片內(nèi)包括:
(1)一個8位的89S52微處理器(CPU);
(2)片內(nèi)256字節(jié)數(shù)據(jù)存儲器RAM/SFR,用以存放可以讀/寫的數(shù)據(jù),如運算的中間結果、最終結果以及欲顯示的數(shù)據(jù)等;
(3)片內(nèi)8KB程序存儲器Flash ROM,用以存放程序、一些原始數(shù)據(jù)和表格;
(4)4個8位并行I/O端口P0-P3,每個端口既可以用作輸入,也可以用作輸出;
(5)兩個16位的定時器/記數(shù)器,每個定時器/記數(shù)器都可以設置成記數(shù)或定時的結果實現(xiàn)計算機控制;
(6)具有5個中斷源、3個中斷優(yōu)先級的中斷控制系統(tǒng);
(7)一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實現(xiàn)單片機之間或單片機與PC機之間的串行通信;
(8)片內(nèi)振蕩器和時鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接,最高允許振蕩頻率為24MHZ;
(9)89S52單片機與8051相比,具有節(jié)電工作方式,即休閑方式及掉電方式。
以上各個部分通過片內(nèi)8位數(shù)據(jù)總線(DBUS)相連接。另外89S52是用靜態(tài)邏輯來設計的,其工作頻率可下降到0HZ,并提供兩種可用軟件來選擇的省電方式—空閑方式和掉電方式。在空閑方式中,CPU停止工作,而RAM、定時器/記數(shù)器、并行口和中斷系統(tǒng)都繼續(xù)工作。此時的電流可降到大約為正常工作方式的15%。在掉電方式中,片內(nèi)振蕩器停止工作,由于時鐘被“凍結”,使一切功能都暫停,故只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復位為止。這種方式下的電流可降到15以下,最小可降到0.6以下。
89S52是一種低功耗/低電壓、高性能的8位單片機。它采用了CMOS工藝和高密度非易失性存儲器(NURAM)技術,而且其輸出引腳和指令系統(tǒng)都與MCS-51兼容;片內(nèi)的Flash ROM允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性存儲器編程器來編程。因此89S52是一種功能強、靈活性高,且價格合理的單片機,可方便地應用在各種控制領域。
單片機是典型的嵌入式系統(tǒng),從體系結構到指令系統(tǒng)都是按照嵌入式應用特點專門設計的,能最好地滿足面對控制對象、應用系統(tǒng)的嵌入、現(xiàn)場的可靠運行以及非凡的控制品質(zhì)要求。因此,單片機是發(fā)展最快、品種最多、數(shù)量最大的嵌入式系統(tǒng)。
89S52的單片機具有兼容的低功耗、高性能8位的特點,特別是其內(nèi)部增加的閃速可電改寫的存儲器Flash ROM給單片機的開發(fā)及應用帶來了很大的方便,且芯片的價格非常便宜,因此,近年來得到了極其廣泛的應用。根據(jù)以上原因本文采用了89S52單片機[19]。
2、 外圍電路的設計
(1)時鐘電路的設計。計算機工作時,是在統(tǒng)一的時鐘脈沖控制下一拍一拍地進行的,這個脈沖是單片機控制器中的時序電路發(fā)出的。單片機的時序就是CPU在執(zhí)行指令時所需控制信號的時間順序。為了保證各部件間的同步工作,單片機內(nèi)部電路應在唯一的時鐘信號控制下嚴格地按時序進行工作。
要給CPU提供時序需要相關的硬件電路,即振蕩器和時鐘電路。89S52單片機內(nèi)部有一個高增益反相放大器,用于構成振蕩器,但要形成時鐘,外部還需要附加電路。89S52的時鐘產(chǎn)生方式有兩種:內(nèi)部時鐘方式和外部時鐘方式。在該控制系統(tǒng)中,采用了內(nèi)部時鐘方式。
內(nèi)部時鐘方式,是利用芯片內(nèi)部的振蕩器,然后在引腳XTAL1和XTAL2兩端跨接晶體或陶瓷諧振器,就構成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時鐘電路。外接晶振時,C1和C2值通常選擇為30pF左右:外接陶瓷諧振器時C1和C2約為47pF。C1和C2對頻率有微調(diào)作用,晶振或陶瓷諧振器的頻率范圍可在0MHZ~24MHZ/33HZ之間選擇。為了減少寄生電容,更好地保證晶振器穩(wěn)定可靠地工作,振蕩器和電容應盡可能安裝得與單片機芯片靠近。內(nèi)部時鐘設計電路如圖4.4所示。
圖4.4 時鐘電路
(2)復位電路的設計。復位是單片機的初始化操作,單片機在啟動運行時,都需要先復位,它的作用是使CPU和系統(tǒng)中其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。例如復位后,PC初始化為0,于是單片機自動從0單元開始執(zhí)行程序。因而復位是一個很重要的操作方式。單片機本身一般是不能自動進行復位的(在熱啟動時本身帶有看門狗復位電路的單片機除外),必須配合相應的外部電路才能實現(xiàn)。
單片機的整個復位電路包括芯片內(nèi)、外兩部分,外部電路產(chǎn)生的復位信號通過復位引腳RET進入片內(nèi)一個斯密特觸發(fā)器(抑制噪聲作用)再與片內(nèi)復位電路連接。復位電路每個機器周期對斯密特觸發(fā)器的輸出采樣一次。當RST引腳端保持兩個機器周期(24個時鐘周期)以上的高電平時,89S52進入復位狀態(tài)。
單片機的外部復位電路有上電自動復位和按健手動復位兩種。
上電復位利用電容器充電來實現(xiàn),上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖,只要RST引腳端保持10ms以上高電平,就能使單片機有效地復位。
按鍵手動復位又分為:按鍵電平復位和按鍵脈沖復位。按鍵電平復位,相當于恢復鍵后復位端通過電阻與VCC電源接通;按鍵脈沖復位,利用RC微分電路產(chǎn)生正脈沖。
在實際的應用系統(tǒng)中,有些外圍芯片也需要復位,如果這些復位端的復位電平要求與單片機的復位要求一致,則可以與之連接。
復位電路關系到一個系統(tǒng)能否可靠地工作。對要求不是很高的場合,由阻、容元件和門電路組成的復位電路是一種廉價而簡單的選擇,一般均能良好的工作。而對于應用現(xiàn)場干擾大、電壓波動大的工作環(huán)境,常常要求系統(tǒng)在任何異常情況下都能自動復位回復工作,這樣的系統(tǒng)選用專用復位監(jiān)控芯片作為系統(tǒng)的復位產(chǎn)生器是比較理想的??紤]到教學的環(huán)境現(xiàn)場干擾比較小,最終確定的外部復位電路如圖4.5所示。
圖4.5 復位電路
在不復位狀態(tài)下,1是高電平,2輸出低電平給單片機芯片的RST,單片機工作。當按鍵按下S1,1成為低電平