999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CAN總線的電動汽車空調控制教學平臺設計

2021-10-30 06:59:10李繼武
汽車零部件 2021年10期
關鍵詞:設備

李繼武

(南京城市職業學院智能工程學院,江蘇南京 210000)

0 引言

CAN(Controller Area Network)即控制器局域網,是由德國Bosch公司為監測和控制汽車而開發的一種網絡總線技術[1]。CAN總線采用時間觸發協議,在消息傳輸中采用無破壞性的基于優先權的仲裁機制,確保了數據的完整性和安全性[2]。CAN總線傳輸速度快、可靠性高,得到汽車主機廠和供應商的大力支持,已經成為最有前途的現場總線技術之一[3]。

汽車空調系統是現代汽車的基本組成部分,隨著智能控制技術的進步,利用CAN總線技術控制空調的制冷、加熱、通風和內外循環等功能越來越方便[4]。

CAN總線技術課程是新能源汽車技術專業核心課程,從教學實訓和人才崗位需求考慮,讓學生掌握CAN總線工作原理和CAN報文的數據解析過程是實訓教學的重點[5]。但是由于CAN總線技術理解起來比較抽象,使用萬用表或示波器檢測到的CAN信號僅僅是數字或波形,要正確理解CAN信號背后的含義難度比較大[6]。

本文作者設計了一款CAN總線教學平臺,利用CAN總線技術控制電動汽車空調實現“自動”“關閉”“A/C”等12項功能,直觀演示了CAN總線技術工作原理和CAN報文解析過程,在提高CAN總線技術實訓課程教學質量方面有一定的應用和推廣價值。

1 硬件選型及接線

1.1 測試用車

文中測試用車為2019年上市的比亞迪E5出行版純電動汽車,工信部純電續航里程405 km,電池能量51.2 kWh,前置永磁同步單電機,單速變速箱,10.922 cm(4.3英寸)液晶儀表,自動空調。

1.2 USB-CAN接口卡

通過USB-CAN接口卡,PC機可以方便連接至汽車CAN總線網絡。測試用USB-CAN接口卡為廣成科技公司生產的USBCAN-II S V502型,該接口卡集成兩路CAN總線接口,使用鳳凰端子接線方式,支持CAN2.0A/CAN2.0B幀格式,符合ISO/DIS11898規范,通信波特率在5 kb/s~1 Mb/s 之間可任意編程,使用USB總線電源供電,CAN總線接口采用電氣隔離,隔離模塊絕緣電壓直流1 500 V,最高接收數據流量為14 000幀/s,支持Windows操作系統,工作溫度范圍為-20~70 ℃[7]。

1.3 硬件接線

比亞迪 E5 CAN總線網絡有4種:啟動網CAN(125 kb/s)、舒適網CAN(125 kb/s)、動力網CAN(250 kb/s)和ESC網CAN(500 kb/s)。接線方法如圖1所示。

圖1 USB-CAN接線方法

由于各個網絡之間速率不同,相互通信需要一個中間設備網關控制器進行轉發[8]。空調系統屬于舒適網CAN,比亞迪E5網關控制器ECU的7、8號引腳為舒適網CAN接出引腳,其中7號引腳為CANH,8號引腳為CANL。PC機通過USB-CAN接口卡的鳳凰端子連接到網關控制器的7、8號引腳上即可接入汽車舒適CAN網絡。

2 功能分析與界面設計

2.1 軟件功能分析

比亞迪E5汽車空調面板有12個按鍵,各按鍵的具體功能如表1所示。軟件功能按照比亞迪E5空調面板視圖設計。

表1 比亞迪E5自動空調12個按鍵功能說明

2.2 軟件界面設計

空調面板視圖可以作為軟件界面,每個按鍵設計成軟件按鈕,單擊不同按鈕模擬按下不同按鍵,同時發送CAN命令給空調,以啟動空調的相應功能,軟件界面如圖2所示。

圖2 軟件界面

軟件開發平臺選擇Microsoft Visual Studio Enterprise 2015,編程語言使用C#,CAN分析儀測試調試工具使用CANTest軟件。

3 初始化USB-CAN接口卡

USB-CAN接口卡在收發數據之前,要依次執行3個操作:打開設備、初始化設備和啟動設備。

3.1 打開設備

打開USB-CAN接口卡需要使用DLL庫中的OpenDevice函數,其原型如下:

DWORD__stdcall OpenDevice(DWORD DevType,

DWORD DevIndex,DWORD Reserved);

其中DevType表示設備類型,USBCAN I型為3,USBCAN II型為4;DevIndex表示設備索引,如果只有一個設備,索引為0,如果有兩個設備可以為0或1;Reserved為保留參數,未使用。返回值為1表示操作成功,0表示操作失敗。

3.2 初始化設備

