搜索
bottom↓
回复: 22

请教个思路,是否可以实现485 TX 地址准确投送

[复制链接]

出340入0汤圆

发表于 2022-12-15 15:29:51 | 显示全部楼层 |阅读模式
本帖最后由 ajfan 于 2022-12-15 15:48 编辑

如图,485 带几个MCU负载,希望通过ASCII命令头(如01,xxxxxxxx)的模式可以选择将命令(xxxxxxxx)送给对应地址的MCU(不希望使用广播的模式然后在下端MCU进行判断是否响应),是否有对应的芯片或简单方案(不使用MCU在前端做判断),最好是通用芯片?
在学习是否可以用在1对N下的点对点通讯(不使用广播)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2022-12-15 15:36:26 | 显示全部楼层
,你要的不就是modbus协议

出340入0汤圆

 楼主| 发表于 2022-12-15 15:47:01 | 显示全部楼层
lostid 发表于 2022-12-15 15:36
,你要的不就是modbus协议
(引用自2楼)

modbus也是TX广播形式,下端所有MCU都接收,单个MCU如果地址对再进行对应响应,是否正确?
我的原意是不进行TX广播,在前端就进行匹配地址后再送到对应的MCU。

出280入168汤圆

发表于 2022-12-15 15:50:37 | 显示全部楼层
本帖最后由 chunjiu 于 2022-12-15 15:54 编辑

74LS151 或 对应的 CMOS 型号应该能满足你的要求

PS:

抱歉哈,74LS151 是单向的,应该是双向开关比较适合你。 CMOS 的 4151 型号可以查一查。

出0入0汤圆

发表于 2022-12-15 15:58:50 | 显示全部楼层
按你的意思,你的地址码其实也是广播的。就算从站接受到正确地址码以后,能实现非相关从站完全离线断开连接,那离线设备不侦听总线数据的话何时上线,才能保住不丢失数据。
还有就是我不太明白,即使能实现这样的功能,相对于modbus,有什么优势。

出40入45汤圆

发表于 2022-12-15 15:59:21 | 显示全部楼层
那根 TX 线的信号肯定是广播的,如果想着用一个译码电路来过滤出有效帧,这个译码电路未必简单
如果自适应波特率呢?如何识别帧头的地址,并确保接下来的数据是在帧内的?帧内的数据会不会被当作地址而造成其他MCU的错误相应呢?

出340入0汤圆

 楼主| 发表于 2022-12-15 16:02:14 | 显示全部楼层
主要考虑在从站某个MCU在做高速AD转换时,尽量不被TX主站广播信号打断(有可能是送到其他MCU从站的),只有真正是送到这个地址的才进行中断-判断-处理。

出0入0汤圆

发表于 2022-12-15 16:07:11 | 显示全部楼层
以前的串口可以设置地址码和数据码位,地址产生中断,数据不产生中断。看一下51的单片机,好多还支持这个。

出340入0汤圆

 楼主| 发表于 2022-12-15 16:18:15 | 显示全部楼层
本帖最后由 ajfan 于 2022-12-15 16:23 编辑

是的,9位uart,binggo。请教下,如果是9位地址形式,假如01号从站在进行连续的AD转换,主站这个时候发送02的地址码,会影响(短暂暂停)01的AD转换么?

看了C8051F的手册,地址码形式只是在地址不匹配时不进行对应的中断响应,MCU还是会接收广播信号,好像还是会短暂影响AD转换。

出0入228汤圆

发表于 2022-12-15 16:19:08 | 显示全部楼层
用另一颗MCU来实现呗

出340入0汤圆

 楼主| 发表于 2022-12-15 16:26:43 | 显示全部楼层
本帖最后由 ajfan 于 2022-12-15 16:28 编辑
wxws 发表于 2022-12-15 16:19
用另一颗MCU来实现呗
(引用自10楼)


哈哈,这是下下策啊。

通讯目前准备支持USB和TCP

USB用CH347,可以通过调用CH347的GPIO来进行对应的switch选择,然后将uart信号送到指定的从站MCU。
TCP用CH9120(TCP转UART),不过这货没有GPIO,麻烦的是这个。

出20入186汤圆

发表于 2022-12-15 16:37:24 | 显示全部楼层
用I2C不就行了?

出340入0汤圆

 楼主| 发表于 2022-12-15 16:39:58 | 显示全部楼层
yuyu87 发表于 2022-12-15 16:37
用I2C不就行了?
(引用自12楼)

不是就想用CH9120的TCP转Uart么.
如果用TCP转I2C或SPI得CH395等了,这个比CH9120麻烦.

出0入0汤圆

发表于 2022-12-15 19:03:44 | 显示全部楼层
楼主要的就是CAN

出0入4汤圆

发表于 2022-12-15 21:16:51 | 显示全部楼层
楼上说得对,目前恐怕只有 CAN 在硬件上实现了地址过滤功能

出105入79汤圆

发表于 2022-12-15 22:59:16 | 显示全部楼层
CAN 在硬件上实现了地址过滤功能

出0入1119汤圆

发表于 2022-12-15 23:01:04 | 显示全部楼层
@dukelec
签名的cdbus?
https://www.amobbs.com/thread-5693201-1-1.html

出0入4汤圆

发表于 2022-12-16 08:05:08 | 显示全部楼层
希望通过ASCII命令头  这段难道不是广播形式?

出0入309汤圆

发表于 2022-12-16 09:19:36 来自手机 | 显示全部楼层
从机如果可以选的话,比如ch559就有:UART1 总线地址预置寄存器(SER1_ADDR),可以在从机上做

出0入84汤圆

发表于 2022-12-16 18:59:44 | 显示全部楼层
主机发送地址广播不会影响从机AD转换,可能会不应答主机信号,但一般AD转换不会停止。

出0入42汤圆

发表于 2022-12-17 07:55:01 来自手机 | 显示全部楼层
再ad转换的时候,关闭串口中断?

出0入0汤圆

发表于 2022-12-17 17:02:53 | 显示全部楼层
AD在转换的时候,关掉中断,甚至关掉串口不就可以了吗。。。。。
还是说你想硬件帮你处理地址判断??

出340入0汤圆

 楼主| 发表于 2022-12-17 17:35:58 | 显示全部楼层
是的,全扔给硬件处理
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-15 22:22

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

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