打印
[应用方案]

N76E003 之 RS485 通讯

[复制链接]
4465|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
晓伍|  楼主 | 2021-7-2 13:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1、RS485技术参数
  • 两线电压差2~6V,兼容TTL电平
  • 10m距离,最高速度35Mbps。1km距离,100Kbps
  • 一般最多支持32个节点,某些特制芯片可达400
  • 终端电阻:120R
  • 通讯链路方式:总线型(如下图1)
  • 通讯方式:半双工


使用特权

评论回复
沙发
晓伍|  楼主 | 2021-7-2 13:27 | 只看该作者
2、硬件电路

如下图2,R15、R16取值参考了原子哥的设计,RO、D1分别对应串口RX和TX,而中间的RE和DE则是(发送\接受)控制端,当端口为1时,为发送模式、为0时,为接受模式。

485协议中的,半双工模式则要求一方为发送模式,一方为接收模式


使用特权

评论回复
板凳
晓伍|  楼主 | 2021-7-2 13:29 | 只看该作者
3、程序逻辑
由于RS485不能像某些IIC器件一样,设置硬件地址位(其实也是软件设置的),所以我们需要使用一种方法来对该总线下的单片机设置地址,这里推荐的做法是使用单片机模拟EEPROM,这样就可以不用每次都去设置地址,修改方式可以为复用下载器的CLK\DAT两个端口,作为串口1使用,如果不想让用户二次修改,可以在程序中判别该位置是否被读写过。

另外的一种方法就是使用拨码开关,但此种办法需要占用IO,并不推荐。

由于RS485通讯模式类似广播。所以需要在通讯过程中,建议做好数据包的校验,添加报头、报尾、校验位、地址位等,可以在串口接收中断中进行校验,提高程序的执行效率(N76E003使用多个中断时,可能会出现速度变慢的问题)。

如果从机需要从接收器转换为发送器,直接翻转控制RE、DE的IO口电平即可。最好每次发送或正确接收完了,就切换到另一种状态下。


使用特权

评论回复
地板
稳稳の幸福| | 2021-7-4 17:15 | 只看该作者
485是一个自定义很强的通信标准。

使用特权

评论回复
5
xinxianshi| | 2021-7-5 09:28 | 只看该作者
工业应用都是485,传输距离长,更可靠

使用特权

评论回复
6
sparrow054| | 2021-7-14 15:15 | 只看该作者
N76E003是啥?#¥……%……

使用特权

评论回复
7
勇敢的大白菜| | 2021-7-14 16:08 | 只看该作者
如果要是挂上很多设备的话,是不是需要对每个设备进行地址的设置?

使用特权

评论回复
8
木木guainv| | 2021-8-6 20:35 | 只看该作者
最多能挂多少设备啊

使用特权

评论回复
9
xiaoqizi| | 2021-8-6 20:36 | 只看该作者
需要加隔离吗  

使用特权

评论回复
10
wakayi| | 2021-8-6 20:38 | 只看该作者
比较可靠的传输距离说多远啊

使用特权

评论回复
11
renzheshengui| | 2021-8-6 20:38 | 只看该作者
这个芯片的应用还是很多的

使用特权

评论回复
12
paotangsan| | 2021-8-6 20:40 | 只看该作者
每个设备都需要分别设置地址吗

使用特权

评论回复
13
asmine| | 2021-8-10 15:09 | 只看该作者
兼容TTL么?不是吧

使用特权

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

本版积分规则

60

主题

4053

帖子

1

粉丝