搜索
bottom↓
回复: 19

求教,一个主站能否通过RS485总线接收自己发出的数据?

[复制链接]

出0入0汤圆

发表于 2014-4-1 10:38:29 | 显示全部楼层 |阅读模式
求教,一个主站能否通过RS485总线接收自己发出的数据?
主站发送完数据后,立即打开接收,能否接收到刚刚发送的数据?
主要是想接收这条已发出的数据,进行比对,检验总线冲突,软件上该怎么做呢?求个思路;
硬件上是否要添加一些东西?请教!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2014-4-1 10:48:35 | 显示全部楼层
要先打开接收然后再发送,软件上要能同时处理发和收,并实时的比较是否相同,不同则表示冲突或被干扰了

出0入0汤圆

发表于 2014-4-1 10:54:16 | 显示全部楼层
485半双工的

出0入0汤圆

发表于 2014-4-1 10:55:37 | 显示全部楼层
其实。。。。。你需要的是CAN BUS                                                                                                               
这些工作 CAN 硬件会帮你完成。

出100入18汤圆

发表于 2014-4-1 10:58:24 | 显示全部楼层
负责的告诉你,不能,楼上是CAN专家,用can吧,专门实现你的需求的。

出0入0汤圆

发表于 2014-4-1 11:00:25 | 显示全部楼层
can总线带冲突检测和重发机制
贵点还是有原因的
485要想监控的话 只能再加一路485并在总线上 只做监控用

出0入0汤圆

 楼主| 发表于 2014-4-1 11:04:35 | 显示全部楼层
51EDA技术 发表于 2014-4-1 10:55
其实。。。。。你需要的是CAN BUS                                                                      ...

谢谢,因为是要在原来的板子上的是485,现在要在原来的基础上加一个功能,我问问领导能不能修改板子。

出0入42汤圆

发表于 2014-4-1 11:14:45 | 显示全部楼层
485,二线制,收发都在这二条线上,是可以监听自己正在发送的数据的,只要你的485驱动电路有RE控制,在发送时允许接收即可,这里,串口硬件发送完一个字节,接收器立即收到一个字节。

出0入0汤圆

 楼主| 发表于 2014-4-1 11:22:42 | 显示全部楼层
y595906642 发表于 2014-4-1 11:00
can总线带冲突检测和重发机制
贵点还是有原因的
485要想监控的话 只能再加一路485并在总线上 只 ...

谢谢,我也想过用两片485,正在向领导反映,还未收到答复,能再请教一个问题吗?
主站从站之间通讯,需要唯一地址,领导说,要用唯一的ID号进行差别延时,使单片机自己产生一个通讯地址,但是ID号数值范围太大了,想了1天了,也没想出有什么算法,减少延时又不会产生重复;
然后我才想,随机延时+冲突检测,生成地址,所以才有上面的提问;
按照领导的想法,还是用ID号,产生地址,有什么好的思路呢?请赐教。。。

出0入0汤圆

 楼主| 发表于 2014-4-1 11:34:37 | 显示全部楼层
本帖最后由 18252776113 于 2014-4-1 12:23 编辑
cocom 发表于 2014-4-1 11:14
485,二线制,收发都在这二条线上,是可以监听自己正在发送的数据的,只要你的485驱动电路有RE控制,在发送 ...


十分感谢,有RE接收控制,在现成的板子上是和DE连在一起的,需要断开;也就说对485的RE、DE,可以用两个IO口分别控制;也可以不用,直接上拉DE、下拉RE,就可以了是吗?
如果总线上有多个站在发送数据,那么发送数据的这个站监听到的数据就会错误,是这样理解吧?再明确一下。
我本来是想再加一片485,但因为板子是现成的,领导不支持过大改动硬件,一直再考虑。所以。。。
其实是这样的,主站从站之间通讯,需要唯一地址,领导说,要用唯一的ID号进行差别延时,使单片机自己产生一个通讯地址,但是ID号数值范围太大了,想了1天了,也没想出有什么算法,减少延时又不会产生重复,比较郁闷;
然后实在没辙了才想,随机延时+冲突检测,生成地址,所以才有上面的提问;谢谢你了;

出0入0汤圆

