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

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

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

相关文章

【大数据】分布式数据库HBase下载安装教程

目录 1.下载安装 2.配置 2.1.启动hadoop 2.2.单机模式 2.3.伪分布式集群 1.下载安装 HBase和Hadoop之间有版本对应关系,之前用的hadoop是3.1.3,选择的HBase的版本是2.2.X。 下载地址: Index of /dist/hbase 配置环境变量&#xff1a…

CentOS 7 :虚拟机网络环境配置+ 安装gcc(新手进)

虚拟机安装完centos的系统却发现无法正常联网,咋破! 几个简单的步骤: 一、检查和设置虚拟机网络适配器 这里笔者使用的桥接模式,朋友们可以有不同的选项设置 二、查看宿主机的网络 以笔者的为例,宿主机采用wlan上网模…

一个圈圈的机制玩法

什么是一个圈圈,说白了就是一个撸广告的平台,只是引入了减产机制,九维机制和分成机制,再加上有央企背景,做的一个区块链平台。 玩法很简单,就是撸广告获取能量,然后获取绿色能量,等…

【matlab基础知识代码】(十三)矩阵的相似变换与三角分解矩阵的Jordan 变换与奇异值分解

Cholesky分解 - 知乎 (zhihu.com)(之前学习牛顿法有涉及到Cholesky的相关证明) Cholesky分解是一种将一个对称正定矩阵分解为一个下三角矩阵和其转置的乘积的方法。简单来讲,就是将一个矩阵分解为一个下三角矩阵和其转置矩阵相乘的结果。 C…

招聘招商求职系统asp.net+sqlserver

招聘招商求职系统asp.netsqlserver 首 页 招聘信息 公寓信息 物品求购 发布信息 管理员后台登陆 账号密码TSoft 111 审核 招聘信息 求职信息 培训信息 说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于asp.net架构和sql s…

【密评】 | 商用密码应用安全性评估从业人员考核题库(6/58)

根据Kerckhoffs原则,密码系统的安全性主要依赖于()。 A. 密钥 B. 加密算法 C. 解密算法 D. 通信双方 2000年10月,美国NIST宣布()算法作为新的高级加密标准AES。 A. Rijndael B. RC6 C. SERPENT D. Twofish…

HackMyVM-VivifyTech

目录 信息收集 arp nmap nikto whatweb WEB web信息收集 wpscan feroxbuster hydra 提权 系统信息收集 横向渗透 git提权 get root 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 08:00:27:9d:6d:7b, …

HTTP 请求走私漏洞

漏洞介绍 http请求走私漏洞,一句话概括就是像走私饭一样,在一个http请求包中携带着另一个请求包或者是多个。在前端看来这是一个请求包很正常的请求包,但是如果来到了后端处理,就会被解析成多个请求包。最终就会导致没有授权而访问…

学习Uni-app开发小程序Day3

经过五一长假,回过头在去看学习的东西,发现仍然是一筹莫展的,看来,学习是不能松懈的,得,自己在把以前的从头复习一遍,加深印象。今天在继续听课,但是出现一个问题,是黑码…

力扣-21. 合并两个有序链表-js实现

/*** Definition for singly-linked list.* function ListNode(val, next) {* this.val (valundefined ? 0 : val)* this.next (nextundefined ? null : next)* }*/ /*** param {ListNode} list1* param {ListNode} list2* return {ListNode}*/ const mergeTwoList…

关于zabbix简介及zabbix服务端的部署

文章目录 一、zabbix概念1、zabbix简介2、zabbix主要特点3、zabbix运行机制4、zabbix应用场景5、zabbix监控原理6、zabbix的子程序7、zabbix监控的架构模式7.1 server-client架构7.2 server-proxy-client架构7.3 master-node-client 二、部署zabbix1、服务器配置2、服务器环境3…

CSS伪类选择器

目录 前言: 链接伪类: 用户行为伪类: 元素状态伪类: 结构化伪类: 否定伪类: 目标伪类: 输入伪类: 前言: 在CSS中有一种特殊的选择器:伪类选择器&…

深入分析网络智能摄像头的RTSP协议安全风险

本文为转载,原作者:山石网科安全技术研究院 网络摄像头作为现代安防体系的关键组成部分,已经广泛应用于各类场所,包括交通枢纽、教育机构、企业办公区、零售商场等公共和私人领域。它们主要负责提供实时视频监控,以加…

自己的服务器部署了Excalidraw,你确定不试试?

Excalidraw是一款开源的虚拟手绘风格白板工具,专为快速创作草图、流程图、示意图等设计。它的特色在于提供了一种类似手绘的视觉效果,使得制作的图表看起来更加自然和非正式,适合创意讨论、头脑风暴以及远程协作场景。Excalidraw强调易用性和…

93、动态规划-最长回文子串

思路 首先从暴力递归开始,回文首尾指针相向运动肯定想等。就是回文,代码如下: public String longestPalindrome(String s) {if (s null || s.length() 0) {return "";}return longestPalindromeHelper(s, 0, s.length() - 1);…

量化教程3---miniqmt当作第三方库设置,提供源代码

qmt提供了大qmt和miniqmt,大qmt在平台使用,miniqmt提供了交易的api和数据可以本地使用,非常的方便,合适自己开发大型的策略,本地还可以访问其他数据,网络等,也支持服务器 以前的教程 qmt教程1…

内网安全【2】——域防火墙/入站出站规则/不出网隧道上线/组策略对象同步

-隧道技术:解决不出网协议上线的问题(利用出网协议进行封装出网)(网络里面有网络防护,防火墙设置让你不能正常访问网络 但有些又能正常访问,利用不同的协议tcp udp 以及连接的方向:正向、反向) -代理技术&…

uni-app 多列picker切换列显示对应内容

html部分&#xff1a; <view class"uni-list"><view class"uni-list-cell"><view class"uni-list-cell-left">选择用户</view><view class"uni-list-cell-db"><picker mode"multiSelector"…

【密评】 | 商用密码应用安全性评估从业人员考核题库(5/58)

我国金融信息系统、第二代居民身份证管理系统、国家电力信息系统、社会保障信息系统、全国中小学学籍管理系统中&#xff0c;都应用&#xff08;&#xff09;技术构建了密码保障体系。 A. 核心密码 B. 普通密码 C. 商用密码 D. 核心密码和普通密码 商用密码从业单位开展商用密…

【VUE】el-descriptions 描述列表

Descriptions 描述列表 列表形式展示多个字段。 <el-descriptions title"用户信息"><el-descriptions-item label"用户名">kooriookami</el-descriptions-item><el-descriptions-item label"手机号">18100000000</e…