过程数据对象(Process Data Object,PDO)是用来传输实时数据的,提供对设备应用对象的直接访问通道,它用来传输实时短帧数据,具有较高的优
先权。PDO 传输的数据必须少于或等于 8 个字节,PDO 的 CAN 报文数据域中每个字节都用作数据传输,因此,在应用层上不包含传输控制信
息,报文利用率极高。
PDO 通信是基于生产者/消费者的通讯模式[13],如图 3-3 所示,每个 PDO 有一个唯一的标识符且可以通过一个节点发送,但有多个节点可以接
收。由生产者发送的 PDO称为发送 PDO(TPDO),同样消费者接收的 PDO 称为接收 PDO(即 RPDO)。PDO 的接收不需要消费者的确认。
生产者/消费者通讯模型
每个 PDO 在对象字典中由两个对象描述:通信参数和映射参数。PDO 通信参数指明使用哪个 COB-ID,传输类型,禁用时间和定时时间;
PDO 映射参数用于设定 PDO报文中的数据的映射关系,确定要传输的数据在 CAN 报文数据域中的定位。该参数允许 PDO 的生产者和消费者知
道正在传输什么信息,而不需要在 CAN 报文中增加额外的协议控制信息,使传输的效率达到最高。一个 PDO 最多可以映射 64 个对象[7]。
PDO 通讯具有三种触发模式:内部事件驱动或内部定时器触发、同步触发、远程请求触发。
1) 内部事件驱动或内部定时器触发。通讯由某一事件触发。例如数字 I/O 口状态改变,超过预先设定的值、定时器中断等都会触发节点发送
一个 PDO。这种模式可使总线负载达到最小,在相对低的波特率下获得比较高的通讯特性。
2)同步触发。同步触发 PDO 是指 CANopen 节点收到由管理节点发出的同步报文(同步对象 Sync)之后,根据触发报文条件向总线发出 PDO 报
文。同步传输又分为周期性和非周期性,周期性是指 CANopen 节点接收到一定数量的同步报文之后才开始发送;非周期性 PDO 是指 PDO 触发
条件成立之后,当收到下一个同步对象后马上发送PDO。
3) 远程请求触发。PDO 消费者可以给 PDO 生产者发送远程 PDO 请求,相应 PDO 生产者将对远程帧做出响应,向总线上发送相应的 PDO 数
据。
● 文中提到的云产品
应用配置管理ACM
用配置管理(Application Configuration Management,简称 ... 查看详情
数据传输
支持以数据库为核心的结构化存储产品之间的数据传输。 它是一
种集数据迁移、数据订阅及数据实时同... 查看详情
云效
业内领先的面向企业的一站式研发提效平台,通过项目流程管理和
专项自动化提效工具,能够很好地支持... 查看详情
云服务器ECS
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速
构建更稳定、安全的应用,提升运维效... 查看详情
● 博主其他文章
更多>
JAVA之旅(十)——异常的概述,Try-Catch,异常声明
Throws,多异常处理,自定义异常,Throw和Throws的区别
虚拟主机和ECS有啥区别
独享云虚拟主机、共享云虚拟主机、云服务器 ECS 的区
别?
请问云虚拟主机和云服务器ECS的区别是什么
云服务器ECS和轻云服务器区别
什么是轻量应用服务器?与阿里云ecs和虚拟主机有什么
区别?
JAVA之旅(五)——this,static,关键字,main函数,封装
工具类,生成javadoc说明书,静态代码块
JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键
字/标识符,变量/常量,进制/进制转换,运算符,三元运
算
RxBinding的使用
RxJava操作符大全
● 相关
话题
更多>
说说你作为技术人员对服务客户有哪些经验吧
评论1