基于CAN總線的客車輕便換檔系統設計實現
(5) 在OS_CPU_A.ASM中編寫4個匯編語言函數。
系統共需創建4個任務,系統任務分配情況如圖4所示。
CAN總線掃描任務定時掃描CAN總線的各寄存器,用于接收前置節點發送的手柄位置信號。
顯示任務主要擔任顯示、刷新等職責,用于調試過程中觀察動作的完成情況。
系統主任務用于執行數據的邏輯分析判斷及超限報警等功能。數據采集任務將實時掃描各個數據采集端口,用于采集車速,發動機轉速等參數。
主函數負責系統的初始化以及任務的創建、啟動等。
各個任務之間通過信號量、消息隊列等途徑可以相互通信,以保證任務執行得實時與同步。
3 系統通信機制設計
輕便換檔系統對通信系統的要求是:數據傳輸可靠,實時性高,傳輸速率高,誤碼率低[3]。CAN總線作為一種有效支持分布式控制或實時控制的串行通信網絡,具有很強的靈活性、簡單的擴展可能性、優良的通信實時性以及通信的可靠性和檢錯能力,能夠應用于各種苛刻的電子環境,已經成為汽車的首選網絡通訊總線形式。
CAN總線的模型結構只有3層:物理層、數據鏈路層和應用層,傳輸介質為雙絞線,通信速率最高可達1 Mb/s(40 m),其通信方式靈活,無需站地址等節點信息,采用非破壞性總線仲裁技術,滿足實時要求。
在研究CAN 2.0B規范的基礎上,采用自定義通訊協議的方案實現了系統前后兩個節點的通訊。前節點發出命令,后節點接收后不發確認信號,前節點收到后節點的信息后判斷是否正確,如果不正確或在規定的時間內收不到,則重新發命令,重發超過規定的次數為通訊故障;后節點發出信息,前節點接收后不發確認信息,前節點在規定的時間內收不到則為通訊故障。節點數據幀基本結構定義如下:
系統中每個節點數據幀用ID區別,每個節點可定義多個不同的數據幀,用以傳送不同的信息。
系統抗干擾設計
系統將從軟硬件兩方面采取措施,綜合防止干擾對單片機系統工作的影響。
硬件方面主要是切斷來自傳輸通道和電源線的干擾,設計中通過濾波電容、光電耦合器的應用以及合理的元件布局和布線,有效地抑制分布電容的干擾、電磁互感、漏磁的干擾等,同時PCB板科學的接地,很好地解決信號完整性問題,改善了PCB板的電磁兼容性(EMC)。
軟件方面則是通過指令冗余、軟件陷阱和看門狗技術來保證程序的正常運轉,有效地解決了程序運行過程中的跑飛和死循環問題。
5 結 語
客車輕便換檔系統將手動換檔改為電控輕便換檔,使車輛得到了更為出色的換檔舒適性與經濟性,徹底實現客車換檔的轎車化,既保留了機械變速器效率高、成本低、結構簡單的優點,又充分利用了電控響應速度快,可控性高的特性,符合汽車技術電子化、智能化、人性化的發展方向。
本文創新點在于摒棄以往單片機系統軟件編程的單任務模式,采用嵌入式實時多任務操作系統μC/OS-Ⅱ的編程方法,使系統的實時性得到更大提高。經實踐證明,系統運行可靠,通訊正常,并達到了較高的性能指標。系統只需要進行少量的調整,就能適用于各類型的客車,具有廣闊的發展和應用前景。
評論