一、概述
Layer setting service (LSS)是CANopen的設(shè)置服務(wù)與協(xié)議(CiA 405),是具有LSS主功能的CANopen設(shè)備通過CAN網(wǎng)絡(luò)查詢或更改CANopen設(shè)備上物理層、數(shù)據(jù)鏈路層和應(yīng)用層的三個(gè)數(shù)據(jù),包括Node_ID、波特率、LSS地址(1018h)。
每個(gè)LSS從站都有 唯一的LSS地址,其中包含了四個(gè)32位子索引的1018h Identity object對象(具體可見CiA301規(guī)范)。LSS從站可以處于配置模式和等待模式,LSS主站負(fù)責(zé)在兩個(gè)模式之間進(jìn)行切換。
LSS協(xié)議的消息都是由8個(gè)字節(jié)組成,其中字節(jié)0始終包含服務(wù)的命令說明符(CS),同時(shí)LSS協(xié)議的兩個(gè)CAN-ID分別為7E5和7E4。
- 7E5h:用于從 LSS 主站發(fā)送至 LSS 從站的消息(請求)。
- 7E4h:用于從 LSS 從站發(fā)送至 LSS 主站的消息(響應(yīng))。
二、LSS服務(wù)
LSS服務(wù)主要包括開關(guān)狀態(tài)服務(wù)、配置服務(wù)、查詢服務(wù)、識別服務(wù),這里主要介紹開關(guān)狀態(tài)服務(wù)和配置服務(wù)。
1.開關(guān)狀態(tài)服務(wù)
借助這個(gè)服務(wù),LSS主站可以將LSS從站切換成配置模式或者等待模式,在配置模式下才能夠?qū)SS從站設(shè)備進(jìn)行節(jié)點(diǎn)ID和波特率的更改,這里主要用到命令符號CS=40h。通過這個(gè)服務(wù)可以將網(wǎng)絡(luò)中的所有LSS從站切換為配置模式或者等待模式。
如果在整個(gè)CAN網(wǎng)絡(luò)當(dāng)中不想操作所有的LSS從站,那么也可以通過LSS地址中的參數(shù)來操作相應(yīng)的設(shè)備,這個(gè)時(shí)候LSS主站會發(fā)送四條消息(如下圖),之后相應(yīng)的從站會切換到配置模式并發(fā)送確認(rèn)。
2.配置服務(wù)
通過配置服務(wù),LSS主站可以更改并且存儲(如果有必要的話)LSS從站節(jié)點(diǎn)ID和波特率。
1)配置節(jié)點(diǎn)服務(wù)
LSS主站向LSS從站發(fā)送新節(jié)點(diǎn)ID的消息,返回錯(cuò)誤代碼 00h:沒有錯(cuò)誤,01h:無效節(jié)點(diǎn)。
2)配置波特率服務(wù)
LSS主站向LSS從站發(fā)送新波特率的消息,返回錯(cuò)誤代碼 00h:沒有錯(cuò)誤,01h:波特率不支持,F(xiàn)Fh:無效表索引
其中表索引與波特率的對應(yīng)關(guān)系如下圖
3)激活位計(jì)時(shí)參數(shù)服務(wù)
LSS 主站使用此命令同時(shí)激活網(wǎng)絡(luò)中所有 LSS 從站的設(shè)定波特率,其中Switch delay的單位ms,確保在可能再次發(fā)送消息之前,網(wǎng)絡(luò)中的所有 LSS 從站均具有相同的波特率。從每個(gè) LSS 從站收到此消息之后,其中存儲的時(shí)間即是允許等待的時(shí)間。只有這時(shí)才能接受新的波特率,還可以再次等待相同的時(shí)間;只有這時(shí) LSS 從站才能再次發(fā)送消息。
4)保存配置服務(wù)
通過這一服務(wù),LSS主站可以保存重新設(shè)定的節(jié)點(diǎn)ID和波特率;在執(zhí)行這一服務(wù)的時(shí)候LSS主站必須確保網(wǎng)絡(luò)中只有一個(gè)LSS從站處于配置模式。返回錯(cuò)誤代碼 00h:沒有錯(cuò)誤,02h:訪問非易失存儲器失敗。
三、示例
目前有一個(gè)LSS從站的參數(shù)設(shè)置節(jié)點(diǎn)ID=40h,波特率=1000kBd,現(xiàn)在需要將參數(shù)修改如下節(jié)點(diǎn)ID=04h,波特率=500kBd。那么將進(jìn)行以下報(bào)文命令操作:
7E5 | 04 01 00 00 00 00 00 00 將LSS從站切換至配置模式
7E5 | 5E 00 00 00 00 00 00 00 查詢LSS從站的節(jié)點(diǎn)ID
7E4 | 5E 40 00 00 00 00 00 00 回復(fù)節(jié)點(diǎn)ID
7E5 | 11 04 00 00 00 00 00 00 將從站節(jié)點(diǎn)設(shè)置為04h
7E4 | 11 00 00 00 00 00 00 00 從站返回確認(rèn)
7E5 | 13 00 02 00 00 00 00 00 將LSS從站波特率設(shè)置為500kBd
7E4 | 13 00 00 00 00 00 00 00 從站返回確認(rèn)
7E5 | 17 00 00 00 00 00 00 00 LSS主站發(fā)送保存更改命令
7E4 | 17 00 00 00 00 00 00 00 LSS返回確認(rèn)
7E5 | 04 00 00 00 00 00 00 00 將LSS從站切換至等待模式
705 | 00 控制器重啟接受新參數(shù)