当前位置:首页 > 通信技术 > 通信技术
[导读]介绍了一种多台单片机与PC机通信的方法,给出了通过一块通信控制卡来实现与多台单片机的实时通信

  摘要:介绍了一种多台单片机与PC机通信的方法,给出了通过一块通信控制卡来实现与多台单片机的实时通信,并将数据上传给上位机以提高通信可靠性和效率的设计方法,同时给出了该通信控制卡的硬件接口电路和软件设计框图。

    关键词:单片机;智能模块;串口通信

1 概述

PC机与多台单片机构成小型的分布式测控系统已在工业控制、生产管理中得到了广泛的应用。在这类应用系统中,PC机多作为上位机通过直接查询来控制各从机。由于PC机本身还要进行动态数据显示、数据库实时录入、越限报警、报表打印等任务,因此,当从机数目过多时,上位机频繁地响应从机的中断,并在一定时间内等待和接收数据?这极大地影响了PC机的工作效率。为了提高上位机的工作效率,笔者在PC机与各个智能模块间增加了一块用AT89C51作为微控制器的通信控制卡。整个系统构成一个3级分级控制系统,通信控制卡位于中间层,它是系统控制、管理的中枢。

2 通信控制卡硬件电路

在本系统中,通信控制卡采用查询方式对下位机的各智能模块进行查询,该智能模块由AT89C51控制的电量、温度、液位、开关量采集板构成,它们分别可独立完成各自的数据采集和处理任务。当处于被查询状态时,系统可采用中断方式与通信卡进行通信。通信卡依次为人机完成各种数据处理任务提供各种数据和控制命令,然后把它们统一打包上传给上位机,从而使上位机可以对其进行显示、加工和处理,并形成各种报表。

该系统的硬件接口电路如图1所示。其中控制卡的核心芯片是AT89C51,它利用本身自带的串口与各智能模块间通过多机通信方式3进行总线式多机通信。为了同时能与PC进行通信,另一端通过8251A的扩展串口与PC相连。即要求8251A芯片的接收数据线RXD(脚3)及发送数据线TXD(脚19)通过MAX232与PC相连?这是因为电平转换器8251A的输入、输出均为TTL电平,而通过电平转换器可将TTL电平转换成RS232C标准电平以便与PC进行通信。

8251A芯片的时钟输入线CLK可为其提供定时信号。在异步方式时,CLK的频率至少应大于8251A内接收器或发送器输入频率的4.5倍。其引脚RXC(脚25)为接收器时钟,它的作用是控制字符的发送速率,其时钟可使用8253产生的合适时钟频率。在异步方式中,引脚RXC和TXC(即接收、发送时钟)为波特率的16倍。该控制卡中扩展的8kB RAM可分别开辟4个不同的存储电量采集板的数据,处理时可以将它们一起送到PC。

3 软件系统设计

3.1 通信协议

通信控制卡的AT89C51串口与各智能模块的通信按自定义的通信协议进行。过程如下:

(1)首先使所有从机SM2位置1,以使其处于只接收地址帧的状态。

(2)控制卡先发一地址信息,其中8位为地址,第9位为地址/数据信息的标志位,该位为1表示该帧为地址信息。

(3)从机接收到地址帧后,会将其接收的地址与本从机的地址相比较。对于地址相符的从机,可置SM2=0,以接收主机随后发来的所有信息;而对于地址不相符的从机,则置SM2=1,以继续执行采集任务和其它任务。

(4)当从机发送数据结束后,会发送一帧校验和,并将第9位(TB8)置为1,以作为从机数据传送结束标志。

(5)控制卡接受数据时,先判断数据结束标志(RB8),若RB8=1,且校验正确,则回送正确信号00H,此信号可令该从机复位以重新采集数据,等待地址帧。若校验和出错,则送0FFH,以令该机重发数据,如果重发5次还不行,则认为失败,并转入其它地址。若接收帧的RB8=0,则将原数据锁定到缓冲区,并准备接收下帧信息。

(6)从机接收到复位命令后,再回到监听地址状态(SM2=1)。

3.2 程序框图

设主机发送的地址信号01H、02H、03H为从机设备地址,地址FFH是命令各从机恢复SM2为1的状态信号,即复位。从机的命令编码为:

