打印

请教!!单片机多机通信的问题

[复制链接]
2979|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
海沁|  楼主 | 2007-8-4 10:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
王紫豪| | 2007-8-4 10:28 | 只看该作者

re

速度
距离
可以用uart 或者spi

使用特权

评论回复
板凳
conwh| | 2007-8-4 10:33 | 只看该作者

用主从结构+LS的

使用特权

评论回复
地板
fuzichun| | 2007-8-4 10:43 | 只看该作者

可以用1根线,但协议最好自己搞

使用特权

评论回复
5
蓝色日出| | 2007-8-4 10:53 | 只看该作者

通讯距离是多少?

通讯距离是多少?多少台机?是主从关系吗?

使用特权

评论回复
6
海沁|  楼主 | 2007-8-4 10:54 | 只看该作者

用一根线是什么意思?

使用特权

评论回复
7
海沁|  楼主 | 2007-8-4 10:56 | 只看该作者

是主从关系,距离是室内,只有16个从机

使用特权

评论回复
8
海沁|  楼主 | 2007-8-4 11:04 | 只看该作者

用P2口接译码器分别选中16个从机,然后用SM2来送地址信号选中通信的芯片,最后再传数据,这样可以吗?会不会太复杂?

使用特权

评论回复
9
蓝色日出| | 2007-8-4 11:18 | 只看该作者

可以用485

可以用RS485,不过要两条总线,485比较可靠,片子的电路比较简单

使用特权

评论回复
10
海沁|  楼主 | 2007-8-4 11:27 | 只看该作者

那232呢?我想知道他们具体指的是什么?

使用特权

评论回复
11
蓝色日出| | 2007-8-4 11:27 | 只看该作者

485是半双工的

对了,485是半双工的,也就是说在同一时刻,总线上只能有一个机处于发送状态,在主机控制从机时只能一台一台逐个的发送数据,接收也是如此。
顺便问一下,LZ的系统做什么用?用什么单片机。
我们用的是51系列的,刚好用到485进行多机通讯,我只知道这方面的,其他的我就帮不上忙了。

使用特权

评论回复
12
海沁|  楼主 | 2007-8-4 11:30 | 只看该作者

LZ的系统做什么用?用什么单片机

这个我也不知道,我用的也是51系列的

使用特权

评论回复
13
蓝色日出| | 2007-8-4 11:42 | 只看该作者

rs232是串行接口的一种

232传输距离比较短,一般超过20米就不太可靠了。

我们232用的片子是max232,485用的是max487。建议你看一下这两个片子的资料,有助于你的理解。

使用特权

评论回复
14
蓝色日出| | 2007-8-4 12:01 | 只看该作者

刚刚打出来的一点东西

MAX487的功能是在输入时分别把两条总线RA和RB上面的来的差动信号转变成单片机可以接收的单向0到5V的信号。当A比B高时,变成5V高电平,A比B低时变成0V低电平。在CPU向总线输出时,是把输出高电平“1”转为RA比RB高,是RA和RB差动输出,把输出低电平“0”转乘A比B低的差动信号。A和B的电压在0到5V范围内变化。用差动信号传数据的好处是抗共模干扰性能强,因此可以传送的距离大。
另外由于485是半双工传输,处于接受状态时RA和RB差动输出口处于“高阻”状态,使自己的信号不输出,避免发生信号传输冲突。这样就需要控制方向(要么发送要么接收)。MAX487上面有两个脚是用来控制自身的传送方向的,把这两个脚短路之后用0或1信号来控制它的方向。这个方向控制信号由单片机P1口中的某一位P1_X输出0或者1来进行控制。
它的接口电路比较简单,和单片机有3个接口,分别是单片机的TXD(发送),RXD(接收)和P1_X(方向控制)。

这是我自己总结出来的一点东西,刚刚打出来,希望你能用的到。
我是初学者,干这行刚刚一年,大家一起探讨吧!
共勉!

使用特权

评论回复
15
conwh| | 2007-8-4 12:05 | 只看该作者

回8L,直接使用总线方式。在协议里加地址码

使用特权

评论回复
16
海沁|  楼主 | 2007-8-4 14:27 | 只看该作者

非常感谢,很有用

使用特权

评论回复
17
海沁|  楼主 | 2007-8-4 14:29 | 只看该作者

直接使用总线方式。在协议里加地址码

有16个从机,这样会不会有太多的连接线?

使用特权

评论回复
18
gyt| | 2007-8-5 00:15 | 只看该作者

不会

加地址码就是为了尽量减少连接线

使用特权

评论回复
19
海沁|  楼主 | 2007-8-5 09:01 | 只看该作者

那是我理解错了,是怎么加地址码的呢?

使用特权

评论回复
20
conwh| | 2007-8-5 09:32 | 只看该作者

使用232的有2种方式

1)直接在通讯协议中,规定接收地址。如[头]+[接收地址]+[数据]+[校验]
2)使用9位的接收方式(从机),如,发送[9位方式的地址],从机转到8位的接收方式(从机应答),[8位数据]+[校验],这时其他从机都在9位的方式,所以也没有响应。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

68

帖子

1

粉丝