您当前的位置:五五电子网电子知识单片机-工控设备单片机通信PC机与多台单片机实时通信系统的设计与实现 正文
PC机与多台单片机实时通信系统的设计与实现

PC机与多台单片机实时通信系统的设计与实现

点击数:7729 次   录入时间:03-04 11:56:46   整理:http://www.55dianzi.com   单片机通信

  1 引言

  集散控制系统(DCS)又名分布式计算机控制系统,是利用计算机技术对生产过程进行集中监测、操作、管理和分散控制的一种新型技术。在现代化工业过程控制系统中,集散控制系统已成为过程自动化系统发展的主流。然而,在工业控制领域,控制系统除了要求具有极高的可靠性外,还必须具有较强的实时响应能力和友好的人机交互界面。

  本系统主要通过PC机与多台 单片机 构成 小型集散控制系统 来进行通信,既充分利用PC机丰富的软硬件资源实现友好的 人机界面 ,又通过RS-232C/485总线结构与8251单片机进行通信,对多台单片机进行数据采集和处理。

  2 控制系统硬件电路设计

  本系统在电路形式上比较简单,其原理框图如图1所示。

原理框图

  2.1 通信控制器电路分析与设计

  通信控制器的主要作用是完成主机和从机之间的通信。控制器的核心是一台AT89S51单片机,它仅具有一个可编程的全双工串行通信接口,而作为通信控制器需要同时与主机(PC机)和从机进行串行通信,因此就利用单片机的并行数据接口实现 串口 的扩展,这里选择了8251作为单片机的串口扩展芯片。8251是用于串行数据通信的USA RT(通信同步/异步收发器),它可以从单片机接收并行数据转换为串行数据发送出去,也可以从外部接收串行数据转换为并行数据传送至单片机。并且8251仅占用2个外部数据空间地址单元,对它的读、写访问如同访问外部RAM一样方便,引脚引脚信号均由单片机提供,需要设计的只有片选信号引脚。此外,8251提供的RXRDY和TXRDY引脚可以用来触发单片机的外部中断,通知单片机8251可以进行新数据的发送或已经接收到新的数据。根据8251的特性设计的单片机串口扩展电路如图2所示。

基于8251的单片机串口扩展电路

图2  基于8251的单片机串口扩展电路

  从图2可以看出,8251的指令/数据选择引脚接到了单片机的地址线A0,这样可以通过2个不同的地址来区分对8251的命令写、数据写或状态读、数据读。进一步分析可以发现8251的片选引脚引脚与单片机地址线A15通过反相器后的引脚相连,使得8251在外部数据空间8000H~FFFFH之间32KB的范围内可以随意选择地址,这里选择8000H(访问数据)和8001H(访问指令/状态)两个地址。8251的RXRDY引脚通过一个非门后连接至单片机的引脚引脚,当8251从主机接收到数据时就会引起单片机中断。

  MC14060用于为8251提供时钟信号,其中包括用于产生8251内部的时钟CLK、用于决定发送数据传输速率的时钟引脚和用于决定接收数据传输速率的时钟引脚。CLK连接到MC14060的OUT2输出引脚,引脚引脚同时连接到MC14060的Q5输出引脚。MC14060的时钟输入频率为2.4576MHz,则OUT2引脚输出的频率为2.4576MHz,Q5引脚输出的频率为2.4576MHz/25=76.8kHz。那么8251发送数据的时钟引脚和接收数据的时钟引脚均为76.8kHz,通过单片机编程将8251的数据传输速率因子设置为1/16,则8251的串口发送和接收数据的波特率为76800/16=4800bit/s。

  控制器与主机的通信是通过8251来实现的,8251带有一个全双工的串口,但它的串行数据接口并不是RS-232C标准串口,必须通过外接RS-232收发器芯片才能与主机的串口连接起来通信,这里选择的RS-232收发器芯片是MAXIM公司的MAX232C。MAX232C包含两个发送器和两个接收器,这里只需使用其中任意一组发送器和接收器即可。

  由于控制器与从机之间的通信是多点的串行通信,所以选择了MAXIM公司的MAX485芯片来实现控制器与从机之间的多机通信系统。因为信号在传输线上传送时,若遇到阻抗不连续的情况,会出现反射现象从而影响信号的远距离传输,所以必须采用匹配的办法来消除反射。双绞线的特性阻抗一般在110~130Ω之间,它与线的绝缘材料的厚度及导线的直径有关,所以通常在RS-485总线末端接入120Ω的电阻是为了对通信线路进行阻抗匹配。

  由于MAX485为半双工通信方式,不能同时发送和接收数据,只能通过控制引脚和DE引脚的状态来进行发送数据和接收数据的转换。这里将MAX485的引脚和DE引脚连在一起接到单片机的P10口,通过单片机的P10口来控制MAX485发送数据和接收数据的转换,当P10为低电平时MAX485处于接收数据状态,而当P10为高电平时MAX485则处于发送数据状态。MAX485的RO引脚接到单片机的串口接收引脚RXD,MAX485的DI引脚接到单片机的串口发送引脚TXD。

  在通信速率要求不是很高的情况下,RS-485总线的通信距离可以达到1200m,这样就可以通过多台单片机来构建一个远程多机通信系统。



www.55dianzi.com   2.2 从机部分硬件电路分析与设计

  在本系统中,从机主要完成信号采集与显示输出。这里采用A/D转换芯片ADC0804完成模拟信号的采集。基于ADC0804所设计的A/D采集电路采用阻容元件来搭建ADC0804的时钟电路。电阻R=10k,电容=150p,经计算,时钟频率

公式

   电位器RP1用于提供ADC0804的参考电压,调整电位器,使ADC0804的Vref/2引脚的电压为2.56V。电位器RP2用于提供ADC0804的输入电压,调整RP2即可使输入电压在0~5V内变化。将ADC0804的引脚

[1] [2]  下一页


本文关键字:单片机  通信  单片机通信单片机-工控设备 - 单片机通信