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

        ?

        一種汽車CAN總線網(wǎng)關(guān)的報(bào)文接收和發(fā)送方法

        2018-06-12 08:00:10馬建輝胡代榮郭坤
        現(xiàn)代電子技術(shù) 2018年11期
        關(guān)鍵詞:CAN總線低功耗網(wǎng)關(guān)

        馬建輝 胡代榮 郭坤

        摘 要: 提出并驗(yàn)證了一種汽車CAN總線網(wǎng)關(guān)的報(bào)文接收和發(fā)送方法。以軟件緩沖區(qū)配合CAN控制器的硬件緩沖區(qū),設(shè)計(jì)軟件緩沖區(qū)管理任務(wù),通過(guò)與硬件緩沖區(qū)的聯(lián)動(dòng)能夠?qū)崟r(shí)地接收?qǐng)?bào)文,保證報(bào)文不丟失。同時(shí),在CAN控制器硬件緩沖區(qū)未滿時(shí)及時(shí)將報(bào)文發(fā)送到總線上,不漏發(fā)報(bào)文,也不影響周期報(bào)文的周期準(zhǔn)確性。

        關(guān)鍵詞: BCM; 低功耗; RKE; CAN總線; 網(wǎng)關(guān); 報(bào)文

        中圖分類號(hào): TN915.05?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)11?0005?03

        A messages receiving and transmitting method of automotive CAN bus gateway

        MA Jianhui1, 2, 3, HU Dairong1, 2, 3, GUO Kun1, 2, 3

        (1. Qilu University of Technology (Shandong Academy of Sciences), Jinan 250353, China;

        2. Institute of Automation, Shandong Academy of Sciences, Jinan 250014, China;

        3. Shandong Key Laboratory of Automotive Electronics Technology, Jinan 250014, China)

        Abstract: A massage receiving and transmitting method of automotive CAN bus gateway is proposed and verified. The management tasks of the software buffer were designed to make the software buffer match up the hardware buffer of the CAN controller. The interaction of software buffer with the hardware buffer can realize the real?time message receiving, and ensure the message not to be lost. At the same time, the message is timely sent to the bus before the hardware buffer of CAN controller is completely filled up, which can send all the messages without missing, and maintain the periodic accuracy of periodic messages.

        Keywords: BCM; low?power consumption; BKE; CAN bus; gateway; massage

        0 引 言

        隨著汽車電子部件的增多和智能化程度的提高,CAN總線系統(tǒng)已經(jīng)成為汽車的重要組成部分。根據(jù)功能劃分、拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)和實(shí)時(shí)性的不同要求,汽車一般會(huì)設(shè)計(jì)多個(gè)CAN網(wǎng)絡(luò)。CAN網(wǎng)絡(luò)之間的信息交互由網(wǎng)關(guān)實(shí)現(xiàn),網(wǎng)關(guān)包括多個(gè)CAN接口,接入不同的CAN網(wǎng)絡(luò),實(shí)現(xiàn)報(bào)文的接收和轉(zhuǎn)發(fā)[1]。在所有的CAN網(wǎng)絡(luò)節(jié)點(diǎn)中,從報(bào)文接收和發(fā)送的角度看,網(wǎng)關(guān)的負(fù)荷是最高的。CAN網(wǎng)絡(luò)采用非破壞性仲裁方式競(jìng)爭(zhēng)總線,任一節(jié)點(diǎn)可以在任意時(shí)刻向總線發(fā)送數(shù)據(jù),連接多個(gè)CAN網(wǎng)絡(luò)的網(wǎng)關(guān)可能會(huì)在較短的時(shí)間內(nèi)接收到大量報(bào)文,并需要在短時(shí)間內(nèi)轉(zhuǎn)發(fā)大量需要路由的報(bào)文。進(jìn)行周期報(bào)文的轉(zhuǎn)發(fā)時(shí),根據(jù)不同汽車廠家的要求,報(bào)文周期一般需要保證在規(guī)定值的±10%以內(nèi),這對(duì)網(wǎng)關(guān)的實(shí)時(shí)性、準(zhǔn)確性都提出了較高的要求。

        出于成本節(jié)約和集成化的要求,汽車電子零部件采用MCU內(nèi)部的CAN控制器結(jié)合物理層芯片實(shí)現(xiàn)CAN總線通信[2]。由于低成本MCU的內(nèi)部CAN控制器的硬件接收緩沖區(qū)和硬件發(fā)送緩沖區(qū)很小,當(dāng)CAN網(wǎng)絡(luò)上短時(shí)間內(nèi)出現(xiàn)大量報(bào)文時(shí),如果未能及時(shí)讀取硬件接收緩沖區(qū)中的數(shù)據(jù)并清零標(biāo)志位,便無(wú)法接收新的報(bào)文;當(dāng)CAN網(wǎng)關(guān)短時(shí)間內(nèi)需要轉(zhuǎn)發(fā)大量報(bào)文時(shí),如果硬件發(fā)送緩沖區(qū)已滿,但仍存在需要發(fā)送的報(bào)文時(shí),如果未能及時(shí)轉(zhuǎn)發(fā)報(bào)文,可能會(huì)造成漏發(fā)報(bào)文或者周期不準(zhǔn)確的錯(cuò)誤[3]。如果選用CAN控制器硬件接收緩沖區(qū)和硬件發(fā)送緩沖區(qū)都比較大的MCU,會(huì)增加成本,影響經(jīng)濟(jì)效益和社會(huì)效益。

        為此,本文提出并驗(yàn)證了一種汽車CAN總線網(wǎng)關(guān)的報(bào)文接收和發(fā)送方法[4],能夠?qū)崟r(shí)地接收?qǐng)?bào)文,保證報(bào)文不丟失,同時(shí)在CAN控制器硬件緩沖區(qū)未滿時(shí)及時(shí)將報(bào)文發(fā)送到總線上,不漏發(fā)報(bào)文,也不影響周期報(bào)文的周期準(zhǔn)確性。

        1 整體方案設(shè)計(jì)

        針對(duì)CAN報(bào)文的接收和發(fā)送,分別定義軟件接收緩沖區(qū)和軟件發(fā)送緩沖區(qū),并創(chuàng)建緩沖區(qū)管理任務(wù)。緩沖區(qū)為結(jié)構(gòu)體數(shù)組形式的環(huán)形隊(duì)列[5],結(jié)構(gòu)體成員包括報(bào)文ID、報(bào)文長(zhǎng)度和報(bào)文數(shù)據(jù),數(shù)組長(zhǎng)度根據(jù)CAN網(wǎng)絡(luò)矩陣表、網(wǎng)關(guān)報(bào)文周期和網(wǎng)絡(luò)負(fù)載率進(jìn)行設(shè)置,保證在CAN網(wǎng)絡(luò)正常通信的情況下,不會(huì)出現(xiàn)緩沖區(qū)溢出的情形[6]。軟件緩沖區(qū)數(shù)組元素通過(guò)索引進(jìn)行尋址,接收數(shù)組和發(fā)送數(shù)組各包括存入索引和取出索引。將索引加1時(shí),如果索引值等于數(shù)組長(zhǎng)度,將索引值置零。

        以中斷方式接收CAN網(wǎng)絡(luò)報(bào)文[7],在CAN控制器接收中斷服務(wù)程序中,將CAN控制器硬件接收緩沖區(qū)中的數(shù)據(jù)存入由接收數(shù)組存入索引尋址的接收緩沖區(qū)位置,向緩沖區(qū)管理任務(wù)發(fā)送“接收到新報(bào)文”的信號(hào),同時(shí),將存入索引加1,如果存入索引值等于數(shù)組長(zhǎng)度,將存入索引值置零。

        當(dāng)應(yīng)用需要發(fā)送報(bào)文時(shí),首先通過(guò)CAN控制器的寄存器判斷硬件發(fā)送緩沖區(qū)是否已滿,如果未滿,將待發(fā)送報(bào)文填充到硬件發(fā)送緩沖區(qū),CAN控制器自動(dòng)完成報(bào)文發(fā)送任務(wù)[8];如果已滿,將待發(fā)送報(bào)文存入由發(fā)送數(shù)組存入索引標(biāo)記的軟件發(fā)送緩沖區(qū)位置,將存入索引加1,同時(shí)開啟CAN報(bào)文發(fā)送中斷。如果存入索引值等于數(shù)組長(zhǎng)度,將存入索引值置零。

        CAN控制器成功發(fā)送報(bào)文后,觸發(fā)報(bào)文發(fā)送中斷,在CAN報(bào)文發(fā)送中斷服務(wù)程序中向緩沖區(qū)管理任務(wù)發(fā)送“硬件發(fā)送緩沖區(qū)未滿”信號(hào)。

        在緩沖區(qū)管理任務(wù)中,如果接收到的信號(hào)是“接收到新報(bào)文”,進(jìn)入軟件接收緩沖區(qū)管理子任務(wù);如果接收到的信號(hào)是“硬件發(fā)送緩沖區(qū)未滿”,進(jìn)入軟件發(fā)送緩沖區(qū)管理子任務(wù)。

        整體工作流程如圖1所示。

        2 軟件緩沖區(qū)管理

        由于網(wǎng)關(guān)報(bào)文眾多且硬件緩沖區(qū)資源有限,為了保證網(wǎng)關(guān)不丟失任何報(bào)文并實(shí)現(xiàn)報(bào)文周期的準(zhǔn)確性,可以采用配置各個(gè)CAN節(jié)點(diǎn)的報(bào)文發(fā)送時(shí)段的方法,它能夠避免因多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送報(bào)文導(dǎo)致總線競(jìng)爭(zhēng)以及報(bào)文過(guò)于密集的現(xiàn)象,該方法能夠改善總線報(bào)文在時(shí)間軸上的分布[9],降低對(duì)CAN控制器硬件緩沖區(qū)的要求,但是這種方法需要分析總線波特率、網(wǎng)絡(luò)內(nèi)所有報(bào)文的優(yōu)先級(jí)和周期,不僅需要每個(gè)CAN節(jié)點(diǎn)都實(shí)現(xiàn)這種方法,而且靈活性很差,一旦由于網(wǎng)絡(luò)拓?fù)涞母淖冊(cè)黾踊驕p少了某個(gè)節(jié)點(diǎn),便會(huì)影響整個(gè)設(shè)計(jì)。

        基于此,本方法采用軟件緩沖區(qū)的方式[10],采用中斷方式觸發(fā)報(bào)文軟件緩沖區(qū)管理任務(wù),如圖2所示,報(bào)文接收中斷,表明硬件接收緩沖區(qū)存在待解析的報(bào)文,觸發(fā)軟件接收緩沖區(qū)管理子任務(wù),報(bào)文發(fā)送中斷,表明硬件發(fā)送緩沖區(qū)未滿,可以進(jìn)行報(bào)文發(fā)送,觸發(fā)軟件發(fā)送緩沖區(qū)管理子任務(wù)。采用這種方法,當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生改變或者增減CAN網(wǎng)絡(luò)報(bào)文時(shí),不必修改本方法的設(shè)計(jì),靈活性很高,而且以實(shí)時(shí)中斷的方式觸發(fā)報(bào)文緩沖區(qū)管理任務(wù),能夠保證數(shù)據(jù)的一致性和報(bào)文周期的準(zhǔn)確性。

        此外,針對(duì)及時(shí)轉(zhuǎn)發(fā)報(bào)文的要求,如果采用周期性掃描數(shù)據(jù)緩沖區(qū)的方法判斷是否有需要發(fā)送的數(shù)據(jù)包,在很多情況下,由于不存在需要發(fā)送的數(shù)據(jù)包,這時(shí)仍然進(jìn)行周期性掃描,會(huì)白白浪費(fèi)嵌入式系統(tǒng)寶貴的計(jì)算資源。另外,如果設(shè)置的掃描周期時(shí)間較長(zhǎng),會(huì)造成需要轉(zhuǎn)發(fā)的短周期報(bào)文不滿足周期準(zhǔn)確性要求,如果設(shè)置的掃描周期時(shí)間較短,會(huì)加大系統(tǒng)負(fù)荷。因此,本方法采用中斷方式觸發(fā)報(bào)文緩沖區(qū)管理任務(wù),能夠保證數(shù)據(jù)的一致性和報(bào)文周期的準(zhǔn)確性。

        2.1 軟件接收緩沖區(qū)管理

        首先,通過(guò)比較接收數(shù)組的存入索引和取出索引,判斷是否存在待處理報(bào)文。如果存入索引和取出索引相等,表示不存在待處理的報(bào)文,直接退出軟件接收緩沖區(qū)管理子任務(wù);如果兩者不相等,表示存在待處理的報(bào)文。讀取接收數(shù)組中由取出索引標(biāo)記的元素,根據(jù)報(bào)文ID、長(zhǎng)度和數(shù)據(jù)進(jìn)行相應(yīng)處理,然后將取出索引加1,如果取出索引值等于數(shù)組長(zhǎng)度,將取出索引置零。再次判斷存入索引是否等于取出索引,循環(huán)這個(gè)過(guò)程,直至處理完所有未被處理的報(bào)文。流程圖如圖3所示。

        2.2 軟件發(fā)送緩沖區(qū)管理

        首先,通過(guò)比較發(fā)送數(shù)組的存入索引和取出索引,判斷是否存在待發(fā)送報(bào)文。兩者相等表示不存在未被發(fā)送的報(bào)文,關(guān)閉報(bào)文發(fā)送中斷,退出軟件發(fā)送緩沖區(qū)管理子任務(wù);如果兩者不相等,首先,通過(guò)CAN控制器寄存器判斷硬件發(fā)送緩沖區(qū)是否已滿,如果已滿,直接退出軟件發(fā)送緩沖區(qū)管理子任務(wù)。如果未滿,讀取發(fā)送數(shù)組中由取出索引標(biāo)記的元素,將報(bào)文ID、長(zhǎng)度和數(shù)據(jù)賦值到CAN控制器硬件發(fā)送緩沖區(qū)對(duì)應(yīng)的寄存器,然后將取出索引加1,如果取出索引值等于數(shù)組長(zhǎng)度,將取出索引值置零。再次比較發(fā)送數(shù)組的存入索引和取出索引,直到退出軟件發(fā)送緩沖區(qū)管理子任務(wù)。軟件發(fā)送緩沖區(qū)管理流程圖如圖4所示。

        3 結(jié) 語(yǔ)

        本文提出的方法采用CAN控制器硬件緩沖區(qū)較小的MCU進(jìn)行網(wǎng)關(guān)設(shè)計(jì),降低了汽車零部件的成本,提高了社會(huì)效益。而且,本方法可以適用于普通的CAN節(jié)點(diǎn),具有很強(qiáng)的通用性。

        參考文獻(xiàn)

        [1] 王渝卉,郝礦榮,丁永生,等.車載CAN網(wǎng)關(guān)實(shí)時(shí)性分析與改進(jìn)[J].機(jī)電工程,2012,29(8):873?876.

        WANG Yuhui, HAO Kuangrong, DING Yongsheng, et al. Real?time analysis and optimization of vehicle CAN?CAN gateway [J]. Journal of mechanical & electrical engineering, 2012, 29(8): 873?876.

        [2] 劉侃,滿慶豐.基于MC9S12HY64的電動(dòng)車儀表盤設(shè)計(jì)[J].儀表技術(shù)與傳感器,2014(12):22?24.

        LIU Kan, MAN Qingfeng. Dashboard design for electric cars based on MC9S12HY64 [J]. Instrument technique and sensor, 2014(12): 22?24.

        [3] 馮源,豆海利,趙剛.基于S12X系列雙核單片機(jī)的CAN網(wǎng)關(guān)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2016,24(1):191?195.

        FENG Yuan, DOU Haili, ZHAO Gang. Design of CAN bus gateway based on S12 series dual?core MCU [J]. Computer measurement & control, 2016, 24(1): 191?195.

        [4] 山東省科學(xué)院自動(dòng)化研究所.一種汽車CAN總線網(wǎng)關(guān)的報(bào)文接收和發(fā)送方法:中國(guó),201611178709.6 [P].2016?12?19.

        Institute of Automation, Shandong Academy of Sciences. A method for receiving and transmitting messages of an automotive CAN bus gateway: China, 201611178709.6 [P]. 2016?12?19.

        [5] 程安宇,何川,馮輝宗,等.基于SAE J1939協(xié)議的雙緩沖區(qū)網(wǎng)關(guān)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2010,30(z1):15?17.

        CHENG Anyu, HE Chuan, FENG Huizong, et al. Design of gateway with double buffer based on SAE J1939 [J]. Journal of computer applications, 2010, 30(S1): 15?17.

        [6] 趙公旗,馮寶存,趙紅玉,等.淺談車載總線負(fù)載對(duì)網(wǎng)絡(luò)傳輸影響及優(yōu)化[J].汽車電器,2015(12):22?24.

        ZHAO Gongqi, FENG Baocun, ZHAO Hongyu, et al. Influence of vehicle busload on network transmission and its optimization [J]. Auto electric parts, 2015(12): 22?24.

        [7] 謝曉兵,董筠,周新發(fā),等.CAN總線并發(fā)通信時(shí)下位機(jī)應(yīng)用軟件設(shè)計(jì)[J].空間控制技術(shù)與應(yīng)用,2015,41(2):51?56.

        XIE Xiaobing, DONG Jun, ZHOU Xinfa, et al. Design for communication of CAN bus of lower application software in concurrent communication [J]. Aerospace control and application, 2015, 41(2): 51?56.

        [8] 孫新安.CAN控制器的軟件編程[J].有色金屬加工,2017,46(5):61?66.

        SUN Xinan. CAN controller software programming [J]. Non?ferrous metals processing, 2017, 46(5): 61?66.

        [9] 劉宇,宋桂秋.時(shí)間參數(shù)為非正態(tài)分布的CAN總線數(shù)據(jù)傳輸可靠性分析[J].機(jī)械與電子,2014(11):16?20.

        LIU Yu, SONG Guiqiu. Analysis of non?normal distribution time parameters data transmission reliability in CAN bus [J]. Achinery & electronics, 2014(11): 16?20.

        [10] 張哲宇,王義.汽車CAN?FlexRay總線網(wǎng)關(guān)研究與設(shè)計(jì)[J].貴州大學(xué)學(xué)報(bào)(自然科學(xué)版),2017,34(5):93?99.

        ZHANG Zheyu, WANG Yi. Research and design of automotive CAN?FlexRay bus gateway [J]. Journal of Guizhou University (natural science), 2017, 34(5): 93?99.

        猜你喜歡
        CAN總線低功耗網(wǎng)關(guān)
        一種高速低功耗比較器設(shè)計(jì)
        基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
        論網(wǎng)絡(luò)通信技術(shù)
        基于嵌入式的汽車輔助制動(dòng)系統(tǒng)研究
        CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
        基于CANoe的J1939協(xié)議在ECU通信中的應(yīng)用
        科技視界(2016年18期)2016-11-03 22:53:48
        LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
        應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
        一種實(shí)時(shí)高效的伺服控制網(wǎng)關(guān)設(shè)計(jì)
        ADI推出三款超低功耗多通道ADC
        国产乱妇乱子在线播视频播放网站 | 四虎国产成人永久精品免费| 免费操逼视频| 亚洲男人天堂| 久久久99精品视频| 青青草视频在线观看视频免费| 中文字幕日韩有码国产| 深夜爽爽动态图无遮无挡| 无码ol丝袜高跟秘书在线观看| 国产av影片麻豆精品传媒| 精品国产日韩无 影视| 日本在线一区二区免费| 超碰国产精品久久国产精品99| 精品少妇无码av无码专区| 成 人 色综合 综合网站| 亚洲AV日韩AV高潮喷潮无码 | 亚洲爆乳无码专区| 国产精品一区区三区六区t区| 国产av剧情精品麻豆| 在线精品亚洲一区二区动态图| 曰韩人妻无码一区二区三区综合部 | 日本淫片一区二区三区| 青春草在线视频观看| 麻豆成人精品国产免费| 老熟妇Av| 日本一区二区精品色超碰| 亚洲熟女少妇精品综合| 久久精品国产亚洲7777| 久久久精品2019免费观看| 成人精品免费av不卡在线观看| 亚洲日本中文字幕乱码| 久久精品免费一区二区喷潮| 久久亚洲私人国产精品va| 婷婷亚洲国产成人精品性色| 日本高清长片一区二区| 天天射综合网天天插天天干| 男女猛烈xx00免费视频试看| 亚洲av无码片一区二区三区| 国产麻豆精品久久一二三| 日韩精品人妻系列中文字幕| 色偷偷亚洲第一成人综合网址|