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

        ?

        基于Linux的CAN總線通信實驗平臺研究

        2016-11-10 07:38:32田梅蘭李向功
        汽車實用技術 2016年9期
        關鍵詞:報文嵌入式總線

        田梅蘭,李向功

        (1.中國石油大學(華東)機電工程學院,山東 青島 266580;2.一汽解放青島汽車有限公司,山東 青島 266043)

        基于Linux的CAN總線通信實驗平臺研究

        田梅蘭1,李向功2

        (1.中國石油大學(華東)機電工程學院,山東 青島 266580;2.一汽解放青島汽車有限公司,山東 青島 266043)

        ∶目前的CAN總線實驗設備大多屬于演示型設備,學生很難參與到CAN總線通信的設計中,為解決此問題,將Linux系統(tǒng)中SocketCAN通信方式引入到汽車電子CAN總線實驗中,SocketCAN通信方式屏蔽了對底層硬件的操作,學生可以基于SAE J1939協(xié)議對CAN報文進行設計,對深入掌握CAN總線通信機制有很大幫助。文章提出了一種基于嵌入式Linux的CAN總線通信實驗平臺,經測試表明,實驗平臺運行穩(wěn)定,能夠很好地運用到汽車電子實驗中。

        ∶汽車電子;嵌入式Linux;CAN總線通信;SocketCAN

        10.16638/j.cnki.1671-7988.2016.09.057

        CLC NO.: U467Document Code: AArticle ID: 1671-7988 (2016)09-166-03

        引言

        汽車內部控制系統(tǒng)的數(shù)據通信都是基于CAN總線來實現(xiàn)的,CAN總線由于其突出的可靠性、靈活性、實時性使它在車載總線上的應用遠遠高于其他現(xiàn)場總線,學習和掌握CAN總線通信機制成為了汽車電子課程中必不可少的一部分[1-7]。如何直觀、形象地將CAN總線通信原理講授給學生也成為了汽車電子實驗中一項值得深入思考的問題。

        目前,CAN總線相關的實驗設備大多屬于演示型,學生很難深入理解CAN報文發(fā)送與接收機制。Linux系統(tǒng)提供了一種簡單便捷的CAN總線通信實現(xiàn)方式-SocketCAN,在使用上更加通用、更加靈活,解決了原來用字符設備實現(xiàn)上的一些困難,為學習CAN總線通信提供了一個新思路和新方法。同時,本文提出了一種用嵌入式Linux開發(fā)板實現(xiàn)的CAN總線通信實驗平臺,能很好地應用于汽車電子實驗,對車輛工程專業(yè)實驗教學有很大的現(xiàn)實意義。

        1、Linux下使用SocketCAN對CAN通信的實現(xiàn)

        Linux下最初是使用字符設備來實現(xiàn)CAN通信的,字符設備是依特定的硬件設備而存在的,需要對硬件進行直接操作,并且提供的功能很少,如果在使用過程中更換另一個CAN控制器,則必須同時換用另一個設備驅動,還需要修改應用程序來適應新驅動的接口。SocketCAN使用的是Socket接口和Linux網絡協(xié)議棧來實現(xiàn)CAN協(xié)議。它的設計非常地接近TCP/IP協(xié)議,這樣就能像使用以太網通信一樣來使用CAN總線通信,在使用上也變得更加通用、更加靈活[3]。

        Linux下使用SocketCAN實現(xiàn)CAN總線通信一般要有以下步驟:

        ⑴初始化:要想使用SocketCAN實現(xiàn)CAN通信,必須在應用程序中包含兩個頭文件:linux/can.h和sys/socket.h,其中,linux/can.h中定義了SocketCAN通信中需要使用的大部分的數(shù)據結構和函數(shù);頭文件sys/socket.h中定義了與網絡套接字相關的數(shù)據結構和函數(shù)。

        SocketCAN通信和標準套接字通信最大的區(qū)別在于,SocketCAN是通過特定的結構體can_frame進行通信的,在can_frame中將數(shù)據封裝成幀來實現(xiàn)CAN報文的發(fā)送和接收。can_frame的定義如下:

        由can_frame結構體的定義可知,學生可以靈活定義需要發(fā)送的CAN報文數(shù)據內容,可以深入學習CAN總線通信機制。

        就像使用TCP/IP通信一樣,使用SocketCAN通信之前,首先要打開一個套接字,創(chuàng)建方法和普通套接字創(chuàng)建方式一樣。

        ⑵綁定套接字:創(chuàng)建套接字以后,要將其綁定在一個CAN接口上。

        ⑶發(fā)送/接收CAN總線報文:綁定套接字以后,即可進行報文的發(fā)送和接收,發(fā)送報文可以使用send()、 sendto()、sendmsg()函數(shù),接收報文可以使用read()或recv()函數(shù)。

        2、基于嵌入式Linux的CAN總線通訊實驗平臺設計

        設計實現(xiàn)的CAN總線通信實驗平臺的主要功能如下:

        ⑴CAN報文發(fā)送功能:能夠發(fā)送常用的CAN報文,如車速、發(fā)動機轉速、冷卻液溫度、燃油液位和里程等車況信息。

        ⑵CAN報文接收功能:能夠接收發(fā)送過來的CAN報文,并且能夠過濾干擾信息。

        ⑶ CAN報文數(shù)據處理功能:對CAN報文中的有用信息能夠進行提取和計算。

        基于上述功能需求,設計的CAN總線通信平臺由四部分組成:

        ⑴硬件層:選用S3C6410,S3C6410是三星公司推出的一款高性能、低功耗的“準64位”RISC微處理器,它基于ARM11內核,有很好的外部存儲器接口,同時,片內還集成了豐富的硬件資源[4]。MCP2515控制器自帶SPI接口,SPI接口的使用可以簡化CAN總線的應用設計。

        ⑵硬件抽象層:主要是啟動代碼和固件程序;

        ⑶操作系統(tǒng)層:即嵌入式Linux操作系統(tǒng);

        ⑷應用程序層:實現(xiàn)CAN總線的收發(fā)、解析功能。

        應用程序的設計分為兩部分,一部分為發(fā)送CAN報文程序,另一部分為接收CAN報文程序。

        接收端程序設計過程如下:

        ①添加頭文件,創(chuàng)建套接字:首先先創(chuàng)建一個SocketCAN通信的套接字,方法如下:

        ②綁定套接字:將創(chuàng)建好的套接字綁定在CAN的一個接口上,套接字的綁定使用的是bind()函數(shù)。

        ③CAN報文的過濾:在接收報文之前,首先要過濾掉一些干擾信息。SocketCAN中過濾報文是通過設置過濾規(guī)則來實現(xiàn)的,過濾規(guī)則由結構體can_filter實現(xiàn),其定義如下:

        ④接收CAN總線報文:報文的接收使用函數(shù)read()來實現(xiàn)。

        ⑤報文解析:按照SAE J1939協(xié)議要求將CAN總線報文中所包含的信息進行解析。

        接收端程序設計的和發(fā)送端程序的前兩步相同,此處不再贅述,第三步為CAN報文的發(fā)送,由send()函數(shù)來實現(xiàn)。

        經測試表明,所設計的CAN總線通信實驗平臺性能穩(wěn)定,能有效發(fā)送和接收CAN報文。

        3、結語

        Linux系統(tǒng)下SocketCAN通信方式的使用有效屏蔽了對底層硬件的操作,使用更加方便靈活。CAN報文格式可以根據SAE J1939協(xié)議進行設計,學生可以深入理解與掌握CAN總線通信機制。提出的一種基于嵌入式Linux的CAN總線通信實驗平臺性能穩(wěn)定,能很好地應用于汽車電子實驗。

        [1] 吳曉娜.基于Linux和CAN總線的重型卡車監(jiān)測系統(tǒng)設計[D].成都:西南交通大學,2007.

        [2] 何柏濤.CAN總線技術在嵌入式收費車道機中的應用[J].北方交通,2009(7):99-101.

        [3] 譚海鵬.LinuxSocketCAN在機車走形部監(jiān)測裝置中的應用[J].單片機與嵌入式系統(tǒng)應用,2013,13(7):68-71.

        [4] 吳柳.基于S3C6410的嵌入式圖像采集及壓縮系統(tǒng)的研究[D].安徽:安徽理工大學,2012.

        [5] 章健,袁義江.U-Boot在ARM平臺上的移植及應用[J].微計算機信息,2007(03Z):137-138 [6]LeeCT,LinJM,HongZW, etal.Anapplica tion-orientedLinuxkernelcustomizationforembeddedsystems[J].J.Inf. Sci.Eng.,2004,20(6):1093-1107.

        [6] KimH,WonY,KangS.EmbeddedNANDflashfilesystemformobilemult imediadevices[J].ConsumerElectronics,IEEETransactionson,2009,5 5(2):545-552.

        The research on the experimental platform of CAN bus communication based on Linux

        Tian Meilan1, Li Xianggong2
        (1.College of Mechanical and Electrical Engineering, China University of Petroleum, Shandong Qingdao 266580; 2.FAW-Jiefang automobile corporation of Qingdao, Shandong Qingdao 266043)

        At present,The CAN bus experimental equipment mostly belongs to generative-presentation, students are difficult to participate in the design of CAN bus communication. In order to solve this problem, the SocketCAN communication mode of Linux is introduced into the CAN bus experiments. The SocketCAN communication mode blocks access to the operation of the underlying hardware, students can design the CAN message based on SAE J1939 protocol. This method is of great help to further grasp the CAN bus communication mechanism. The paper put forward a CAN bus communication experimental platform based on Embedded Linux,the tests showed that the experimental platform running stability,and it can be effectively used in automobile electronic experiment.

        Automobile electronics; Embedded Linux; CAN bus communication; SocketCAN

        ∶U467

        ∶A

        ∶1671-7988 (2016)09-166-03

        田梅蘭(1989-),女,助理實驗師,就職于中國石油大學(華東)機電工程學院,研究方向,嵌入式控制與汽車電子技術。

        猜你喜歡
        報文嵌入式總線
        基于J1939 協(xié)議多包報文的時序研究及應用
        汽車電器(2022年9期)2022-11-07 02:16:24
        CTCS-2級報文數(shù)據管理需求分析和實現(xiàn)
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        基于PCI Express總線的xHC與FPGA的直接通信
        測控技術(2018年6期)2018-11-25 09:50:12
        機載飛控1553B總線轉以太網總線設計
        測控技術(2018年8期)2018-11-25 07:42:08
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
        ATS與列車通信報文分析
        多通道ARINC429總線檢查儀
        Altera加入嵌入式視覺聯(lián)盟
        亚洲片在线视频| 天天躁日日躁狠狠久久| 高清精品一区二区三区| 久久精品无码一区二区三区免费 | 二区久久国产乱子伦免费精品| 加勒比一本大道大香蕉| 精品人妻av区乱码色片| 999精品无码a片在线1级| 久久夜色精品国产噜噜麻豆| 加勒比无码专区中文字幕| 91国产视频自拍在线观看| 日本中文一区二区在线观看| 久久亚洲av午夜福利精品一区| 国产午夜三级一区二区三| 久久99精品这里精品动漫6| 国产91在线播放九色快色| 精品国产成人av久久| 伊人久久久精品区aaa片| 亚洲av美女在线播放啊| 欧洲一级无码AV毛片免费| 97久久国产精品成人观看| 99re6在线视频精品免费下载| 国产精品无码久久久久| 四月婷婷丁香七月色综合高清国产裸聊在线| 国产在线不卡免费播放| 亚洲国产综合精品一区| 99久久免费看精品国产一| 久久成人国产精品免费软件| 亚洲av无码一区二区三区网站| 鲁丝一区鲁丝二区鲁丝三区| 亚洲乱码一区二区av高潮偷拍的| 香港三级日本三级a视频| 久久尤物AV天堂日日综合| 久久精品成人一区二区三区蜜臀| 亚洲 小说区 图片区 都市| 亚洲人成网站色www| 久久这里只有精品9| 国产成人精品一区二免费网站| 偷拍一区二区三区四区视频| 久久久久久久亚洲av无码| 东北妇女xx做爰视频|