01H—请求从机接收通信卡的数据命令;

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。而通信卡与PC间的波特率为9600bps,故可用产生的脉冲8分频后送到8253。8253工作在方式3,它产生的周期性方波送给8251A的TXC、RXC,可作为波特率发生器。用C51实现的通信卡和从机的程序流程图如图3和如图4所示。该通信卡采用查询方式,从机采用中断方式进行相互通信,并采用校验方式进行数据校验,然后将数据打包,上传给上位PC。

本设计已用于铁路调度监督系统远程终端单元中的控制信息采集板和开关量采集板,以及铁路微机联锁系统中的上位机控制和模拟屏动态实时显示等方面。整个系统实际运行良好,可靠性高,系统性能得到很大的改善

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上位机串口通信是指在上位机(通常是计算机或微控制器)与外部设备之间通过串行通信协议进行数据传输和通信的过程。在串口通信中,数据以位为单位按顺序传送,通常使用一个或两个物理线路(通常是两条线)来实现数据的发送和接收。

关键字: 上位机 串口通信

摘要:以地铁BAS实训系统为研究对象,按照集中管理、分散控制的设计思想,基于Niagara软件平台设计和搭建了一套3层分布式地铁BAS实训系统,分为管理层、控制层、现场层,包含空调送回风和智能照明两个监控子系统。首先建立...

关键字: BAS实训系统 上位机 监控

无论是水厂、污水厂还是供水、排水、污水泵站的运行核心就是控制系统,而控制系统的核心就是以PLC为主体的自动控制系统。关于自控系统的控制方案有很多种,但并不是都有实效。现在,就以水厂中的沉淀池吸泥桁车为例子,讲一讲智慧水务...

关键字: 上位机 现场总线

摘 要 :设计一辆基于单片机的手机可控多功能智能小车,小车与手机采用无线传输技术通信。智能小车主要分为手机 APP、控制器模块、传感器模块、执行器模块以及报警模块五个部分。传感器模块感知外部环境信息并把数据传送至控制器,...

关键字: APP 智能控制 无线监控 传感技术 上位机 报警

这两天看文的人比较少,先来分享一篇非常简单的关于虚拟串口软件的使用的小短文。在编写串口上位机时,需要进行调试。一种方式是与下位机进行通信进行测试;另一种方式是借助虚拟串口软件来进行测试。虚拟串口软件使用演示虚拟串口软件是...

关键字: 上位机 软件 调试

摘 要 :随着汽车保有量的飞速发展,城市交通所面临的拥堵问题倍受人们关注。针对这一问题,提出一种基于 ZigBee 无线网络的智能交通系统。该系统可实时采集道路信息,利用 ZigBee 模块进行信息传输,通过上位机实现...

关键字: 智能交通 Zigbee 无线网络 车流检测 上位机 车载终端

摘要:针对目前市场上存在的一些电磁继电器参数检测仪器的缺点,为了能够精确采集电磁继电器的吸合电压等主要参数,采用ARM技术和上、下位机方法,设计了一款基于ARMCortex-M3芯片STM32F103ZET6单片机控制的...

关键字: STM32 电磁继电器 检测仪 上位机

出品21ic论坛gaoyang9992006网站:bbs.21ic.com做安卓手机APP通常使用高端大气的AndroidStudio,开发语言是Java,该开发IDE就是体积大学习成本高,入手慢,这里给大家推荐一款国产...

关键字: 上位机 BLE蓝牙 软件

摘 要 :针对目前城市道路井盖安全存在的问题,提出一种基于 LoRa 的实时井盖安全监测系统。该系统由井盖状态采集装置与上位机平台两部分组成,井盖状态采集装置由触发器采用LoRa 技术与集中器进行通信,集中器通过 4G...

关键字: 低功耗广域网 LoRa 技术 窨井 安全监测 上位机 远程通信

摘 要:系统设计基于嵌入式ARM11系统以及无线WiFi智能控制房屋终端设备,先对室内的环境数据进行无线网路分布式采集,采用嵌入式WiFi模块实现数据传输,当环境异常时,系统做出响应以改善室内环境,具有TTS语音报警、打...

关键字: 嵌入式 ARM11 Wi-Fi TTS语音报警 一体化步进电机 上位机
关闭