IND83081芯片介绍(二)

七、典型应用

        上面显示了独立的CAN收发器,而下面则显示了多个iND83081可以共享同一个CAN收发器的应用场景。通过这些连接,iND83081可以实现对多个LED的驱动和控制,同时与外部MCU进行通信 。

八、ELINS接口

1.ELINS简介

        ELINS是一种从接口,其数据格式基于UART,即通用异步接收器和发送器。该接口以半双工模式工作,支持的最大波特率为1Mbps。TX和RX引脚成对内部连接,任何一个引脚都可以用于连接iND83081设备到通信网络。这种方法便于复杂的PCB布局和线路路由。接口提供可编程去抖滤波器,用于滤除RX数据的毛刺。RX从0到1和从1到0的去抖动阈值可以分别配置。MCU充当通信主控,可以通过ELINS私有协议写入和读取寄存器,访问iND83081的地址空间。

        如果iND83081设备和主控位于不同的板子上,建议在板子之间使用CAN物理层。这有助于防止电缆短路到电池或地线,并提升电磁兼容性表现。否则,TX和RX引脚应直接连接,同时需要外部上拉电阻。

        ELINS支持带同步字段的时钟频率校准。所有iND83081设备在每个ELINS通信帧中进行同步,以确保良好的同步和稳健的通信。校准后,系统时钟精度将低于0.25%。

        ELINS的初始波特率为550kbps,发送初始化命令后会切换到1Mbps。波特率设置在使用REQ_ELINS_RSTN寄存器进行ELINS复位后不会重置。

2.ELINS的特点

  • 半双工通信(与UART兼容)

  • 单主控(MCU)/多从设备(iND83081)架构

  • CAN物理层支持

  • MCU与iND83081之间的CAN PHY具有抗电磁干扰能力

  • iND83081设备之间采用5V I/O

  • 波特率选择:1M/500k/250k/125k/62.5k/31.25k bps

  • 交易帧类型:广播写入、单设备写入、单设备读取

  • 数据完整性通过CRC16完全保护

  • CMD字段采用2位奇偶校验位

  • 支持带同步字段的时钟频率校准

  • 校准后的时钟精度(参考MCU):±0.25%

3.ELINS字节格式

        在ELINS中,除了中断字段外,每个字节字段都按照图中所示的字节字段传输。它以一种起始位、八个数据位、一种停止位和无校验(8N1)方式操作。数据的最低有效位(LSB)首先发送,最高有效位(MSB)最后发送。起始位编码为值为零的位(显性),停止位编码为值为一的位(隐性)。下图展示了数据字节8'hA5的波形。

         ELINS波特率基于系统时钟,可以通过寄存器ELINS.PRESCL配置为所需的波特率(1Mbps/500kbps/250kbps/125kbps/62.5kbps/31.25kbps)。主控设备可以通过广播写入命令更改该寄存器以调整波特率。单次写入命令无法访问此寄存器。

4.ELINS通信协议

        ELINS接口作为从设备,由MCU控制是否发起通信事务。共有三种命令帧类型:广播写入、单设备写入和单设备读取。广播写入通信没有响应帧。单设备写入通信在ELINS.ACKENA设置为1时会有响应帧。

(1)广播写入

主命令:中断字段 + 同步字段 + CMD 字段 + DEVID 字段 + REG ADDR + N 数据字节 + CRC16(2Bytes)。命令帧广播通信网络上的所有设备,没有响应帧。

