新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線技術的汽車ECU設計

        基于CAN總線技術的汽車ECU設計

        作者: 時間:2013-05-18 來源:網絡 收藏

          3.2軟件設計
          系統軟件設計主要包括信號采集和CAN接口通信程序。利用AT90CAN128片上集成的ADC模塊可以采集一些常規傳感器的模擬信號,如油壓、水溫、氣壓等信號;利用定時器/計數器模塊采集傳感器脈沖信號,如轉速、行駛里程信號等。對于模擬量信號,在經過放大器處理之后,可以直接控制單片機的ADC模塊對其進行采集;對于脈沖信號,在對其進行采集時需要進行整形處理,如轉速傳感器獲取發動機飛輪旋轉時輪齒的信號,是正弦交流信號,將其整形為方波信號,利用定時器/計數器模塊采集方波的頻率來完成速度采集。為提高轉速采集的實時性,通常采集脈沖信號的周期(兩個脈沖信號上升沿或下降沿之間的時間)來計算其頻率,并計算發動機轉速,計算公式如如式(1)所示。

        式(1)中為系統時鐘周期,為分頻系數,為發動機飛輪齒圈齒數(對于康明斯發動機為為輪齒脈沖兩次上升(或下降)沿的計數器值。

          CAN接口通信程序主要包括CAN的初始化、數據接收和數據發送程序。主程序通過調用函數來實現數據的接收和發送,流程圖如圖3所示,在數據接收程序中,通過查詢方式讀取相應消息對象中的數據。

          CAN初始化工作主要包括波特率參數設置、接收屏蔽寄存器及接收代碼寄存器的設置、使能允許寄存器的設置等。通過總線定時器寄存器CANBT1、CANBT2、CANBT3來設置波特率參數。AT90CAN128中提供了一組由4個驗收碼寄存器(CANIDT1~CANIDT4)和4個驗收屏蔽寄存器(CANIDM1~CANIDM4)組成的驗收濾波器,信息只有通過它的驗收濾波才能被接收;所有驗收屏蔽寄存器為0的位,驗收碼寄存器和CAN信息幀的對應位必須相同才能驗收通過,而所有驗收屏蔽寄存器中為1的位,驗收碼寄存器對應位的驗收濾波功能則被屏蔽。通過設置驗收濾波器,既可以實現節點與節點之間的點對點通信,也可以實現一點對多點的廣播式通信,使整個數據通信網絡更加靈活。
          4、實驗
          采用本文設計的汽車對車輛上的模擬信號(水溫、壓力等),脈沖信號(轉速、里程等)進行采集,并通過發送和接收數據。采用IXXAT公司的CAN分析儀(USBtoCAN)對進行監控,利用計算機與CAN分析儀連接,并通過采集傳輸的數據,CAN總線的通信波特率設定為125kbps,實驗中測得的總線狀態如圖4(a)所示,實驗中采用CAN2.0B擴展幀協議,采集某節點的CAN總線數據如圖4(b)所示,其中節點204060為脈沖信號采集,節點204061為模擬信號采集,數據長度為8字節,空余字節用FF填補,可用來擴展信息量。

          根據實際測量結果,可以看出總線沒有接收到出錯幀,接收到數據幀,反映總線工作狀態正常。從接收的數據表明,每個ECU節點發送的ID碼和數據與預定義的ID碼和數據相同,總線接收和發送正常。另外,在軟件中加入了異常處理,如果某節點一直向總線發送錯誤標志,總線會自動終止該節點,其他節點也會檢測到錯誤條件,停止向該節點發送數據,這樣可以避免總線癱瘓。
          5、結論
          本文設計的基于AT90CAN128單片機的汽車ECU,由于其本身接口豐富,可以采集多種傳感器數據,并集成了CAN接口模塊,這樣提高了EUC的工作可靠性和CAN接口通信的可靠性,非常適宜于組建汽車CAN總線網絡。另外,在硬件上做了優化處理,提高了系統的抗干擾能力。實驗表明,該ECU能準確采集數據,并能通過CAN總線進行可靠通信

        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        晶振相關文章:晶振原理
        脈沖點火器相關文章:脈沖點火器原理

        上一頁 1 2 下一頁

        關鍵詞: CAN總線 ECU 控制器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 河间市| 射阳县| 陆河县| 罗田县| 丰宁| 福清市| 资源县| 衡东县| 博罗县| 永胜县| 凤山县| 诏安县| 墨江| 三江| 海丰县| 灯塔市| 武冈市| 勃利县| 灵山县| 开鲁县| 惠东县| 葫芦岛市| 兴化市| 延津县| 横山县| 正定县| 丰镇市| 闽清县| 济宁市| 雷州市| 孟津县| 获嘉县| 武鸣县| 崇阳县| 中江县| 梁山县| 吴江市| 温泉县| 宝兴县| 东宁县| 常州市|