应用笔记 1063

用微控制器实现RS-485系统的地址识别


摘要 : 本应用笔记介绍了一个构成RS-485从机数据收发器的简单电路,能够识别它的分配地址。电路仅需要三片IC:一只微控制器、一个微小的UART和一只RS-485收发器。本文还提供了启动软件。

RS-485数据接口标准与RS-232标准相比,一个突出的优点就是能够构成多点通讯网络。这种网络通常可传输9位数据字,第9位(极性位)用于识别地址或数据。

IC1是一个不含硬件通用异步收发器(UART)的小型微控制器,使用时需要确定外接UART元件还是通过软件自己写UART。外扩UART会增加电路板面积、复杂度及成本,而且现有的外部UART器件也不合适小型µC系统。另一方面,留出用于软件UART编程所需的空闲程序存储器和处理器资源也是较为困难的,例如IC1的程序存储器是只有1K × 14位的EEPROM。可以解决上述问题的第三方案是选用低成本的外扩UART (IC2),该器件尺寸小,能够省出被软件UART占用的程序存储器。

图1所示的RS-485总线能够挂接最多256个收发模块,IC3是RS-485收发器,IC4是“µC监控电路”,当电源失效时将µC保持在复位状态。µC的汇编语言程序可以从Maxim网站下载。

图1. RS-485网络可挂接最多256个从机收发器,为RS-485收发器(IC3)增加一个小型UART (IC2)和µC (IC1),即可构成能够响应自身网络地址的从机数据收发模块。
图1. RS-485网络可挂接最多256个从机收发器,为RS-485收发器(IC3)增加一个小型UART (IC2)和µC (IC1),即可构成能够响应自身网络地址的从机数据收发模块。

图中所示的配置为从机测试电路,通过修改编码使其适用于任何RS-485地址识别应用,电路工作过程为:

地址通过总线传输后,每个从机模块中的IC2产生一次中断。然后,每个模块内的IC1读取内部FIFO的所有数据,并锁存地址字,将该地址与8位DIP开关设置的地址进行比较。匹配时从机将清除中断并发送(至主机) ASCII “A”(十六进制41),随后是其自身的地址。如果从机模块读取的FIFO内容与地址不匹配,则清除当前的地址字中断,等待下一次中断。

类似文章发表在2001年11月11日的EDN杂志上。

下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 1063:
应用笔记 1063,AN1063, AN 1063, APP1063, Appnote1063, Appnote 1063