背景

最近有一个网关类型的开发项目需要用到canopen的LSS服务,鉴于这方面的参考资料比较少,故而记录之。

从功能上说,canopen的LSS服务是用于配置canopen节点的Node-ID和波特率的。canopen节点ID在01h到7Fh范围内有效;FFh的节点ID标识一个“未配置节点ID”设备。如果一个节点的ID为FFh,那么就需要使用LSS服务,由主站配置节点ID。

目标

通过LSS服务配置canopen 从站的 NodeID和波特率

方法

  • 参考CiA 305 Layer setting services(LSS) and protocols
  • 参考 CanFestival中的 TestMasterSlaveLSS 例程

过程

LSS配置过程中,主从站的操作和响应如下:

① 主站知道从站的LSS地址(VendorID,ProductCode,Revision Number,Serial Number),但是不知道从站是否具有有效的NodeID和波特率。
② 主站通过“LSS identify non-configured remote slave”服务来确认总线上是否存在无效配置的节点,如果有则进行后续的操作,如果没有则进行第⑩步。
③ 主站通过“LSS identify remote slave”服务,指定特定的LSS地址,来确认总线上是否存在相同LSS地址的从站节点,如果有则进行后续的操作。
④ 主站通过“Switch state selective”服务,指定特定的LSS地址,将具有相同LSS地址的从站节点的状态切换为“LSS configuration”状态。
⑤ 主站通过“Configure node-ID”服务,来配置从站的node-ID。
⑥ 主站通过“Configure bit timing parameters”服务,来配置从站的波特率。
⑦ 主站通过“Store configuration”服务,向从站发出通知,要求从站将配置保存在非易失存储中。
⑧ 主站通过“Switch state global”服务,将所有从站配置为“LSS waiting”状态。
⑨ 重复②操作,如果仍有未配置的节点,改变LSS地址来匹配节点,改变赋值的node-ID;如果所以节点均配置完毕,则跳到⑩。
⑩ 所有无效配置的节点均配置完毕。通过“Switch state global”,将所有从站配置为“LSS configuration”状态。通过“Activate bit timing parameters”服务,指定周期延时,激活所有节点的波特率参数。
⑪主站通过“Switch state global”服务,将所有从站配置为“LSS waiting”状态。
⑫主站通过NMT服务中的“NMT_Reset_Comunication”,重启所有的从站节点。

分析

(1)在CAN总线具有多个从站的情况下,主站是如何区分不同的从站的?
主站需要知道从站的LSS地址,并通过LSS地址来区分不同的从站。LSS地址即VendorID,ProductCode,Revision Number,Serial Number构成的唯一标识符,定义在对象字典的0x1018中。

(2)主站在分配Node-ID时遵循怎么样的规律?
在主站编程中可以自定义Node-ID分配的规律,例如每个从站节点Node-ID加1,或者加2。

(3)主站如何保证将Node-ID分配到指定的从站?
主站在确定从站的LSS地址之后,会将该从站设置为配置模式,而其他从站均在等待模式。即便主站是通过广播的方式配置Node-ID,但由于只有一个从站是在配置模式下,因此仍然能够保证Node-ID分配到指定的从站。

(4)从站如何能够选择性地将自己的模式设置为配置模式?
主站依次广播LSS地址中四个字段消息(0x01~0x04),从站收到消息会查询自己的对象字典,检查信息是否一致,如果四个字段均一致,从站则会将自己的状态设置为配置状态。

结果

通过“Inquire node-ID ”服务可以查询从站的Node-ID,的确为主站所设置的Node-ID。

结论

基于LSS服务完成了从节点的波特率和Node-ID的设置。

