新聞中心

        EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的客車輕便換檔系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        基于CAN總線的客車輕便換檔系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        作者: 時間:2010-01-20 來源:網(wǎng)絡(luò) 收藏

          2.2 系統(tǒng)軟件設(shè)計(jì)

          實(shí)際應(yīng)用對系統(tǒng)的實(shí)時性與可靠性要求較高,在軟件設(shè)計(jì)中采用了多任務(wù)實(shí)時操作系統(tǒng)μC/OS-Ⅱ的編程方法,即將應(yīng)用程序分解為若干個獨(dú)立的進(jìn)程,再另外創(chuàng)建一個監(jiān)控進(jìn)程,監(jiān)視各個進(jìn)程的運(yùn)行情況,這樣就保證系統(tǒng)運(yùn)行的實(shí)時性和可靠性[2]。

          系統(tǒng)采用Keil C51編譯器,結(jié)合所用單片機(jī)P89C591的技術(shù)特點(diǎn),移植一個支持P89C591的μC/OS-Ⅱ操作系統(tǒng)的工作內(nèi)容包括:

          (1) 在OS_CPU.H中用#define設(shè)置一個常量值用于控制任務(wù)堆棧的增長方向。

          (2) 在OS_CPU.H中聲明10個數(shù)據(jù)類型。

          (3) 在OS_CPU.H中用#define定義3個宏。

          (4) 在OS_CPU.C中編寫6個簡單的C語言函數(shù),即初始化任務(wù)堆棧、任務(wù)創(chuàng)建鉤掛函數(shù)、任務(wù)刪除鉤掛函數(shù)、任務(wù)切換鉤掛函數(shù)、統(tǒng)計(jì)任務(wù)鉤掛函數(shù)和定時鉤掛函數(shù)。

          (5) 在OS_CPU_A.ASM中編寫4個匯編語言函數(shù)。

        系統(tǒng)共需創(chuàng)建4個任務(wù),系統(tǒng)任務(wù)分配情況如圖4所示。

          掃描任務(wù)定時掃描的各寄存器,用于接收前置節(jié)點(diǎn)發(fā)送的手柄位置信號。

          顯示任務(wù)主要擔(dān)任顯示、刷新等職責(zé),用于調(diào)試過程中觀察動作的完成情況。

          系統(tǒng)主任務(wù)用于執(zhí)行數(shù)據(jù)的邏輯分析判斷及超限報(bào)警等功能。數(shù)據(jù)采集任務(wù)將實(shí)時掃描各個數(shù)據(jù)采集端口,用于采集車速,發(fā)動機(jī)轉(zhuǎn)速等參數(shù)。

          主函數(shù)負(fù)責(zé)系統(tǒng)的初始化以及任務(wù)的創(chuàng)建、啟動等。

          各個任務(wù)之間通過信號量、消息隊(duì)列等途徑可以相互通信,以保證任務(wù)執(zhí)行得實(shí)時與同步。

        3 系統(tǒng)通信機(jī)制設(shè)計(jì)

          輕便對通信系統(tǒng)的要求是:數(shù)據(jù)傳輸可靠,實(shí)時性高,傳輸速率高,誤碼率低[3]。作為一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),具有很強(qiáng)的靈活性、簡單的擴(kuò)展可能性、優(yōu)良的通信實(shí)時性以及通信的可靠性和檢錯能力,能夠應(yīng)用于各種苛刻的電子環(huán)境,已經(jīng)成為汽車的首選網(wǎng)絡(luò)通訊總線形式。

          CAN總線的模型結(jié)構(gòu)只有3層:物理層、數(shù)據(jù)鏈路層和應(yīng)用層,傳輸介質(zhì)為雙絞線,通信速率最高可達(dá)1 Mb/s(40 m),其通信方式靈活,無需站地址等節(jié)點(diǎn)信息,采用非破壞性總線仲裁技術(shù),滿足實(shí)時要求。

          在研究CAN 2.0B規(guī)范的基礎(chǔ)上,采用自定義通訊協(xié)議的方案實(shí)現(xiàn)了系統(tǒng)前后兩個節(jié)點(diǎn)的通訊。前節(jié)點(diǎn)發(fā)出命令,后節(jié)點(diǎn)接收后不發(fā)確認(rèn)信號,前節(jié)點(diǎn)收到后節(jié)點(diǎn)的信息后判斷是否正確,如果不正確或在規(guī)定的時間內(nèi)收不到,則重新發(fā)命令,重發(fā)超過規(guī)定的次數(shù)為通訊故障;后節(jié)點(diǎn)發(fā)出信息,前節(jié)點(diǎn)接收后不發(fā)確認(rèn)信息,前節(jié)點(diǎn)在規(guī)定的時間內(nèi)收不到則為通訊故障。節(jié)點(diǎn)數(shù)據(jù)幀基本結(jié)構(gòu)定義如下:

        系統(tǒng)中每個節(jié)點(diǎn)數(shù)據(jù)幀用ID區(qū)別,每個節(jié)點(diǎn)可定義多個不同的數(shù)據(jù)幀,用以傳送不同的信息。

          系統(tǒng)抗干擾設(shè)計(jì) 

          系統(tǒng)將從軟硬件兩方面采取措施,綜合防止干擾對單片機(jī)系統(tǒng)工作的影響。

          硬件方面主要是切斷來自傳輸通道和電源線的干擾,設(shè)計(jì)中通過濾波電容、光電耦合器的應(yīng)用以及合理的元件布局和布線,有效地抑制分布電容的干擾、電磁互感、漏磁的干擾等,同時PCB板科學(xué)的接地,很好地解決信號完整性問題,改善了PCB板的電磁兼容性(EMC)。

          軟件方面則是通過指令冗余、軟件陷阱和看門狗技術(shù)來保證程序的正常運(yùn)轉(zhuǎn),有效地解決了程序運(yùn)行過程中的跑飛和死循環(huán)問題。

        5 結(jié) 語

          將手動換檔改為電控輕便換檔,使車輛得到了更為出色的換檔舒適性與經(jīng)濟(jì)性,徹底實(shí)現(xiàn)客車換檔的轎車化,既保留了機(jī)械變速器效率高、成本低、結(jié)構(gòu)簡單的優(yōu)點(diǎn),又充分利用了電控響應(yīng)速度快,可控性高的特性,符合汽車技術(shù)電子化、智能化、人性化的發(fā)展方向。

          本文創(chuàng)新點(diǎn)在于摒棄以往單片機(jī)系統(tǒng)軟件編程的單任務(wù)模式,采用嵌入式實(shí)時多任務(wù)操作系統(tǒng)μC/OS-Ⅱ的編程方法,使系統(tǒng)的實(shí)時性得到更大提高。經(jīng)實(shí)踐證明,系統(tǒng)運(yùn)行可靠,通訊正常,并達(dá)到了較高的性能指標(biāo)。系統(tǒng)只需要進(jìn)行少量的調(diào)整,就能適用于各類型的客車,具有廣闊的發(fā)展和應(yīng)用前景。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 洪洞县| 松桃| 泽库县| 汾阳市| 黑河市| 凤冈县| 邳州市| 河南省| 措美县| 涞水县| 高邮市| 浦北县| 册亨县| 鄂伦春自治旗| 思茅市| 康乐县| 顺平县| 女性| 景宁| 青海省| 波密县| 益阳市| 璧山县| 台前县| 龙海市| 双辽市| 泽库县| 新安县| 扎鲁特旗| 崇信县| 仙居县| 城固县| 平乐县| 正镶白旗| 封开县| 深泽县| 含山县| 琼海市| 香港 | 怀仁县| 德钦县|