二总线,替代传统485总线通讯,主动上报方案简易实现方法

2024-05-09 15:36

本文主要是介绍二总线,替代传统485总线通讯,主动上报方案简易实现方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 二总线通信设计专栏

  • 《二总线,替代传统485总线通讯,选型及应用-CSDN博客》
  • 《二总线,替代传统485总线通讯,低成本直流载波方案实现及原理-CSDN博客》
  • 《二总线,替代传统485总线通讯,调试避坑指南之最大的电流环路坑-CSDN博客》
  • 《二总线,替代传统485总线通讯,从站设计关注一个地方十倍提升-CSDN博客》
  • 《二总线,替代传统485总线通讯,主动上报方案简易实现方法-CSDN博客》
  • 《二总线,替代传统485总线通讯,地址自动分配或主动上报方案-CSDN博客》
  • 《二总线,替代传统485总线通信,商用高效从机掉线检测方案-CSDN博客》
  • 《二总线,替代传统485总线通信,线材选型及避坑-CSDN博客》
  • 《二总线,替代传统485总线通讯,主站设计-CSDN博客》
  • 《二总线,替代传统485总线通讯,直流载波主机设计方案-CSDN博客》
  • 《二总线,替代传统485总线通讯,低成本直流载波PCB设计要点总结-CSDN博客》
  • 《二总线,替代传统485总线通讯,在线地址分配商用方案解析-CSDN博客》
  • 《二总线,替代传统485总线通讯,高速直流载波通信应用-CSDN博客》

一、概述

    二总线通讯和传统485通讯类似,不能像CAN一样,在物理层面实现总线冲突检测,但在实际产品需求中,确实存在少量的偶发性上报,但又有即时性要求的需求,这种少量、偶发性主动上报功能利用软件也同样可以实现。

二、本文类容

    本文主要利用XM2BUS的从站芯片XM332芯片的CSMA端口引脚,配合软件逻辑来实现主动上报的原理讲解,本文所涉及的主动上报主要针对少量、偶发性的主动上报,比如电子围栏、货架、生产线传感器异常报警、车库系统车位传感器检测等。

三、XM332功能介绍

    在博文《二总线,选型及应用-CSDN博客》中以及介绍了XM620+XM332的基本原理,有需要可以先去了解,XM620为主站,XM332为从站,其通讯方式为半双工主从模式,即主站下发数据所有从站均可收到,从站上传数据,只有主站能够收到。

    XM332引脚说明如下所示,其中第4脚为CSMA载波监听引脚,主要监控总线当前数据(包括主站下发和其它从站上传),有数据(低电平),空闲(高电平);但是要注意的是由于二总线通讯波特率是2400bps/9600bps,本身单字节数据就超过1ms以上,所以仍然会产生数据冲突,需要理解这点,才能设计比较靠谱的冲突检测逻辑。

引脚

名称

输入

输出

说明

1

VCC

电压输入:(2.7~5.0)V

2

TX

芯片串口发送端

3

RX

芯片串口接收端,建议串联100Ω电阻

4

CSMA

载波监听,有数据(低电平);空闲(高电平)

5

PO

总线信号输出,外接三极管控制100欧电阻接入总线

6

NC2

预留,请悬空或者与7脚短接

7

PI

总线信号输入,需要外接分压电阻

8

GND

电源地

四、主动上报实现方法

    主从通讯中,由于主动上报的内容只是偶发性的,即时性要求高,更多的是对即时性要求不高的巡检操作,首先要区分轮询命令上报和主动上报;在主机轮询命令下,XM332的CSMA引脚有2~3byte的延迟释放时间,从机应改在这个时段内尽快回复,以抢占总线,这样就能避免主动上报和轮询上报的冲突,如果从机无法及时上报,那也可以先回复已经收到指令的上报内容,下次再轮询查询结果。

    主机轮询上报区分后,那么在主动上报中最大的坑就是切忌不要等CSMA一空闲马上上报,因为前面提到CSMA是有单字节延迟的,如果系统中若有2台设备同时需要上报,那么就必然会在这1ms内产生冲突;而是要等CSMA引脚释放后,随机等待N Byte,若还空闲则进行上报。

    如果做到随机数产生,一般简单的方案是采用的就是TIM定时器,不分频的计数值,在产生串口中断/人工触发中断来产生,也可以利用某个AD口采样的bit0,多次采样组合成8 bit形成一个随机值。

    疑问:若还是运气不好,产生了冲突怎么办?主动上报数据增加CRC校验即可;首先主机收到从机的主动上报数据,并进行CRC校验正确,则告知从机数据已经收到,避免从机多次重复上报,若从机未收到主机成功收到,那可以到下一轮再主动上报,并主动延长N Byte延时值减小冲突概率,这些细节问题可以根据产品实际情况而调整,也可以和我一起相互讨论。

五、总结

   本文主要针对XM2BUS二总线对偶发性的主动上报提供解决方案思路,而对于更复杂的多从机,大量并发性主动上报,如自动地址分配,采用的策略则完全不同,当然还有即时性的设备掉线检测等方案,后续也会发布出来,希望一起相互讨论学习,也希望大家多多关注和收藏,谢谢啦。

这篇关于二总线,替代传统485总线通讯,主动上报方案简易实现方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973779

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影