欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAN總線有哪些功能?

汽車電子技術(shù) ? 來(lái)源:工控碼農(nóng) ? 作者:工控碼農(nóng) ? 2023-02-07 09:57 ? 次閱讀

CAN總線功能介紹

CAN總線是博世公司1986年發(fā)明的用于汽車內(nèi)部單片機(jī)電路板(ECU)之間通訊,硬件上使用2根線實(shí)現(xiàn)數(shù)據(jù)傳輸,CAN總線通訊單元不再是單個(gè)字節(jié),而是一個(gè)數(shù)據(jù)包,這個(gè)數(shù)據(jù)包包含了數(shù)據(jù)長(zhǎng)度,數(shù)據(jù)內(nèi)容,目的地址ID,CRC校驗(yàn)等,相較于485,232通訊數(shù)據(jù)的組包是在軟件實(shí)現(xiàn)的,CAN總線是硬件實(shí)現(xiàn),編程時(shí)只要設(shè)置相關(guān)的參數(shù)即可.目前在車載通訊和工業(yè)通訊都使用的比較多.主要功能有:
  • 不大于8字節(jié)應(yīng)用報(bào)文實(shí)時(shí)通訊:控制燈光開關(guān),天窗開關(guān),空調(diào)控制等,涉及到具體的模塊的實(shí)際業(yè)務(wù)邏輯
  • 大于8字節(jié)的長(zhǎng)報(bào)文通訊:讀取故障碼,軟件版本,OTA等

Lua簡(jiǎn)介

Lua是一個(gè)文本腳本語(yǔ)言,1993年巴西人發(fā)明的,能嵌入到C,C++執(zhí)行,即可以調(diào)用C/C++的函數(shù),目前在游戲行業(yè)用的比較多.

C/C++為什么需要腳本語(yǔ)言

C/C++代碼運(yùn)行的時(shí)候已經(jīng)由編譯器編譯成了二進(jìn)制的機(jī)器碼了,執(zhí)行速度快.公司項(xiàng)目需求變化快,類似項(xiàng)目超級(jí)多,不同項(xiàng)目的核心功能基本不變的,只是業(yè)務(wù)邏輯的變化.如果全部用C/C++實(shí)現(xiàn),一方面軟件版本過(guò)多,不好維護(hù)。另一方面架構(gòu)做的不夠好時(shí)可能會(huì)造成改一個(gè)小功能,會(huì)造成核心代碼修改.然而采用C/C++加腳本的架構(gòu)實(shí)現(xiàn)有如下優(yōu)勢(shì):

  • C/C++實(shí)現(xiàn)核心功,框架搭建,腳本負(fù)責(zé)業(yè)務(wù)邏輯(C/C++的不同函數(shù)組合),設(shè)計(jì)之初就是朝著模型和業(yè)務(wù)分離的實(shí)現(xiàn),自然地實(shí)現(xiàn)高內(nèi)聚低耦合的架構(gòu)。
  • 便于團(tuán)隊(duì)分工,新員工比較快熟悉業(yè)務(wù).

為什么是Lua

