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 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 波多野衣结在线精品二区| 久久精品国产精品青草app| 正在播放久久| 在线人成精品免费视频| 亚洲一区波多野结衣二区三区| 国产精品自拍合集| 免费不卡在线观看av| 国产在线小视频| 夜夜高潮夜夜爽国产伦精品| 久久一本日韩精品中文字幕屁孩| 欧美一区二区福利视频| 精品少妇人妻无码久久| 一本无码在线观看| 伊人久久大香线蕉综合影视| 国产亚洲第一页| 日本一区中文字幕最新在线| 久久综合色天堂av| 99中文字幕亚洲一区二区| 亚洲第一区欧美国产综合| 久久精品国产精品一区二区| 欧美人与动牲交a欧美精品| 激情爆乳一区二区| 亚洲精品天堂在线观看| 久爱午夜精品免费视频| 亚洲欧美日韩色图| 国产伦精品一区二区三区视频优播 | AV无码一区二区三区四区| 国产精选小视频在线观看| 亚洲AV无码乱码在线观看代蜜桃 | 久久先锋资源| 国产精品视频第一专区| 97青草最新免费精品视频| 国产精品久久久久鬼色| 亚洲首页在线观看| 毛片视频网址| 国产精品99r8在线观看| 亚洲国产成人综合精品2020| 国产一在线| 青青草91视频| 一级爆乳无码av| 99久久国产综合精品2023| 成年人国产视频| 一级成人a毛片免费播放| 国产综合网站| 伊人久久大香线蕉aⅴ色| 欧美色视频网站| 国产91透明丝袜美腿在线| 91久久国产综合精品| 波多野结衣久久高清免费| 无码国内精品人妻少妇蜜桃视频| 精品伊人久久久香线蕉| 日韩资源站| 亚洲国语自产一区第二页| 免费jjzz在在线播放国产| 亚洲熟妇AV日韩熟妇在线| 免费观看成人久久网免费观看| 亚洲AⅤ永久无码精品毛片| 亚洲一区国色天香| 毛片在线看网站| 国产精品一老牛影视频| 亚洲色无码专线精品观看| 大陆国产精品视频| 97se亚洲| 日日噜噜夜夜狠狠视频| 国产成人1024精品| 亚洲一区毛片| 真实国产精品vr专区| 免费国产无遮挡又黄又爽| 99国产精品国产| 国产91精品久久| 99热国产这里只有精品9九 | 伊人久久大香线蕉综合影视| 91免费国产高清观看| 欧美第九页| 免费一级毛片完整版在线看| 国产成人一区| 麻豆AV网站免费进入| 国产自无码视频在线观看| 一级黄色片网| 国产激情无码一区二区免费| 成人在线观看不卡| 青青操国产视频|