初始化USB-CAN接口卡,就是配置其5個參數:驗收碼、屏蔽碼、波特率、濾波使能和模式。

(1)驗收碼

USB-CAN接口卡有4個驗收代碼寄存器ACR0、ACR1、ACR2和ACR3,其中高字節對應ACR0,低字節對應ACR3,寄存器格式如表2所示。

表2 驗收代碼寄存器ACR

(2)屏蔽碼

USB-CAN接口卡有4個驗收屏蔽寄存器AMR0、AMR1、AMR2和AMR3,其中高字節對應AMR0,低字節對應AMR3,寄存器格式如表3所示。

驗收濾波器由驗收代碼寄存器ACR和驗收屏蔽寄存器定義,每一位驗收屏蔽位分別對應每一位驗收代碼,當該位驗收屏蔽位為1時,接收的相應幀ID位無論是否和相應的驗收代碼位相同均會表示為接收;當驗收屏蔽位為0時,只有相應的幀ID位和相應的驗收代碼位值相同的情況才會表示為接收。只有在所有的位都表示接收的時候,CAN控制器才會接收該報文[9]。

(3)波特率

USB-CAN接口卡使用定時器0和定時器1設置通信波特率,電動汽車空調CAN總線屬于舒適CAN,波特率為125 kb/s,USB-CAN接口卡的定時器0設置為0x03,定時器1設置為0x1C。

(4)濾波使能

該屬性為0表示“不使能”,1表示“使能”,此處應設置為1。

(5)模式

USB-CAN接口卡有兩種工作模式,0表示正常模式,1表示只聽模式,此處設置為0。

初始化USB-CAN接口卡時,上述5個參數封裝入如下INIT_CONFIG結構體:

public struct INIT_CONFIG

{

public uint AccCode;//驗收碼

public uint AccMask;//屏蔽碼

public byte Timing0;//定時器0

public byte Timing1;//定時器1

public byte Filter;//濾波使能

public byte Mode;//模式

public uint Reserved;//系統保留

}

初始化USB-CAN接口卡調用InitCan函數,原型如下:

DWORD__stdcall InitCan(DWORD DevType,DWORD

DevIndex,DWORD CANIndex,P_INIT_CONFIG pInitConfig);

其中DevType和DevIndex參數與OpenDevice函數相同,CANIndex表示第幾路CAN,即對應接口卡的CAN通道號。返回值1表示操作成功,0表示操作失敗[10]。

3.3 啟動設備

打開的USB-CAN設備經過參數初始化后,即可啟動某一個CAN通道以發送或接收CAN數據,啟動函數為StartCAN,其原型如下:

DWORD__stdcall StartCAN(DWORD DevType,DWORD

DevIndex,DWORD CANIndex);

其中DevType、DevIndex和CANIndex與InitCan函數相同。返回值為1表示操作成功,0表示操作失敗。

4 發送與接收CAN數據

4.1 幀結構定義

標準數據幀11個字節,前3個字節為幀描述,后8個字節為幀數據,如表4所示。

表4 標準數據幀

字節1為幀信息,第7位(FF)表示幀格式,FF為0表示標準幀,FF為1表示擴展幀;第6位(RTR)表示幀類型,RTR為0表示數據幀,RTR為1表示遠程幀;DLC表示在數據幀時實際的數據長度。字節2和字節3為報文識別碼,其高11位有效。字節4—11為數據幀的實際數據,遠程幀時無效。

針對標準數據幀格式,定義一個幀結構體如下:

typedef struct_CAN_OBJ {

UINT ID;//幀識別碼

UINT TimeStamp;//接收到信息幀時的時間標識,從CAN控制器初始化開始計時

BYTE TimeFlag;//是否使用時間標識,為1時TimeStamp有效

BYTE SendType;//發送幀類型:0表示正常發送,1表示單次發送

BYTE RemoteFlag;//幀類型:0表示數據幀,1表示為遠程幀

BYTE ExternFlag;//幀格式:0表示標準幀,1表示擴展幀

BYTE DataLen;//數據長度DLC(≤8)

BYTE Data[8];//CAN報文的數據

BYTE Reserved[3];//系統保留

} CAN_OBJ,*P_CAN_OBJ;

其中TimeStamp和TimeFlag只在此幀為接收幀時有意義,SendType只在此幀為發送幀時有意義。CAN_OBJ結構體中,ID和Data這兩個參數最重要,以比亞迪E5汽車的空調CAN為例,ID為空調CAN總線的標識碼,Data為控制空調的CAN命令(發送時)或當前空調狀態信息(接收時)。

4.2 收發CAN數據

文中使用C#語言結合ECAN動態鏈接庫完成CAN數據的收發。發送CAN數據,ECAN庫提供了Transmit函數,其原型如下:

ULONG__stdcall Transmit(DWORD DevType,DWORD

DevIndex,DWORD CANIndex,P_CAN_OBJ pSend,ULONG Len);

