首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏码神随笔

    MCU常见通信总线串讲(五)—— CAN总线协议

    前言 首先明确一个概念,关于MCU中通信总线通信协议,通信总线是一种用于连接各种外设和模块的物理接口,它可以传输数据和控制信息。 通信协议则是指在通信总线上传输数据时所遵循的规则和约定,以确保不同设备之间能够正确地交换信息,我们也可以把他叫做通信总线协议。 CAN网络的消息是广播式的,即在同一时刻网络上所有节点侦测的数据是一致的,它是一种基于消息广播模式的串行通信总线。 can总线的优势: 包括高可靠性、实时性强、抗干扰能力强、通信效率高等优点。 不同的应用场景可能需要不同的物理层实现方式,以满足其特定的通信需求。 三、CAN总线协议层 CAN总线协议层是指在CAN总线上进行数据传输时所采用的通信规则和协议。 通信方式:CAN总线采用基于事件的通信方式,节点之间可以根据消息的优先级进行通信,而无需主从节点的概念。这种通信方式使得CAN总线能够实现实时性较强的数据交换。

    1.9K30编辑于 2023-11-15
  • 来自专栏码神随笔

    MCU常见通信总线串讲(四)—— SPI总线协议

    秋名山码民的主页 oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 欢迎关注点赞收藏⭐️留言 前言 首先明确一个概念,关于MCU中通信总线通信协议,通信总线是一种用于连接各种外设和模块的物理接口 通信协议则是指在通信总线上传输数据时所遵循的规则和约定,以确保不同设备之间能够正确地交换信息,我们也可以把他叫做通信总线协议。 系列文章,主要讲解以下几个总线协议,读者可以按需选择: UART和USART RS232、RS485总线 IIC总线 SPI总线 CAN总线 USB总线 一、SPI总线协议基本概念 SPI是一种高速全双工的通信总线 NSS信号线由高变低,是SPI通信的起始信号,NSS信号线由低变高是SPI通信的停止信号 数据有效性:观察图中的②③④⑤标号处,MOSI及MISO的数据在SCK的上升沿期间变化输出,在SCK的下降沿时被采样 它使用开漏输出来实现总线的双向数据通信。 SPI通信需要至少四根线,包括时钟线(SCLK)、数据输入线(MISO)、数据输出线(MOSI)和片选线(SS)。

    5.1K20编辑于 2023-11-09
  • 来自专栏AIoT技术交流、分享

    详解CAN总线:CAN总线通信优先级机制

    目录 1、数据帧和遥控帧的优先级 2、标准格式和扩展格式的优先级 ---- 在详解CAN总线:CAN总线报文格式—数据帧文章中,讲解到仲裁段。 本篇文章将讲解仲裁段的另一个重要功能:通信优先级。 在CAN总线空闲态,最先开始发送消息的单元获得发送权。 仲裁的过程如下图所示: ​ ​ 1、数据帧和遥控帧的优先级 具有相同 ID 的数据帧和遥控帧在总线上竞争时,数据帧优先级高,因为数据帧仲裁段的最后一位(RTR)为显性位具有优先权,可继续发送。 数据帧和遥控帧的仲裁过程如下图所示: ​ 2、标准格式和扩展格式的优先级 标准格式 ID 与具有相同 ID 的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的 RTR 位为显性位优先级更高,优先发送

    3.6K60编辑于 2022-11-02
  • 来自专栏全栈程序员必看

    CAN通信(一)——认识CAN总线

    CAN通信(一)——认识CAN总线 CAN总线 背景 CAN总线是什么 网络拓扑 节点、报文、信号 CAN总线 背景 作为并非通信专业的汽车工程师,汽车CAN通信是必须掌握的,但是,记得刚开始上来一看什么定义 (什么串行数据通信协议,什么物理层和数据链路层功能,什么帧处理,位填充。。。 控制器局域网络总线 绝大多数汽车制造厂商采用CAN总线来实现汽车内部控制系统之间的数据通信,CAN总线也叫CAN BUS BUS? 恩,这不是公交的意思么,没错,公共汽车是可以运输大量的乘客的,CAN通信也就可以传输大量的信号。下边这个图片很形象 简单的说,CAN总线就是用于传输数据的通信协议。 当然这里边是乘客选择了这个站牌,实际的CAN通信是节点选择接收了这信息。 下一节介绍下CAN通信的信号矩阵。

    4.9K41编辑于 2022-07-26
  • 来自专栏码神随笔

    MCU常见通信总线串讲(三)—— I2C总线协议

    秋名山码民的主页 oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 欢迎关注点赞收藏⭐️留言 前言 首先明确一个概念,关于MCU中通信总线通信协议,通信总线是一种用于连接各种外设和模块的物理接口 通信协议则是指在通信总线上传输数据时所遵循的规则和约定,以确保不同设备之间能够正确地交换信息,我们也可以把他叫做通信总线协议。 系列文章,主要讲解以下几个总线协议,读者可以按需选择: UART和USART RS232、RS485总线 IIC总线 SPI总线 CAN总线 USB总线 一、I2C总线的概念 其实站在我个人开发的角度来说 二、 I2C的协议层 I2C协议层规定了在I2C通信中需要遵循的一些基本规则和标准,其中包括以下内容: 物理层规定: 定义了I2C总线的物理结构、传输介质(通常是双绞线)、电气特性(如电压电平、 I2C总线上的每个设备都有自己的独立地址,主机发起通信时,通过SDA信号线发送设备地址(SLAVE_ADDRESS)来查找从机。

    2.4K31编辑于 2023-11-09
  • 来自专栏嵌入式开发圈

    浅谈总线通信机制(通信基础+串口+I2C)

    (1)按系统总线传输信息的方式可以分为以下三种: 1、数据总线 2、地址总线 3、控制总线 (2)按照总线的使用范围又可以分为很多很多种: 比如串口通信,计算机外设通信,网络通信等等。 那什么是总线呢?总线就是连接多个部件的信息传输线,是各个器件共享的传输介质。 其实不管是什么通信,本质上其实只有串行和并行。 ? 当有很多个器件和连接到总线上时候,如果出现两个或者两个以上器件同时对总线发送信息的时候,这就势必会导致竞争关系,也就是到底谁先谁后的问题,这样会导致通信过程中信号与信号之间产生冲突,就比如说,追求一个女孩 总线实际上是由许多传输线或者通路组成的,每条线可以一位一位的传输,这些位可以在规定的时间里传输完成,也可以在一定的时间内,多位同时传输;这就是串行通信和并行通信。什么是串行? I2C总线就是通过SDA总线(数据)、SCL总线(时钟)来传输数据的,那为什么I2C总线上还要接两个上拉电阻呢?

    3.3K12发布于 2019-07-04
  • 来自专栏PLC

    ABB IC660BBA104 现场总线通信的标准,“通信架构”

    ABB IC660BBA104 现场总线通信的标准,“通信架构”图片自动化元件当然必须足够坚固,制造厂才能年复一年地制造产品,而不改变它们的初始规格。 然而,在收集这些数据之前,必须部署开放的通信标准,以确保各种设备的互操作性,并尽可能有效地利用它们的潜力。那么现有的使用PROFIBUS进行自动化的工厂呢? 对于现有设施,自动使用过程现场总线(process field bus的缩写)例如,现场总线通信的标准,“通信架构”尽管有其名称,但无法满足物联网应用的基本要求。

    29320编辑于 2023-04-28
  • 来自专栏前端说吧

    vue - 组件间通信 之 中央事件总线bus

    中央事件总线 - 就是一个名字可以叫做bus的vue空实例,里边没有任何内容; var bus = new Vue(); 人如其名,她就像一个公交车一样,来回输送人,将a站点的A输送到b站点,再将b站点的 B输送到a站点; 这里a,b站点就像父、子组件,也像兄、弟组件,或者像两个没有任何亲戚关系的任何组件; 而A,B就像是各个组件内部要传输的数据或者要执行的命令信息,靠bus来通信。 如果有父子组件通信知识基础的,应该记得当初父子组件通信,父组件中用$on监听,子组件中用$emit发射。

    71260发布于 2018-06-25
  • 来自专栏AIoT技术交流、分享

    多设备CAN总线通信异常的故障排查

    根据这位朋友提供的背景和故障现象,初步判断可能存在以下几类问题:CAN总线硬件问题、CAN总线通信参数配置问题、CAN转TTL芯片的问题、CAN总线流控或负载问题。 使用CAN调试工具监控总线状态,特别是错误帧和异常帧。 检查CAN总线终端电阻、接线是否正确。 调整发送间隔和波特率,避免总线拥堵。 如果STM32和CAN转TTL芯片的波特率设置不一致,将导致通信失败。 3\️ CAN转TTL芯片问题 除了波特率和ID冲突,CAN转TTL转换芯片的缓存深度和处理速度也是影响通信稳定性的因素。 4\⚙️ CAN总线负载与流控问题 CAN总线的负载过高也可能导致通信异常。 当多个设备频繁发送数据时,总线利用率过高可能引发拥堵或冲突。

    1.4K10编辑于 2025-03-24
  • 来自专栏码神随笔

    MCU常见通信总线串讲(一)—— UART和USART

    秋名山码民的主页 oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪 欢迎关注点赞收藏⭐️留言 前言 首先明确一个概念,关于MCU中通信总线通信协议,通信总线是一种用于连接各种外设和模块的物理接口 通信协议则是指在通信总线上传输数据时所遵循的规则和约定,以确保不同设备之间能够正确地交换信息,我们也可以把他叫做通信总线协议。 系列文章,主要讲解以下几个总线协议,读者可以按需选择: UART和USART RS232、RS485总线 IIC总线 SPI总线 CAN总线 USB总线 一、简介 UART:Universal Asynchronous UART通常用于连接微控制器、传感器、外围设备等,并且在计算机系统中也广泛应用于串口通信。 USART是一种更为复杂的串行通信协议,它同时支持同步和异步的数据传输方式。 与UART不同的是,USART可以选择同步或者异步模式进行通信,并且提供了更多的控制选项,比如硬件流控制、双向通信等。USART通常用于对数据传输速度要求较高、需要双向通信或者需要更灵活控制的场景。

    6.9K52编辑于 2023-11-08
  • 来自专栏前端说吧

    vue - 组件间通信 之 中央事件总线bus

    中央事件总线 - 就是一个名字可以叫做bus的vue空实例,里边没有任何内容; var bus = new Vue(); 人如其名,她就像一个公交车一样,来回输送人,将a站点的A输送到b站点,再将b站点的 B输送到a站点; 这里a,b站点就像父、子组件,也像兄、弟组件,或者像两个没有任何亲戚关系的任何组件; 而A,B就像是各个组件内部要传输的数据或者要执行的命令信息,靠bus来通信。 如果有父子组件通信知识基础的,应该记得当初父子组件通信,父组件中用$on监听,子组件中用$emit发射。

    2.2K50发布于 2018-05-17
  • 来自专栏AIoT技术交流、分享

    一文搞懂I2C总线通信

    ---- 本来不打算写这篇文章,因为网上关于I2C总线通信的资料很多很全。 作为嵌入式开发者,使用I2C总线通信的场景有很多,例如驱动FRAM、E2PROM、传感器等。 总线空闲状态下总线上设备都可以通过发送开始条件启动通信。 当 SCL 线为高时,SDA 线上出现由高到低的信号,表明总线上产生了起始信号。 主机采用这种方法与另一个从机或相同的从机以不同传输方向进行通信(例如:从写入设备到从设备读出)而不释放总线。 主机可以做下列任一动作: 发送停止条件释放总线 ; 发送重新开始条件开始一个新的通信。 以华大MCU(HC3F4A0系列)为例,在主机接收模式中,主机输出 SCL 时钟,接收从机数据并返回应答。

    3.8K32编辑于 2022-04-13
  • 来自专栏嵌入式开发圈

    浅谈总线通信机制----USB学习指南与总结

    (3)缺省态 USB在被配置之前,通过地址0与主机进行通信。例如: ? (4)地址态 经过了配置,USB设备复位后,就可以按主机分配给它的唯一地址来与主机通信,这种状态就是地址态;例如: ? (6)挂起态 总线供电设备在3ms内没有总线动作,即USB总线处于空闲状态的话,该设备就要自动进入挂起状态,在进入挂起状态后,总的电流功耗不超过280UA。 枚举将是整个USB学习的重中之重,枚举就是主机从设备读取各种描述符信息,这样主机就可以根据这些信息加载合适的的驱动程序,从而知道是什么类型的设备,如何进行通信等等。

    1.5K20发布于 2019-07-04
  • 来自专栏AIoT技术交流、分享

    一文搞懂I2S通信总线

    目录 1、物理特性 2、常见的I2S数据格式 2.1、I2S Philips标准 2.2、左对齐(MSB)标准 2.3、右对齐(LSB)标准 ---- 之前我们讲过I2C通信总线,本篇博文将讲一讲I2C 的变种:I2S总线。 I2S(Inter-IC Sound)总线,又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。 I2S总线特点如下: 支持全双工和半双工模式; 支持主、从模式。 ---- 拓展学习: 1、一文搞懂SPI通信协议 2、一文搞懂I2C总线通信 3、一文搞懂UART通信协议 4、 一文看懂Modbus协议 5、 一文搞懂PID控制算法 6、一文搞懂TCP的三次握手和四次挥手

    9.1K40编辑于 2022-12-09
  • 来自专栏码农爱学习的专栏

    总线通信 | 一个IO控制多个LED原理

    单线通信,能够最大限度的减少单片机IO口的压力,另外这款RGB灯使用了WS2812B驱动芯片,让外围电路只需要一颗电容就能够满足电路需求,从而最大可能的让电路变得简单优美。

    3.2K30发布于 2021-10-19
  • 来自专栏Dotnet9

    CodeWF.EventBus:轻量级事件总线,让通信更流畅

    CodeWF.EventBusEventBus(事件总线),用于解耦模块之间的通讯。 怎么使用事件总线? public override string ToString() { return $"删除产品消息-》产品Id:{Id}"; }}定义好消息,这里我们有两种方式使用事件总线 非IOC方式使用适合于未使用IOC方式使用事件总线,比如在WPF、Winform、AvaloniaUI、控制台等程序中直接使用事件帮助类的静态实例,下面是使用步骤。 总结CodeWF.EventBus,一款灵活的事件总线库,实现模块间解耦通信。支持多种.NET项目类型,如WPF、WinForms、ASP.NET Core等。采用简洁设计,轻松实现事件的发布与订阅。

    62610编辑于 2024-06-10
  • 来自专栏IOT物联网小镇

    我最喜欢的进程之间通信方式-消息总线

    没错,Socket 通信本身的确需要手动来处理这些底层的东西,但是我们可以给 Socket 穿上一层“外衣”:利用 MQTT 消息总线,在系统的各进程之间进行数据交互,下面我们就一一道来。 三、MQTT 消息总线 1. MQTT 是一个通信的机制 对物联网领域熟悉的小伙伴,对于 MQTT 消息总线一定非常熟悉,目前几大物联网云平台(亚马孙、阿里云、华为云)都提供了 MQTT 协议的接入方式。 在 MQTT 之上,设计自己的通信协议 从上面的描述中可以看出,MQTT 消息总线就是一个通信机制,为通信主体提供了一个传递数据的通道而已。 六、总结 这篇文章主要介绍了嵌入式系统中的一个设计模式:通过消息总线来实现进程之间的通信,并介绍了 Mosquitto 这个开源实现。

    2.2K40发布于 2021-05-13
  • 《分布式软总线赋能老旧设备高效通信

    而且,这些老旧通信模块在信号强度和抗干扰能力方面也表现欠佳,在复杂的网络环境中,很容易受到其他设备的干扰,导致通信质量下降,无法稳定地接入分布式软总线网络。 一方面,旧版本的操作系统可能无法适配分布式软总线的最新协议和接口,导致无法正常连接或通信功能受限。 另一方面,设备上的应用程序也可能因为版本过旧,无法利用分布式软总线提供的新功能,限制了设备间协同工作的能力。分布式软总线可采用极简通信协议,对传统协议进行深度精简。 中间适配层能够将分布式软总线的新协议和接口,转换为老旧设备能够理解和支持的形式。它还能对老旧设备的通信指令进行预处理,优化指令执行流程,提高通信效率。 随着硬件技术的进步,研发出适配老旧设备的低成本、高性能通信模块,从硬件层面改善老旧设备的通信能力,让分布式软总线在推动设备互联互通的道路上,消除更多障碍,实现更大的价值。

    21900编辑于 2025-04-16
  • 来自专栏全栈程序员必看

    i2c总线通信协议(i2c通信协议原理)

    简介 I2C(Inter-integrated Circuit)总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口,它只需要两根信号线来完成信息交换。 和SPI不同的是,I2C可以支持mul-master系统,允许有多个master并且每个master都可以与所有的slaves通信(master之间不可通过I2C通信,并且每个master只能轮流使用I2C 总线)。 在整个通信期间,可以存在多个start来开启每一次新的通信序列(communication sequence),而无需先放弃总线的控制权,后面会讲到这种机制。 干扰,这时可以使用“重复开始条件” —— 在一次通信中,master可以产生多次start condition,来完成多次消息交换,最后再产生一个stop condition结束整个通信过程。

    2.6K10编辑于 2022-07-29
  • 来自专栏知识分享

    2-ESP8266转CAN总线和RS232通讯模块-CAN总线通信测试Arduino

    说明 这里测试其中一块板子和另一块板子进行CAN总线通信(用户可以接其它CAN总线设备) 测试 1.解压.rar文件 2.把下面三个文件放到安装的ESP8266的库文件夹里面 3.打开arduino

    1.1K40编辑于 2022-09-09
领券