




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
畢業(yè)設計-智能車窗升降控制器的設計無錫職業(yè)技術學院畢業(yè)設計說明書(論文)智能化車窗升降控制器的設計摘要:單片微處理器又稱單片機,它是將計算機的中央處理器、輸入輸出接口、存儲器、計數(shù)器/定時器等多個功能部件集成在一塊芯片里,是具有完整計算機功能的大規(guī)模集成電路。與計算機相比,它具有更好的性價比和實時處理能力,而且體積小,抗干擾能力強,容易嵌入產(chǎn)品內(nèi)部,成為產(chǎn)品的一個元件,從而使這類產(chǎn)品具有智能化的特征。由于單片機面向控制,它是過程控制的核心,所以單片機又稱為嵌入式微控制器。關鍵詞:智能控制系統(tǒng)車窗溫度1引言近年來隨著我國汽車行業(yè)的迅速發(fā)展,汽車電子市場迅速擴大,整個市場以超過40,的比例快速增長,其中車身電子產(chǎn)品占到整個汽車電子產(chǎn)品的35,,40,。在目前,車身電子的熱點應用排名前三的是車載空調(diào)、車窗控制和車燈控制。在車身電子中,對半導體需求量排列前三位的應用領域分別是:車載空調(diào),約占44,;車窗控制,約占22,;車燈控制,約占10,,第四位是電動車門控制。根據(jù)汽車電子專業(yè)調(diào)研公司的數(shù)據(jù),去年中國汽車市場車身電子的半導體器件需求量約為19億美元,而中國本地設計的比例大約為10,,15,之間,預計未來幾年這一比例將會迅速增長。如上所述,車窗控制產(chǎn)品已成為車身電子產(chǎn)品重要的組成部分。隨著汽車的普及,人們對汽車的安全性方面也越來越重視。在車窗控制系統(tǒng)中,汽車電動車窗具備防夾功能成為系統(tǒng)的必需要求。這樣當車窗上升遇到障礙物(如手、頭等)時可以自動后退到底,從而可以避免事故的發(fā)生,車窗防夾功能對汽車的安全性能而言是一種十分人性化的設計。一般在駕駛員高速行駛過程中,如果手動控制車窗升降速度,則會使駕駛員分心,很有可能在調(diào)控車窗時發(fā)生安全事故,故汽車高速行駛過程中一般采用車窗自動升降。而在車窗自動升降過程中,如果車內(nèi)外溫度反差過大則會在車窗開關得過程中產(chǎn)生過大氣流,從而影響到汽車的穩(wěn)定性,同時也會引起人體的不適,導致安全事故的發(fā)生。由此可見,溫度因素是影響駕駛員身體不適、導致安全事故的重要原因。基于以上原因,本課題在溫差控制方面作出了改進,使得車窗系統(tǒng)更智能化和人性化。2總體方案設計2(1方案一:基于LIN總線控制系統(tǒng)車載網(wǎng)絡可分為驅動網(wǎng)絡和舒適網(wǎng)絡。一般CAN協(xié)議用于驅動網(wǎng)絡,而LIN協(xié)議用于舒適網(wǎng)絡。相對于開發(fā)高速CAN網(wǎng)絡的所需要的成本,LIN網(wǎng)絡更適合用于性能要求不高的舒適網(wǎng)絡,于是在車門,車窗,車燈等部件中,引入了LIN總線,這樣既能滿足系統(tǒng)運行的正常需要,又能使整車成本得以減少。此次車窗控制系統(tǒng)總體框架圖如圖1所示:-1-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)車內(nèi)外傳感器及車內(nèi)外傳感器及A/D轉換模塊信號處理信號處理電機驅動模塊電機微控車速傳感器及制器信號處理LIN收發(fā)器車窗按鍵開關LIN總線車窗升降控制系統(tǒng)總體框圖圖1當駕駛員按下車窗按鍵開關時,車速傳感器將信號傳到微控制器,如果車速超過設定的限定車速時,通過溫度傳感器測得車內(nèi)外溫度,再由A/D轉換電路將溫度數(shù)據(jù)傳到微控制器,使用新的車窗控制算法控制車窗電機智能實現(xiàn)車窗升降器的升降。在車窗升降過程中,智能功率驅動器件MC33486通過監(jiān)測電機的電流變化,通過相關的防夾算法實現(xiàn)車窗的防夾功能,實現(xiàn)了車窗系統(tǒng)的智能化控制過程,提高了駕駛員行車過程中的安全性和舒適性。在本次設計中,車窗控制系統(tǒng)采用了LIN總線協(xié)議構建了車窗LIN總線網(wǎng)絡,并使用了最新的LINv2(1協(xié)議規(guī)范。2(2方案二:功能獨立的模塊化車窗升降控制系統(tǒng)DCK103型電子車窗控制器內(nèi)部由單片機、電流檢測電路、輸入輸出接口電路、電源電路等組成。將這些組成電路的元器件焊裝在一塊印刷電路板上,并封裝于防水、阻燃的塑料外殼內(nèi),就構成了一個智能型的電子控制器。它通過引線與汽車線路相連接實現(xiàn)對門窗電動機的各種控制,3分電路設計和論證3(1電源模塊設計目前汽車內(nèi)的蓄電池電源通常都是直流+12V,汽車內(nèi)很多電子設備需要依靠它來供電,比如電子打火器,各類電子儀表,自動車窗等,雖然是蓄電池,仍難以保證其穩(wěn)定輸出。車載網(wǎng)絡中主要用到兩種電源:+12V、+5V,+12V的電壓主要是為電機驅動供電,+5V的電壓則是給電路中的其它芯片供電,因此需要進行+12V到+5V的轉換,而且車載電源的穩(wěn)定性差,需要其輸出電壓進行穩(wěn)壓1161。電源電路采用了LM2576穩(wěn)壓電源電路芯片,對+12V轉+5V供電電路可以參考圖3電路。在穩(wěn)壓芯片LM2576瞬間停止輸出時,由電感給電路供電,此時穩(wěn)壓-2-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)二極管1N5822作為回路的一部分,可以承受更大的電流,起到反向保護的作用。圖中的電容C6和C7選用電解電容,可以有效濾除高低頻干擾。這樣設計的輸出電壓就是一個抗干擾能力很強的電源供應了。因微控制器PICl8F25J10需+3(3V電源供應才能正常工作,而圖2中,由蓄電池電源轉化而來的電源電壓是+5V,所以在此基礎上使用了AMSlll7線性器件作為轉換芯片產(chǎn)生CPU所需的+3(3V核心電壓,圖2是+5V轉+3(3V電源轉換電路。其中電容和圖1中電容所起的作用一致。3(2電機驅動模塊設計電機驅動模塊的合理設計,主要在于調(diào)節(jié)步進電機程序的啟動頻率。這是啟動頻率的極限,實際使用時,只要啟動頻率小于或等于這個極限值,步進電動機就可以直接帶動負載啟動了。利用單片機控制步進電機的控制系統(tǒng)如圖4所示:鍵盤接口鍵盤單片機步進功率驅動器接口功率驅動器電機圖4單片機控制步進電機的系統(tǒng)框圖-3-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)合理地選用步進電動機是相當重要的,通常希望步進電動機的輸出轉矩大,啟動頻率和運行頻率高,步距誤差小,性能價格比高。但增大轉矩與快速運行存在一定矛盾,高性能與低成本存在矛盾,因此實際選節(jié)拍通電相控制模塊用時,必須全面考慮。正轉反轉二進制十六進制步進電動機的工作方式和一般電動16A0000000101H機不同,它是采用脈沖控制方式工作的。25AB0000001103H只有按一定規(guī)律對各相繞組輪流通電,步進電動機才能實現(xiàn)轉動。目前采用的34B0000001002H功率步進電動機有3相、4相、5相和643BC0000011006H相等。工作方式有單m拍、雙m拍、3m52C0000010004H拍及2*m拍等。一般情況,電機的相數(shù)61CA0000010105H越多,工作方式越多。本案采用的是3表1相6拍步進電機控制程序,如表1。車窗電機一般采用供電電壓11,15V,工作電流不大于15A,堵轉電流不大于28A的永磁直流電機,需要的電機功率較大并伴有沖擊電流的正反相控制要求。智能功率芯片MC33486是飛思卡爾半導體公司生產(chǎn)的專用于車身電子的電機驅動芯片,該芯片可(這里選用P60N06,能夠輸出較大的工作電流驅動電機)組成一個外接兩個MOSFET管H橋來實現(xiàn)電機的雙向控制。其正常工作溫度范圍在(400C到1500C,正常連續(xù)輸出電流最大達到10A,直流輸入電壓范圍為8~28V,而且當電壓高于28V時具有過壓保護功能。它能夠采集電機的電流,利用它反饋給單片機A,D采樣模塊得到電機電流值,從而完成電機的雙向控制和實現(xiàn)車窗防夾功能,達到了車窗電機驅動模塊的設計要求。其電路圖如圖4所示。-4-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)電機控制原理如下:初始狀態(tài)中,GLSl和GLS2都同時置高電平或低電平,OUTl和OUT2一直保持高電平。當U6中的柵極為低電平且U7的柵極為高電平時,直流電機正轉,車窗上升;反之,當U6中的柵極為高電平且U7的柵極為低電平時,直流電機反轉,車窗下降,這樣就足以完成永磁直流電機的正反相控制要求。除此之外,飛思卡爾的功率芯片MC33486還具有負載電流的線性復制功能,CurR輸出電流和負載電流成線性比例,CurR輸出電流再通過采樣電阻和限流電阻把電流轉化為電壓輸入到單片機的采樣端。電壓進行A/D轉換和一些計算后就可以得到負載的真實電流。因此,監(jiān)測輸入到單片機端口的電壓就等同于監(jiān)測車窗運動中電機的電流。車窗上升過程、下降過程、上升遇到阻力過程中經(jīng)過電機的電流都呈規(guī)律性的變化,而這些電流變化都可以通過電流采樣實時地反映到單片機中。3(3溫度傳感器模塊設計ICL7135是高精度4.5位CMOS雙積分型A/D轉換器,提供-20000—+20000的計數(shù)分辨率。具有雙極性高阻抗差動輸入、自動調(diào)0、自動極性、超量程判別和輸出為動態(tài)掃描BCD碼等功能。ICL7135對外提供6個輸入、輸出控制信號,因此除用于數(shù)字電壓表外,還能與異步接收器/發(fā)送器、微處理器或其他控制電路連接使用。ICL7135一次A/D轉換周期分為4個階段:自動調(diào)0、基準點呀反積分和積分回。1)自動調(diào)0階段,至少需要9800個市中周期。此階段外部模擬輸入通過電子開關將內(nèi)部斷開,而模擬公共端介入內(nèi)部并對外接調(diào)0電容充電,以補償緩沖放大器、積分放大器、比較放大器的電壓偏移。2)信號積分階段,需要10000個時鐘周期。調(diào)0電路斷開,外部差動模擬信號介入進行積分,積分器電容充電電壓正比于外部信號電壓和積分時間。此階段信號極性也被確定。3)反向積分階段,最大需要20001個時鐘周期。積分器街道參考電壓端進行反向積分,比較器過0時鎖定計數(shù)器打的計數(shù)值,它與外接模擬輸入VIN外接參考電壓-5-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)VREF的關系為:計數(shù)值=10000*VIN/VREF即若能獲取該計數(shù)值即可求出輸入電壓,得到A/D結果。4)0積分(放電)階段,一般持續(xù)100—200個脈沖周期,使積分器電容放電。當超量程時,放電時間增加到6200個脈沖周期以確保下次測量開始時,電容完全放電。在汽車電子系統(tǒng)中,經(jīng)過電模塊的電壓轉換,將12V的電壓5V電壓,時鐘頻率為120kHz時,則每秒可以轉換3次,在本案中的溫度信號轉換的模塊如圖6所示。一般情況下,我們都是通過查詢ICL7135的位選引腳而讀取BCD碼得方法并行采集ICL7135的數(shù)據(jù),該方法占有大量單片機I/O資源,軟件上也耗費較大。在本案中所采用的是利用BUSY引腳1線串行方式讀取ICL7135的方法:如圖7所示,在信號積分T1開始時,ICL7135的BUSY信號先跳高并一直保持高電平,直到T2結束是才跳回低電平。在滿量程情況下,這個區(qū)域中的最多脈沖個數(shù)為30002個。其中去積分T2時間的脈沖個數(shù)反應了轉換結果,這樣將整個T1+T2的BUSY區(qū)間計數(shù)值減去10001即是轉換結果,最大到20001.按照“計數(shù)值=10000*VIN/VRE”可得:計數(shù)值*VREF/10000=VIN參考電壓VREF設計為1V,上式在使用時一般不除以10000,而是將輸入電壓VIN的分辨率直接定義到0.1V。兩線接口設計如下:1)125kHzICL7135S時鐘的產(chǎn)生:為了簡化電路設計和產(chǎn)生精確的125kHz方波,采用ATmega16作為系統(tǒng)核心,并以外部8MHz晶振作為系統(tǒng)時鐘源,通過設定定時器T0使外部OC0產(chǎn)生125kHz的PWM方波。2)讀取BUSY高電平時,即積分期間的總計數(shù)次數(shù)。采用AVR定時器T1的ICP功能,將ICP引腳連至BUSY引腳。通過記錄BUSY引腳的上升下降沿時刻計算積分-6-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)期間的總計數(shù),當定時器T1的技術頻率也選擇為125kHz。身控制用傳感器主要用于提高汽車的安全性、可靠性和舒適性等。由于其工作條不象發(fā)動機和底盤那么惡劣,一般工業(yè)用傳感器稍加改進就可以應用。主要有用于自動空調(diào)系統(tǒng)的溫度傳感器、濕度傳感器、風量傳感器、日照傳感器等;用于安全系統(tǒng)中的加速度傳感器;用于門鎖控制中的車速傳感器;用于亮度自動控制中的光傳感器;用于倒車控制中的超聲波傳感器或激光傳感器;用于保持車距的距離傳感器:用于消除駕駛員盲區(qū)的圖象傳感器等。針對汽車內(nèi)溫度變化大,電磁干擾嚴重等十分惡劣的環(huán)境,選用其正常工作溫度在-400CN+loooC,具有很高的工作精度和較寬的了溫度傳感器LM335A,線性工作范圍,集成了傳感電路和信號調(diào)理電路,且器件輸出電壓與攝氏溫度成正比。因而從使用角度來說,LM335A與用開爾文標準的線性溫度傳感器相比更有優(yōu)越之處。溫度傳感器模塊電路由溫度傳感器LM335A及電位計組成。因需同時測得車內(nèi)外溫度,故需兩路溫度傳感器模塊,而為了測量的精確性和減少誤差,故車內(nèi)外采用了同一組溫度傳感器模塊。結合實際需要,車窗控制系統(tǒng)中的溫度傳感器模塊完成的主要功能如下所示:(1)采集溫度數(shù)據(jù),并對其進行濾波處理;(2)監(jiān)視溫度信號的變化情況,通過溫差算法實現(xiàn)車窗智能升降功能;(3)系統(tǒng)網(wǎng)絡化,將采集到的數(shù)據(jù)通過LIN總線傳給上位機和其他節(jié)點。3(4A/D轉換模塊設計因為此次測量信號為溫度信號,不需要過高的采樣率,故采用了美國德州儀器公司生產(chǎn)的TLC2543芯片。TLC2543具有11個通道的12位開關電容逐次逼近模數(shù)串行A/D轉換器,采樣率為66kbit/s,速度比較快,采樣和保持由片內(nèi)采樣保持電路自動完成。此外,它的線性誤差小,節(jié)省口線資源,成本較低,也使得它特別適用于此次車窗系統(tǒng)的發(fā)。圖6中給出了TLC2543和PICl8F25J10的連接電路。圖8A/D轉換模塊電路圖-7-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)TLC2543芯片的工作原理如下:上電后,EOC為高,片選CS由高變低,F(xiàn)O口CLOCK、DINPUT使能,DOUPUT脫離高阻狀態(tài),12個時鐘信號從I/O口依次進入,隨著時鐘信號的加入,控制字從DINPUT在時鐘信號的上升沿輸入,同時輸出上一周期的數(shù)據(jù)從DOUPUT輸出,前4個時鐘信號決定了通道號的選擇,然后繼續(xù)采樣,到第12個時鐘的下降沿,EOC變低,TLC2543則自動完成采樣的模擬量的A/D轉化,然后進入新的工作周期。編程時需注意的是,DOUPUT輸出的數(shù)據(jù)總是上一次轉換的結果。本次設計一共使用了3路AD,分別測量車內(nèi)溫度、車外溫度和電機防夾過程產(chǎn)生的電流變化。溫度由LM335Z采樣來的標準模擬信號經(jīng)過TLC2543轉換后,送入微控制器PICl8F25J10進行下列處理:有效數(shù)據(jù)檢查、數(shù)字濾波等。其中有效數(shù)據(jù)檢查可以避免因線路故障而采集到虛假數(shù)據(jù),對輸入信號進行有效性檢查,主要來保證所測量的溫度信號在正常的范圍內(nèi)。3(5汽車車窗系統(tǒng)智能控制實現(xiàn)3(5(1車窗系統(tǒng)防夾功能的實現(xiàn)隨著汽車的普及,汽車的安全性越來越受到人們的重視。在車窗系統(tǒng)中,汽車電動窗具備防夾功能已是一種趨勢。當車窗上升遇到障礙物(如手、頭等)時可以自動后退到底,從而可以避免事故的發(fā)生。目前國內(nèi)關于車窗的防夾功能研究已經(jīng)十分成熟。本文的車窗防夾控制模塊的設計采用了飛思卡爾公司的智能功率驅動器件MC33486,通過監(jiān)測車窗運行中永磁直流電機的電流變化來實現(xiàn)防夾功能。圖9MC33486芯片在基礎車型的電動車窗控制電路中,控制車窗電機采用的是開關和繼電器,比較容易發(fā)生粘連等問題。而在本系統(tǒng)中采用智能功率驅動器件控制車窗電機,通過控制加在直流電機上的電壓方向來控制電機的轉動方向。升降器電機通過的電流的變化完全反映玻璃上升或下降過程中遇到的阻力變換情況,通過采樣玻璃升降器電機通過的電流,監(jiān)測電流就可以監(jiān)測玻璃升降過程中阻力的變化情況從而執(zhí)行相應的操作。智能功率驅動器件可以實現(xiàn)對電機的過流、過壓及過熱保護,而且通過監(jiān)測電流自動識別玻璃上升途中遇到障礙的狀況,進而進行反轉,防止夾傷??刂颇K可以實現(xiàn)的功能:1)點按車門控制鍵(按鍵時間小于300ms),車窗自動上升到頂或下降到底,點按-8-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)同一開關任意鍵,車窗停止上升或下降;2)延時按控窗鍵(按鍵時間大于300ms),車窗上升或下降,上升或下降過程中釋放按鍵車窗即停;3)車窗運行到頂位或底位時自動停止,車窗電機斷電;4)車窗玻璃在自動上升的過程中如果遇到一定的阻力會自動停下來,下降一段距離,能有效地防止人或物品的意外夾傷。車窗防夾控制模塊主要部分是車窗電機,一般都采用內(nèi)置減速器的可逆性永磁直流電機,電機內(nèi)有磁場線圈,通過控制加在線圈上的電壓的方向就可以控制電機的正轉和反轉,達到實現(xiàn)車窗玻璃的上升和下降的目的。本文采用了智能功率驅動器件MC33486控制車窗電機,通過控制加在直流電機上的電壓方向來控制電機的轉動方向。升降器電機通過的電流的變化完全反映玻璃上升或下降過程中遇到的阻力變換情況,通過采樣電機升降過程中通過的電流,監(jiān)測電流就可以監(jiān)測玻璃升降過程中阻力的變化情況從而執(zhí)行相應的操作。智能功率驅動器件可以實現(xiàn)對電機的過流、過壓及過熱保護,而且通過監(jiān)測電流自動識別玻璃上升途中遇到障礙的狀況,從而實現(xiàn)防止功能。車窗控制模塊防夾功能的實現(xiàn)主要在于防夾算法的實現(xiàn),防夾算法主要完成以下兩個功能:必須能夠判斷是否遇到障礙物;遇到障礙后,必須能夠判斷玻璃是在上升還是已經(jīng)上升到頂部。首先,車窗上升過程中遇到阻力和車窗上升到最頂端遇到阻力兩種情況下電機電流增大的快慢是不一樣的,車窗上升過程中遇到阻力情況下要比車窗上升到最頂端情況下電流變大要快。因此可通過求得電流變化的斜率來區(qū)分兩種情況。當f>=f阻力時(阿阻力時車窗,上升過程中遇到阻力;當0<f<f阻力時,車窗上升到最頂端。此外,車窗的運行時間是不一樣的。當T>T頂端時,車窗上升到最頂端;當T<=T頂端時,車窗上升過程中遇到阻力。但是同一車型的不同車窗安裝的不能完全相同,因此T頂端會有細微的差別,可以通過大量的實驗測出一個初始的T頂端,把每次車窗上升到最頂端的時間記錄下來,存儲到EEPROM中,這些數(shù)據(jù)作為調(diào)整T頂端的依據(jù),這樣參數(shù)T頂端具有了自適應性。這樣通過兩組判據(jù)來判斷區(qū)分兩種情況。當(f>=f阻力)&&(T<=T頃端)時,車窗上升過程中遇到阻力;當(0<f<f阻力)&&(T>T頂端)時,車窗上升到最頂端。采用以上兩組判據(jù)增加了判斷的準確性,降低了誤判率。采用這兩種判據(jù),在實車實驗中良好地實現(xiàn)了電動車窗的防夾功能,在上升過程中遇到阻力車窗則反向下降到底。PIC單片機PICl8F25J10和智能功率驅動器MC33486結合起來,通過監(jiān)測車窗電機的電流來監(jiān)測車窗遇到的障礙情況,不需要添加任何傳感器,很容易就可以實現(xiàn)電動車窗的防夾功能。車窗防夾功能對汽車的安全設計而言是十分必須的。3(5(2車速與溫差的車窗控制車速傳感器及車速表是提供車輛行駛速度信息的重要工具,這里不考慮零件的自然然磨損、磁性元件的磁性變化以及汽車輪胎胎壓造成的影響,假設汽車行駛過程中由車速傳感器采集到的信號經(jīng)處理得到的限定速度為vm積。傳統(tǒng)的汽車車窗控制系統(tǒng),當駕駛員在汽車行駛的過程中,在車速超過限定車速vm缸時,如果車內(nèi)外的溫度反差過大,會在行駛過程中產(chǎn)生過大的氣流而影響汽車的穩(wěn)定性,造成駕駛員短暫的不適,從而可-9-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)能導致交通意外的發(fā)生。為了克服現(xiàn)有的車窗不能在高速駕駛的過程中智能的調(diào)節(jié)車窗升降的快慢,避免可能的安全隱患,本設計提供了一種新的基于車速和溫差的車窗控制算法。如果駕駛員在高速行駛時,此時按下車窗升降開關,車速傳感器將數(shù)據(jù)傳到微控制器上,檢測到行車速度超過限定車速vm缸,則在駕駛員高速駕駛的途中通過溫度傳感器測得車內(nèi)外溫度,并通過A,D轉換電路將溫度數(shù)據(jù)傳到微控制器,通過新的車窗控制算法控制車窗電機實現(xiàn)車窗升降器的智能升降,從而實現(xiàn)自動調(diào)節(jié)車窗升降的快慢。在駕駛員行車速度超過限定車速vm雙時,如果內(nèi)外溫度反差較大的時候實現(xiàn)車窗的較慢升降;反之,在內(nèi)外溫度反差較小時候實現(xiàn)車窗的較快升降,在汽車駕駛過程中提高了駕駛員的舒適度,改善了駕駛員的駕駛環(huán)境,最重要的是減少交通意外發(fā)生的可能性。在汽車行駛速度超過限定車速vm戕的情況下,為該車窗控制器提供的算法包括如下步驟:(1)通過溫度傳感器分別獲得一組車內(nèi)溫度X1,X2?Xn,一組車外溫度Y1,Y2?Yn;(2)對兩組數(shù)據(jù)分別采用算術平均法得到Xm,Ym,由算術表達式n=lXm(Yml可得到車內(nèi)外溫差數(shù)據(jù);(3)判斷n是否在人體適應范圍m內(nèi),即(m<n<m:如果不是,則車窗電機以原來a(0<a<1)倍的速度轉動,反之,車窗電機以原來b(b>1))倍的速度轉動。3(6系統(tǒng)軟件抗干擾設計今年來,隨著單片機技術的發(fā)展,單片機在汽車電子控制系統(tǒng)、測控系統(tǒng)等得到了廣泛的廣泛應用。但是,在測控系統(tǒng)中常常存在著電磁干擾、靜電干擾、放電和浪涌噪聲等多種形式的干擾。這些干擾可能會造成系統(tǒng)的工作點漂移現(xiàn)象出現(xiàn),引起測控信號在傳輸過程中擬合噪聲信號。為了使測控系統(tǒng)能夠長期可靠的運行,經(jīng)常采用隔離、屏蔽、接地以及計算機浮空等抗干擾措施來減小干擾對違紀系統(tǒng)的影響。軟件抗干擾技術是當系統(tǒng)受干擾后,使系統(tǒng)恢復正常運行或輸入信號受干擾后去偽存真的一種輔助方法。在提高硬件系統(tǒng)抗干擾能力的同時,軟件抗干擾以其設計靈活、節(jié)省硬件資源、可靠性好越來越受到人們的重視。在實際應用中,軟件抗干擾研究的內(nèi)容主要是:一、采取軟件的方法消除模擬輸入信號的嗓聲(如數(shù)字濾波技術);二、由于干擾而使得程序運行混亂時使程序重入正軌的方法。本文針對后者提出了幾種有效的軟件抗干擾方法。常見的抗干擾技術有:如指令冗余、軟件陷阱、軟件“看門狗”技術等。3(6(1軟件“看門狗”設計看門狗技術是一種常用的抗干擾措施。與其他抗干擾技術相比它采用的是一種亡羊補牢的辦法,即只在其他抗干擾方法失效后采用的一種補救方法??撮T狗的基本功能是這樣的:一旦發(fā)現(xiàn)CPU的運行不正常,它就會發(fā)出復位信號,強制系統(tǒng)重啟。看門狗要實現(xiàn)對CPU的監(jiān)控,必須通過兩根信號線和CPU聯(lián)系。一根是由CPU發(fā)出的喂狗信號線,另一根是由看門狗發(fā)出的復位信號線。通過前者CPU將自身正常工作的狀態(tài)指示信號傳遞給看門狗,處在監(jiān)視狀態(tài)的看門狗若果能夠在移動的時間內(nèi)收到有效的喂狗信號,就會確認計算機工作正常,并繼續(xù)監(jiān)視而不發(fā)出控制動作。例如:IMP706P和IMP813L的有效喂狗信號是上升沿或下降沿;而另一種看門狗X25045的有效喂狗信號-10-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)是有程序設定的高電平或低電平。一旦在規(guī)定的時間內(nèi)看門狗得不到喂狗信號,就會判斷出CPU的運行出現(xiàn)了問題,并通過復位信號線發(fā)出復位信號重啟CPU。其實,看門狗就是一個相對獨立的特殊的定時器,啟動它后喂狗就是為了讓定時器重新計數(shù),使其一直無法加到最大值而溢出產(chǎn)生單片機復位信號。所以要在程序里適當?shù)募尤肭蹇撮T狗的指令。若失控的程序進入“死循環(huán)”,通常采用“看門狗”技術使程序脫離“死循環(huán)”。通過不斷檢測程序循環(huán)運行時間,若發(fā)現(xiàn)程序循環(huán)時間超過設定的最大循環(huán)運行時間,則認為系統(tǒng)陷入“死循環(huán)”,需進行出錯處理使程序脫離“死循環(huán)”,這種技術稱為“看門狗”技術。此時強迫程序返回到復位入口地址0000H,在0000H處安排一段出錯處理程序,使系統(tǒng)運行納入正軌?!翱撮T狗”技術可由硬件實現(xiàn),也可由軟件實現(xiàn)。在工業(yè)應用中,嚴重的干擾有時會破壞中斷方式控制字,關閉中斷。則系統(tǒng)無法定時“喂狗”,硬件看門狗電路失效。而軟件看門狗可有效地解決這類問題。本次車窗控制系統(tǒng)采用了軟件“看門狗”技術,這樣,當程序跑飛的時候可以使程序回到正軌。本設計中軟件“看門狗”監(jiān)視原理是:在主程序M、車窗防央程序M1、溫差控制程序M2中各設一運行觀測變量。假設為MWatch、M1Watch0、M2Watch,主程序M每循環(huán)一次,MWatch加l,同、溫差控制程序M2各執(zhí)行一次,M1Watch、M2Watch加1。在車窗防樣車窗防夾程序M1夾程序M1中通過檢測M2Watch的變化情況判定溫差控制程序M2運行是否正常,在溫差控制程序M2中檢測主程序MWatch的變化情況判定主程序M是否正常運行,在主程序M中通過檢測M1Watch的變化情況判別車窗防夾程序M1是否正常工作。若檢測到某觀測變量變化不正常,比如應當加l而未加1,則轉到出錯處理程序作排除故障處理。當然,對主程序最大循環(huán)周期、車窗防夾程序M1、溫差控制程序M2定時周期應予以全盤合理考慮。對于軟件抗干擾的一些其它常用方法如數(shù)字濾波、RAM數(shù)據(jù)保護與糾錯等,因本文并未涉及,故未作討論。在實際應用中通常都是幾種抗干擾方法并用,互相補充完善,才能取得較好的抗干擾效果。從根本上來說,硬件抗干擾是主動的,而軟件是抗干擾是被動的。細致周到地分析干擾源,硬件與軟件抗干擾相結合,完善系統(tǒng)監(jiān)控程序,就可以設計一套穩(wěn)定可靠、完全可行的單片機系統(tǒng)。3(6(2指令冗余CPU取指令過程是先取操作碼,再取操作數(shù)。當PC受干擾出現(xiàn)錯誤,程序便脫離正常軌道“跑飛”,當跑飛到某雙字節(jié)指令,若取指令時刻落在操作數(shù)上,誤將操作數(shù)當作操作碼,程序將出錯。若“飛”到了三字節(jié)指令,出錯機率更大,從而引起整個程序的混亂。在關鍵地方人為插入一些單字節(jié)指令,或將有效單字節(jié)指令重寫稱為指令冗余。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個字節(jié)以上的NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令NOP的存在,避免了后面的指令被當作操作數(shù)執(zhí)行,程序自動納入正軌。此次在主程序、車窗防夾程序和溫差控制程序都加入了少許的指令冗余,主要加在對系統(tǒng)流向起主要作用的指令之后,如跳轉指令、置位指令等,使程序能更為有效地運行。值得注意的地方是,在一個程序中,“指令冗余”不能使用過多,否則會降低程序的整體執(zhí)行效率。-11-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)3(6(3軟件陷阱當“跑飛”的程序進入非程序區(qū)時,冗余指令便無法起作用,此時可以通過軟件陷阱,攔截“跑飛”的程序,將其引向指定位置,再進行出錯處理。所謂的軟件陷阱,就是用引導指令強行將捕獲到的跑飛程序引向復位入口地址0000H,在此處將程序轉向專門對程序出錯進行處理的程序,使程序納入正軌。而攔截過程,則是指將跑飛的程序引向指定位置,再進行出錯處理。因此首先要合理設計陷阱,其次要將陷阱安排在適當?shù)奈恢谩4舜诬嚧翱刂葡到y(tǒng),在未使用的EPROM空間中和用戶程序區(qū)個模塊之間的空余單元中使用了陷阱指令。同時,在對應的中斷服務程序中也設置軟件陷阱,使之能及時捕獲錯誤的中斷,一般通過“LMJP0000H”作返回指令就可直接進入故障診斷程序,盡早地處理故障并恢復程序的運行。-12-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)4軟件設計4(1程序流程4(1(1系統(tǒng)主程序流程圖開始系統(tǒng)初始化開關閉合,IN4=1,閉鎖器動作電動玻璃總開關動電動玻璃總開關動IN3=0,作,IN1=1?作,IN2=1?設定時初值,t=0設定時初值,t=0設定時初值,t=0等待電動玻璃總開關等待電動玻璃總開關等待閉鎖器恢復,IN3=1?斷開,IN1=0?斷開,IN2=0?t=0.5s?t=1s?t=1s?繼電器J5吸合,OUT6=0,I=15吸合,OUT6=05吸合,OUT6=0繼電器J繼電器J繼電器J4吸合,OUT5=0繼電器J1吸合,延時1s繼電器J6吸合,OUT4=0設定初始值,t=0延時0.5s延時0.5s等待等待電動玻璃總開關動作,電動玻璃總開關動作,等待電壓值達到電壓值達到(P0.4),IN1=1,電壓值達到(P0.4)IN1=1,(P0.4),或t>5s?IN2=1?或t>5s,IN2=1?或t>5s,繼電器J1斷開,I=I+1繼電器J6斷開,OUT4=1繼電器J4斷開,OUT5=1四車門全關,I>4?繼電器J5斷開,OUT6=1繼電器J5斷開,OUT6=1-13-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)4(1(2LIN主機程序流程圖程序入口單片機寄存器初始化所有變量初始化收到LINN分析主機節(jié)點的主節(jié)點的報文診斷信息信息,Y車窗升降驅動函數(shù)LIN報文接收想總線發(fā)送從機任務診斷結果執(zhí)行相應的動作-14-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)4(1(2LIN從機程序流程圖程序入口單片機寄存器初始化所有變量初始化等待診斷周期到,想N收到中央控制單元的消送機發(fā)送主機任務的息,診斷消息YLIN報文發(fā)送分析從機任務診斷消息車窗升降驅動函數(shù)想中央控制單元發(fā)送診斷結果LIN報文接收-15-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)4(1(3A/D轉換程序流程圖初始化是否有鍵按下,按鍵結束,顯示設定值產(chǎn)生PWM波匹配值輸出PWM波A/D采樣顯示實際輸出值輸出值與設定值是否相等,產(chǎn)生新的PWM波匹配值-16-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)4(1(4步進電機驅動流程圖開始拍數(shù)置0N正轉選擇反向控制碼數(shù)組Y選擇正向控制碼數(shù)組輸出控制碼控制碼地址+1,即指向下拍控制碼延時N拍數(shù)已經(jīng)過去6拍?Y步數(shù)N=N-1N步數(shù)N=0,Y返回3相6拍步進電機控制程序流程圖-17-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)4(1(5溫度控制模塊程序流程圖開始掃描控制按鍵是置自動上升/下降N否有鍵按下,Y啟動300ms定時汽車N行駛速度是否過N快,上升/下降定時300ms已到,Y溫差YY是否在人體適應范緩慢上升/下降圍內(nèi),NY上升/下降定時置自動上升/下降300ms已到,是NN否有鍵按下,YY電機停止轉動車窗是否到底,N電機轉動,上升/下降4(2程序4(2(1主程序#include<avr/io.ch>#include<avr/interrupt.h>#include<avr/io.ch>-18-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)#include<avr/interrupt.h>#include<avr/io.h>#defineucharunsignedcharvolatileunsignedintICP_Timeup=0;volatileunsignedintICP_Time_down=0;volatileunsignedintICP_ok=0;Voidad0809(ucharidata*x){ucharI;Ucharxdata*ad_adr;Ad_adr=&IN0;For(i=0;i<8;i++){*ad_adr=0;i=i;i=i;while(ad_busy==0);x[i]=*ad_adr;ad_adr++;}}Voidmain(void){staticucharidataad[10];Ad0809(ad);}voidpwm_init(void){TCCR0=(1<<WGM01)|(0<<WGM00)|(0<<COM01)|(1<<COM00)|(0<<CS02)|(1<<CS01)|(0<<CS00);TCNT0=0;OCRO=3;}-19-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)Intmain(void){unsignedintq1;Pwm_init();ICP_init();While(1){if(ICP_ok==1){ICP_ok=0;if(ICP_time_up>ICP_time_down)q1=0xffff-ICP_time_up+1+ICP_time_down;elseq1=ICP_time_down-ICP_time_up;q1=q1-10001;}}}Voidmain(void){Intfx=1;DDRA=0xff;Stepmotor(fx,1000,1000);While(1);}voidICP_int(void){TIMSK=1<<TICIE1;TCCRIB=(0<<CS12)|(1<<CS11)|(1<<CS10)|(1<<ICES1);TCNT1=0;asm(“sei”)}voidpwm_init(void){TCCR0=(1<<WGM01)|(0<<WGM00)|(0<<COM01)|(1<<COM00)|(0<<CS02)|(1<<CS01)|(0<<CS00);-20-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)TCNT0=0;OCRO=3;}voidad0809(ucharidata*x){ucharI;Ucharxdata*ad_adr;Ad_adr=&IN0;For(i=0;i<8;i++){*ad_adr=0;i=i;i=i;while(ad_busy==0);x[i]=*ad_adr;ad_adr++;}}Voidmain(void){staticucharidataad[10];Ad0809(ad);}voiddespaly{unsigneduchari,j;for(i=0;i<255;i++)jor(j=0;j<I;j++)}}4(2(2溫度控制程序#include<avr/io.ch>#include<avr/interrupt.h>volatileunsignedintICP_Timeup=0;-21-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)volatileunsignedintICP_Time_down=0;volatileunsignedintICP_ok=0;voidICP_int(void){TIMSK=1<<TICIE1;TCCRIB=(0<<CS12)|(1<<CS11)|(1<<CS10)|(1<<ICES1);TCNT1=0;asm(“sei”)}voidpwm_init(void){TCCR0=(1<<WGM01)|(0<<WGM00)|(0<<COM01)|(1<<COM00)|(0<<CS02)|(1<<CS01)|(0<<CS00);TCNT0=0;OCRO=3;}Intmain(void){unsignedintq1;Pwm_init();ICP_init();While(1){if(ICP_ok==1){ICP_ok=0;if(ICP_time_up>ICP_time_down)q1=0xffff-ICP_time_up+1+ICP_time_down;elseq1=ICP_time_down-ICP_time_up;q1=q1-10001;}}}ISR(TIMRR1_CAPT_vect){if(TCCR1B&(1<<ICES1))-22-無錫職業(yè)技術學院畢業(yè)設計說明書(論文){ICP_Time_up=ICR1;TCCR1B=(0<<CS12)|(1<<CS11)|(1<<CS10)|(0<<ICES1);}else{ICP_Time_down=ICR1;TCCR1B=(0<<CS12)|(1<<CS11)|(1<<CS10)|(1<<ICES1);ICP_ok=1;}}TIER=(1<<ICF1);}4(2(3電動機控制程序#include<avr/io.h>#defineucharunsignedcharVoidstepmotor(uchardir,intnum,intdly){ucharI,j,nc,concede;Ucharucode[7]={0x01,0x03,0x02,0x06,0x04,0x05,0x00};//正向控制碼Uchardcode[7]={0x01,0x05,0x04,0x06,0x02,0x03,0x00};//反向控制碼For(j=0;j<num;j++)//步數(shù)控制,共num步{for(i=0;i<6;i++)//3相6拍控制{for(dir~=0)concede=ucode[i];//取正向碼Elseconcede=dcode[i];//取反向碼PORTA=concede;//輸出控制碼For(nc=0;nc<dly;nc++);//步脈沖間延時}}}-23-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)//????????????????????????????????????Voidmain(void){Intfx=1;DDRA=0xff;Stepmotor(fx,1000,1000);While(1);}}4(2(4A/D轉換模塊控制程序#include<absacc.h>#include<reg51.h>#defineucharunsignedchar#defineIN0XBYTE[0xfe8]Sibtad_busy=P3^3;Voidad0809(ucharidata*x){uchari;Ucharxdata*ad_adr;Ad_adr=&IN0;For(i=0;i<8;i++){*ad_adr=0;i=i;i=i;while(ad_busy==0);x[i]=*ad_adr;ad_adr++;}-24-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)}Voidmain(void){staticucharidataad[10];Ad0809(ad);}5軟硬件系統(tǒng)的調(diào)試在完成車窗控制系統(tǒng)的軟硬件設計后,需要對車窗控制系統(tǒng)相關的功能進行測試。傳感器的位置擺放如圖4(1所示,車外的溫度傳感器安放在汽車前窗,車內(nèi)的溫度傳感器安放在車內(nèi)中控門鎖附近。行駛車速可以直接通過儀表盤車速傳感器得到。車內(nèi)外溫差一般控制在50C以內(nèi),在這個溫度范圍內(nèi),人體的體溫中樞就能靈活自如地進行調(diào)節(jié),如果溫差超過這個界限,身體就會出現(xiàn)不適癥狀。此時基于車速和溫差的車窗控制系統(tǒng)就起到了安全性作用。下面對車窗智能控制系統(tǒng)進行了功能性測試。首先,按下車窗控制按鈕,四個車窗進入使能狀態(tài)。以左前車窗為實驗對象,先啟動300ms的延時程序,當檢測到時間超過300ms時,置左車窗手動上升或下降;當檢測到時間沒有300ms時,啟動左前車窗自動升降程序,再通過車速傳感器監(jiān)測車速,當超過限定車速vm觚(這里設定Vmax=100km,h)時,啟動溫差控制程序,此時通過車內(nèi)表1-25-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)正常工作行駛車速車內(nèi)外溫上升到頂下降到底參數(shù)電機電壓V電流AKm/h度C時間s時間s上升過程9.80.651107.63.7\下降過程9.80.651106.6\3.5上升過程9.80.651107.53.4\(改進)下降過程9.80.651106.6\3.9(改進)外溫度傳感器分別測得車內(nèi)外溫度數(shù)據(jù),計算出車內(nèi)外溫差,數(shù)據(jù)如表1所示。車窗性能測試數(shù)據(jù)顯示了在供電電壓為9(8V,上升過程正常工作電流在0(65A左右,下降過程正常工作電流在O(55A左右的直流電機工作情況。當車速超過事先設定的限定車速100km,h時,上升過程中車內(nèi)外溫差在7(5。C(>50C)時,采用基于車速和溫差的控制算法后,車窗上升速度對比之前時提高了8(1,,使得車內(nèi)外溫差較大時,車窗上升時能加快速度;下降過程中車內(nèi)外溫差在6(60C(>50C)時,采用了基于車速和溫差的控制算法后,車窗下降速度對比之日,時降低了11(4,,使得車窗能緩慢下降。實驗數(shù)據(jù)顯示,采用基于車速和溫差的算法后,提高了駕駛員的安全性和舒適性。在左前車窗自動上升過程中,如果有人的手、頭或其他障礙物擋住了車窗,通過車窗控制系統(tǒng)的防夾算法,智能判斷車窗是遇到障礙還是升到頂端,然后車窗電機將停止轉動,避免了安全事故的發(fā)生。防夾功能和溫控功能的結合提高了駕駛員行車過程中的安全性和舒適性,具有廣泛的運用范圍和實際的運用價值。因本次車窗控制系統(tǒng)的功能性測試并未在實際車窗LIN網(wǎng)絡中掛接,而在實際網(wǎng)絡測試中,必須考慮到LIN節(jié)點掛接到整個車窗系統(tǒng)中,由此產(chǎn)生的幀沖突等影響車窗整體性能的穩(wěn)定性等原因。基于以上原因,對整個車窗控制系統(tǒng)進行了整體的仿真。德國VectorInformatik公司是專門從事現(xiàn)場總線、特別是CAN總線的研究、開發(fā)和應用的高科技公司。它在CAN總線應用領域內(nèi)提供了一系列強有力的軟硬件工具,能夠支持CAN、LIN總線網(wǎng)絡節(jié)點以及整個系統(tǒng)的建模、仿真等開發(fā)過程。公司產(chǎn)品線覆蓋了車載網(wǎng)絡設計的全部仿真,包括汽車車身控制網(wǎng)絡和汽車驅動控制網(wǎng)絡,同時提供硬件仿真板作為PC軟件與實際系統(tǒng)的接口,進行參與設計網(wǎng)絡的仿真,得到網(wǎng)絡的性能參數(shù)。故此次設計仿真軟件采用了德國VectorInformatik公司的CANoe7(0軟件。CANoe是針對網(wǎng)絡和ECU開發(fā)、測試和分析的多方面應用的工具,支持從計劃到系統(tǒng)實現(xiàn)的完整開發(fā)流程。CANoe有多種功能和配置選項,讓OEM(原始設備制造商)和提供商-26-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)的網(wǎng)絡設計人員、開發(fā)工程師以及測試工程師可以靈活使用。CANoe(LIN可以仿真多達32個LIN網(wǎng)絡和任意數(shù)量的節(jié)點,加上集成的CAN功能,它是開發(fā)和測試LIN節(jié)點(主、從)、CAN(LIN網(wǎng)關以及CAN(LIN診斷功能的理想工具。目前,CANoe(LIN提供了以下成熟的LIN開發(fā)功能:(1)根據(jù)LDF仿真L烈節(jié)點,網(wǎng)絡(包括多通道LINMaster和網(wǎng)關)(2)完全支持LIN2(1Slave重新配置(3)針對LIN2(1、SAE(J2602和TOYOTA(LIN的網(wǎng)絡管理(4)LIN節(jié)點建模的腳本函數(shù)(包括診斷)(5)用作交互式管理信號、幀和調(diào)度表的用戶可配置的集成面板。使用CANoe7(0軟件進行LIN網(wǎng)絡的仿真,遵循以下兩個基本步驟:配置LIN網(wǎng)絡和啟動仿真LIN網(wǎng)絡。配置LIN網(wǎng)絡時采用了LDF文件(LINDescriptionFile,即LIN描述文件),LDF文件是描述LIN網(wǎng)絡的標準文檔I)5。在LINv2(1規(guī)范中,規(guī)定了LDF文件的語法和文件結構。CANoe7(0軟件提供了良好的可視化仿真界面,使得仿真結果可以通過可視化界面觀察。5(11LDF文件的配置在開發(fā)LIN網(wǎng)絡的時候,盡管LIN數(shù)據(jù)庫不是必須的,但是CANoe軟件還是強烈推薦使用LIN數(shù)據(jù)庫。使用LIN配置語言時,通過LDF文件表示LIN數(shù)據(jù)庫。CANoe7(0軟件自帶的工具VectorLINFileEditor軟件可以用來編輯車窗系統(tǒng)所用到LDF文件。LDF描述了整個LIN網(wǎng)絡,而且包含了監(jiān)控網(wǎng)絡所需的所有信息。通過工具的用戶接口,這些信息足夠可以進行有限的仿真(如果工具支持)控制(例如:選擇仿真節(jié)點,選擇進度表)。LIN工具的用戶接口沒有定義句法或語義,使工具供應商可以開發(fā)特殊的工具。另外LDF文件能被單個部件引用,用于向指定LIN網(wǎng)絡中的一個電子控制單元寫入軟件。應用程序接口(API)被定義操作規(guī)程建議,可在不同的應用程序中用一種唯一的方法訪問LIN網(wǎng)絡。但LDF文件不能訪問應用程序的功能特征。下面以車窗控制LIN總線為例(詳細探討LDF文件的建立過程?。(1)LIN協(xié)議的版本號,LIN語言版本號,LIN速度的定義已經(jīng)在LDF文件的頭部給出,如圖4(2所示。在車窗控制系統(tǒng)LIN總線中,采用LINv2(1版本協(xié)議規(guī)范,即設-27-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)置LINprotocol‘.1”;語言版本號也是1版_VelSiOll釜2LINv2本協(xié)議規(guī)范規(guī)定的語言,印設置LIN—languageversion=“2(1”。LIN速度運行0-20Kbps,這里選擇LINspeed=192kbps。(2)LIN總線的所有節(jié)點的定義。在車窗控制LIN總線中,定義了一個主節(jié)點WindowsCtrMaster;定義了五個從節(jié)點:左前窗控制LIN從節(jié)點LFwindowsCn:右前窗控制LIN從節(jié)點RFwindowsCtr;左后窗控制LIN從節(jié)點LBwindowsCg;右后窗控制LIN從節(jié)點RBwindowsCtr,溫度控制LIN從節(jié)點TemperaturewindowsCtr:定義節(jié)點的格式為:Nodes{Master((WindowsCtrMaster,lms,0(1ms;Slaves:LF—windowsCu,RF—windowsCtr,LB—windowsCtr,RB—windowsCtr,Temperature_windowsCtr:}(3)LIN總線的信號定義。對比之前的LIN版本,LINv2(1規(guī)范支持信號組,可以發(fā)送最多8字節(jié)的信號。在車窗LIN總線中,根據(jù)控制方法的相關性,定義了5個信號組,分別為:左前車窗控制信號LF_windowsSig,右前車窗控制信號RF_windowsSig,左后車窗控制信號LB_windowsSig,右后車窗控制信號gB_windowsSig,溫度傳感器信號TemperatureSensorSig。信號組可以方便的傳輸包括多個變量的功能值:同時,定義了單字節(jié)信號用于總線從節(jié)點的狀態(tài)和接收錯誤反饋。左前車窗工作狀態(tài)反饋信號LFwindowsSta,右前車窗工作狀態(tài)反饋信號RFwindowsSta,左后車窗工作狀態(tài)反饋信號LBwindowsSta,右后車窗工作狀態(tài)反饋信號RBwindowsSta,溫度傳感器工作狀態(tài)反饋信號TemperatureSensorSta左前車窗錯誤反饋信號LFRespError,右前車窗錯誤反饋信號RFRespError,左后車窗錯誤反饋信號LBRespError,;右后車窗錯誤反饋信號RB,溫度傳感器錯誤反饋信號。_RespErrorTemperatureRespError定義信號的格式為:Signals{[<signalname>:<signalsize>,<initvalue>,<publishedby>[<subscribed—by>];]}-28-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)所有signal_name標識符在Signals子集中應唯一;signal—size是在1-16位之間它定義了信號的大小;nit(value定義了可以被所有用戶節(jié)點使用的信號值直到幀所包含的信號被接收;published_by標識符和subscribed_by標識符要和在Nodes子集中定義的其中一個node—name標識符相等。如左前車窗控制信號LFwindowsSig可以定義為:LF二windowsSig-l,0,LF—windowsCtr,WindowsCtr—Master(4)LIN總線的幀定義。LIN總線傳輸?shù)膱笪亩紩孪榷x好,然后按照幀調(diào)度表實現(xiàn)控制。在車窗控制LIN總線中,根據(jù)發(fā)布LIN報文幀的從機任務節(jié)點不同,定義了六種LIN報文幀。分別是主節(jié)點控制車窗報文幀WindowsCtrMaster01;左前車窗LIN從節(jié)點報文幀LFwindows01:右前車窗從節(jié)點LIN報文幀RFwindows01;左后車窗LIN從節(jié)點報文幀LBwindowsOl;右后車窗LIN從節(jié)點報文幀RBwindows01;溫度控制LIN從節(jié)點報文幀Temperature01。LIN報文幀定義的格式為:Frames{[<frame-name>?<frame—id>,<publishedby>(,<frame—size>)(<signalnalne,<signaloffset>);])}本文中主節(jié)點發(fā)送的車窗LIN報文幀可以定義為:WindowsCtr—Master一01:1,Windows—Ctr—Master,2{LF-windowsSig,O;RF_windowsSig,l;LB_windowsSig,2;RB_windowsSig,4:Reserved,8;}(5)診斷幀的定義。因為診斷幀的標識符地址固定,主節(jié)點發(fā)布的診斷幀地址是0x3c;從節(jié)點發(fā)布的診斷幀標識符地址是0x3d。與普通幀的名稱不同,LIN規(guī)范保留幀MasterReq和SlaveResp的名稱用于識別診斷幀。SlaveResp只能由前面的MasterReq幀所選擇的從節(jié)點發(fā)送,從節(jié)點的選擇是由Diagnosticaddresses子集中定義的從的診-29-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)斷地址決定的。保留的信號名字MasterReqB0MasterReqB7將MasterReq幀中的信號定義成8位的長整數(shù);保留的信號名字S1aveRespB0到S1aveRespB7將SlaveResp幀中的信號定義成8位的長整數(shù)。(6)節(jié)點屬性定義。在定義了上述所有LDF文件需要的內(nèi)容后,可以詳細定義每個節(jié)點的屬性。如節(jié)點名稱、節(jié)點使用的LIN規(guī)范版本、節(jié)點使用配置ID服務的標識符、節(jié)點初始化時使用的標識符、節(jié)點產(chǎn)品的唯一序列號、反饋錯誤的信號、最大同步間隔超時時間、診斷幀定義。(7)進度表的定義,進度表定義了兩個相鄰幀之間的時間間隔,這個時間要比允許幀傳輸?shù)淖畲髸r間長,而且應當是主節(jié)點時基值的精確倍數(shù)。實際系統(tǒng)中,進度表的選擇由主機的應用程序控制。進度表之間的切換要在幀時間(當前發(fā)送的幀)過去后立即完成。進度表的定義格式為:Scheduletables{[(<schedule_table_name>[<frame_name>delay<frame(_time>ms:])]}(8)信號編碼類型和信號表示的定義。信號編碼類型子集是LIN文件的可選部分,在車窗控制LIN總線中定義了5個信號組,每個信號組類似于C語言的結構體數(shù)據(jù)類型,信號編碼類型可以詳細定義信號組的成員和變量值。信號表示的定義是用于把多個功能和結構類似的信號用一個唯一的信號表示標識符來代替。信號表示的定義格式為:Signalrepresentation{[<signal_encoding_type_name>:<signal_or__group_name>([,<signal_or_group_name>]);]}signal_encoding_type_name標識符應和在signal—encoding_types子集中定義的其中一個signal_encoding_type_name標識符相同。5(2LlN節(jié)點軟件設計車窗系統(tǒng)工作性能的好壞取決于程序結構的合理性,一個好的程序結構有助于提高-30-無錫職業(yè)技術學院畢業(yè)設計說明書(論文)程序的運行速度和功能的正常實現(xiàn)。本次車窗系統(tǒng)的軟件設計包括兩個部分:車窗LIN主機節(jié)點和車窗LIN從機節(jié)點。參照車窗控制LDF文件,本文詳細說明了LIN總線主節(jié)點和從節(jié)點的軟件編寫。首先,主節(jié)點完成微控制器的寄存器初始化和變量初始化,然后進入自身任務循環(huán)中。在車窗控制方案中,如果中央控制單元檢測到開關狀態(tài)后,就向主節(jié)點發(fā)送消息。此時主節(jié)點立即啟動LIN報文幀的發(fā)送,先發(fā)送主機任務,然后延時幀內(nèi)響應間隔規(guī)定的時間后,再啟動從機任務發(fā)送。相應標識符的從節(jié)點接收到從機任務內(nèi)容后,執(zhí)行預先定義的操作,如打開、關閉車窗等。主節(jié)點采取邊發(fā)送邊接收的方式,如果接收到的位與發(fā)送的位不一致,則會取消這一次發(fā)送,重新啟動新的發(fā)送過程。如果從節(jié)點接收報文后,產(chǎn)生了位錯誤、校驗和錯誤、標識符奇偶校驗錯誤,從節(jié)點就認為沒有收到任務幀。當主節(jié)點啟動總線診斷主機任務后,從節(jié)點的從機任務以診斷信息告知主節(jié)點己經(jīng)發(fā)生錯誤。LIN主機節(jié)點軟件流程圖考慮了車窗整體執(zhí)行動作的一致性與總線信號傳輸之間的關系。任何一個車窗當輸入信號發(fā)生變化時,先將此信號通過LIN總線傳輸?shù)狡渌?jié)點上,再同步執(zhí)行該輸入信號所要求的動作。LIN從機節(jié)點則需要將本地節(jié)點的診斷信息主機節(jié)點。這樣,LIN主機節(jié)點就可以實時地接收LIN從機節(jié)點發(fā)實時地發(fā)送給車窗LIN送的數(shù)據(jù)。基于上述原因,主機節(jié)點LIN報文的接收放在本地節(jié)點的驅動函數(shù)執(zhí)行之后進行。LIN協(xié)議采用了標準的串行通信接口,軟件的實現(xiàn)要嚴格遵守協(xié)議的規(guī)定。通常LIN實現(xiàn)采用LIN規(guī)范規(guī)定的API(ApplicationProgramInterface,應用程序接口),LINAPI是LIN網(wǎng)絡和應用程序之間的接口。LINAPI是一個網(wǎng)絡軟件層,它在用戶為任意的ECU建立應用程序時,隱藏了LIN網(wǎng)絡配置的詳細情況(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 長江師范學院《管理技能與創(chuàng)新實踐》2023-2024學年第二學期期末試卷
- 桂林旅游學院《微機原理與接口技術(3)》2023-2024學年第二學期期末試卷
- 蘇州城市學院《書法(一)》2023-2024學年第二學期期末試卷
- 東華理工大學《汽車發(fā)展史》2023-2024學年第二學期期末試卷
- 2025屆四川省新高考教研聯(lián)盟高三上學期八省適應性聯(lián)考模擬演練考試(二)歷史試卷
- 合肥城市學院《建筑施工安全》2023-2024學年第二學期期末試卷
- 2024-2025學年上海市松江區(qū)高三上學期期末質(zhì)量監(jiān)控考試歷史試卷
- 長春大學旅游學院《高分子材料改性原理及技術》2023-2024學年第二學期期末試卷
- 林州建筑職業(yè)技術學院《化工制圖與AutoCAD》2023-2024學年第二學期期末試卷
- 華東交通大學《中國現(xiàn)當代文學二》2023-2024學年第二學期期末試卷
- 無人機警用方向應用簡介課件
- 變電站一次系統(tǒng)圖
- 《思想道德修養(yǎng)與法律基礎》說課(獲獎版)課件
- 幼兒園中班居家安全教案
- 網(wǎng)頁設計和制作說課稿市公開課金獎市賽課一等獎課件
- 《新媒體營銷》新媒體營銷與運營
- 食用油營銷整合規(guī)劃(含文字方案)
- 蘇教版科學五年級下15《升旗的方法》教案
- 現(xiàn)代工業(yè)發(fā)酵調(diào)控緒論
- 超高性能混凝土項目立項申請(參考模板)
- 電纜橋架招標文件范本(含技術規(guī)范書)
評論
0/150
提交評論