发表于 2014-4-1 11:35:38 | 显示全部楼层
你有多少个设备?每个设备用ID号生成一个地址吗?

出0入0汤圆

 楼主| 发表于 2014-4-1 11:55:35 | 显示全部楼层
y595906642 发表于 2014-4-1 11:35
你有多少个设备?每个设备用ID号生成一个地址吗?

是的,最大30个从站,一般情况下8个,不固定;每个站上电通讯地址==0,用唯一的ID号生成一个延时系数,进行一个差别延时,产生不同的地址;
问题是,ID号范围太大了,如何生成这个有效的延时系数,不能太大,不能重复,这个算法,想了1天没想出来,所以。。。。。。

出0入0汤圆

发表于 2014-4-1 12:32:58 | 显示全部楼层
我们这边是这样做的
第一种方式用拨码开关做不同的地址选择
第二种方式是加EEPROM存地址,需要的时候挨个配置
我觉得你可以用个简单的办法就是取ID号最后八位

出0入0汤圆

 楼主| 发表于 2014-4-1 12:48:58 | 显示全部楼层
y595906642 发表于 2014-4-1 12:32
我们这边是这样做的
第一种方式用拨码开关做不同的地址选择
第二种方式是加EEPROM存地址,需要的时候挨个配 ...

谢谢了;
拨码开关做不同的地址选择,我问问领导;
目前就是手动输入存EEROM,太多了很麻烦,所以才被要求改;
目前的想法,就是取ID号的后几位,乘上10ms,就构成了差别延时;问题就在于ID后几位较大的话,这个延时太长了;想把这个数字成倍缩小,又会出现重复;昨天想了1天,就是找不到一个好的算法,解决这个问题,所以纠结了。。。
不管怎么说,真心谢谢你!

出0入0汤圆

发表于 2014-4-1 16:54:59 来自手机 | 显示全部楼层
18252776113 发表于 2014-4-1 11:04
谢谢,因为是要在原来的板子上的是485,现在要在原来的基础上加一个功能,我问问领导能不能修改板子。 ...

赶紧熟悉下can,然后给你领导推荐下,看能不能说服她

出0入0汤圆

发表于 2014-4-1 16:59:41 来自手机 | 显示全部楼层
18252776113 发表于 2014-4-1 11:55
是的,最大30个从站,一般情况下8个,不固定;每个站上电通讯地址==0,用唯一的ID号生成一个延时系数,进 ...

看看dhcp,看有没有思路可以参考

出0入0汤圆

 楼主| 发表于 2014-4-1 17:08:59 | 显示全部楼层
myxiaonia 发表于 2014-4-1 16:59
看看dhcp,看有没有思路可以参考

十分感谢,我马上去看看dhcp。

出0入0汤圆

 楼主| 发表于 2014-4-25 11:27:12 | 显示全部楼层
感谢楼上各位大侠指导,终于用RS485实现自动生成地址,谢谢!

出0入0汤圆

发表于 2014-4-25 12:30:18 | 显示全部楼层
感谢楼上各位大侠指导,终于用RS485实现自动生成地址,谢谢!
___________________________________________________________
楼主能说说方法?

出0入0汤圆

 楼主| 发表于 2014-5-3 15:05:49 | 显示全部楼层
bsz84 发表于 2014-4-25 12:30
感谢楼上各位大侠指导,终于用RS485实现自动生成地址,谢谢!
__________________________________________ ...

你好,大致的思路是这样的;主站不断向从站发送轮询地址的数据,并且判断从站反馈的数据是否正确,正确就认可该从站地址,不正确就发命令给从站重新生成地址;从站随机生成地址,被动接受应答主站轮询命令,反馈数据;当总线上存在地址重复时候,就会发送错误的数据(大多时候是乱码),主站接受判断。。。就是这样的思路;至于这个是否可靠,还不清楚。。。因为现在遇到一个问题,不知道如何解决?
当两个从站地址重复的时候,同时占用总线,想主站发送数据,出现只有一个从站发出数据,另一个从站发不出数据的情况,于是导致了两个重复地址的存在;出现这种情况概率大概是1/50,而且之后发送应答的数据又正确了,对于重复地址可以修正过来;至于真正原因却是不知道,所以很惆怅。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 11:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表