亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        李繼武

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

        0 引言

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

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

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

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

        1 硬件選型及接線

        1.1 測試用車

        文中測試用車為2019年上市的比亞迪E5出行版純電動汽車,工信部純電續(xù)航里程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規(guī)范,通信波特率在5 kb/s~1 Mb/s 之間可任意編程,使用USB總線電源供電,CAN總線接口采用電氣隔離,隔離模塊絕緣電壓直流1 500 V,最高接收數據流量為14 000幀/s,支持Windows操作系統(tǒng),工作溫度范圍為-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接線方法

        由于各個網絡之間速率不同,相互通信需要一個中間設備網關控制器進行轉發(fā)[8]。空調系統(tǒng)屬于舒適網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 軟件界面設計

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

        圖2 軟件界面

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

        3 初始化USB-CAN接口卡

        USB-CAN接口卡在收發(fā)數據之前,要依次執(zhí)行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,其中高字節(jié)對應ACR0,低字節(jié)對應ACR3,寄存器格式如表2所示。

        表2 驗收代碼寄存器ACR

        (2)屏蔽碼

        USB-CAN接口卡有4個驗收屏蔽寄存器AMR0、AMR1、AMR2和AMR3,其中高字節(jié)對應AMR0,低字節(jié)對應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;//系統(tǒng)保留

        }

        初始化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通道以發(fā)送或接收CAN數據,啟動函數為StartCAN,其原型如下:

        DWORD__stdcall StartCAN(DWORD DevType,DWORD

        DevIndex,DWORD CANIndex);

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

        4 發(fā)送與接收CAN數據

        4.1 幀結構定義

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

        表4 標準數據幀

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

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

        typedef struct_CAN_OBJ {

        UINT ID;//幀識別碼

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

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

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

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

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

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

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

        BYTE Reserved[3];//系統(tǒng)保留

        } CAN_OBJ,*P_CAN_OBJ;

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

        4.2 收發(fā)CAN數據

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

        ULONG__stdcall Transmit(DWORD DevType,DWORD

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

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

        發(fā)送CAN數據的程序流程如圖3所示。

        圖3 發(fā)送CAN數據流程

        接收CAN數據即從指定的設備CAN通道的緩沖區(qū)里讀取數據,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,則表示讀取數據失敗,有錯誤發(fā)生,可調用ReadErrInfo函數來獲取錯誤碼。接收CAN數據的流程如圖4所示。

        圖4 接收CAN數據流程

        4.3 運行結果

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

        圖5 程序運行界面

        5 結論

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

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

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

        猜你喜歡
        設備
        諧響應分析在設備減振中的應用
        調試新設備
        當代工人(2020年13期)2020-09-27 23:04:20
        基于VB6.0+Access2010開發(fā)的設備管理信息系統(tǒng)
        基于MPU6050簡單控制設備
        電子制作(2018年11期)2018-08-04 03:26:08
        廣播發(fā)射設備中平衡輸入與不平衡輸入的轉換
        電子制作(2018年10期)2018-08-04 03:24:48
        食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
        500kV輸變電設備運行維護探討
        HTC斥資千萬美元入股虛擬現(xiàn)實設備商WEVR
        IT時代周刊(2015年8期)2015-11-11 05:50:37
        Automechanika Shanghai 2014 之“看” 汽保設備篇
        如何在設備采購中節(jié)省成本
        久久香蕉成人免费大片| 国产亚洲精品成人aa片新蒲金 | 六月婷婷久香在线视频| 福利一区二区三区视频午夜观看| 亚洲av熟女天堂系列| 国产亚洲91精品色在线| 国产农村熟妇videos| 久久久久国色av∨免费看| 无码AV大香线蕉伊人久久| 91成人国产九色在线观看| 国产a国产片国产| 国产乱子伦精品无码码专区| 国产美女亚洲精品一区| 日韩中文字幕素人水野一区 | av资源在线免费观看| 97人伦影院a级毛片| 久久亚洲中文字幕无码| 人妻中文字幕不卡精品| 97青草超碰久久国内精品91| 久久久国产打桩机| 日韩手机在线免费视频| 97中文字幕一区二区| 手机看片久久第一人妻| 四虎影视永久地址www成人| 亚洲熟妇乱子伦在线| 国产影片免费一级内射| 色欲欲www成人网站| 欧美日韩中文国产一区| 亚洲不卡av不卡一区二区| 一区二区三区日韩亚洲中文视频 | 777精品久无码人妻蜜桃| 911香蕉视频| 亚洲av综合色区久久精品| 中文字幕二区三区在线| 一区二区三区国产精品乱码| 暖暖视频在线观看免费| 亚洲国产精品久久久性色av| 男女啪啪在线视频网站| 无码字幕av一区二区三区| 欧美在线不卡视频| 亚洲人妻av综合久久|