你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

2块485接口芯片检测发送与接收的冲突?

[复制链接]
奏奏奏 提问时间:2020-1-7 11:53 /
我的使用场景是:
用一个设备作为转接CAN总线与485总线的转换,
虽然CAN总线可以进行同时接收与发送数据(CAN的仲裁机制与重发机制),但是485总线并不能保证同时接收与发送数据。
发送485数据时就接收不到485数据了。
我的解决思路是:
485总线上的A、B两条信号线接上2块485接口芯片,接入到同一个STM32的2个不同串口上,
如果专用与处理485总线接收数据的串口接收到“并非此时485发送串口发出的数据”时,则判断是这时候485总线上有别的设备在发送数据立即停止当前的485发送操作,并从485串口接收数据中解析出别的设备的发送数据。
问一下有处理过485通讯的大佬帮我看一下我这个解决思路是否可行,谢谢!

如果485总线的底层通讯原理上讲这个方案就不可用,那我就想过另一个解决思路来处理。
补充一下,接入第三方的485设备只有A、B两条信号线,不是4条线能够全双工通讯的情况。


2块485芯片用法示意图.jpg
收藏 评论2 发布时间:2020-1-7 11:53

举报

2个回答
mylovemcu 回答时间:2020-1-7 13:06:51
没必要搞这么复杂吧
首先CAN总线也不可以同时接收和发送数据  就是因为CAN不能同时收发  所以才有仲裁和重发  来保证数据线上不存在收发同时进行的情况  这是通过硬件禁止收发数据同时到达总线  知道这一点的话就好办了

485也是一样的  485发送的数据用CAN接收  当前CAN处于接收忙绿状态  不会发送数据的  485发送完成后立即切换到接收状态等待指令  CAN接收完成以后才会开始发送数据  此时485已经处于接收状态了  可以接收数据了  不需要怎么处理  

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

奏奏奏 回答时间:2020-1-8 11:06:12
如果没有进一步的意见的话,我还是自己搭环境测试一遍就知道可行性了。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版