其中DevType、DevIndex和CANIndex 3個參數同InitCan函數相同,pSend表示要發送的數據幀數組的首指針,Len表示要發送的數據幀數組的長度,返回值返回實際發送的幀數。

發送CAN數據的程序流程如圖3所示。

圖3 發送CAN數據流程

接收CAN數據即從指定的設備CAN通道的緩沖區里讀取數據,ECAN庫提供了Receive函數,原型如下:

ULONG__stdcall Receive(DWORD DevType,DWORD

DevIndex,DWORD CANIndex,P_CAN_OBJ pReceive,ULONG Len,INT WaitTime=-1);

其中DevType、DevIndex和CANIndex 3個參數與Transmit函數的相同,pReceive表示用來接收的數據幀數組的首指針,Len表示用來接收的數據幀數組的長度,WaitTime表示等待超時時間,單位為ms。返回值返回實際讀取到的幀數,如果返回值為0xFFFFFFFF,則表示讀取數據失敗,有錯誤發生,可調用ReadErrInfo函數來獲取錯誤碼。接收CAN數據的流程如圖4所示。

圖4 接收CAN數據流程

4.3 運行結果

啟動程序,進入舒適CAN,選擇空調系統,單擊“自動”按鈕,一條CAN命令通過USK-CAN接口卡,經網關控制器發送給空調,空調啟動進入“自動”模式,界面如圖5所示。查看汽車發現空調已經啟動,空調面板上的“自動”、“A/C”和“內外循環”3個按鍵均已點亮。

圖5 程序運行界面

5 結論

(1)利用C#語言和ECAN動態鏈接庫設計的電動汽車空調控制教學軟件,可以通過USB-CAN接口卡向自動空調發送CAN命令,實現空調各項控制功能;

(2)通過軟件演示可以直觀掌握CAN總線基本工作原理和CAN通信協議解析過程,有效降低CAN網絡課程實訓教學難度,有利于提高教學質量;

(3)系統運行穩定可靠、操作簡單、演示直觀,既可以應用在CAN網絡課程實訓教學場合,也可以稍加改進后應用在汽車CAN網絡故障診斷分析場合。

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 欧美国产视频| 国产小视频在线高清播放| 人妻免费无码不卡视频| 亚洲精品桃花岛av在线| 99热国产这里只有精品无卡顿"| 亚洲天堂网在线观看视频| 日韩欧美国产另类| 在线看片国产| 四虎国产精品永久一区| 99精品久久精品| 亚洲最新在线| 午夜精品一区二区蜜桃| 日韩黄色在线| www.91中文字幕| 国产97视频在线观看| 日韩 欧美 小说 综合网 另类| 亚洲伊人久久精品影院| 免费国产黄线在线观看| 一区二区自拍| 无码专区国产精品第一页| 国产精品视频猛进猛出| 日韩A∨精品日韩精品无码| 波多野结衣国产精品| 亚洲精品不卡午夜精品| 久久免费观看视频| 韩日午夜在线资源一区二区| 五月婷婷丁香色| 国产精品护士| 又粗又硬又大又爽免费视频播放| 国产在线视频二区| 国产精品va| 久久黄色影院| 成人噜噜噜视频在线观看| 日本久久久久久免费网络| 亚洲第一天堂无码专区| 久久这里只有精品免费| 亚洲中文字幕在线一区播放| 宅男噜噜噜66国产在线观看| 91精品国产情侣高潮露脸| 亚洲天堂免费| 亚洲欧洲日韩国产综合在线二区| 国产免费福利网站| 国产精品va免费视频| 国产理论一区| 日韩高清无码免费| 99资源在线| 欧美 国产 人人视频| 亚卅精品无码久久毛片乌克兰| 在线观看精品自拍视频| 婷婷五月在线| 伊人久久婷婷五月综合97色| 亚洲嫩模喷白浆| 亚洲精品免费网站| 日韩最新中文字幕| 欧美成人综合视频| 夜夜操天天摸| 91精品啪在线观看国产91| 亚洲天堂精品在线观看| 国产主播福利在线观看| 伊人成人在线视频| 久久无码av一区二区三区| 最新国产精品鲁鲁免费视频| 国产精品美人久久久久久AV| 国产欧美日韩另类精彩视频| 大香网伊人久久综合网2020| 久久天天躁狠狠躁夜夜2020一| 女人av社区男人的天堂| 午夜福利无码一区二区| 天堂成人在线| 成人综合在线观看| 男女精品视频| 日本久久网站| 国产丝袜一区二区三区视频免下载| 四虎影视库国产精品一区| 国产波多野结衣中文在线播放| 色香蕉影院| 免费一看一级毛片| 99热最新网址| 在线国产91| 女人18毛片久久| 亚洲AV无码不卡无码 | 欧洲一区二区三区无码|