微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 计算机串口与单片机通讯测试系统的实现

计算机串口与单片机通讯测试系统的实现

时间:02-21 来源:互联网 点击:

1 引 言

串行通讯接口标准经过使用和发展,目前已有多种,不过都是在RS-232C的基础上改进而形成的。RS-232C标准是美国EIA(电子工业联合会)与 BELL公司一起开发并于1969年公布的通讯协议。因此,他作为一种标准,目前已在微机通讯接口中被广泛采用,他不仅已被内置于每台计算机,同时也已被内置于从微处理器到主机的多种类型的计算机及其相连设备。而串口与单片机的通讯技术可以解决多台下位机的多内容同时显示,还可以方便地完成多机通讯技术、多数据处理等优点。但是当同时用到两种通信方式时,很可能产生串口冲突或其他不可预料的错误,对开发工作极其不利。

所以,此系统解决了这种开发中的问题,依靠软件仿真数据信号的发送、接收和多种通讯方式的测试。利用简单的硬件连接去检测串口和单片机通讯是否能正常工作。

2 系统硬件组成

由图1可看出,该系统主要由软硬件两部分构成,硬件平台是由PC机串口发送到下位机一条通道。图中光耦电路完成PC机信号RS-232电平到TTL电平的转换。当PC机输入口为RS-232高电平时,二极管VD1及光耦电路导通,使得三极管VT1导通,8031接收口RXD被定位于TTL低电平(0 V);当输入口为RS-232低电平时,二极管VD1及光耦电路截止,使得三极管VT1截止,RXD被定位于TTL高电平(+5 V)。

另外软件系统对由PC信号入口(串口)可以输入信号,对串口和单片机的通讯进行字符、数字、显示等测试。

3 测试方法和内容

由串口向单片机接口进行通讯、发送数据和返回设备状态,而传输协议的选择对于通讯双方至关重要。针对系统的测试主要是常规测试,所以选择了面向字符的同步协议,如图2所示。

这种协议的典型代表是IBM公司的二进制同步传输(BSC)协议,他的特点是一次传送若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息,他们叫做通信控制字。此系统会在测试时严格依照协议对单片机接受端进行数据发送,从端口发送数据校验码进行测试。而数据前的SYN主要起联络作用,SOH为序始字符。数据块将传送正式的测试字符,测试字符包括数字、汉字、字符等进行发送,单片机(下位机)将进行相应显示,显示完成后,PC机(上位机)将有本地回显,回显出发送的内容和接收到的数据是否显示一致。如果显示一致,则测试系统将会发出串口和单片机连接成功的标志;如果不能一致显示,或者出现乱码以及出现数据错位,或者单片机难以接受上位机数据。

类似这些情况,此系统会开始利用二进制编码进行位校验,当接口和单片机不能通讯时,可能出现硬件或者软件的情况。测试系统会有专门的模块进行处理,将会对通讯过程进行再次发送,如果发送后,得不到单片机的回应信号则说明硬件电路连接存在问题。而出现不能正常显示等情况,则系统会对发出的数据进行位分析,自动对发送的测试数据减少其内容,并重新检测协议的执行,以确定协议上无错。检测是否为硬件的电路产生的干扰。因为可测试多台下位机,所以,数据为广播方式发送,测试时可调整为点-点的发送方式。而系统会在接受到正常返回信号后,自动正常回显。

测试过程中,系统自动调整测试顺序,以最快的速度对所有下位机进行测试,常规情况下是顺序测试。如果某个单片机和串口通信出现问题,则系统会跳过出问题的目标机,继续向下检测,并同时记录下该机的问题。

在所有目标机被测试完成后,对出问题的机器再进行点点的测试,以确定其状况和问题所在。如果多目标机出现问题,则可对他们同时采取处理,启用多个进程进行实现,以提高效率。该系统最多可同时对8个目标机进行检测,超过8个,系统会自动进行任务保存,以进行第二批处理。

4 系统软件具体实现

软件系统主要完成的功能是单片机串口的初始化和双机通讯,完成软件测试。而单片机初始化包括下面内容:串行控制器SCON的设置,定时器方式控制寄存器TMOD及T1的定时初始值的设置,专用寄存器PCON的SMOD位的设置。

在测试开始时,PC机先送出测试开始标志(本系统用ASCII码的1AH),接着发送各下位机的地址信号,再送出本次测试要发送的数据个数信息,最后是连续发送出测试数据。下位机采用查询方式接受数据,当RI被激活时,读入数据,判断是否是1AH,如果是,则继续等待接受下一个数据,判断是否在呼叫自己,若是,则往下接受第3个数,即本次要接受的数据个数,并按照其所给信息相应设定往下要连续接受的数据个05数。

上位机的串行通讯本系统采用异步串行通讯,该通讯测试程序是顺序结构。主要操作是上位

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top