目前最火的腳本語(yǔ)言是Python,對(duì)此Lua有如下優(yōu)點(diǎn):

  • Lua移植簡(jiǎn)單:Lua編譯器是用標(biāo)準(zhǔn)C寫的,比較容易集成到不同的編譯器(Keil,gcc,qt等)。不像什么MicroPython只支持GCC編譯器.
  • 開銷小:一般的Cortex M0及以上單片機(jī)都可以移植Lua編譯,還有很大的一部分空間和時(shí)間運(yùn)行C代碼.
  • 干凈:不像Python運(yùn)行還要安裝其它的環(huán)境,Lua是寄宿在C/C++中的,不需要安裝。
  • 容易上手,學(xué)習(xí)成本幾乎為零.只要公司開發(fā)個(gè)Demo,新人參考Demo就可以直接寫Lua代碼.
    CAN用Lua做什么
  • 自動(dòng)化測(cè)試:C/C++提供發(fā)送接收?qǐng)?bào)文 延時(shí)等函數(shù)接口,Lua組合發(fā)送不同的報(bào)文以及時(shí)序來(lái)驗(yàn)證ECU的各個(gè)功能是否正確,然后生成測(cè)試報(bào)告以及保存相關(guān)的通訊報(bào)文記錄。
  • OTA升級(jí):現(xiàn)在新能源汽車的每個(gè)ECU都支持OTA功能,通訊組包使用ISO 15765-2協(xié)議實(shí)現(xiàn),每個(gè)汽車主機(jī)廠都是一樣的,只是安全訪問(wèn) 順序可能有些差別.就像ZLG ZCAN Pro,CANOE都支持用戶開發(fā)升級(jí)功能。ZLG的方式是:使用Dll實(shí)現(xiàn),需要使用 VStudio,學(xué)習(xí)成本高.CANOE的方式是:他們自己弄了一套CAPL腳本語(yǔ)言,公司沒(méi)有強(qiáng)大的實(shí)力是搞不出來(lái)的,這也是CANOE貴的原因之一吧!使用Lua的話,C/C++實(shí)現(xiàn)ISO 15765-2,HEX文件的解析和分割.Lua是調(diào)用發(fā)送接收接口,HEX文件讀取,安全訪問(wèn)的密鑰計(jì)算等.

Demo

C/C++的接口暴露給LUA:

lua_State* L;


static const struct luaL_Reg Iterface[]
{
    {"send_data",LSendData},  //腳本里調(diào)用send_data字符串就可以調(diào)用到LSendData函數(shù)
    {"get_rx_data",LGetRxData},
    {"print",LPrint},
    {"delay",LDelay}, 
    {0,0},
};


void Lua_Init()
{
   L = luaL_newstate();
   luaopen_base(L);
   luaL_setfuncs(L,Iterface,0);
}

Lua腳本業(yè)務(wù)代碼

print('ECU功能測(cè)試')
--發(fā)送一幀數(shù)據(jù)喚醒單片機(jī)
send_data(0x431,0x30,0x32)
--延時(shí)50ms
delay(50)
--開天窗
send_data(0x38A,0x1)
delay(5000)
--關(guān)天窗
send_data(0x38A,0x1)
--ECU復(fù)位
send_data(0x880,0x11,0x1,0x67)

總結(jié)

Lua之于CAN就像html和英特網(wǎng)的關(guān)系一樣,在新能源汽車發(fā)展如火如荼的今天,CAN的應(yīng)用也越來(lái)越多,都有OTA升級(jí)的要求,Lua不僅在基于CAN系統(tǒng)的測(cè)試,升級(jí)方面也能夠有自己的一席用武之地,在其它的Modbus之類的標(biāo)準(zhǔn)通訊也是可以使用Lua的.
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1956

    瀏覽量

    131120
  • 工業(yè)通訊
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    11599
  • 車載通訊
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    7375
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CAN 總線錯(cuò)誤檢測(cè)機(jī)制#can總線

    CAN 總線
    北匯信息POLELINK
    發(fā)布于 :2023年05月26日 13:54:03

    什么是CAN時(shí)鐘?#CAN #汽車CAN總線? #CANoe

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2024年10月29日 12:23:36

    CAN總線基礎(chǔ)知識(shí)匯總#CAN #CANoe #汽車總線

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2024年11月04日 13:35:54

    什么是CAN總線 CAN總線什么作用

    對(duì)多點(diǎn)及全局廣播等幾種方式傳送數(shù)據(jù),無(wú)需專門的調(diào)度。? CAN 總線的數(shù)據(jù)采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,具有極好的檢錯(cuò)效果。? CAN 總線采用 CRC 檢驗(yàn)并可提供相應(yīng)的錯(cuò)
    發(fā)表于 12-13 14:26

    什么是CAN總線?CAN哪些特性?

    什么是CAN總線CAN總線是如何發(fā)展的?CAN總線是如何工作的?
    發(fā)表于 05-20 06:16

    CAN總線協(xié)議是什么?CAN總線協(xié)議哪些?CAN總線協(xié)議知識(shí)分析

    屬于軟件協(xié)議。本篇文章先概述一下CAN網(wǎng)絡(luò),讓大家對(duì)CAN總線協(xié)議一個(gè)全局的概念,再到底層的CAN總線
    的頭像 發(fā)表于 10-03 19:53 ?7.5w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>協(xié)議是什么?<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>協(xié)議<b class='flag-5'>有</b>哪些?<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>協(xié)議知識(shí)分析

    CAN總線協(xié)議教程|CAN報(bào)文分析

    功能,讓每個(gè)節(jié)點(diǎn)對(duì)報(bào)文選擇性地做出響應(yīng)。 總線使用不歸零位填充。模塊以線與邏輯連接到總線:如果只有一個(gè)節(jié)點(diǎn)向總線傳輸邏輯0,那么不管有多少
    發(fā)表于 04-03 15:32 ?1.4w次閱讀

    CAN總線的優(yōu)點(diǎn)和應(yīng)用領(lǐng)域哪些

    canbus光纖轉(zhuǎn)換器是一種CAN總線網(wǎng)關(guān),也就是實(shí)現(xiàn)CAN總線數(shù)據(jù)與其他數(shù)據(jù)之間相互轉(zhuǎn)換的工具。為什么工程師們要開發(fā)這個(gè)東西呢?因?yàn)?b class='flag-5'>CAN
    的頭像 發(fā)表于 03-01 13:22 ?4963次閱讀

    基于FPGA的CAN總線通信節(jié)點(diǎn)設(shè)計(jì)

    節(jié)點(diǎn)的硬件接口電路。基于對(duì)CAN 總線控制器的功能分析, 并應(yīng)用Verilog語(yǔ)言進(jìn)行軟件設(shè)計(jì), 從而實(shí)現(xiàn)CAN節(jié)點(diǎn)之間的通信功能。 0 引
    的頭像 發(fā)表于 06-18 11:15 ?3093次閱讀

    認(rèn)識(shí)CAN總線錯(cuò)誤 CAN總線錯(cuò)誤分析與解決

    認(rèn)識(shí)CAN 總線錯(cuò)誤的第一步就是了解認(rèn)識(shí)CAN 總線協(xié)議和它的具體功能,這樣才能更容易地理解CAN
    發(fā)表于 08-14 15:18 ?6721次閱讀
    認(rèn)識(shí)<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>錯(cuò)誤 <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>錯(cuò)誤分析與解決

    CAN總線最大能夠帶多少節(jié)點(diǎn)?CANFD相對(duì)于CAN2.0哪些差異呢?

    CAN總線最大能夠帶多少節(jié)點(diǎn)?CANFD相對(duì)于CAN2.0哪些差異呢? CAN總線最大能夠帶多
    的頭像 發(fā)表于 01-31 14:08 ?4266次閱讀

    高速CAN總線和低速CAN總線的特性

    高速CAN總線和低速CAN總線的特性 高速CAN總線和低速C
    的頭像 發(fā)表于 01-31 14:09 ?2953次閱讀

    can總線的故障波形哪些

    詳細(xì)介紹CAN總線的故障波形及其原因和解決方法。 故障波形概述 故障波形是指在CAN總線通信過(guò)程中,由于各種原因?qū)е碌臄?shù)據(jù)傳輸異常。故障波形的類型
    的頭像 發(fā)表于 06-16 10:04 ?2085次閱讀

    CAN總線測(cè)試工具的主要功能

    CAN總線測(cè)試工具是用于測(cè)試CAN(Controller Area Network)總線通信的軟件或硬件工具,其功能豐富且多樣化。以下是
    的頭像 發(fā)表于 06-25 16:02 ?1213次閱讀

    CAN總線的擴(kuò)展功能及其應(yīng)用

    CAN總線以其高可靠性、實(shí)時(shí)性和靈活性在現(xiàn)代電子系統(tǒng)中扮演著重要角色。隨著技術(shù)的發(fā)展,CAN總線也在不斷擴(kuò)展其功能,以適應(yīng)更廣泛的應(yīng)用需求。
    的頭像 發(fā)表于 12-23 09:04 ?607次閱讀