來源:虹科汽車電子虹科技術(shù)丨BabyLIN產(chǎn)品如何輕松搞定K線協(xié)議實(shí)現(xiàn)?
歡迎關(guān)注虹科,為您提供最新資訊!
導(dǎo)讀
為了實(shí)現(xiàn)K線通信,SDF-V3在協(xié)議部分中定義了新的協(xié)議類型 KLine Raw 。所有能夠運(yùn)行SDF-V3文件(LinWorks版本在V.2.29.4以上)并使用最新固件(固件版本在V.6.18以上)的BabyLIN設(shè)備都可以執(zhí)行KLine Raw協(xié)議,本文將介紹BabyLIN產(chǎn)品的K線協(xié)議實(shí)現(xiàn)。
KLine Raw實(shí)現(xiàn)
與其他協(xié)議實(shí)現(xiàn)相同,需要在SessionConf中新建Protocols,定義KLine Raw類型協(xié)議。
在協(xié)議中可以自定義服務(wù),Service由請求幀和響應(yīng)幀組成。通過在屬性中選擇Request only,則可以省略響應(yīng)幀的定義。
使用K線協(xié)議的LIN總線接口的波特率和字節(jié)格式可以通過宏命令Set Speed (Write Speed)進(jìn)行修改。
請求幀的定義
K線協(xié)議中幀的長度可以是常量、變量或從信號(hào)中檢索的值。如果將幀長度定義為變量,幀長度由實(shí)際映射的長度來計(jì)算。
1. 常量映射
如下圖所示,常量映射的步驟為:首先添加一個(gè)映射項(xiàng)(1),然后定義該映射項(xiàng)的起始位置和大小(2),然后定義該映射項(xiàng)的常量值(3),最后保存數(shù)據(jù)(4)。
2. 信號(hào)映射
如下圖所示,信號(hào)映射定義的步驟為:首先在右側(cè)信號(hào)列表中選擇所請求的信號(hào)(1),將其添加到映射列表(2),并最終將偏移量調(diào)整為有效載荷(3),添加好本幀中需要的所有信號(hào)后點(diǎn)擊OK完成(4)。
兩種有效載荷定義方法可以結(jié)合在一起,在這種情況下,首先應(yīng)用常數(shù)映射,然后合并信號(hào)映射;幀的未映射區(qū)域?qū)⒂猛ㄓ脜f(xié)議屬性中給出的填充字節(jié)填充。
響應(yīng)幀的定義也以同樣的方式進(jìn)行,只是常量負(fù)載映射在這里沒有意義。
啟動(dòng)K線通信
LIN總線通信啟動(dòng)時(shí),將自動(dòng)啟動(dòng)LDF的第一個(gè)調(diào)度或啟動(dòng)命令給出的調(diào)度。在LIN總線上使用K線通信時(shí),應(yīng)該使用空調(diào)度表的方式進(jìn)行。需要在LDF中設(shè)置一個(gè)僅診斷請求幀的調(diào)度表,用來啟動(dòng)總線。由此來運(yùn)行一個(gè)“空”調(diào)度,然后可以使用宏命令執(zhí)行K線協(xié)議服務(wù),在總線上傳輸和接收K線幀。默認(rèn)情況下,LIN總線啟動(dòng)將產(chǎn)生喚醒脈沖事件。若想避免這一點(diǎn),可以通過在Virtual Signal中將系統(tǒng)信號(hào)@@SYSCFG307的初始值設(shè)置為5來實(shí)現(xiàn)。
注意:BabyLIN系列產(chǎn)品的K線通信實(shí)現(xiàn)需要額外激活,請聯(lián)系虹科獲取激活方式。
總結(jié)
虹科LIN總線仿真測試解決方案,基于Baby-LIN系列產(chǎn)品,能夠?qū)IN、CAN節(jié)點(diǎn)/系統(tǒng)進(jìn)行主從仿真和分析, 支持基于事件的信號(hào)配置、順序控制、錯(cuò)誤判斷和觸發(fā)動(dòng)作 ,廣泛用于汽車零部件和生產(chǎn)線測試。產(chǎn)品都配有免費(fèi)的LINWorks軟件,在測試件的功能操作與軟件界面之間建立起友好交互。此外,虹科也支持 定制二次開發(fā)、測試服務(wù) ,歡迎聯(lián)系虹科獲取更多詳細(xì)資料!
審核編輯 黃宇
-
汽車電子
+關(guān)注
關(guān)注
3026文章
7955瀏覽量
167029 -
協(xié)議
+關(guān)注
關(guān)注
2文章
602瀏覽量
39223 -
k線
+關(guān)注
關(guān)注
0文章
5瀏覽量
3084
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論