技术论坛

自由口接收字符断开检测(break)如何使用?

作者 主题
至圣

经验值: 12743
发帖数: 1586
精华帖: 1
主题:【探讨】自由口接收字符断开检测(break)如何使用?


只看楼主 楼主 2021-04-11 14:07:04

自由口通信中,有个断开检测作为接收字符开始的条件。需要保证通信线路低电平时间超过1个字符的传输时间。我想知道,如何才能保证通信线路低电平的时间能超过1个字符的时间,或者说这个断开检测如何应用呢?


努力学习西门子
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1690717&b_id=64&s_id=0&num=7

版主

经验值: 25998
发帖数: 11809
精华帖: 43
回复:自由口接收字符断开检测(break)如何使用?


只看楼主 1楼 2021-04-11 14:25:49

break是由发送方产生的,接收方负责检测。

接收方保证不了一定会出现break。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12743
发帖数: 1586
精华帖: 1
回复:自由口接收字符断开检测(break)如何使用?


只看楼主 楼主 2楼 2021-04-11 15:09:05
以下是引用yanxiao在2021-04-11 14:25:49的发言 >1楼

break是由发送方产生的,接收方负责检测。

接收方保证不了一定会出现break。

首先,再次感谢版主的帮助。

我就是想知道,发送方如何能产生这个超过一个字符时间的低电平。

在视频中,西门子的专家黄老师专门强调了如果发送一个全为0的字符,由于最后的停止位是高电平,所以是无法满足BK条件的,可是她也没有说咋才能发送这个间断条件。


努力学习西门子
以下网友喜欢您的帖子:

  
版主

经验值: 25998
发帖数: 11809
精华帖: 43
回复:自由口接收字符断开检测(break)如何使用?


只看楼主 3楼 2021-04-11 16:07:07

break与全0字符之间的区别,就在于没有stop位。

在一般的通讯定义中,没有stop位属于通讯错误(帧错误);

但是,有的系统中,定义全0电平超过一个字符长度的状态为break。

在软、硬件底层,产生break的方法很简单,就是连续发送低电平0的长度超1个字符长就行。

但是,如果高级编程不支持,比如PLC的编程,你要产生break,就没办法了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12743
发帖数: 1586
精华帖: 1
回复:自由口接收字符断开检测(break)如何使用?


只看楼主 楼主 4楼 2021-04-11 16:20:29
以下是引用yanxiao在2021-04-11 16:07:07的发言 >3楼

break与全0字符之间的区别,就在于没有stop位。

在一般的通讯定义中,没有stop位属于通讯错误(帧错误);

但是,有的系统中,定义全0电平超过一个字符长度的状态为break。

在软、硬件底层,产生break的方法很简单,就是连续发送低电平0的长度超1个字符长就行。

但是,如果高级编程不支持,比如PLC的编程,你要产生break,就没办法了。

谢谢版主答疑,怪不得看了几个自由口的视频了,都没有用BK作为终止接收。


努力学习西门子
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:自由口接收字符断开检测(break)如何使用?


只看楼主 5楼 2021-04-12 09:00:36

世界上的路并没有指定是去哪里的。前人留下的路只是给我们出行一个选择,你不可以反过来为了走一走这条路再确定你的目的地。

所以当你遇到有需要走这个方向的时候,只要记得有这样一条路就够了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12743
发帖数: 1586
精华帖: 1
回复:自由口接收字符断开检测(break)如何使用?


只看楼主 楼主 6楼 2021-04-12 20:06:41
以下是引用芳季在2021-04-12 09:00:36的发言 >5楼

世界上的路并没有指定是去哪里的。前人留下的路只是给我们出行一个选择,你不可以反过来为了走一走这条路再确定你的目的地。

所以当你遇到有需要走这个方向的时候,只要记得有这样一条路就够了。

谢谢芳季老师的提醒。

在这里还要感谢yanxiao版主!曾经一度想要放弃自由口通信的学习,是yanxiao版主在贴子中给与鼓励,今天上机进行了200smart与电脑的串口调试助手的实训,过程虽然不是一帆风顺,但是最后还是完成了通信。


努力学习西门子
以下网友喜欢您的帖子:

  
至圣

经验值: 13023
发帖数: 1815
精华帖: 22
回复:自由口接收字符断开检测(break)如何使用?


只看楼主 7楼 2021-04-13 19:07:16

      不用担心,作串口的物理IO口都是超高速口,带宽很高,可以快于波特率很多倍来严格监测通讯线上每个规定波特率的电平。

      多数不严密的时序来讲,接收方都是半周期起始读主机的电平信号,就是监测到起始电平开始(一般是总线的下降沿)从机延迟波特率分之一*0.5的时间读一下主机发送的第一个电平,再延迟波特率分之一读一下第二电平以此类推(理想情况应该是刚好读取到每个非开始电平的正中间位置);严密的时序要在更低的时序下监测。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
自由口接收字符断开检测(break)如何使用?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。