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

发布者:masphia最新更新时间:2012-02-15 来源: 现代电子技术 关键字:串口  单片机  通讯协议 手机看文章 扫描二维码
随时随地手机看文章

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信号入口(串口)可以输入信号,对串口和单片机的通讯进行字符、数字、显示等测试。[page]

3 测试方法和内容

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

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

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

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

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

4 系统软件具体实现

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

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

    上位机的串行通讯本系统采用异步串行通讯,该通讯测试程序是顺序结构。主要操作是上位机向下位机发送通讯测试开始标志“1AH”和下位机的联络地址,指令下位机接受数据个数的信息以及测试数据的正确显示。流程图如图3所示。[page]

    上位机测试系统数据测试界面如图4所示。





    各台下位机用查询方式接收数据,等待接收到数据,进行输出对比。如果显示输出与发送一致,则说明通讯测试成功。单台下位机接受流程图如图5所示。

5 结 语

    该系统充分利用了计算机串口和外设进行通讯的功能,该系统还可以稍加改动与其余类型单片机进行通讯测试。由于串口使用简单,通讯方便,越来越多的外设测试系统利用此种技术。此测试系统具有使用硬件少、可靠性高的优点。经实践证明,在多种环境下运行情况良好。

参考文献
[1] Charles Wright.Visual C++程序员实用大全[M].北京:中国水利水电出版社,2001.
[2] 孙涵芳,徐爱卿.MCS-51/96系列单片机原理及应用[M].北京:北京航空航天大学出版社,1988.
[3] 余小平,奚大顺.PC机并口与单片机间的数据传送[D].2001嵌入式系统及单片机国际学术  交流会论文,2001.
[4] 张海藩.软件工程导论[M].北京:清华大学 版社,1998.
[5] 马明建,周长城.数据采集与处理技术[M].西安:西安交通大学出版社,1998.
[6] 张磊.虚拟仪器测试系统中数据共享的实现[J].计算机自动测量与控制,2000,
关键字:串口  单片机  通讯协议 引用地址:计算机串口与单片机通讯测试系统的实现

上一篇:单片机总线接口芯片及其ISA模式应用
下一篇:基于80C196MC单片机的自动定位系统

推荐阅读最新更新时间:2024-03-16 12:53