CANopen LSS服务解析相关推荐

  1. 虹科分享 | CANopen协议基础知识——LSS服务

    CANopen是一种架构在CAN串行总线系统上的高层通讯协议,常被用于嵌入式系统与工业控制领域,包括电机控制.机器人制造.医疗.汽车等多个行业领域.本篇文章将主要介绍CANopen的LSS服务. 一. ...

  2. CANopen LSS 协议

    转载地址:https://www.nanotec-cn.cn/products/manual/PD4E_CANopen_ZH/bus%2Fcan%2Flss.html LSS 协议(底层设置服务)的服 ...

  3. Rasa项目实战之银行金融Financial Bot智能业务对话机器人业务功能微服务解析与调试(九十二)

    一.Rasa项目实战之银行金融Financial Bot智能业务对话机器人支付业务流程解析与演示 支付业务是银行金融业务中的核心功能,对于本项目来说,先来看一下这个业务流程是如何工作的.首先运行Ras ...

  4. Gavin老师Transformer直播课感悟 - Rasa项目实战之银行金融Financial Bot智能业务对话机器人业务功能微服务解析与调试(八十九)

    本文继续围绕工业级业务对话平台和框架Rasa,对Rasa项目实战之银行金融Financial Bot智能业务对话机器人的主要业务功能所使用的微服务进行解析,并通过Rasa Interactive的调试 ...

  5. Gavin老师Transformer直播课感悟 - Rasa项目实战之银行金融Financial Bot智能业务对话机器人业务功能微服务解析与调试(八十一)

    本文继续围绕工业级业务对话平台和框架Rasa,对Rasa项目实战之银行金融Financial Bot智能业务对话机器人的主要业务功能所使用的微服务进行解析,并通过Rasa Interactive的调试 ...

  6. Gavin老师Transformer直播课感悟 - Rasa项目实战之电商零售智能业务对话机器人业务功能微服务解析与调试演示(八十二)

    本文继续围绕工业级业务对话平台和框架Rasa,对Rasa项目实战之电商零售Customer Service智能业务对话机器人主要业务功能所使用的微服务进行解析,并通过Rasa Interactive的 ...

  7. 第十七篇 --ANDROID DisplayManager 服务解析一

    ANDROID从版本4.2开始提供了一个显示管理服务DisplayManagerService,支持多种显示类型的多个显示器的镜像显示,包括内建的显示类型(本地).HDMI显示类型以及支持WIFI D ...

  8. Spring Security OAuth2.0_实现分布式认证授权_微服务解析令牌并鉴权_Spring Security OAuth2.0认证授权---springcloud工作笔记154

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们接着去看,我们需要其他的微服务就解析令牌,并且进行根据权限判断能不能来访问我们的某个方法 ...

  9. DNS服务解析与原理笔记

    引言 DNS介绍 DNS原理与解析 DNS查询 DNS服务搭建 DNS劫持和污染 计算机面试 or 真题 DNS应用扩展 参考与推荐 引言 我想很多人遇到过这样一种情况,电脑突然上不了网了,或者说可以 ...

最新文章

  1. Hibernate主键生成策略总结(这里面讲的很详细)
  2. 现在是不是很多人都不愿意在银行存钱?
  3. 炎炎夏日需要一个清凉的地 - 自制水冷系统(十一 指尖的思绪之程序篇)
  4. Android 升级下载 它们的定义Updates 兼容版本
  5. 应用程序部署策略——虚拟机与容器
  6. SSM框架之Spring MVC(二)常用注解说明
  7. mysql flush操作
  8. python代码怎么样_python代码怎样清屏
  9. Ubuntu: 使用U盘拷贝文件
  10. oracle 12c 容器数据库公共用户去访问pdb数据库
  11. python绘制彩色地震剖面断层解释_地震剖面上断层的识别标志主要有哪些
  12. hr面试性格测试30题_人事面试--测试篇--30
  13. 阿尔卡特交换机配置_阿尔卡特交换机上常用命令
  14. 其实装修也是工程管理
  15. kettle An error occurred, processing will be stopped: 错误 解决方法
  16. ABCD过桥题的规律
  17. python马蜂窝网站的爬取和简单分析。
  18. 雷蛇键盘灯光配置文件_雷蛇这款光轴机械键盘开箱评测,光速触发,颜值爆表...
  19. HTTP Content_Type
  20. 前端源码架构在拍卖详情页上的探索

热门文章

  1. vc2017编译linux c【坑1】缺少头文件
  2. 买房准备之交易流程学习
  3. 华为WLAN通过双链路实现AC热备
  4. 使用基于Vue.js和Hbuilder的混合模式移动开发打造属于自己的移动App
  5. Paul Graham对我的影响
  6. 视频配音软件免费的有哪些?这三个软件轻松搞定怎么给视频配音
  7. 互联网地址和域名系统
  8. AC+Fit AP组网的PSK认证和二层用户隔离
  9. Webduino STEAM 教育离线版本:Web:bit 筒体版本发布,配合BPI:bit教学硬件学习STEAM图形化编程
  10. Linux系统vim命令的一些体验