AT89C2051
图2-3 分控制器系统的硬件电路原理图
2.5 RS485通信电路的设计
在各种分布式集散控制系统中,往往采用一台单片机作为主机,多个单片机作为从机,主机控制整个系统的运行;从机采集信号,实现现场控制;主机和从机之间通过总线相连,如图2-4所示。主机通过TXD向各个从机(点到点)或多个从机(广播)发送信息,而各个从机也可以向主机发送信息,但从机之间不能自由通信,其必须通过主机进行信息传递。
主机 RXD TXD RXD TXD 从机1 RXD TXD ?? RXD TXD 从机n
图2-4 单片机多机通信连线图
本系统的有线通信方式采用RS485总线进行通信,RS485标准支持半双工通信,只需三根线就可以进行数据的发送和接收,同时具有抑制共模干扰的能力,接收灵敏度可达±200mV,大大提高了通信距离,在100K bps速率下通信距离可达1200m,如果通信距离缩短,最大速率可达10M bps。在这里使用的是主从式通信方式,主机由主控制器
充当,从机为分控制器。主机处于主导和支配地位,从机以中断方式接收和发送数据,主机发送的信息可以传送到所有的从机或指定的从机,从机发送的信息只能为主机接收,从机之间不能直接通信。主机与从机的通信电路图分别如图2-5与图2-6所示。 图2-5 主机通信电路图
+5V89C5112345678131215143119189171620P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7INT1INT0T1T0EA/VPPXTAL1XTAL2RESETRDWRGNDVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RXDTXDALE/PPSEN403938373635343332212223242526272810113029+5V5.1KΩ5.1KΩ5.1KΩ470ΩMAX485ROVCC+5V3.3KΩ20Ω120Ω12V7VTLP521-4ABREDEADIGND20Ω3.3KΩ12V7VTLP521-4B+5V5.1KΩTLP521-4C5.1KΩ
1234567891089C2051RST/VppRXD/P3.0TXD/P3.1VCC201918171615141312115.1KΩ5.1KΩ5.1KΩ5.1KΩ470ΩMAX485ROVCCTLP521-4ABREADEDIGND20Ω3.3KΩ12V7V+5V3.3KΩ20Ω120Ω12V7VP1.7P1.6XTAL2P1.5XTAL1P1.4INT0/P3.2P1.3INT1/P3.3P1.2P1.1/AIN1T0/P3.4P1.0/AIN0T1/P3.5GNDP3.7TLP521-4B+5VTLP521-4C5.1KΩ图2-6 从机通信电路图 主机与从机选用的RS485通信收发器芯片为MAX485,它是MAXIM公司生产的用于RS
485通信的低功率收发器件,采用单一电源+5 V工作,额定电流为300 μA,采用半双工通信方式。它完成将TTL电平转换为RS485电平的功能。MAX485芯片内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;RE和DE端分别为接收和发送的使能端,当RE端为逻辑0时,器件处于接收状态;当DE端为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可,主机与从机分别使用P2.6与P1.0脚进行控制;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在进行通信时只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,这里选用120Ω的电阻。
为了提高系统的抗干扰能力,采用光电耦合器TLP521对通信系统进行光电隔离。从机使用单片机的P1.0控制通信收发器MAX485的工作状态,平时置P1.0为低电平,使从机串行口处于侦听状态。当有串行中断产生时判别是否是本机号,若为本机地址则置P1.0为高电平,发送应答信息,然后再置P1.0为低电平接收控制指令,继续保持P1.0为低电平,使串行收发器处于接收状态;若不是本机地址,使P1.0为低电平,使串行收发器处于接收侦听状态。 2.6 光信号取样电路
光信号取样电路如图2-7所示,图中主要由光信号采集电路和A/D模数转换电路组成,其中模数转换是电路的核心。信号经过采集送入A/D转换电路,通过单片机处理后,最终作为系统应用程序进行开关灯判断的依据。
A/D转换器的位数应根据信号的测量范围和精度来选择,使其有足够的数据长度,保证最大量化误差在设计要求的精度范围内。本系统中,信号的测量范围的电压:0.00—9.99V,精度0.01V。
在本次设计中选用了带串行控制的10位模数转换器TLC1549,它是由德州仪器(Texas Instruments简写为TI)公司生产的,它采用CMOS工艺,具有自动采样和保持,采用差分基准电压高阻抗输入,抗干扰性能好,可按比例量程校准转换范围,总不可调整误差达到(±)1LSB Max,芯片体积小等特点。同时它采用了Microwire串行接口方式,故引脚少,接口方便灵活。与传统的并行方式接口A/D转换器(例ADC0809/0808)相比,其单片机的接口电路简单,占用I/O口资源少。
图2-7 光信号取样电路
2.6.1 Microwire串行总线性能介绍
Microwire总线是美国国家半导体(NS)公司推出的三线同步串行总线。这种总线由一根数据输出线(SO)、一根数据输入线(SI)和一根时钟线(SK)组成 (但每个器件还要接一根片选线)。原始的Microwire总线上只能连接一片单片机作为主机,总线上的其它设备都是从机。此后,NS公司推出了8位的COP800单片机系列,仍采用原来的Microwire总线,但单片机上的总线接口改成既可由自身发出时钟,也可由外部输入时钟信号,也就是说,连接到总线上的单片机既可以是主机,也可以是从机。为了区别于原有的Microwire总线,称这种新产品为增强型的Microwire/PLUS总线。增强型的Microwire/PLUS总线上允许连接多片单片机和外围器件,因此,总线具有更大的灵活性和可变性,非常适用于分布式、多处理器的单片机测控系统。要改变一个系统,只需改变连接到总线上的单片机及外围器件的数量和型号。Microwire总线系统的典型结构如图2-8所示。
图 2-8 Microwire总线系统典型结构
2.6.2 TLC1549的接口设计
2-9 TLC1549引脚及与A/D接口电路
TLC1549采用了Microwire串行接口方式,其接口时序如图2-9所示,在芯片选择(CS)无效情况下,I/O CLOCK最初被禁止且DATA OUT处于高阻状态。当串行接口把CS拉至有效时,转换时序开始允许I/O CLOCK工作并使DATA OUT脱离高阻状态。串行接口然后把I/O CLOCK序列提供给I/O CLOCK并从DATA OUT接收前次转换结果。I/O CLOCK从主机串行接口接收长度在10和16个时钟之间的输入序列。开始10个I/O 时钟提供采样模拟输入的控制时序。
在CS的下降沿,前次转换的MSB出现在DATA OUT端。10位数据通过DATA OUT 被发送到主机串行接口。为了开始转换,最少需要10个时钟脉冲。如果I/O CLOCK 传送大于10个时钟长度,那么在的10个时钟的下降沿,内部逻辑把DATA OUT拉至低电平以确保其余位的值为零。在正常进行的转换周期内,规定时间内CS端高电平至低电平的跳变可终止该周期,器件返回初始状态(输出数据寄存器的内容保持为前次转换结果)。由于可能破坏输出数据,所以在接近转换完成时要小心防止CS被拉至低电平。时序图如图2-10。