概述:為了實(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é)議。
1. KLine Raw協(xié)議實(shí)現(xiàn)
與其他協(xié)議實(shí)現(xiàn)相同,需要在SessionConf中新建Protocols,定義KLine Raw類型協(xié)議。
在協(xié)議中可以自定義服務(wù),Service由請(qǐng)求幀和響應(yīng)幀組成。通過(guò)在屬性中選擇Request only,則可以省略響應(yīng)幀的定義。
使用K線協(xié)議的LIN總線接口的波特率和字節(jié)格式可以通過(guò)宏命令Set Speed (Write Speed)進(jìn)行修改。
2. 請(qǐng)求幀的定義
K線協(xié)議中幀的長(zhǎng)度可以是常量、變量或從信號(hào)中檢索的值。如果將幀長(zhǎng)度定義為變量,幀長(zhǎng)度由實(shí)際映射的長(zhǎng)度來(lái)計(jì)算。
2.1常量映射
常量映射的步驟:首先添加一個(gè)映射項(xiàng)(1),然后定義該映射項(xiàng)的起始位置和大小(2),然后定義該映射項(xiàng)的常量值(3),最后保存數(shù)據(jù)(4)。
2.2信號(hào)映射
信號(hào)映射定義步驟:首先在右側(cè)信號(hào)列表中選擇所請(qǐng)求的信號(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ù)載映射在這里沒(méi)有意義。
3.啟動(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è)僅診斷請(qǐng)求幀的調(diào)度表,用來(lái)啟動(dòng)總線。由此來(lái)運(yùn)行一個(gè)“空”調(diào)度,然后可以使用宏命令執(zhí)行K線協(xié)議服務(wù),在總線上傳輸和接收K線幀。默認(rèn)情況下,LIN總線啟動(dòng)將產(chǎn)生喚醒脈沖事件。若想避免這一點(diǎn),可以通過(guò)在Virtual Signal中將系統(tǒng)信號(hào)@@SYSCFG307的初始值設(shè)置為5來(lái)實(shí)現(xiàn)。
注:BabyLIN系列產(chǎn)品的K線實(shí)現(xiàn)需要額外激活,請(qǐng)聯(lián)系虹科獲取激活方式。
了解虹科BabyLIN產(chǎn)品更多信息,歡迎前往【虹科智能互聯(lián)】官方網(wǎng)站:https://www.haomotive.com/
聯(lián)系虹科工程師:https://tl-tx.dustess.com/OHRgtontq3
TEL:18138758797