hqwei_sz 发表于 2015-1-19 15:41:03

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

一个控制器需要2个485,在二个485总线中同时通信,目前我觉得得用二个单片机才能确保实时通讯,各单片机负责一个通信,二个单片机通过spi或双口ram实现互相通信!其中一个485当从机,另一个当主机。也有人说现在一个单片机带二个串口的太多,但是我觉得,一个单片机实现二个总线通信,应该做不到事实。不知道有没有哪位也遇到过这个问题!

hqwei_sz 发表于 2015-1-19 15:43:23

打错了,一个单片机做不到二个485实时通讯,因

饭桶 发表于 2015-1-19 15:48:47

如果两个串口都能正常中断,没有问题的。

techbaby 发表于 2015-1-19 15:53:00

一个MCU控制2个485肯定没问题,不然单个MCU带多个UART串口干嘛。

OurWay 发表于 2015-1-19 15:59:58

找一个带有多字节硬件FIFO的双串行口MCU加上DMA,我感觉应该是可以的,实时只是相对的

Flyback 发表于 2015-1-19 16:05:14

485不是为高速实时设计的,不是复杂的东西,超过2个也没问题

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

tam2907 发表于 2015-1-19 16:06:55

一个带双串口的单片机就可以了

grj0719 发表于 2015-1-19 16:31:10

我看要求似乎 单UART,使能切换就可以了。

大米饭 发表于 2015-1-19 17:21:04

普通的单片机就行,一个硬件串口,一个外部中断加一个IO模拟就OK了

hqwei_sz 发表于 2015-1-19 18:14:42

如果二端同时发数据,应该会有一端丢失数据吧,

myiccdream 发表于 2015-1-19 18:33:03

假设通信速率是9600. 每个字节在间隔是1s/960 = 1ms 。 也就是说单片机至少有1ms的时间将数据从当前中断中取出。

Hhhhhhhh 发表于 2015-1-19 19:50:06

一个足够,带两个USART的完全满足单独控制2个485

ap0705307 发表于 2015-1-19 20:07:13

单片机本来就不是并行处理数据的,你想同时上FPGA~

xintao 发表于 2015-1-19 20:30:25

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

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

gliet_su 发表于 2015-1-19 20:37:39

我就在一个单片机上跑两个MODBUS,没问题啊

ysyt_3 发表于 2015-1-19 21:04:59

通信关系搞好就没问题

hqwei_sz 发表于 2015-1-20 18:37:42

谢谢,我来试试,楼上你用的什么芯片带二个串口跑modbus?我也跑这个

fiddly 发表于 2015-1-20 20:11:54

没问题的哈,一个双串口单片机就可以了,要是这个都处理不过来,那你得换方案了,485不合适你了。

laojiao 发表于 2015-1-21 06:29:55

一个单片机没问题,串行数据属于慢速

tragedy 发表于 2015-1-21 08:38:59

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

1/9600*8=833us

zchong 发表于 2015-1-21 08:46:07

”实时“应该没问题,”同时“就比较困难了

myiccdream 发表于 2015-1-21 09:01:01

tragedy 发表于 2015-1-21 08:38
1/9600*8=833us

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

Ticl4 发表于 2015-1-21 09:01:20

tragedy 发表于 2015-1-21 08:38
1/9600*8=833us

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

xhcyfc 发表于 2015-1-21 09:04:46

9600bps接收一个字节大约1.14ms,如果中断处理只是将数据保存到环形队列,那么同时使用两个串口,应该是没有问题的。关键是你的实时性指标是多少?

twl 发表于 2015-1-21 10:21:15

用过ATMega64, 两个串口同时用, 再加一个模拟串口, 也就3个串口同时用, 没发现出什么问题. 3个通信都走ModBus

hqwei_sz 发表于 2015-1-22 20:44:07

打算用二个串口带fifo的,不知道19200,大概一字节500微妙
页: [1]
查看完整版本: 一个控制器需要2个485,在二种总线中,用二个单片机还是一个