欢迎来到天天文库
浏览记录
ID:25191817
大小:52.00 KB
页数:5页
时间:2018-11-18
《远程终端中通信控制卡的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、远程终端中通信控制卡的设计与实现
2、第1内容显示中摘要:介绍了一种多台单片机与PC机通信的方法,给出了通过一块通信控制卡来实现与多台单片机的实时通信,并将数据上传给上位机以提高通信可靠性和效率的设计方法,同时给出了该通信控制卡的硬件接口电路和软件设计框图。关键词:单片机;智能模块;串口通信1概述PC机与多台单片机构成小型的分布式测控系统已在工业控制、生产管理中得到了广泛的应用。在这类应用系统中,PC机多作为上位机通过直接查询来控制各从机。由于PC机本身还要进行动态数据显示、数据库实时录入、越限报警、报表打印等任务,因此,当从机数
3、目过多时,上位机频繁地响应从机的中断,并在一定时间内等待和接收数据这极大地影响了PC机的工作效率。为了提高上位机的工作效率,笔者在PC机与各个智能模块间增加了一块用AT89C51作为微控制器的通信控制卡。整个系统构成一个3级分级控制系统,通信控制卡位于中间层,它是系统控制、管理的中枢。2通信控制卡硬件电路在本系统中,通信控制卡采用查询方式对下位机的各智能模块进行查询,该智能模块由AT89C51控制的电量、温度、液位、开关量采集板构成,它们分别可独立完成各自的数据采集和处理任务。当处于被查询状态时,系统可采用中断方式与通信卡进
4、行通信。通信卡依次为人机完成各种数据处理任务提供各种数据和控制命令,然后把它们统一打包上传给上位机,从而使上位机可以对其进行显示、加工和处理,并形成各种报表。该系统的硬件接口电路如图1所示。其中控制卡的核心芯片是AT89C51,它利用本身自带的串口与各智能模块间通过多机通信方式3进行总线式多机通信。为了同时能与PC进行通信,另一端通过8251A的扩展串口与PC相连。即要求8251A芯片的接收数据线RXD(脚3)及发送数据线TXD(脚19)通过MAX232与PC相连这是因为电平转换器8251A的输入、输出均为TTL电平,而通过
5、电平转换器可将TTL电平转换成RS232C标准电平以便与PC进行通信。8251A芯片的时钟输入线CLK可为其提供定时信号。在异步方式时,CLK的频率至少应大于8251A内接收器或发送器输入频率的4.5倍。其引脚RXC(脚25)为接收器时钟,它的作用是控制字符的发送速率,其时钟可使用8253产生的合适时钟频率。在异步方式中,引脚RXC和TXC(即接收、发送时钟)为波特率的16倍。该控制卡中扩展的8kBRAM可分别开辟4个不同的存储电量采集板的数据,处理时可以将它们一起送到PC。3软件系统设计3.1通信协议通信控制卡的AT89C5
6、1串口与各智能模块的通信按自定义的通信协议进行。过程如下:(1)首先使所有从机SM2位置1,以使其处于只接收地址帧的状态。(2)控制卡先发一地址信息,其中8位为地址,第9位为地址/数据信息的标志位,该位为1表示该帧为地址信息。(3)从机接收到地址帧后,会将其接收的地址与本从机的地址相比较。对于地址相符的从机,可置SM2=0,以接收主机随后发来的所有信息;而对于地址不相符的从机,则置SM2=1,以继续执行采集任务和其它任务。(4)当从机发送数据结束后,会发送一帧校验和,并将第9位(TB8)置为1,以作为从机数据传送结束标志。(5
7、)控制卡接受数据时,先判断数据结束标志(RB8),若RB8=1,且校验正确,则回送正确信号00H,此信号可令该从机复位以重新采集数据,等待地址帧。若校验和出错,则送0FFH,以令该机重发数据,如果重发5次还不行,则认为失败,并转入其它地址。若接收帧的RB8=0,则将原数据锁定到缓冲区,并准备接收下帧信息。(6)从机接收到复位命令后,再回到监听地址状态(SM2=1)。3.2程序框图设主机发送的地址信号01H、02H、03H为从机设备地址,地址FFH是命令各从机恢复SM2为1的状态信号,即复位。从机的命令编码为:01H—请求从机接
8、收通信卡的数据命令;02H—请求从机向通信控制卡发送数据;其它均按从机向通信卡发数据处理。从机的状态字节格式如图2所示。其中TRDY为1表示从机已准备好接收通信卡的数据(见图2中D1位);RRDY为1表示从机准备好向通信卡发送数据(见图2中D0位);而ERR=1则表示从机接收到的命令是错误的(图2中D7位)。该通信控制卡与各智能模块均采用12MHz晶振,它们之间的波特率为4800bps,采用定时器T1的工作方式2,这样,当TL1计满时,TH1将自动送数给TL1。当波特率为4800bps时,TH1=TL1=0xf3。而通信卡与P
9、C间的波特率为9600bps,故可用产生的脉冲8分频后送到8253。8253工作在方式3,它产生的周期性方波送给8251A的TXC、RXC,可作为波特率发生器。用C51实现的通信卡和从机的程序流程图如图3和如图4所示。该通信卡采用查询方式,从机采用中断方式进行相互通信,并采用
此文档下载收益归作者所有