具有波特率自适应功能的无线数据传输模块设计
1 模块总体结构 基于nRF401无线数据传输器件的数传模块总体硬件结构如图1所示,主要由微控制器和蓝牙芯片及其相应的外围电路组成,能自动完成波特率识别,并进行数据的编码处理,给用户提供了一个透明的数据接口。微控制器选用Atmel公司推出的可在线编程的单片机AT89S51,便于以后软件的升级。通过对发送数据是否需要曼彻斯特编码、所需外围元件的数量、功耗及发射功率等方面的因素综合比较,选用nRF40l作为无线数传器件。 nRF401是单片无线收发器件,采用蓝牙核心技术设计,内部集成高频发射、高频接收、PLL合成、FSK调制、FSK解调、多频道切换等诸多功能和外围部件协议,是目前集成度最高的无线数传产品,也是唯一可以直接连接微控制
[网络通信]
东芝推出面向电机控制的Arm® Cortex®-M4微控制器
东芝推出TXZ+TM族高级系列首批产品——面向电机控制的Arm® Cortex®-M4微控制器 中国上海,2021年7月29日——东芝电子元件及存储装置株式会社(“东芝”)今日宣布,已开始量产M4K组12款面向电机控制的新产品,这也是TXZ+TM族高级系列的首批产品。东芝还将于2021年8月开始量产M4M组的其他10款产品。M4K组和M4M组微控制器都将以40纳米工艺生产,同属TXZ4A+系列。 上述产品使用搭载FPU的Arm Cortex-M4内核,运行频率高达160MHz,集成了电机控制电路A-PMD(高级可编程电机驱动器)、32位编码器A-ENC(高级编码器)和矢量引擎A-VE+(高级矢量引擎+)。 上述产
[嵌入式]
东芝推出面向电机控制的Arm® Cortex®-M4<font color='red'>微控制器</font>
深入理解MSP430单片机IO
一、MSP430单片机的端口概述 P1~P6每组有8个I/O 口,P3,P4,P5,P6具有I/O,及其它片内外设功能,每组具有4个寄存器。P1,P2除具有上述功能外还具有中断能力,每组具有7个寄存器。 二、PX端口 1. P1,P2端口 (1)PxDIR 输入/输出方向寄存器(x代表1,2) 相互独立的八位分别定义了Px7~Px0,8个引脚的输入输出方向。 0 输入模式,只能读。 1 输出模式,可读可写。 8为在PUC后都被复位及置为0. Eg:P1DIR=0X0F; 这里0X0F为16进制表示,对应的二进制为00001111,即将P1DIR的高4位置0,低4位置1,也就是将P1.7,P1
[单片机]
PIC单片机以及51和AVR单片机的IO口操作方法解析
对于pic单片机的学习,很多朋友总是能充满激情,不断利用闲余时间研究pic单片机的各类技术。而谈及pic单片机,必须牵扯至51、AVR单片机。因此本文中,将探讨pic单片机以及51、AVR单片机对于IO口的操作。对于本文,希望大家认真研读,以在pic单片机的学习之路上更为精进。 一.51单片机IO口的操作 51单片机IO口的结构比较简单,每个IO口只有一个IO口寄存器Px,而且这个寄存器可以位寻址,操作起来是所有单片机里最简单的,可以直接进行总线操作也可以直接进行位操作,这也是51单片机之所以成为经典的原因之一。下例的运行坏境为Keil软件,器件为AT89S52。 #i nclude sbit bv=P2^0;//定义位变量
[单片机]
PIC<font color='red'>单片机</font>以及51和AVR<font color='red'>单片机</font>的IO口操作方法解析
AVR单片机复位:看门狗复位、上电复位、掉电复位
看到大家对复位特别是AVR单片机内部的复位功能还不太清楚,现在这里简单说一下,希望在家能有个总体的认识。不对之处希望大家指出,觉的好就帮忙顶两下。 AVR单片机复位大概有:上电复位、掉电复位、看门狗超时复位、外部复位,这么四种。 上电复位:就是在一通电的时候对单片机进行复位,这和我们外接RC复位电路的作用是一样的, AVR 单片机内部带有上电复位功能。 掉电复位:就是在单片机运行过程中电压突然跌落,这个时候单片机会出现很多不确定的现象,所以在这个时候需要将单片机复位,让它处于一个确定的状态。这就是BOD功能,一个非常实用的功能,AVR单片机带有这个功能。 看门狗复位:这是我们常说的看门狗了,就是当程序进入某个地方长时间没有响应
[单片机]
8 位微控制器在SoC 的应用
过去 15 年来,许多人都曾预测 8 位微控制器即将退出舞台,然而这却是电子产业失误最大的预测之一;事实上,虽然 16 和 32 位产品已极为常见, 8 位微控制器的需求仍继续成长,总值约达到今日 100 亿美元全球微控制器市场的一半。推动 8 位市场快速发展及成长的动力主要来自于 8 位产品效能的大幅提升,特别是以 8051 系列为基础的产品,其它原因还包括芯片内建功能的加强以及不断缩小的封装体积。今天,这类组件已能提供高达 100 MIPS 的产出,这是 8 位微控制器在短短几年前还无法想象的事情。然而重要的不仅是原始运算效能,真实世界是个模拟世界,因此系统也需要模拟和混合讯号功能,而且最好内建于芯片中
[单片机]
8 位<font color='red'>微控制器</font>在SoC 的应用
单片机的负载电容问题
单片机晶振旁边两个对地电容叫晶振的 负载电容 ,分别接在晶振的两个脚上和对地的电容,一般在几十皮发。它会影响到晶振的谐振频率和输出幅度,一般订购晶振时候供货方会问你负载电容是多少。 一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振 。晶振负载电容值指的是晶振的交流电路中参与振荡与晶振串联或者并联的负载电容值。晶振的电路频率主要是有晶振自身决定,既然负载电容参与电路振
[单片机]
AT93C46/56/55串行EEPROM及单片机程序
摘要:AT93C46/56/66是Atmel公司生产的低功耗、低电压、电可擦除、可编程只读存储器,采用CMOS工艺技术制造并带有3线串行接口,其容量分别为1kB/4kB,可重复写100万次,数据可保存100年以上。文中介绍了该存储器的引脚功能和指令时序,给出了AT93C46/56/66和单片机的接口应用电路和软件程序。 关键词:EEPROM 存储器 接口应用 程序 AT93C46/56/66 16位单片机以其适于高速控制场合及功能多等优点已在工业控制领域中占领了一定的市场。由于EEPROM能在不脱离系统的情况下修改其存储单元中的内容,故在16位单片机中的应用愈来愈广泛。本文结合16位机的特点,详细介绍AT93系列EEPROM
[缓冲存储]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved