xmldocument如何创建一个不带结尾的节点_LDF文件是个啥?如何创建一个LDF文件
之前的一篇文章中介紹了LIN通訊,對LIN通訊的通訊機理進行了說明,那么在定義LIN通訊的時候需要使用什么樣的文件進行描述呢?直觀的來說就是LIN的描述文件,其實翻譯成英文就是LIN Description File,那么簡稱就是LDF,今天我們就說說LDF文件是什么樣的!
首先,從意義來說,根據名字我們應該就有所理解,就是為了描述LIN通訊,那么需要描述的內容包含哪些方面呢,大體上來說,會分為以下幾個方面:
節點的定義,哪個是主節點哪個是從節點;
節點所包含信號的定義,每個節點包含多少信號,每個信號是如何定義的,這里指信號測長度和信號的位置;
節點的屬性,主要包含節點的地址,功能ID、供應商ID以及變種ID等信息;
LIN總線調度表,因為LIN是基于調度的,沒有調度是無法通訊的;
下面我們就通過新建一個LDF文件把以上涉及的信息進行說明
使用的工具:vector公司的LDF Explorer
同類型的工具也可以使用Babylin的LDFEdit
第一步:首先打開LDF Explorer編輯軟件,空白界面如下
第二步:主菜單file->new file,在new file的右側需要選擇建立LDF文件使用的通訊標準,如下所示
目前LIN的協議包含1.3、2.0、2.1、2.2等等,具體的差異不在本文的討論范圍,暫時不做展開,現在使用基本都是2.0以上,而且2.0/2.1/2.2在不涉及診斷的單純的通訊方面是完全可以兼容的。
我們這里選擇基于LDF2.1,會進入如下界面;
這里我們紅色圈出的部分,都是編輯軟件自動生成的,把這個LDF需要的主要元素的框架顯示在了左側的列表中,后續編輯的時候只要在對應的部分添加相應的內容就可以了。
這里注意,左側是有兩個列表的,一個是“Frames/Commands”,一個是“Nodes/Frames”,這是兩種不同的模式,隨著我們的編輯會很容易理解它們的不同。
第三步:先把LIN總線的名稱做一下修改,點擊下圖左側紅色圈出的選項,在右側紅色圈出的部分進行名稱修改,這里我們把名稱更改為“LIN_LDF_Test”
更改完成之后,我們可以看到總線的名稱相比之前發生了變化
第四步:因為在一條LIN總線里面只能有一個主節點,模板中已經把主節點創建完成,所以在節點創建的時候是不能創建主節點的,只能創建從節點,但是可以對主節點的信號進行編輯的,這一步我們就來編輯主節點的信號,首先更改一下主節點的名稱,把主節點名稱更改為“LIN_ECU”,更改方法:切換到如下界面,按照紅色圈出的部分依次選擇,在最右側的紅色圈出位置進行更改
更改完成之后如下
然后,給主節點增加兩個發送信號,我們可以看到每個節點有兩類信號,一類是發出的,發出是給從節點,那么這個主節點發出的信號就是從節點的接收信號,一般是多個從節點的接收信號;一類是接收的,那么這個主節點的接收信號就是從節點的發送信號,也一般是多個從節點的發出的。
這里我們新建兩個主節點的發送信號,分別發給兩個從節點,這一步先把兩個信號創建好,至于發給哪個節點,等后邊創建了從節點之后再分配。因為所有的信號都是依托于信號幀的,所以創建的時候我們只能創建信號幀。
創建信號幀的時候有三種不同的類型:無條件信號幀、事件觸發信號幀以及零星信號幀。一般使用的都是無條件信號幀,這里我們就以創建無條件信號幀為例,通過下面的方式創建
點擊之后,會進入如下界面
這里首先需要定義幀的名稱、幀的長度、幀的ID
幀的名稱,可以隨便定義,只要符合命名規則即可,一般是字母、數字和下劃線組成;
幀的長度,LIN2.0以上的通訊協議要求,長度可以是2、4、6、8的任何一個,其它的數值不可以;
幀ID,這個的取值范圍是0-63,任意一個都是可以的
這里我們配置如下:
Publisher就是指誰發出的這個幀,我們定義的是主節點的幀,當然是由主節點ECU發出
Subscriber就是指誰接收這個幀,這里我們先不設置,因為還沒有定義從節點,定義了從節點之后再進行設置
接著創建這個幀的信號,點擊“Create and Map Signal”,進入如下界面
在這里需要對信號的屬性進行設置
信號名稱,還是一樣可以隨便設置
初始值,根據需求設置
信號類型,類似于數據的類型選擇
信號長度,根據信號的定義,長度是可以自定義的,不跨字節低于8位或者跨字節超過8位都是可以的;
編碼類型,這個代表的就是信號需要如何解析,你定義的信號在總線上就是0和1的數值,組合起來代表的是物理值,物理值的意義就需要這里的定義去解析;
信號的發送和接受節點,這個是繼承的幀的設置,幀的設置好之后就可以了;
信號在幀上的位置,假
設如我們定義一個幀的長度是8個字節,那么就是代表的64位,假設你定義的信號長度是10位,需要在這里確定好信號在64位的哪個位置,是第0位還是第n位;
這里我們設置如下:
點擊ok,新建的信號就會顯示在幀定義的界面
同樣的方法,我們再建第二個信號
信號解析可以借用第一個的方式
但是信號位置一定不能重疊,所以這個最少要在第十位之后
創建完兩個信號如下:
最右側有兩個紅色標記是因為沒有定義從節點,下一步來定義從節點。
第五步:創建兩個從節點
在生成的模板中自帶了一個從節點,我們直接把這個從節點的名字做一下修改,作為其中的一個節點,參數設置如下:
需要注意,從節點創建時需要設置節點地址,就是這里的NAD,這個參數是在診斷中會使用到的;
然后,在創建一個節點,通過如下方式創建
設置名稱如下:
節點地址設置如下:
創建完之后,左側界面如下
第六步:把剛才的主節點的兩個信號信息完善
信號1完善信息如下:
信號2完善信息如下:
這樣我們就可以通過左側的導航欄看出信號在各個節點的關系了
Master_frame_Signal1是主節點的發送幀信號,是從節點1的接收幀信號
Master_frame_Signal2是主節點的發送幀信號,是從節點2的接收幀信號
第七步:以同樣的方式,每個從節點創建一個發送信號
從節點1的發送信號設置如下
從節點2的發送信號設置如下:
最終形成的鏈接關系如下
第八步:創建調度表
我們前面說了,LIN的通訊時基于調度的,如果沒有調度就無法通訊,所以這里要創建調度表,通過如下入口
命名如下:
然后中間的schedule tables會發生變化
然后把需要調度的信號幀拖入到這個表格就可以了,結果如下
這個調度的周期時可以更改的,在右側有編輯的位置
根據需要設置就可以了!
到此,一個基本的LDF文件就完成了,把文件保存一下就可以了!
這里我們保存為LIN_LDF_Test.ldf,供以后使用!
???
END
Tesla自動駕駛體驗
法拉利工廠探秘
為了分享資料方便小編也是拼了,強烈推薦查看本文
福耀玻璃汽車前擋玻璃“前裝RFID解決方案”和“前裝ETC解決方案”首發
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的xmldocument如何创建一个不带结尾的节点_LDF文件是个啥?如何创建一个LDF文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在docker上调用宿主机硬件_Dock
- 下一篇: 从零开始学python人工智能课程_从零