摘 要: 為實(shí)現(xiàn)客車(chē)換檔的轎車(chē)化,提出了一種基于CAN總線的客車(chē)輕便換檔系統(tǒng)的設(shè)計(jì),重點(diǎn)對(duì)系統(tǒng)的執(zhí)行控制單元的硬件及對(duì)應(yīng)軟件設(shè)計(jì)、系統(tǒng)的CAN總線通信技術(shù)進(jìn)行了闡述,并對(duì)系統(tǒng)的可靠性進(jìn)行了分析。系統(tǒng)采用了當(dāng)前先進(jìn)的電子技術(shù)和智能控制算法,經(jīng)實(shí)驗(yàn)驗(yàn)證采用輕便換檔系統(tǒng)后,汽車(chē)在進(jìn)行換檔時(shí),各方面性能均得到較大的提高。
關(guān)鍵詞: CAN總線 輕便換檔 μC/OS-Ⅱ 單片機(jī)
1 引 言
隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,城市交通日益繁忙,交通安全問(wèn)題越來(lái)越受到人們的重視。在車(chē)輛行駛過(guò)程中,駕駛員必須根據(jù)道路、交通條件的變化,及時(shí)對(duì)車(chē)輛行駛方向和行駛速度進(jìn)行調(diào)節(jié),使汽車(chē)獲得良好的行駛性能和燃油經(jīng)濟(jì)性能。頻繁換檔使駕駛員容易疲勞,注意力分散,致使交通事故增加。本文介紹了一種基于CAN總線的客車(chē)輕便換檔系統(tǒng)的設(shè)計(jì),利用機(jī)電一體化技術(shù)實(shí)現(xiàn)了客車(chē)換檔的轎車(chē)化。系統(tǒng)主要是結(jié)合客車(chē)的換擋系統(tǒng)進(jìn)行的開(kāi)發(fā)設(shè)計(jì),包括前后兩個(gè)節(jié)點(diǎn),前置節(jié)點(diǎn)為手柄控制發(fā)令節(jié)點(diǎn),后置節(jié)點(diǎn)為執(zhí)行控制節(jié)點(diǎn),系統(tǒng)總體框架圖如圖1所示。
2 系統(tǒng)應(yīng)用設(shè)計(jì)
2.1 系統(tǒng)硬件結(jié)構(gòu)及控制原理
為使系統(tǒng)達(dá)到反應(yīng)靈敏、可靠性高的設(shè)計(jì)要求,前后節(jié)點(diǎn)的控制單元均采用Philips公司生產(chǎn)的P87C591單片機(jī),他成功包括了Philips半導(dǎo)體SJAl000 CAN控制器的PeliCAN功能,符合系統(tǒng)設(shè)計(jì)要求。主控系統(tǒng)CAN通信部分電路圖如圖2所示[1]:
系統(tǒng)中擋位、車(chē)速和發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)的采集由霍爾元件A3144EU來(lái)完成,信號(hào)經(jīng)過(guò)放大后,通過(guò)光電耦合器TLP521隔離,被送到CPU中。CPU經(jīng)過(guò)邏輯運(yùn)算后,將輸出信號(hào)經(jīng)過(guò)光電耦合器隔離后,送至大功率的場(chǎng)效應(yīng)管,由場(chǎng)效應(yīng)管來(lái)驅(qū)動(dòng)電磁閥動(dòng)作,以控制氣缸動(dòng)作來(lái)完成相應(yīng)檔位的變換。
系統(tǒng)的主要控制過(guò)程為:前置節(jié)點(diǎn)根據(jù)手柄位置的不同以及離合開(kāi)關(guān)的開(kāi)合實(shí)時(shí)采集信號(hào)并經(jīng)過(guò)邏輯判斷處理成檔位命令,通過(guò)CAN總線傳輸?shù)胶笾霉?jié)點(diǎn),后置節(jié)點(diǎn)接到檔位命令后,結(jié)合車(chē)速、發(fā)動(dòng)機(jī)轉(zhuǎn)速及當(dāng)前擋位對(duì)換檔時(shí)機(jī)進(jìn)行判斷,然后向執(zhí)行器發(fā)出動(dòng)作指令。執(zhí)行器按指令要求使相應(yīng)的電磁閥開(kāi)始動(dòng)作,從而控制對(duì)應(yīng)氣缸動(dòng)作,來(lái)實(shí)現(xiàn)擋位的變換。在擋位轉(zhuǎn)換完成后,還要對(duì)反饋信號(hào)處理,確定換擋動(dòng)作完成后,再做出下一步的操作。車(chē)型有5個(gè)上擋位和一個(gè)倒擋位,采用電控氣操作方式,其具體擋位與電磁閥位置如圖3所示。
如圖3所示,當(dāng)閥1通氣、閥2斷氣時(shí),活塞被推到氣缸右端,通過(guò)活塞桿把撥叉推到預(yù)定位置,將此位置定義為KA層;當(dāng)閥1斷氣、閥2通氣時(shí),定義為KC層;當(dāng)兩個(gè)閥都斷氣,由于變速箱內(nèi)回位彈簧的作用,將會(huì)自動(dòng)定位到中間層,定義為KB層。層位選定后,再通過(guò)相應(yīng)位置上兩個(gè)上檔氣閥的作用以實(shí)現(xiàn)不同方向的上下檔動(dòng)作,從而完成預(yù)定的選檔和換檔動(dòng)作。
2.2 系統(tǒng)軟件設(shè)計(jì)
實(shí)際應(yīng)用對(duì)系統(tǒng)的實(shí)時(shí)性與可靠性要求較高,在軟件設(shè)計(jì)中采用了多任務(wù)實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ的編程方法,即將應(yīng)用程序分解為若干個(gè)獨(dú)立的進(jìn)程,再另外創(chuàng)建一個(gè)監(jiān)控進(jìn)程,監(jiān)視各個(gè)進(jìn)程的運(yùn)行情況,這樣就保證系統(tǒng)運(yùn)行的實(shí)時(shí)性和可靠性[2]。
系統(tǒng)采用Keil C51編譯器,結(jié)合所用單片機(jī)P89C591的技術(shù)特點(diǎn),移植一個(gè)支持P89C591的μC/OS-Ⅱ操作系統(tǒng)的工作內(nèi)容包括:
(1) 在OS_CPU.H中用#define設(shè)置一個(gè)常量值用于控制任務(wù)堆棧的增長(zhǎng)方向。
(2) 在OS_CPU.H中聲明10個(gè)數(shù)據(jù)類(lèi)型。
(3) 在OS_CPU.H中用#define定義3個(gè)宏。
(4) 在OS_CPU.C中編寫(xiě)6個(gè)簡(jiǎn)單的C語(yǔ)言函數(shù),即初始化任務(wù)堆棧、任務(wù)創(chuàng)建鉤掛函數(shù)、任務(wù)刪除鉤掛函數(shù)、任務(wù)切換鉤掛函數(shù)、統(tǒng)計(jì)任務(wù)鉤掛函數(shù)和定時(shí)鉤掛函數(shù)。
(5) 在OS_CPU_A.ASM中編寫(xiě)4個(gè)匯編語(yǔ)言函數(shù)。
系統(tǒng)共需創(chuàng)建4個(gè)任務(wù),系統(tǒng)任務(wù)分配情況如圖4所示。
CAN總線掃描任務(wù)定時(shí)掃描CAN總線的各寄存器,用于接收前置節(jié)點(diǎn)發(fā)送的手柄位置信號(hào)。
顯示任務(wù)主要擔(dān)任顯示、刷新等職責(zé),用于調(diào)試過(guò)程中觀察動(dòng)作的完成情況。
系統(tǒng)主任務(wù)用于執(zhí)行數(shù)據(jù)的邏輯分析判斷及超限報(bào)警等功能。
數(shù)據(jù)采集任務(wù)將實(shí)時(shí)掃描各個(gè)數(shù)據(jù)采集端口,用于采集車(chē)速,發(fā)動(dòng)機(jī)轉(zhuǎn)速等參數(shù)。
主函數(shù)負(fù)責(zé)系統(tǒng)的初始化以及任務(wù)的創(chuàng)建、啟動(dòng)等。
各個(gè)任務(wù)之間通過(guò)信號(hào)量、消息隊(duì)列等途徑可以相互通信,以保證任務(wù)執(zhí)行得實(shí)時(shí)與同步。
3 系統(tǒng)通信機(jī)制設(shè)計(jì)
輕便換檔系統(tǒng)對(duì)通信系統(tǒng)的要求是:數(shù)據(jù)傳輸可靠,實(shí)時(shí)性高,傳輸速率高,誤碼率低[3]。CAN總線作為一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),具有很強(qiáng)的靈活性、簡(jiǎn)單的擴(kuò)展可能性、優(yōu)良的通信實(shí)時(shí)性以及通信的可靠性和檢錯(cuò)能力,能夠應(yīng)用于各種苛刻的電子環(huán)境,已經(jīng)成為汽車(chē)的首選網(wǎng)絡(luò)通訊總線形式。
CAN總線的模型結(jié)構(gòu)只有3層:物理層、數(shù)據(jù)鏈路層和應(yīng)用層,傳輸介質(zhì)為雙絞線,通信速率最高可達(dá)1 Mb/s(40 m),其通信方式靈活,無(wú)需站地址等節(jié)點(diǎn)信息,采用非破壞性總線仲裁技術(shù),滿足實(shí)時(shí)要求。
在研究CAN 2.0B規(guī)范的基礎(chǔ)上,采用自定義通訊協(xié)議的方案實(shí)現(xiàn)了系統(tǒng)前后兩個(gè)節(jié)點(diǎn)的通訊。前節(jié)點(diǎn)發(fā)出命令,后節(jié)點(diǎn)接收后不發(fā)確認(rèn)信號(hào),前節(jié)點(diǎn)收到后節(jié)點(diǎn)的信息后判斷是否正確,如果不正確或在規(guī)定的時(shí)間內(nèi)收不到,則重新發(fā)命令,重發(fā)超過(guò)規(guī)定的次數(shù)為通訊故障;后節(jié)點(diǎn)發(fā)出信息,前節(jié)點(diǎn)接收后不發(fā)確認(rèn)信息,前節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)收不到則為通訊故障。節(jié)點(diǎn)數(shù)據(jù)幀基本結(jié)構(gòu)定義如下:
系統(tǒng)中每個(gè)節(jié)點(diǎn)數(shù)據(jù)幀用ID區(qū)別,每個(gè)節(jié)點(diǎn)可定義多個(gè)不同的數(shù)據(jù)幀,用以傳送不同的信息。
4 系統(tǒng)抗干擾設(shè)計(jì)
系統(tǒng)將從軟硬件兩方面采取措施,綜合防止干擾對(duì)單片機(jī)系統(tǒng)工作的影響。
硬件方面主要是切斷來(lái)自傳輸通道和電源線的干擾,設(shè)計(jì)中通過(guò)濾波電容、光電耦合器的應(yīng)用以及合理的元件布局和布線,有效地抑制分布電容的干擾、電磁互感、漏磁的干擾等,同時(shí)PCB板科學(xué)的接地,很好地解決信號(hào)完整性問(wèn)題,改善了PCB板的電磁兼容性(EMC)。
軟件方面則是通過(guò)指令冗余、軟件陷阱和看門(mén)狗技術(shù)來(lái)保證程序的正常運(yùn)轉(zhuǎn),有效地解決了程序運(yùn)行過(guò)程中的跑飛和死循環(huán)問(wèn)題。
5 結(jié) 語(yǔ)
客車(chē)輕便換檔系統(tǒng)將手動(dòng)換檔改為電控輕便換檔,使車(chē)輛得到了更為出色的換檔舒適性與經(jīng)濟(jì)性,徹底實(shí)現(xiàn)客車(chē)換檔的轎車(chē)化,既保留了機(jī)械變速器效率高、成本低、結(jié)構(gòu)簡(jiǎn)單的優(yōu)點(diǎn),又充分利用了電控響應(yīng)速度快,可控性高的特性,符合汽車(chē)技術(shù)電子化、智能化、人性化的發(fā)展方向。
本文創(chuàng)新點(diǎn)在于摒棄以往單片機(jī)系統(tǒng)軟件編程的單任務(wù)模式,采用嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)μC/OS-Ⅱ的編程方法,使系統(tǒng)的實(shí)時(shí)性得到更大提高。經(jīng)實(shí)踐證明,系統(tǒng)運(yùn)行可靠,通訊正常,并達(dá)到了較高的性能指標(biāo)。系統(tǒng)只需要進(jìn)行少量的調(diào)整,就能適用于各類(lèi)型的客車(chē),具有廣闊的發(fā)展和應(yīng)用前景。