(2)单设备写入

        主控命令:中断字段 + 同步字段 + 命令字段 + 设备ID字段 + 寄存器地址 + N个数据字节 + CRC16(2字节)。

        从设备响应:确认(可选)。 当ACKENA设置为高电平并且成功完成单设备写入(没有CRC校验和奇偶校验错误)时,被寻址的设备会向MCU发送确认信号。"ACK"是一个单字节,其值等于{3'b011, DEVID[4:0]}。寄存器ELINS.ACKENA只能通过广播写入来设置。

 (3)单设备读取

主控命令:中断字段 + 同步字段 + 命令字段 + 设备ID字段 + 寄存器地址 + CRC16(2字节)。

从设备响应:N个数据字节 + CRC16(2字节)。

5.ELINS字段格式

ELINS帧包括以下字节字段:

➢ 中断字段

➢ 同步字段

➢ 命令字段

➢ 设备ID字段

➢ 起始寄存器地址字段(REGADDR)

➢ 循环冗余校验字段(CRC)

➢ N个数据字段(N=1、2、3、4、12、16、25或32)

➢ 确认字段(ACK)

(1)中断字段

中断字段用于表示新帧的开始。它始终由主设备生成,应该至少为9.5个标称位时间的显性值,后跟一个中断定界符。中断定界符应至少为一个标称位时间长。

(2)同步字段

        同步字段是一个字节字段,数据值为0x55。它用于校准系统时钟,并使所有设备在同步系统中保持同步。ELINS始终能够检测到中断/同步字段序列。

(3)命令字段

        命令字段由奇偶字段(bit7~bit6), 数据长度字段(bit5~bit3) 和命令代码字段(bit2~bit0)组成,详细描述如下表所示:

 (4) DEVID 和 REGADDR 字段

        DEVID位表示5位设备ID,这意味着在一个主控和多从设备通信网络中最多支持32个iND83081设备。广播写入不关心设备ID,可以访问所有设备的地址空间。

        REGADDR位是一个11位的起始寄存器地址,可以访问2048个地址空间。起始地址是一个基地址,从这里可以通过主控连续写入或读取最多32个连续的寄存器位置。当多字节通信地址超过地址0x7FF时,寄存器地址将循环回到地址0x000继续增加。

 (5)CRC字段

        CRC字段由CRCL(CRC低字节)和CRCH(CRC高字节)组成。除了中断字段和同步字段中的数据外,接收帧数据的CRC校验采用CRC-16-IBM算法进行计算。当读取或写入命令发生CRC错误时,会设置一个CHK标志。在读取响应期间,被寻址的设备还需要计算CRC数据,这样主控可以检查读取数据的完整性。         

(6)数据字段

        DATA_LENGTH字段位于CMD字段中,决定了要传输的数据字节数。

(7)ACK字段

        如果ACKENA位为“1”,则在成功完成单设备写入后,被寻址的设备需要发送一个ACK字节作为响应。ACK字节的高三位为"011",低五位为设备ID。因此,主控可以根据ACK字节确定哪个设备发出了确认。

6.ELINS 最小传输等待时间

        在单设备写入命令中,如果包含确认字节,或者在单设备读取中,应设置最小传输等待时间,单位为位周期。等待时间至少为0.5位长度,并且由以下两者中的较大者确定:

  1. (TWC_MIN + 0.5)位长度,其中TWC_MIN是传输等待时间的最小值。

  2. 准备读取数据的时间(写入确认数据字节或读取响应数据字节)。

        最小传输等待时间在以下情况下是必需的:

  1. 单设备写入命令与写入确认(ACKENA = 1)之间。

  2. 单设备读取命令与读取响应之间。

7.ELINS物理层

        如果iND83081设备和MCU位于同一块板上,TX和RX引脚应直接连接,同时需要一个上拉电阻和TX和RX引脚之间的连接拓扑结构。TX引脚应通过开漏缓冲器驱动,符合单主控多从设备的系统结构。设备上电时,TX和RX引脚的非活动状态为高电平。

        如果iND83081设备和MCU位于不同的板上,TX和RX引脚之间应使用CAN物理层。这有助于防止电缆短路到电池或地面,并提高抗干扰能力。ELINS接口需要提供半双工协议以兼容CAN收发器。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/35283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle 19C19.3 rac安装并RU升级到19.14

19C支持RU补丁安装。 下载好19.14的RU补丁 [rootrac1 soft]# ll total 9830404 -rw-r--r-- 1 grid oinstall 3059705302 Jun 18 15:26 LINUX.X64_193000_db_home.zip -rw-r--r-- 1 grid oinstall 2889184573 Jun 18 15:27 LINUX.X64_193000_grid_home.zip -rw-r--r-- 1 grid …

Antivirus Zap Pro :苹果 mac 电脑全面的系统安全解决方案

Antivirus Zap Pro 是一个全面的系统安全解决方案,它可以扫描和删除 Mac 中的恶意软件和其他恶意软件,还可以检测 Mac 上已经存在的威胁或可疑文件,并保护您的 Mac 免遭日后的威胁,满足用户不同的 Mac 电脑杀毒需求,有…

Firewalld防火墙基础

Firewalld 支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具 支持IPv4、IPv6防火墙设置以及以太网桥 支持服务或应用程序直接添加防火墙规则接口 拥有两种配置模式 运行时配置:临时生效,一旦重启或者重载即不生效 永久配置&#xff1a…

2024年【焊工(初级)】实操考试视频及焊工(初级)考试试题

题库来源:安全生产模拟考试一点通公众号小程序 焊工(初级)实操考试视频根据新焊工(初级)考试大纲要求,安全生产模拟考试一点通将焊工(初级)模拟考试试题进行汇编,组成一…

【人工智能学习之图像操作(二)】

【人工智能学习之图像操作(二)】 图像上的运算图像混合按位运算 图像的几何变换仿射变换透视变换膨胀操作腐蚀操作开操作闭操作梯度操作礼帽操作黑帽操作 图像上的运算 图像上的算术运算,加法,减法,图像混合等。 加减…

【FPGA项目】System Generator算法板级验证-快速搭建外围测试电路

🎉欢迎来到FPGA专栏~System Generator算法板级验证-快速搭建外围测试电路 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:FPGA学习之旅 文章作者技术和水平有限,如果文…

【微服务网关——中间件实现】

1.中间件的意义 避免成为if狂魔提高复用、隔离业务调用清晰、组合随意 2.实现原理 中间件一般都封装在路由上,路由是URL请求分发的管理器中间件选型 基于链表构建中间件 基于责任链的实现缺点:实现复杂,调用方式不灵活 使用数组构建中间件 控…

大模型笔记1: Longformer环境配置

论文: https://arxiv.org/abs/2004.05150 首先保证电脑上配置了git. git环境配置: https://blog.csdn.net/Andone_hsx/article/details/87937329 3.1、找到git安装路径中bin的位置,如:D:\Program Files\Git\bin 找到git安装路径中git-core的…

PostgreSQL 连接器:在 SeaTunnel 中的应用与优势

在现代企业中,数据已经成为核心资产,基于开源数据集成平台SeaTunnel,工程师如何高效地连接和管理这些数据源,直接关系到企业的竞争力和运营效率。 本文将给大家介绍如何通过 JDBC PostgreSQL 数据源连接器,在 SeaTunne…

第15周:RNN心脏病预测

目录 前言 二、前期准备 2.1 设置GPU 2.2 导入数据 2.2.1 数据介绍 2.2.2 导入代码 2.2.3 检查数据 三、数据预处理 3.1 划分训练集与测试集 3.2 标准化 四、构建RNN模型 4.1 基本概念 4.2 搭建代码 五、编译模型 六、训练模型 七、模型评估 总结 前言 &#…

直播怎么录制视频?直播视频,3种录制方法

“今晚我最喜欢的游戏博主要进行直播,但我可能还要加班。怎么办,不想错过直播的内容!电脑怎么才能进行直播录制视频啊?谁能教教我?” 在数字化的今天,直播已经成为人们获取信息和娱乐的重要途径。有时&…

执行yum命令报错Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error

执行yum命令报错 [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error 修改图中所示两个文件: vim epel.repo vim CentOS-Base.repo 将所有的http://mirrors.cloud.aliyuncs.com 修改为http://mirrors.aliyun.com。 修改…

趣测系统搭建APP源码开发,娱乐丰富生活的选择!

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 趣测系统提供了一个集合多种有趣测试的平台,如心理测试和星座测试等,这些测试内容富有趣味性和娱乐性,能够帮助大众在忙碌的生活中找到放松和娱乐的时刻…

yolov5驾驶员不规范行为检测

1 项目介绍 1.1 摘要 随着汽车工业的迅速发展和交通拥堵的加剧,驾驶员在行车过程中的不规范行为成为了导致交通事故频发的重要因素之一。为了减少交通事故的发生,保障道路安全,提高驾驶员的行车安全意识,本研究致力于实现驾驶员…

5. PyTorch+NCCL源码编译

系列文章 第1章 多机多卡运行nccl-tests 和channel获取第2章 多机多卡nccl-tests 对比分析第3章 使用tcpdump抓取rdma数据包第5章 PyTorchNCCL源码编译 目录 系列文章前言一、本地环境二、安装cudnn三、使用pytorch自带NCCL库进行编译安装1. 源码编译2. 查看版本和all_reduce测…

【机器学习】机器学习重要方法——迁移学习:理论、方法与实践

文章目录 迁移学习:理论、方法与实践引言第一章 迁移学习的基本概念1.1 什么是迁移学习1.2 迁移学习的类型1.3 迁移学习的优势 第二章 迁移学习的核心方法2.1 特征重用(Feature Reuse)2.2 微调(Fine-Tuning)2.3 领域适…

【启明智显分享】典型的HMI应用实现方案:帮你更好地主控选型!

HMI是操作者与机器/系统间资讯传递和交换的主要桥梁。HMI系统通常能提供丰富的资讯,例如温度、压力、制造流程步骤以及材料的计量数据。还能显示设备中物料的确切位置或储存槽内的液位数据等讯息。无论是在工业自动化还是医疗、商业等重要行业领域,HMI都…

【前端项目笔记】6 参数管理

参数管理 效果展示: 在开发功能之前先创建分支goods_params cls 清空终端 git branch 查看所有分支 git checkout -b goods_params 新建分支goods_params git push -u origin goods_params 把本地的新分支推送到云端origin并命名为goods_params 参数管理需要维…

一个易于使用、与Android系统良好整合的多合一游戏模拟器

大家好,今天给大家分享的是一个易于使用、与Android系统良好整合的多合一游戏模拟器 Lemuroid。 Lemuroid 是一个专为Android平台设计的开源游戏模拟器项目,它基于强大的Libretro框架,旨在提供广泛的兼容性和卓越的用户体验。 项目介绍 Lem…

如何安装多版本CUDA?

首先聊一个题外话:前几天在csdn上看到的一个话题”安装pytorch一定要去nvidia官网下载安装cuda和cudnn吗?“ 我相信任何一个刚开始接触或者从事深度学习的炼丹者都会从安装cuda开始,现在网上随便一搜如何安装pytorch,蹦出来教程提…