APP下载

Atmega8515单片机多机通信硬件电路设计

2009-01-22蒋金元

职业·下旬 2009年9期
关键词:单机总线电阻

蒋金元

一、RS-485方式构成的多机通信原理

用MAX1487构成的多机通信原理框图如图1所示。

总线末端接匹配电阻,吸收总线上的反射信号,保证信号传输无毛刺。匹配电阻的取值应与总线的电阻特性相当。当总线上没有信号传输时,总线处于悬浮状态,易受干扰信号影响。在总线上差分信号的正端A+和+5V电源间接一个10kΩ的电阻,正端A+和负端B-间接一个10kΩ的电阻,负端B-和地间接一个10kΩ的电阻,形成网络。总线上没有信号传输时,正端A+的电平大约为3.2V,负端B-的电平大约为1.6V。即使有干扰信号,也很难产生串行通信的起始信号0,从而增加了总线抗干扰的能力。

在半双工通信情况下,发送和接收共用一个物理通道,任意时刻只允许一台单机处于发送状态。因此,要求应答单机必须在侦听到总线上呼叫信号已经发送完毕,且没有其他单机发出应答信号的情况下才能应答。如果在时序上配合不好,就会发生总线冲突,使整个系统通信瘫痪,无法正常工作。要避免这一点,必须遵守以下几项原则:

1.复位时,主从机都处在接收状态

MAX1487的发送和接收功能转换是由/RE,DE端控制的。RE=1,DE=1时,MAX1487处于发送状态:/RE=0,DE=0时,处于接收状态。使用单片机的一根口线连接/RE,DE端。在上电复位时,硬件电路稳定需要一定时间,且单片机各端口复位后处于高电平状态,会使总线上各个分机处于发送状态,加上上电时各电路不稳定,可能向总线发送信息。因此,用一根口线作发送和接收控制信号,应该将口线反向后接入MAX1487的控制端,使上电时MAX1487处于接收状态。

2.控制端,RE、DE的信号的有效宽度应大于发送或接收一帧信号的宽度

MAX1487的发送和接收都由同一器件完成,且使用同一物理通道,必须对控制信号进行切换。控制信号何时为高电平、何时为低电平,以单片机的标志位作为参考。AVR的标志位为TXC和RXC。

二、Atmega8515和MAX1487的连接

在多机通信过程中,所有设备的RS-485接口是并在通信线上的,只能有一个设备为主机,其他为从机。通信由主机发起。数据帧一般采用1位起始位、9位数据位,其中第9位(RXB8)被用作表征该帧是地址帧还是数据帧。当帧类型表征位为“1”时,表示该帧数据为一个地址帧;当帧类型表征位为“0”时,表示这个帧为一个数据帧。主机MCU可以设置使用9位数据帧结构(UCSZ=7)。当发送地址帧时,置第9位为“1”;发送数据帧时,置第9位为“0”。这种情况下,从机必须设置成接收9位数据帧结构。

多机通信模式允许多个从机并在通信线路上,接收一个主机发出的数据。通过对接收到的地址帧中的地址进行解码,确定哪个从机被主机寻址。如果某个从机被主机寻址,它将接收接下来主机发出的数据帧,而其它的从机将忽略数据帧,直到再次接收到一个地址帧(从机地址是由各个从机本身的软件决定的)。

猜你喜欢

单机总线电阻
热连轧单机架粗轧机中间坯侧弯废钢成因及对策
宇航通用单机订单式管理模式构建与实践
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
电阻焊
基于multisim13.0负电阻在电源中作用的仿真
多通道ARINC429总线检查仪
基于EtherCAT总线的ROV控制系统设计