ECan-Bootloader通讯协议.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### ECAN-Bootloader 通讯协议详解 #### 1. 概述 在现代工业控制系统中,为了提高生产效率及维护便利性,越来越多地采用了基于网络的编程方式。特别是对于多机并联系统而言,传统的逐个编程方法不仅耗时且效率低下。为此,本文档介绍了一种利用 CAN 总线技术实现批量编程的方法——ECAN-Bootloader 通讯协议。该协议主要应用于500KW-G4 系统中,通过 CAN 总线同时更新所有并联设备中的 DSP(数字信号处理器)程序,从而显著缩短了整体更新时间。 #### 2. CAN 总线通讯协议 ##### 2.1 CAN 标识符 CAN 标识符在 CAN 总线通信中扮演着关键角色,它用于识别报文的优先级及目标节点。ECAN-Bootloader 通讯协议中的 CAN 标识符定义如下: - **位(bit)31~16**:功能码。 - `0x75D`:表示上位机向下位机(DSP)发送数据。 - `0x8A2`:表示下位机(DSP)向上位机回复数据。 - **位(bit)15~0**:机器物理地址。 - `1`:物理地址为 1 的机器。 - `2`:物理地址为 2 的机器。 - …… - `2^(n-1)`:物理地址为 n 的机器(n <= 15)。 在 DSP 程序中,每个单元的接收滤波器都会对位 31~16 以及相应的机器物理地址进行过滤,确保仅接收特定地址的数据。为了支持双向通信,每个 DSP 需要配置一个接收邮箱(如 1 号邮箱)和一个发送邮箱(如 2 号邮箱)。 ##### 2.2 CAN 通讯协议 ECAN-Bootloader 通讯协议采用类似于 Xmodem 的通讯机制,即按信息包的形式传输数据。这种方式可以确保数据传输的安全性和可靠性,同时保持操作的简便性。 - **数据包格式**: - 每个数据包以起始字符 `<SOH>` 开始。 - 包含一个单字节的包序号。 - 包含一个包序号的补码。 - 接收方(DSP)会检查接收到的数据是否正确。 - 如果数据正确,则 DSP 向上位机发送一个字节 `<ACK>` 的确认应答。 - 如果数据有误,则 DSP 向上位机发送一个字节 `<NAK>` 的否定应答,请求重新发送该数据包。 #### 2.2.1 Hex 文件解析 Hex 文件是一种标准的文件格式,用于存储编译后的二进制代码,以便于将其下载到目标硬件中。ECAN-Bootloader 通讯协议要求上位机能够解析 Hex 文件,并从中提取出待烧录的 Flash 地址及其对应的数据。 - **解析过程**: - 读取 Hex 文件中的每一行记录。 - 提取出每条记录中的地址和数据部分。 - 组装成符合 ECAN-Bootloader 通讯协议的数据包格式。 #### 2.2.2 数据帧通讯协议解析 数据帧通讯协议规定了数据在 CAN 总线上如何被封装和传输的具体细节。每个数据帧由以下几部分组成: - **起始分界符(Start of Frame, SOF)**:标识数据帧的开始。 - **标识符(Identifier, ID)**:包含前面提到的功能码和物理地址信息。 - **控制字段(Control Field)**:指示数据长度。 - **数据字段(Data Field)**:包含实际的数据内容。 - **CRC 字段(CRC)**:用于校验数据的完整性。 - **应答字段(ACK Slot)**:接收方用于确认数据包的接收状态。 - **结束分界符(End of Frame, EOF)**:标识数据帧的结束。 #### 2.3 烧录通讯时间计算 烧录时间的计算对于评估整个更新过程所需的时间至关重要。考虑到 CAN 总线的传输速率和数据包的大小等因素,可以估算出单个数据包的传输时间。进一步地,结合 Hex 文件中数据量的信息,就可以计算出完整烧录过程所需要的时间。 - **单个数据包传输时间** = 数据包大小 / CAN 总线传输速率 - **总烧录时间** ≈ (单个数据包传输时间 × 数据包数量) + 硬件延迟 #### 3. 烧录多机时异常问题处理 在实际应用中,可能会遇到各种异常情况,例如数据丢失、CRC 校验失败等。为了确保所有机器都能成功更新,必须有一套完整的异常处理机制。 - **常见异常问题**: - 数据包丢失或损坏。 - CRC 校验失败。 - 通讯超时。 - **异常处理策略**: - 实现自动重传机制,当检测到数据包丢失或损坏时自动重发。 - 对于 CRC 校验失败的情况,重新发送相应数据包直至校验通过。 - 设置合理的超时阈值,超过阈值则认为通讯失败,并尝试其他补救措施。 #### 4. 总结 ECAN-Bootloader 通讯协议为多机并联系统提供了一种高效可靠的编程解决方案。通过对 CAN 标识符、通讯协议的详细阐述,以及对异常问题处理的讨论,可以看出该协议在提高编程效率的同时也兼顾了系统的稳定性和安全性。对于诸如500KW-G4 这样的大型系统来说,采用 ECAN-Bootloader 通讯协议不仅能够显著减少程序更新所需的时间,还能够提升整体维护效率。
























- 粉丝: 406
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于单片机的车辆闯红灯检测系统设计教学材料.ppt
- IT项目管理质量培训教材.pptx
- 2021-2022年收藏的精品资料一个完全免费的财务软件.doc
- TG项目管理系列课程沟通管理.ppt
- 2023年新版DELL笔记本BIOS设置完全手册目前.doc
- 2023年政务大数据行业分析报告及未来五至十年行业发展报告.docx
- 电子商务对市场营销的影响及对策研究.doc
- 《网络营销》单元设计(R2)10(爆款打造).doc
- 基于Spring Boot的学籍管理系统
- 信息工程安全监理物联网技术研究(1).docx
- 浅议PLC控制系统设计及其干扰抑制.docx
- Excel中如何对数据进行分类汇总.doc
- HXD3D机车网络控制系统主变压器应急处理大连机车王乐民.pptx
- Redis介绍与内部实现机制.pptx
- 电子科技大学2021年9月《VB程序设计》作业考核试题及答案参考6.docx
- XXXXX公司通信管理办法(1).doc


