CANopen学习——同步
在发送和接收之间必须相互协调和同步,为此,CANopen引入同步的概念。
同步报文:包含一个数据字节或者不含数据字节的CAN报文。数据字节中包含一个从1开始递增计数的同步计数器。溢出值可在参数(索引1019h)来设置,同步报文的发送和接收方都必须使用同步计数器(可避免双方计数有差,达不到同步目的)
标识符:标识符是每条报文(帧)的优先级标志,标准为11位,扩展为29位。同步报文的标识符为80h,该值保存在对象字典Sync-COB-ID(索引1005h),可配置。
同步窗口和同步周期:两个参数用户可以设置(具体如何设置,还不知道),同步PDO发送方必须在同步窗口内发送完PDO。在大多数情况下,同步窗口==同步周期不会有太大影响。在许多实现方式中,均以同步时间窗口长度等于循环周期考虑的。
同步的机制:在同步对象1发送后,设备A发送同步PDO,设备B接收到A发送的同步PDO,则B只能在下一个同步对象到来时,才能响应此数据。在某些情况下,此数据会失效。只将TPDO设置成同步传输,把RPDO定义为事件驱动类型,就可以使数据及时得到响应。
同步计数溢出:就像单片机定时器,定义一个初值,到某个值溢出为0。
CANopen学习——同步的更多相关文章
- CANopen学习——OSI模型复习
CanOpen协议实现了物理层和数据链路层,OSI模型是完整的7层. OSI模型网络七层包括物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 物理层:提供信息传输的物理连接通道,包括使用的 ...
- OKHttp源码学习同步请求和异步请求(二)
OKHttp get private void doGet(String method, String s) throws IOException { String url = urlAddress ...
- CANOpen学习指南
对于初学者,相对于其他总线的资料来说,在国内CANOpen的资料并不多.而且并不是所有资料都适合初学者看的.这里给出一些建议,对CANOpen感兴趣的,可以参考一下学习的顺序. 前提:需要对CAN总线 ...
- CANopen学习——PDO
查找资料时,发现一个很好的博客,博主剖析的通俗易懂 http://www.cnblogs.com/winshton/p/4897556.html PDO定义: 过程数据对象,用来传输实时数据.因为 ...
- CANopen学习——感性认知
看不懂的知识硬着头皮也要看.读了当时虽然不理解,但脑子里对其相关名词.概念有印象,继续看下去,多读几遍,一定会在某个地方顿悟. CAN总线只是定义了物理层和数据链路层,并没有定义应用层.这么优秀的总 ...
- java多线程学习-同步(synchronized)
(示例都是网上视频的) 假如两个线程同时调用一个方法输出字符串 public class SynchronizedTest extends Thread { public static void ma ...
- 基于Andoird 4.2.2的同步框架源代码学习——同步发起端
关键组件: ContentResolver ContentService SyncManager SyncManager.ActiveSyncContext SyncManager.SyncOpera ...
- 基于Andoird 4.2.2的同步框架源代码学习——同步提供端
Android同步框架 同步(synchronization)允许用户将远程数据下载到新的设备上,同时将设备上的帐户数据上传到远端.同步还保证用户能够看到最新的数据. 开发者自然可以通过自己的方式来设 ...
- Python学习---同步条件event/队列queue1223
写在前面: 在使用这些共享API的时候,我们要注意以下几点: 在UNIX平台上,当某个进程终结之后,该进程需要被其父进程调用wait,否则进程成为僵尸进程(Zombie).所以,有必要对每个Proce ...
随机推荐
- 初始Bootstrap
使用示例 ①下载Bootstrap框架 网址:http://v3.bootcss.com/getting-started/#download ②解压得到三个文件 ③将文件添加进项目后,在页面中 ...
- window.name实现的跨域数据传输
这篇文章是对 JavaScript跨域总结与解决办法 的补充. 有三个页面: a.com/app.html:应用页面. a.com/proxy.html:代理文件,一般是一个没有任何内容的html文件 ...
- Oracle数据库升级(10.2.0.4->11.2.0.4)
环境: RHEL5.4 + Oracle 10.2.0.4 目的: 在本机将数据库升级到11.2.0.4 之前总结的Oracle数据库异机升级:http://www.cnblogs.com/jyzha ...
- 计算机网络学习笔记--数据链据层之MAC子层(整理)
概述: 为什么需要介质访问控制子层(MAC)? 介质访问控制子层(MAC)是局域网体系结构中划分的子层,多路访问链路采用共享介质连接所有站点.发送站点通过广播方式发送数据并占用整个带宽,如果有多个站点 ...
- HTML 基础篇
本章内容: 简介 HTML定义 标签定义和属性 HTML5基本结构 HTML5字符集 <head>标签 <title> <base/> <link/>( ...
- 在mongoose中使用$match对id失效的解决方法
Topic.aggregate( //{$match:{_id:"5576b59e192868d01f75486c"}}, //not work //{$match:{title: ...
- 如果你也会C#,那不妨了解下F#(3):F#集合类型和其他核心类型
本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-3.html 在第一篇中,我们介绍了一些基础数据类型,其实那篇标题中不应该含有"F#&q ...
- Angular2 小贴士 NgModule 模块
angular2 具有了模块的概念,响应了后台程序的号召,高内聚 低耦合.模块就是用来进行封装,进行高内聚 低耦合的功能. 其实各人认为ng2 的模块和.net的工程类似,如果要使用模块中定义的功能 ...
- IIS服务器多域名证书绑定443端口解决方案
一个服务器IIS要绑定多个HTTPS站点(该方法在此之前,有进行测试其他网站域名的ssl证书,测试没有问题) 默认情况一个服务器的IIS只能绑定一个HTTPS也就是443端口 要实现多个站点对应HTT ...
- SHA-256算法
SHA-.h #ifndef _SHA_256_H #define _SHA_256_H #include<iostream> using namespace std; typedef u ...