搜索
bottom↓
回复: 25

一个控制器需要2个485,在二种总线中,用二个单片机还是一个

[复制链接]

出0入0汤圆

发表于 2015-1-19 15:41:03 来自手机 | 显示全部楼层 |阅读模式
一个控制器需要2个485,在二个485总线中同时通信,目前我觉得得用二个单片机才能确保实时通讯,各单片机负责一个通信,二个单片机通过spi或双口ram实现互相通信!其中一个485当从机,另一个当主机。也有人说现在一个单片机带二个串口的太多,但是我觉得,一个单片机实现二个总线通信,应该做不到事实。不知道有没有哪位也遇到过这个问题!

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

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

出0入0汤圆

 楼主| 发表于 2015-1-19 15:43:23 来自手机 | 显示全部楼层
打错了,一个单片机做不到二个485实时通讯,因

出10入113汤圆

发表于 2015-1-19 15:48:47 | 显示全部楼层
如果两个串口都能正常中断,没有问题的。

出20入70汤圆

发表于 2015-1-19 15:53:00 | 显示全部楼层
一个MCU控制2个485肯定没问题,不然单个MCU带多个UART串口干嘛。

出0入0汤圆

发表于 2015-1-19 15:59:58 | 显示全部楼层
找一个带有多字节硬件FIFO的双串行口MCU加上DMA,我感觉应该是可以的,实时只是相对的

出110入0汤圆

发表于 2015-1-19 16:05:14 | 显示全部楼层
485不是为高速实时设计的,不是复杂的东西,超过2个也没问题

当然还要看你用什么速度的单片机了

出0入0汤圆

发表于 2015-1-19 16:06:55 | 显示全部楼层
一个带双串口的单片机就可以了

出5入4汤圆

发表于 2015-1-19 16:31:10 | 显示全部楼层
我看要求似乎 单UART,使能切换就可以了。

出0入0汤圆

发表于 2015-1-19 17:21:04 | 显示全部楼层
普通的单片机就行,一个硬件串口,一个外部中断加一个IO模拟就OK了

出0入0汤圆

 楼主| 发表于 2015-1-19 18:14:42 来自手机 | 显示全部楼层
如果二端同时发数据,应该会有一端丢失数据吧,

出0入45汤圆

发表于 2015-1-19 18:33:03 | 显示全部楼层
假设通信速率是9600. 每个字节在间隔是1s/960 = 1ms 。 也就是说单片机至少有1ms的时间将数据从当前中断中取出。  

出0入0汤圆

发表于 2015-1-19 19:50:06 | 显示全部楼层
一个足够,带两个USART的完全满足单独控制2个485

出0入0汤圆

发表于 2015-1-19 20:07:13 来自手机 | 显示全部楼层
单片机本来就不是并行处理数据的,你想同时上FPGA~

出0入0汤圆

发表于 2015-1-19 20:30:25 | 显示全部楼层
myiccdream 发表于 2015-1-19 18:33
假设通信速率是9600. 每个字节在间隔是1s/960 = 1ms 。 也就是说单片机至少有1ms的时间将数据从当前中断中 ...

同意这种说法,
就算两个串口同时在接收数据,只要你的单片机速度够快,能再下一个中断来之前把数据读走,应该就没问题了……
当然了,如果对延时要求很高很高的话,可能用单片机就不太合适了。

出0入0汤圆

发表于 2015-1-19 20:37:39 | 显示全部楼层
我就在一个单片机上跑两个MODBUS,没问题啊

出0入0汤圆

发表于 2015-1-19 21:04:59 | 显示全部楼层
通信关系搞好就没问题

出0入0汤圆

 楼主| 发表于 2015-1-20 18:37:42 来自手机 | 显示全部楼层
谢谢,我来试试,楼上你用的什么芯片带二个串口跑modbus?我也跑这个

出0入0汤圆

发表于 2015-1-20 20:11:54 | 显示全部楼层
没问题的哈,一个双串口单片机就可以了,要是这个都处理不过来,那你得换方案了,485不合适你了。

出0入0汤圆

发表于 2015-1-21 06:29:55 来自手机 | 显示全部楼层
一个单片机没问题,串行数据属于慢速

出0入0汤圆

发表于 2015-1-21 08:38:59 来自手机 | 显示全部楼层
myiccdream 发表于 2015-1-19 18:33
假设通信速率是9600. 每个字节在间隔是1s/960 = 1ms 。 也就是说单片机至少有1ms的时间将数据从当前中断中 ...

1/9600*8=833us

出0入31汤圆

发表于 2015-1-21 08:46:07 | 显示全部楼层
”实时“应该没问题,”同时“就比较困难了

出0入45汤圆

发表于 2015-1-21 09:01:01 | 显示全部楼层

应该是你搞错了。 你应该百度一下 波特率

出0入0汤圆

发表于 2015-1-21 09:01:20 | 显示全部楼层

实际>1ms  ,开始位 8数据 校验位 停止位 传输间隔

出0入0汤圆

发表于 2015-1-21 09:04:46 | 显示全部楼层
9600bps接收一个字节大约1.14ms,如果中断处理只是将数据保存到环形队列,那么同时使用两个串口,应该是没有问题的。关键是你的实时性指标是多少?

出0入0汤圆

发表于 2015-1-21 10:21:15 | 显示全部楼层
用过ATMega64, 两个串口同时用, 再加一个模拟串口, 也就3个串口同时用, 没发现出什么问题. 3个通信都走ModBus

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 14:58

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

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