- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二十九章战舰STM32开发板485实验
ALIENTEK 战舰STM32开发板
第二十九章 485 实验
本章我们将向大家介绍如何利用STM32 的串口实现485 通信(半双工)。在本章中,我们
将利用STM32 的串口2 来实现两块开发板之间的485 通信,并将结果显示在TFTLCD 模块上。
本章分为如下几个部分:
29.1 485 简介
29.2 硬件设计
29.3 软件设计
29.4 下载验证
381
ALIENTEK 战舰STM32开发板
29.1 485 简介
485 (一般称作RS485/EIA-485 )是隶属于OSI 模型物理层的电气特性规定为2 线,半双工,
多点通信的标准。它的电气特性和RS-232 大不一样。用缆线两端的电压差值来表示传递信号。
RS485 仅仅规定了接受端和发送端的电气特性。它没有规定或推荐任何数据协议。
RS485 的特点包括:
1) 接口电平低,不易损坏芯片。RS485 的电气特性:逻辑“1”以两线间的电压差为+(2~6)V
表示;逻辑“0 ”以两线间的电压差为-(2~6)V 表示。接口信号电平比RS232 降低了,
不易损坏接口电路的芯片,且该电平与TTL 电平兼容,可方便与TTL 电路连接。
2 ) 传输速率高。10 米时,RS485 的数据最高传输速率可达35Mbps,在1200m 时,传输
速度可达 100Kbps。
3 ) 抗干扰能力强。RS485 接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力
增强,即抗噪声干扰性好。
4 ) 传输距离远,支持节点多。RS485 总线最长可以传输1200m 以上(速率≤100Kbps)
一般最大支持32 个节点,如果使用特制的485 芯片,可以达到128 个或者256 个节点,
最大的可以支持到400 个节点。
RS485 推荐使用在点对点网络中,线型,总线型,不能是星型,环型网络。理想情况下RS485
需要2 个匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般为120 Ω)。没有特性阻抗的话,
当所有的设备都静止或者没有能量的时候就会产生噪声,而且线移需要双端的电压差。没有终
接电阻的话,会使得较快速的发送端产生多个数据信号的边缘,导致数据传输出错。485 推荐
的连接方式如图29.1.2 所示:
图29.1.2 RS485 连接
在上面的连接中,如果需要添加匹配电阻,我们一般在总线的起止端加入,也就是主机和
设备4 上面各加一个120 Ω的匹配电阻。
由于 RS485 具有传输距离远、传输速度快、支持节点多和抗干扰能力更强等特点,所以
RS485 有很广泛的应用。
战舰STM32 开发板采用SP3485 作为收发器,该芯片支持3.3V 供电,最大传输速度可达
10Mbps,支持多达32 个节点,并且有输出短路保护。该芯片的框图如图29.1.2 所示:
图29. 1.2 SP3485 框图
图中A 、B 总线接口,用于连接485 总线。RO 是接收输出端,DI 是发送数据收入端,RE
是接收使能信号(低电平有效),DE 是发送使能信号(高电平有效)。
382
ALIENTEK 战舰STM32开发板
本章,我们通过该芯片连接STM32 的串口2 ,实现两个开发板之间的485 通信。本章将实
现这样的功能:通过连接两个战舰STM32 开发板的RS485 接口,然后由KEY0 控制发送,当
按下一个开发板的KEY0 的时候,就发送5 个数据给另外一个开发板,并在两个开发板上分别
显示发送的值和接收到的值。
本章,我们只需要配置好串口2 ,就可以实现正常的485 通信了,串口2 的配置和串口1
基本类似,只是串口的时钟来自APB1 ,最大频率为36Mhz 。
29.2 硬件设计
本章要用到的硬件资源如下:
1)指示灯DS0
2 )KEY0 按键
3)TFTLCD 模块
4)串口2
5)RS485 收发芯片
前面3 个都有详细介绍,这里我们介绍RS
文档评论(0)