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