串行范文10篇

时间:2023-04-04 12:48:36

串行范文篇1

关键词:串行扩展平台时序

应用串行接口芯片扩展系统时,在初步选择了串行接口的芯片后,为了对芯片的资源更好地了解,开发者一般在系统设计前搭建一个简单的硬件电路并编制相应的软件对其测试,待性能验证后再确定最终的设计方试的实验平台。该平台以PC机为人机接口、采用单片机产生芯片串行通信时序。应用这一平台可以大大简化芯片使用前的测试过程。这一平台也为单片机串行扩展的初学者提供了快捷的学习工具。本平台目前集成了SPI、One-wire、Microware、I2C四种串行接口,在今后的使用中,可根据需要增加串行接口的种类。

1串行扩展平台的结构

SPI、One-wire、Microware、I2C是目前单片机应用系统中最常用的几个串行扩展接口。具有I2C和One-wire接口的器件都有自己的地址编号,单片机通过软件选通器件;而SPI和Microware扩展接口芯片首先要通过单片机I/O口线选通其片选脚,然后才能对其进行操作。这四种串行扩展接口都有不同的时序要求,但每一种总线的基本时序要求都是一致的,对芯片的操作无非是读出或写入,所不同的是具体的数据字节内容,只要按照各自的时序和命令操作,即可实现芯片功能。本文的串行扩展平台就是基于这一方法搭建的。

串行扩展平台由两部分组成:上位机部分由PC机构成,具有人机接口界面,操作起来方便直接;下位机部分由单片机及扩展接口电路构成,并通过RS-232接口与上侠机通信。

下位机的核心是AT89C51单片机。单片机本身并没有SPI、One-wire、Microware、I2C接口,使用虚拟器件技术,在单片机内采用模块化设计思想固化四种接口的串行访问子程序,通过软件调用完成这几种串行扩展的时序,用单片机的普通I/O口线模拟出四种串行接口,在下位机电路板上留有较大的通用板空间或用标准的连接器将串行接口引出,便于与待测芯片连接。AT89C51单片机没有RS-232接口,但它的UART口可以采用MAX232等芯片扩展出简单的RS-232接口,与上位机的RS-232接口相接。下位机的结构如图1所示。

测试时,将待测芯片与对应的串行接口相连,操作者在上位机将访问命令和数据通过RS-232接口下传给下位机;下机单片机对其分析后调用相应的时序模拟程序访问待测芯片,并将结果通过RS-232接口上传给上位机,在上位机显示。从整个测试过程来看,只要关心命令和数据的输入和输出。不必关心具体时序,近似一种透明的操作。测试后,只需对单片机中的子程序稍加裁减,即可移植到实际应用软件中,为开发提高了方便。下面将分别分别这四种串行通信接口的实现。

2四种串行通信接口的实现

在串行扩展中,可以根据接口主器件的数量分为单主器件系统和多主器件系统。其中单主器件系统应用最普遍。在单主器件系统中,具有一个主控制器件和多个从器件,数据的传送由主器件控制。主器件启动和停止数据的发送,提供同步时钟信号。在应用中使用种类最多的是功能繁多的从器件。本文的串行扩展平台主要针对这些从器件应用设计。所以该平台采用单主器件系统结构,只考虑用单片机的通用I/O口线模拟主器件访问从器件的时序逻辑。

2.1I2C总线接口时序

I2C串行总线是Philips公司推出的一种板内芯片间串行总线。它用两根连线即可方便地实现器件扩展。图2给出了主器件对从器件访问的基本读写时序,SDA为数据线,SCL为时钟线。

I2C总线上数据传送的基本单位为字节,采用低位在前的格式。主从器件之间一次传输的数据称为一帧,由启动信号、若干个数据字节和应答位以及停止信号组成。可以看出,I2C的主要命令只有读、写两种情况,虽然读写的字节根据具体器件的不同而不同,但其时序关系不会发生改变。根据这一点,下位机只要具备I2C的基本时序即可。这些基本时序包括:启动、写字节、读字节、应答位、停止信号,并可以组合成两个字程序:读N字节子程序、写N字节子程序。

2.2串行接口SPI

SPI(同步串行外设接口)由Motorola公司推出,它是一种三线同步接口,分别为同步信号、输入信号和输出信号。另外每个扩展芯片还需要一根片选线,主器件通过片选线通与其通信的从器件。图3给出了SPI的时序图。其中,SCK为同步时钟脉冲,SS为片选线,MOSI为主器件的数据输出和从器件的数据输入线,MISO为主器件的数据输入线和从器件的数据输出线。

图5One-wire总线复位和应答时序

SPI是全双工的,即数据的发送和接收可同时进行。如果仅对从器件写数据,主器件可以丢弃同时读入的数据;反之,如果仅读数据,可以在命令字节后,写入任意数据。数据传送以字节为单位,并采用高位在前的格式。SPI接口的通信程序可简化的:写读N字节子程序。

2.3Microware串行通信接口

NS公司的Microware是串行同步双工通讯接口,由一根数据输出线、一根数据输入线和一根时钟线组成。所有从器件的时钟线连接到同一根SK线上,主器件向SK线发送时钟脉冲信号,从器件在时钟信号的同步沿输出/输入数据。主器件的数据输出线DI和所有从器件的数据输入线相接,从器件的数据输出线都接到主器件的数据输入线DO上。与SPI接口类似,每个从器件也都需要另外提供一条片选通线CS(注意:它采用高选通方式)。

图4给出了主器件对从器件操作的基本时序,包括写起始位、写操作码和读字节,数据交换采用高位在前的格式。图4中给出了读两个字节时的情况,在主器件写完起始位和操作码后,从器件会应答一个“0”。该应答位在主器件写完操作码的最后一位时给出。在本文中,主器件速度较慢,可以不考虑等待该闰。Microware接口的通用子程序有:启动子程序,读N字节子程序、写N字节子程序。不同的Microware器件支持的起始位、操作码有所不同,但可人为组成合适的字节。

2.4One-wrie总线

One-wire总线是DALLAS公司研制开发的一种协议。它由一个总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合One-wire协议的从芯片都有一个唯一的地址,包括48位的序列号、8位的家庭代码和8位的CRC代码。主芯片对各个从芯片的寻找依据这64位的不同来进行。

图6one-wire总线位写和位读时序图7one-wire总线写一个字节时序图

One-wire总线利用一根线实现双向通信。因此其协议对时序的要求较严格,如应答等时序都有明确的时间要求。基本的时序包括复位及应答时序、写一位时序、读一位时序,如图5和图6所示。

在复位及应答时序中,主器件复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读回或写出数据。为了与其它模拟接口的子程序在结构形式上尽量一致,在One-wire模拟时序程序中把位读和位写时序拓延,形成像位在前的字节读写时序,写个字节的时序如图7所示。最终形成三个字程序;复位及应答子程序、写N个字节子程序和读N个字节子程序。

2.5下位机软件

从功能上来说,下位机软件的作用是接收位机发出的命令,分析命令,根据命令对各时序子程序进行组合和调用,形成正确的访问地序逻辑;如果有返回数据,还要将返回数据回送上位机显示。前面已经对四种串行接口的模拟时序子程序进行了简要介绍,由于篇幅所限,无法对每个子程序进行详细的说明,进一步的时序说明,可以查阅有关的参考文献和相关手册。这里只给出下位机软件总体流程,如图8所示。有关上位的命令在上位机与其通信的协议中介绍。

图8下位机软件流程图

3上位机通信软件的实现

串行范文篇2

关键词:液晶显示驱动器I2C串行总线MSP430

1概述

点阵式液晶与外部的硬件接口简单,能以点阵或图形方式显示出各种信息,因此在电子设计中得到广泛应用。但是,对它的接口设计必须遵循一定的硬件和时序规范,不同的液晶显示驱动器,可能需要采用不同的接口方式和控制指令才能够实现所需信息的显示。某些液晶显示驱动器与外部的接口必须采用串行方式,而其串行接口往往不是标准的串行接口,这就为这类液晶显示驱动器的设计带来了困难。

针对上述问题,本文提出一种利用微控制器(MCU)的I/O端口,通过软件设计模拟与所使用的液晶显示驱动器规范相符的串行总线的设计思想,实现MCU对液晶显示驱动器的控制,从而建立起一套不但可以显示各种字符,而且可以动态显示曲线的游人显示系统。

2系统设计

本文所建立的液晶显示系统,选用美国德州仪器(TI)公司的MSP430F149微控制器来控制液晶显示驱动器uPD16682A,从而实现各种信息的显示。

2.1MSP430F14X微控制器简介

TI公司的MSP430F14X微控制器与其它MSP430系列微控制器相同,均甚至一个真正的正交16位RISCCPU内核:具有16个可单周期全寻址的16位寄存器,仅27条的精简指令集以及7种均采用双重取数据技术(DDFT)的一致性寻址方式。DDFT技术利用每个时钟脉冲对存储器进行两次数据存取操作。从而不再需要复杂的时钟乘法和指令流水线方案。

MSP430F14X系列MCU片内不但包括60多KB的Flash、2KB的RAM、一个看门狗时钟、12位16通道的A/D转换器、定时器、高精度比较器、PWM以及高速的USART控制器等常用资源,还在某些型号中集成了LCD控制器。其I/O资源丰富,且每个输入/输出(I/O)引脚上都提供了矢量中断功能,每个器件都支持复杂的事件驱动型操作。同其它微控制器相,带片内Flash的微控制器可将系统功耗降低5倍,并且减小了硬件线路板空间,与现代程序设计技术(如计算分支以及高级语言(如C语言)结合使用,使得MSP430的体系结构更为高效。

MSP430F14X可采用一个集成的数字控制振荡器(DCO)或外部高速晶振对系统进行定时,其工作电压范围为1.8~3.6V,并可根据需要提供高达8MIPS(每秒百万条指令)的操作性能,对于对成本非常敏感的应用,该系列器件能够采用DCO来工作而无需外部晶振,快速的指令执行周期配之以低于6ms的等机启动时间,使得系统总功耗比竞争器件低了10倍,大大延长了诸如公用设施计量、便携式仪表测试和智能检测等工程应用系统中的电池使用寿命。

MSP430F14X系列微控制器允许用户使用标准C语言进行程序编程,并提供高效的C语言编译环境;配之以支持对具有仿零点功能的快闪产品进行丰取的快速实时仿真工具FET及优良的调试环境,使MSP430F14X系列微控制器在工程设计中得到了广泛应用。

2.2液晶显示驱动器uPD16682A简介

uPD16682是NEC公司2001年初推出的液晶显示驱动器,该产品内置大容量显示RAM内存,并能够提供132×65点阵的全点显示,特别适合用于16×16或12×12点阵中、日文字符显示。该产品采用+3V单电源供电,内置升压电路并具3倍压和4倍压两种工作模式,支持8位串行或并行数据的输入,内置时钟发生电路和程序可编程控制的偏压电路。

(1)uPD16682A的显示内存

uPD16682A的显示RAM内存保存着被显示内容的点阵信息。显示RAM的每一位对应显示屏上的一个点,总共可以存储132×65点的信息;通过选择对应的RAM页地址和列地址,微控制器可以访问其中的任何一个点。微控制器对uPD16682A的显示RAM的读写操作通过uPD16682A的I/O缓冲器进行(串行模式下uPD16682A不支持读操作),并且该读操作和液晶显示屏驱动信号的读取操作是独立的,因此,当显示内存的数据同时被双方访问时,不会出现显示信息的抖动等现象。从微控制器读入的显示数据按照D7~D0的数据位顺序与液晶显示屏的行顺序一一对应,其显示关系对应图如图1所示。如果在系统中使用了多片uPD16682A,则在片间进行显示数据的转移和显示一整幅图案时用户就会有很大的自由度。

(2)uPD16682A与微控制器的接口

uPD16682A可以通过8位双向数据总线(并行模式下)或者通过串行总线接收来自微控制器的数据,这两种模式可以通过将其P/S引脚置高或置低进行选择。当工作于并行输入模式下时,uPD16682A的片选信号端、读写信号端以及控制信号端(A0)和数据线(D0~D7)都应该同微控制器的对应端口进行连接。此时uPD16682A内部显示RAM的数据以刷新液晶显示的内容,也可以通过数据总线读取显示内存的内容。当工作于串行模式下,uPD16682A仅使用数据线D6输入串行数据,即串行总线的数据输入端(SI),数据线D7被用作时钟输入(SCL)端,并将片将信号和控制信号(A0)同微控制器总线进行连接,置高或接地读写信号。此时uPD16682A内部显示RAM的数据访问是单向的,即微控制器只可以向显示RAM写数据以刷新液晶显示的内容,但不可以读取显示RAM的内容。

(3)uPD16682A的串行接口

uPD16682A的串行接口是TTL电平,不是标准的串行接口,对串行数据的接收没有具体波特率、数据接口协议的要求,内部包括1个8位的移位寄存器和1个3位的计数器。UPD16682A在每个串行时钟的上升沿将串行数据捕获到其内部的移位寄存器,同时计数器自动加1。当串行数据按照D7~D0的顺序被依次捕获到后,在第8个时钟周期的上升沿,已接收到内部的8位串行数据被转换成一个8位的并行数据;同时,uPD16682A读取控制信号线A0上的电平,并且根据A0信号来判断当前被写入的8位串行数据是一个显示数据还是一个控制命令。对控制信号线A0的读操作由uPD16682A的内部定时器来控制,在每隔8个串行时钟之后自动操作一次。

(4)uPD16682A的控制指令

uPD16682A通过读取其控制信号线A0的电平来判断当前从片外设备接收的数据是一个显示数据还是控制命令。当A0电平为高时,认为接收到的是一个显示数据;而当A0电平为低时,则认为接收到的是一个显示控制命令。利用uPD16682A的控制命令可以实现对uPD16682A大多数操作的控制。

2.3uPD16682A与MSP430F149的硬件接口设计

图2是系统uPD16682A与MSP430F149的硬件接口示意图。图中系统采用4MHz晶振,并由系统时钟分频得到其它内外设所用的时钟。MSP430F149和uPD16682A相连接的I/O口被定义为输出,MSP430F149利用片内12位A/D采集传感器变换后的电压信号。经程序处理后,通过上述I/O口传送到uPD16682A进行信息显示。由于驱动液晶显示的电压需要十几V,如果系统板采用+3V单供电,则液晶显示驱动器必须采用片内升压电路。图中uPD16682A采用内部4倍压连接方式。

2.4软件设计

MSP420F149允许用户标准C进行编程,并提供高效的C编译环境。如果对程序运行时间的要求不是很荷刻,采用C语言进行程序开发应当是编程人员的首先。以下主要介绍关于自定义串口总线的程序设计,同时介绍一种在uPD16682A下的画点和画线函数,提供在衅符显示屏下显示曲线的实现方法,从而为程序实现动态显示波形提供了可能。

2.4.1串行口控制程序

微控制器送往uPD16682A的数据有显示数据或显示命令两种。两者的区分由uPD16692A控制信号线A0的状态来表征,因此将MSP430F149的Port2.2端口电平置高或置低就可控制uPD16682A的状态。

按照uPD16682A串行接口听原理,为了向其写入一个8位或16位的数据,首先必须通过程序设计向uPD16682A产生一个时钟输出。时钟产生可以有两种方式。一是利用微控制器定时器中断,定时依次从I/O端口输出高、低电平。二是利用指令产生和数据同步的时钟脉冲,通过产生一个电平的跳变沿将位数据送到uPD16682A,然后通过逐次移位,就可以将一个8位数据写进uPD16682A内部的数据锁存器。在第8个时钟脉冲的上升沿,锁存器中数据炙一个8位的并行数据,同时根据A0信号线睥电平来显示图符或执行相应的控制命令。虽然这里的串行数据的发送没有具体波特率和数据接口协议的要求,但是在编写程序时,必须认真考虑串行方式下各个信号的时序。以下是向uPD16682A写入一个8位控制命令的程序:

voidSet_Address(unsignedcharcolumn,unsignedcharpage){

unsignedcharColH,ColL;

//设页地址

ColH=page|0xB0;

Write_Command(ColH);

//设列地址

ColH=(column&0xF0)>>4;

ColH|=0x10;

ColL=column&0x0F;

Write_Command(ColH);

Write_Command(ColL);

}2.4.2字符显示屏上的曲线绘制程序

有了上述程序,就可以方便地在uPD16682A上指定位置显示设定的图案和字符了。如果用户需要动态地展示信号波形和曲线,还可设计出专用的画点和画线函数,从而大大提高了字符液晶显示屏的动态图形显示能力。通常而言,液晶显示屏上的一点对应液晶显示驱动器显示RAM中的一位。显示RAM中的某位为1,则在液晶显示屏上的相应点即为点亮状态;而要想实现在液显示屏上动态的显示点和曲线,必须用到显示RAM中的数据。通常的做法是读取指定点周围的数据,然后在这些点中的某个指定位置插入1位,从而将液晶显示屏上的指定点点亮,这就是基本的画点原理。但是,在串行方式下,uPD16682A不具备数据读出能力。为此,我们仿照显示RAM显示的方式,在MSP430F149的数据区开辟了一块和uPD16682A显示RAM同样大小的内存块,在向uPD16682A显示RAM写入显示数据的同时,也向该内存块的对应位置写入同样的数据,保证了该内存块的内容和uPD16682A显示RAM中的数据是同步刷新的。因此在画点函数中,我们直接从该内存块中取出需要的显示数据进行处理,然后再通过自定义串行总线送往uPD16682A进行显示。用这种方式,我们实现了在液晶显示屏的任意位置画出一个点,并且还可以利用这种方式编制自己的画线函数,这样就使uPD16682A具备了动态显示波形的能力,也就扩展了字符液晶显示屏动态曲线波形的显示功能。以下是uPD16682A编写的画点函数:

voidDrawPointXY(unsignedcharx,unsignedchary){

unsignedcharpage,dot,dat,CouL,CouH;

dot=0x01;

page=y/8;/*计算当前点页地址、列地址*/

r_page=page;/*点亮当前点并保持周围点信息不变*/

r_column=x;

page|=0xB0;

dat=y%8;

dot=dot<

CouH=(x&0xF0)>>4;

/*通过自定义串行总线向uPD16682A发送数据*/

CouH=CouH|0x10;

CouL=(x&0x0F);

Write_Command(page);

Write_Command(CouH);

Write_Command(CouL);

dat=DisplayRam[r_page][r_column];

dat|=dot;

Write_DisplayData(dat);/*向显示RAM写入数据*/

}

程序中的二维全局数组DisplayRam[][]即为在MSP430F149中开辟的内存块,用于保存当前uPD16682A显示RAM中对应位置的显示数据。全局变量r_page和r_column分别保存8位显示数据的页地址和列地址。

如果想进一步实现曲线的显示,程序中则需要计算两个点之间在X方向和Y方向上的偏差,并依据偏差大小来插入要显示的点。本系统中,用这种设计方法获得了平滑的曲线显示效果。

串行范文篇3

一、前言

随着近几年对速率的要求快速提高,新的总线协议不断的提出更高的速率。传统的总线协议已经不能够满足要求了。串行总线由于更好的抗干扰性,和更少的信号线,更高的速率获得了众多设计者的青睐。而串行总线又尤已差分信号的方式为最多。而在我们的项目中的PCI-Express串行信号线正采用了LVDS技术。

二、串行LVDS信号的PCB设计

2.1差分信号的概念和有点

差分信号(DifferentialSignal)在高速电路设计中的应用越来越广泛,电路中最关键的信号往往都采用差分结构设计。何为差分信号?通俗地说,就是驱动端发送两个等值、反相的信号,接收端通过比较这两个电压的差值来判断逻辑状态“0”还是“1”,而承载差分信号的那一对走线。差分信号与普通的单端信号走线相比,最明显的优势体现在以下三个方面:

抗干扰能力强。因为两根差分走线之间的耦合很好,当外界存在噪音干扰时,几乎是同时被耦合到两条线上,而接收端关心的只是两信号的差值,所以外界的共模噪声可以被完全抵消。能有效抑制EMI.由于两根信号的极性相反,他们对外辐射的电磁场可以互相抵消。耦合的越紧密,相互抵消的磁力线就越多。泄露到外界的电磁能量越少。

时序定位精确。由于差分信号的开关变化是位于两个信号的焦点,而不像普通的单端信号依靠高低两个阀值电压判断,因而受工艺,温度的影响小,能降低时序上的误差,同时也更适合于低幅度信号的电路。目前流行的LVDS就是指这种小振幅的差分信号技术。

2.2LVDS信号在PCB上的设计要点

LVDS信号被广泛的应用于计算机、通信以及消费电子领域,并被以PCI-Express为代表的第三代I/O标准中采用,而在我们的项目中PCI-Express信号正是采用LVDS信号。LVDS信号不仅是差分信号,而且还是高速数字信号。因此LVDS传输煤质不管使用的是PCB线还是电缆,都必须采取措施防止信号早煤质终端发生反射,同时应减少电磁干扰以保证信号的完整性。只要我们在布线时考虑到以上这些要素,设计高速差分线路板并不很困难。LVDS信号在PCB上的设计要点:

布成多层版。有LVDS的电路板一般都要布成多层板。由于LVDS信号属于高速信号,与其相邻的层应为地层,对LVDS信号进行敝屏防止干扰。对于密度不是很大的板子,在物理空间条件允许的情况下,最好将LVDS信号与其他信号别放在不同的层。LVDS信号阻抗计算与控制。LVDS信号的电压摆幅只有350mV,适于电流驱动的差分信号方式工作。为了确保信号在传输线当中传播时不受反射信号的影响,LVD信号要求传输线阻抗受控,通常差分抗阻为100+\-10Ω阻抗控制的好坏直接影响信号完整性及延迟。如何对其进行阻抗控制呢?

确定走线模式、参数及阻抗计算。LVDS分外层微带线差分模式和内层带状线差分模式。阻抗可以通过合理设计参数,利用相关软件计算得出。通过计算,阻抗值与绝缘层厚度成正比,与介电常数、导线的厚度及宽度成反比。

走平行等距线及紧耦合原则。确定走线线宽及间距后,在走线时严格按照计算出的线宽和间距,两线的间距要一直保持不变,也就是要保持平行(可以放图)。同时在计算线宽和间距是最好遵守紧耦合的原则,也就是差分对线间距小于或等于线宽。当两条差分信号线距离很近时,电流传输方向相反,其磁场相互抵消,电场相互耦合,电磁辐射也要小的多。而且要两条线走在同一层,避免分层走线。因为在PCB板的实际加工过程中,由于层叠之间的层压对精确度大大低于同层蚀刻精度,以及层压过程中的介质流失,不能保证差分线的间距等于层间介质厚度,会造成层间差分对的差分阻抗变化。

走短线、直线。为确保信号的质量,LVDS差分对走线应该尽可能地短而直,减少布线中的过孔数,避免差分对布线太长,出现太多的拐弯,拐弯尽量用45°或弧线,避免90°拐弯。

不同差分线对间处理。LVDS对走线方式的选择没有限制,微带线和带状线均可,但是必须注意要1有良好的参考平面。对不同差分线之间的间距要求间隔不能太小,至少应大于3-5倍差分线间距。必要时在不同差分线对之间加地孔隔离以防止相互间的串扰。LVDS信号尽量远离其他信号。

LVDS差分信号不可信号以跨平面分割。尽量两根差分信号互为回流路径,跨分割不会割断信号的回流,但是跨分割部分的传输线会因为缺少参考平面而导致阻抗的不连续。公务员之家

接收端的匹配电阻的布局。对接收端的匹配电阻到接收管脚的距离要尽量靠近。同时匹配电阻的精度要控制。你对于点到点的拓扑,走线的阻抗通常控制在100,但匹配电阻可以根据实际的情况进行调整。电阻的精确度最好是1%-2%因为根据经验,10%的阻抗不匹配就会产生5%的反射。

三、结语

有以上分析可知,在高速串行信号的设计中,不仅考虑电路设计,其版图设计也很重要,而随着信号的频率越来越大,影响信号的延时、串扰、信号完整性等因素越来越复杂。同时控制这些因素的影响也越来越困难,工程师必须深入的分析布线设计,科学的分析方法,才能给复杂的高速设计正确的指导,减少修正周期确保设计成功。

串行范文篇4

关键词:串行通讯;数据采集;集散控制;RC232;RS422

由于RS-422总线具有抗干扰能力强、通讯速率高、通讯距离远、可以与多台从机通讯等特点,所以,该总线在数据采集、监控管理及集散控制系统的主从式多机通讯系统中得到普遍应用。但是,若在一条RS-422通讯总线上连接过多的从机,则有可能会由于总线负担过重,而使系统可靠性变差,有时甚至会导致整个系统无法正常工作。

为了解决RS422总线在实际应用中可能出现的问题,笔者设计出一种以可编程逻辑阵列GAL16V8为核心的串行口扩展电路。它可将微机的一路RS232串行口扩展至4路RS-422串行口。该电路通过主机软件对DTR、RTS控制信号的编程,可以和任选通讯接口的从机进行数据通讯;也可以不用DTR、RTS控制信号,而直接实现主机与全部通讯接口的从机之间的数据通讯,同时可在不改变原来软件的情况下,做到即插即用。

本电路采用DC-DC隔离电源供电,主机与通讯接口之间采用高速光耦来实现光电隔离,从而增强了主机系统的抗干扰能力。此外,该扩展电路还具有不占用系统资源、结构简单、使用方便、通用性强和性能可靠等特点,因此,可广泛应用于全双工通讯方式的主从式多机通讯系统。

在实际的煤气泄漏巡检系统中,笔者用该扩展电路组成的主从式多机通讯网络,实现了主机与40多台数据采集装置之间的数据通讯,而且保证了通讯性能的稳定可靠。

1电路的整体结构

图1所示是这种RS-422串行口扩展电路的结构框图。整个扩展电路分为4个部分,其中,第一部分是DC-DC隔离电源。为了提高整个系统的抗干扰能力,本电路采用隔离电源来进行供电。第二部分是RS-232接口电路,用于实现各信号的RS-232电平与TTL电平的转换;第三部分是RS485/RS422接口电路,主要实现各信号的RS485/RS422电平与TTL电平的转换;第四部分是以可编程逻辑阵列GAL16V8为核心的译码控制电路,主要用于实现对通讯接口的切换。

2电路工作原理

2.1DC-DC隔离电源

为了提高整个系统的抗干扰能力,本电路采用隔离电源供电。DC-DC隔离电源的工作原理如图2所示。电路中的MAX761DC-DC转换芯片是采用PFM(脉冲调频方式)方式来工作的,最高调制频率为300kHz。该芯片内部含有误差放大器、频率调制器和功率驱动管。MAX761只需少数几个元件即可组成DC-DC电源转换电路。而电路中的LT431芯片则是集电极开路的误差放大器,它内含2.5V基准源。

该DC-DC隔离电源主要通过调节输出脉冲的频率(调节脉冲的间歇时间)来使输出电压保持稳定。其稳压过程的原理为:

当输出电压下降时,R4电压、误差、LT431输出、光耦输出电流、R1电压均随之降低。当R1电压小于1.5V基准电压时,在调制脉冲的正半周期,LX端输出低电平脉冲变压器初极电流线性增大,D1反偏截止,此时次极无电流,脉冲变压器开始储存能量;而在调制脉冲的负半周,LX端输出高电平,脉冲变压器释放能量,感应电压经D1(正向导通)输出使输出电压上升。从而使输出电压保持稳定。

实际上,当输出电压升高时,R4电阻上的电压和误差、LT431输出到光耦的输出电流、以及R1上的电压均随之升高,当R1电压大于1.5V基准电压时,在调制脉冲的负半周,LX端输出高电平,脉冲变压器不产生电压。而此时负载消耗将使输出电压下降。从而使输出电压保持稳定。

2.2RS-232接口电路

串行口扩展电路的电路连接如图3所示。图中的MAX238接口芯片含有4路RS-232接口电路,其中一路用于RXD、TXD通讯信号的电平转换,另外两路用于DTR、RTS信号的电平转换。通过主机软件可设置DTR、RTS的状态以选择通讯接口,从而实现主机与连接在此通讯接口上的从机之间的数据通讯。

图3

2.3RS422/RS485接口电路

RS422/RS485接口电路由4片(U3~U6)MAX489芯片组成。MAX489芯片内部含有一组接收、发送电平转换电路。该芯片是全双工通讯方式的RS422接口芯片,芯片上的RE使能端(低有效)用于控制数据的接收,DE使能端(高有效)则控制数据的发送。为便于通讯系统的调试,可以在接收端、发送端和各路发送使能端分别安装一个发光管以观察各路的通讯状态。

2.4译码控制电路

电路中的U1(GAL16V8)是可编程的逻辑阵列,利用该芯片并通过编程可实现译码控制。将主机发出的通讯口选择信号DTR、RTS由IN5、IN6输入到U1,同时将设置开关K1由IN1接入U1这样,当K1、DTR和RTS经译码后,即可由OUT1~OUT5输出到U3~U6的发送使能端,以分别控制4个通讯口的数据发送器,从而完成主机向所选择通讯总线的数据发送;此外,经OUT5~OUT8输出到U3~U6的接收使能端,则可分别控制4个通讯口的数据接收器,以最终使主机通过通讯总线完成从机数据的接收功能。其通讯端口的选择如表1所列。

表1通讯端口选择表

K1DTRRTS通讯端口

0000

0011

0102

0113

1XX全部

串行范文篇5

关键词:编/解码器双口RAMPC串行通信UM3758-108

在遥测、遥控领域中,常常使用工业PC机与单片机组成的多机系统完成测控任务。PC机因其丰富的软硬件资源和友好的人机界面而被用作上位机,而单片机则因其优越的性价比和灵活的功能配置而被用作下位机。上位机和下位机之间通过串行数据总线(如CAN总线、RS485总线等)连接,具体结构如图1所示。在进行数据传输时,一般先由上位机发出地址帧对指定的下位机寻址,在得到确认以后向选中的下位机发送命令和参数,或者接收该下位机采集的数据。但在多机系统中,进行数据通信遇到的一个首要问题是如何区分总线的地址信息和其它的数据信息,这也是各类通信协议和通信规约中的一项重要内容。由于目前所使用的通信协议和通信规约比较复杂,因此在一个简单的主从式多机系统中,往往由开发人员自行定义一些简单的通信协议来解决上述问题。本文介绍一种基于编/解码器的通信方案,较好地解决了多机系统中作为上位机的工控机对各下位机的寻址问题。

1编/解码芯片UM3758-108A

专用编/解码芯片UM3758-108A属大规模CMOS器件,其引脚排列如图2所示:A0~A9为三态编码地址输入;D0~D7为二态锁存式编码数据输入或输出;OSC引脚外接振荡电阻和电容,其值决定发送频率;VSS为电源地;T/R为编码发送与编码收选择引脚,接高电平时为编码发送,接低电平时为接收编码;IN为编码脉冲输入引脚(接收解码时);TX/RX外接驱动电路,为编码发送输出端,该引脚也可作为争码接收正确标志显示(RX输出低电平);VDD为电源正端(3~12V)。

单片UM3758-108A芯片是一个完整的接口电路,集编码发送和解码输出于一身。当T/R端接高电平时,地址码A0~A9和数据码D0~D7构成一个18位的数据帧,从TX/RX端循环不断地串行发送出去;当T/R端接低电平时,编码脉冲由IN端输入,如果接收的地址码连续两次与本地地址码一致,接收数据将按位传送到输出锁存器中,由D0~D7引脚输出。同时TX/RX引脚输出低电平,表示接收正确。

2UM3758-108A在多机通信中的具体应用

使用编/解码器实现PC机与单片机的通信时,需要在PC机和单片机上分别配置编/解码器,以便完成数据信息的发送和接收。由于上位机不仅承担与下位机的通信任务,还要进行数据处理,并以表格或各种图形方式显示出来。如果让上位机直接控制编/解码芯片,通过并行口进行数据收发,在通信量较大的情况下,势必会占用上位机的大部分工作时间,导致整机性能下降。因此在通信量较大的情况下,应在上位机端设计一个智能I/O扩展卡,该卡可插到上位机底板的扩展槽上。为了上位机和扩屏卡之间达到更快的信息交换速度,可以采用共享存储器方式进行数据交换。传统的共用存储器硬件设计比较复杂,应用范围较小。本文采用Maxim公司生产的双端口存储器DS1609,大大简化了共用存储器硬件电路设计。如图3所示,DS1609为256字节双端口RAM,属大规模CMOS器件;具有两个独立的端口,各自拥有一套相应的数据/地址复用总线和控制总线;控制信号只有读、写和片选,尤其适合于和Intel公司的CPU相连;硬件电路设计非常简单。该器件允许两个端口独立地对存储器单元进行存取操作,且由于存储器内部特殊的单元电路设计,端口双方同时对同一个单元进行读操作时无需促裁逻辑;但当端以方同时对同一单元进行读/写或写/写操作时,仍会发生竞争。解决读/写冲突的一个简单办法是执行冗余的读周期,也可使用“邮箱”传送状态信息方式进行软件仲裁,这种方法需给每个端口分配一个字节,用以写入状态信息,以告知对本端正在进行的操作。对于写/写冲突,可给双方分配固定的单元空间,另外,再给每一组数据分配校验和字节,以确保正确的数据交换。图3中DS1609一侧与89C51CPU相连,另一侧通过三态缓冲器与扩展总线相连。

图4为PC机与80C51单片机使用编/解码器实现通信的示意图。UM3758-108A的A0~A9是地址输入端,每位可有三种状态:高电平、低电平、开路。利用其不同的组合可产生310种不同的编码。二态时也有210种不同的编码。智能扩展卡需不断寻址各个下位机,所以利用锁存器将数据输出给编/解码器的地址端,以此可灵活地寻址各个下位机。为了简化起见,图4中省去了一个锁存器,将A8、A9直接悬空。UM3758-108内具有数据锁存能力,无需加锁存器,但需加双向缓冲器以收发数据。下位机端的编码地址用微型开关SW设置,也可用锁存器输出编码地址;但这样做需在下位机工作前,将编码地址由面板输入,和其它需要设定的参数一起保存在存储器(如EEPROM)中,然后再由锁存器输出。后者增加了下位机地址编码的灵活性,但也加重了编程负担。图4中,智能I/O扩展卡用74LS273作为扩展接口,以锁存要寻址的下位机地址,用74LS245收发数据。P1.0为发送数据选择端:P1.0为低电平时,接口处于接收状态;为高电平时,处于发送状态。因此,初始化时,上、下位机的两个接口均应置成接收状态。每个接口的TX/RX端除了作为发送端外,还作为该接口接收正确与否的状态指示端。如果接收正确,该接口输出低电平;否则,为高电平。此端口可作为向CPU发出中断请求的信号。为此,发送数据时,应先关闭接收中断,发送完毕,再打开接收中断。

该通信为半双工方式,且只能由上位机发起,下位机不主动申请通信。当处于轮询状态时,上位机根据下位机的编码地址,向下位机发送呼叫帧。每台下位机都由编/解码器接收并判断,但只有地址相符的下位机才发生中断接收数据,并建立和上位机的联系,以此接收上位机的命令和参数,或将采集的数据上传。由于这种通信方式无差错控制,因此应根据传输速率,精确定时,保证每个发送周期相同的编码信号连续发送3次,以提高通信的可靠性。

使用编/解码器实现PC机与单片机的通信,波特率设置为2400baud,通信距离可达5km以上;不仅可用于数据采集系统、LED屏幕显示系统等有线通信方式,也可采用红外(IR)、超声波(US)等用于无线通信方式,以此可突破地理因素的局限。这种通信方式不仅传输距离远、抗干扰性通强、可靠性高、成本低,而且连接简单、使用方便;通信过程仅仅是读写I/O口的简单操作,编程简单,易于实现。

串行范文篇6

我所做的单片机串行通信发射机主要在实验室完成,参考有关的书籍和资料,个人完成电路的设计、焊接、检查、调试,再根据自己的硬件和通信协议用汇编语言编写发射和显示程序,然后加电调试,最终达到准确无误的发射和显示。在这过程中需要选择适当的元件,合理的电路图扎实的焊接技术,基本的故障排除和纠正能力,会使用基本的仪器对硬件进行调试,会熟练的运用汇编语言编写程序,会用相关的软件对自己的程序进行翻译,并烧进芯片中,要与对方接收机统一通信协议,要耐心的反复检查、修改和调试,直到达到预期目的。

单片机串行通信发射机采用串行工作方式,发射并显示两位数字信息,既显示00-99,使数据能够在不同地方传递。硬件部分主要分两大块,由AT89C51和多个按键组成的控制模块,包括时钟电路、控制信号电路,时钟采用6MHZ晶振和30pF的电容来组成内部时钟方式,控制信号用手动开关来控制,P1口来控制,P2、P3口产生信号并通过共阳极数码管来显示,软件采用汇编语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时显示程序对发射的数据加以显示。

毕业设计的目的是了解基本电路设计的流程,丰富自己的知识和理论,巩固所学的知识,提高自己的动手能力和实验能力,从而具备一定的设计能力。

我做得的毕业设计注重于对单片机串行发射的理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际结合。本课题的重要意义还在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。理解单片机的接口技术,中断技术,存储方式,时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计。

我的毕业设计分为两个部分,硬件部分和软件部分。硬件部分介绍:单片机串行通信发射机电路的设计,单片机AT89C51的功能和其在电路的作用。介绍了AT89C51的管脚结构和每个管脚的作用及各自的连接方法。AT89C51与MCS-51兼容,4K字节可编程闪烁存储器,寿命:1000次可擦,数据保存10年,全静态工作:0HZ-24HZ,三级程序存储器锁定,128*8位内部RAM,32跟可编程I/O线,两个16位定时/计数器,5个中断源,5个可编程串行通道,低功耗的闲置和掉电模式,片内震荡和时钟电路,P0和P1可作为串行输入口,P3口因为其管脚有特殊功能,可连接其他电路。例如P3.0RXD作为串行输出口,其中时钟电路采用内时钟工作方式,控制信号采用手动控制。数据的传输方式分为单工、半双工、全双工和多工工作方式;串行通信有两种形式,异步和同步通信。介绍了串行串行口控制寄存器,电源管理寄存器PCON,中断允许寄存器IE,还介绍了数码显示管的工作方式、组成,共阳极和共阴极数码显示管的电路组成,有动态和静态显示两种方式,说明了不同显示方法与单片机的连接。再后来还介绍了硬件的焊接过程,及在焊接时遇到的问题和应该注意的方面。硬件焊接好后的检查电路、不装芯片上电检查及上电装芯片检查。软件部分:在了解电路设计原理后,根据原理和目的画出电路流程图,列出数码显示的断码表,计算波特率,设置串行口,在与接受机设置相同的通信协议的基础上编写显示和发射程序。编写完程序还要进行编译,这就必须会使用编译软件。介绍了编译软件的使用和使用过程中遇到的问题,及在编译后烧入芯片使用的软件PLDA,后来的加电调试,及遇到的问题,在没问题后与接受机连接,发射数据,直到对方准确接收到。在软件调试过程中将详细介绍调试遇到的问题,例如:通信协议是否相同,数码管是否与芯片连接对应,计数器是否开始计数等。

我所设计的单片机串行接口现在已经发展到无线收发的阶段,本文参考无线发射部分就是参考南华大学黄智伟、朱卫华的《单片机与嵌入式系统应用》一文,该串行无线发射电路结构简单、工作可靠,可方便地在单片机与单片机之间,构成一个点对点、一点对多点的无线串行数据传输通道。单片机无线串行接口电路由MICRF102单片发射器芯片、MICRF007单片接收器芯片组成,工作在300~440MHzISM频段;具有ASK调制和解调能力,抗干扰能力强,适合工业控制应用;采用PLL频率合成技术,频率稳定性好;接收灵敏度高达-96dBm,最大发射功率达-2.5dBm;数据速率可达2Kb/s;低工作电压:4.75~5.5V;功耗低,接收时电流3mA,发射时电流7.75mA,接收待机状态仅为0.5μA,发射待机状态仅为1.0μA;可用于单片机之间的串行数据无线传输,也可在单片机数据采集、遥测遥控等系统中应用。

最后介绍了毕业设计做完后的结论以及自己的心得体会。

2硬件

2.1硬件的基本组成:

单片机89C51、6M晶震、30pF电容、22uf/10V电容、1K电阻、共阳极数码显示管、按键。

2.2电路图

(见附录A)

2.3硬件介绍

2.3.1单片机概述

单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初是源于“SingleChipMicrocomputer”,简称SCM。随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。国际上逐渐采用“MCU”(MicroControllerUnit)来代替,形成了单片机界公认的、最终统一的名词。为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一对应解释。在国内因为“单片机”一词已约定俗成,故而可继续沿用。

2.3.1.1单片机的发展历史

如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:

第一阶段(1976—1978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。

第二阶段(1978—1982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。

1.完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。

2.CPU功能单元的集中管理模式。

3.体现工控特性的地址空间及位操作方式。

4.指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。

第三阶段(1982—1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。

第四阶段(1990—):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。

2.3.1.2单片机的发展趋势

目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、电路内装化和串行扩展技术。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强。

2.3.1.3单片机的特点

单片机主要有如下特点:

1.有优异的性能价格比。

2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。

3.制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。

4.低功耗、低电压,便于生产便携式产品。

5.外部总线增加了I2C(Inter-IntegratedCircuit)及SPI(SerialPeripheralInterface)等串行总线方式,进一步缩小了体积,简化了结构。

6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。

2.3.1.4单片机的应用

由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:

1.单片机在智能仪表中的应用

2.单片机在机电一体化中的应用

3.单片机在实时控制中的应用

4.单片机在分布式多机系统中的应用

5.单片机在人类生活中的应用

单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。

A:由单片机组成控制器的结构和特点:

单片微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型计算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM)和各种功能I/O接口集成在一块芯片上的单芯片微型计算机(SingleChipMicroComputer),简称单片机.由于它的结构与指令功能都是按工业控制要求设计的,且近年来单片机着力扩展了各种控制功能如A/D、PWM等,因此我们更多时候称其为一个单片形态的微控制器(SingleChipMicroController),或直接称其为微控制器(MicroController)。

B:用单片机组成的微机控制系统具有以下特点:

1.受集成度限制,片内存储器容量较小,一般片内ROM小于4—8K字节,片内RAM小于256字节;但可在外部进行扩展,如MCS—51系列单片机的片外可擦可编程只读存储器(EPROM)、静态随机存储器(SRAM)可分别扩展至64K字节。

2.可靠性高。单片机芯片本身是按工业控制环境要求设计的,其抗工业噪声的能力优于一般通用CPU;程序指令及其常数、表格固化在ROM中不易破坏;常用信号通道均在一个芯片内,故可靠性高。

3.易扩展。片内具有计算机正常运行所必须的部件,芯片外部有许多供扩展用的总线及并行、串行输入/输出端口,很容易构成各种规模的微机控制系统。

4.控制功能强。为了满足工业控制要求,单片机的指令系统中有极丰富的条件分支转移指令、I/O口的逻辑操作以及位处理功能。一般来说,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。

5.一般的单片机内无监控程序或系统管理软件,软件开发工作量大。但近年来已开始出现了片内固化有BASIC解释程序及FROTH操作系统的单片机,使单片机系统的开发提高了一个新水平。

此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微机产量的70%以上。目前,至少有50个系列400余种机型,性能和结构各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列单片微型计算机。国内普及的几乎都是INTEL公司的产品。

串行范文篇7

关键词:蓝牙数据透传;串行异步通信;数据交互;51单片机

蓝牙技术是基于WPAN(wirelesspersonalareanetwork)的无线网络连接技术,可在固定设备与移动设备之间建立短程收发连接[1]。它属于一种短距离通信技术,应用前景良好。尤其在智能家具、智能穿戴设备的设计中,操作易行的蓝牙数据交互方式受到了消费者的青睐[2]。目前,基于MCS-51系列单片机的产品占有一部分市场,与其配套的各类开发系统和软件也在不断完善。本次研究将针对串行通信电路进行设计,拟实现基于STC89C52的蓝牙数据透传与串行通信功能。

1电路设计

系统涉及硬件部分和电路部分。其中,硬件部分包括手机用户端和51单片机开发板及蓝牙模块。电路部分为手机蓝牙与基于51单片机的蓝牙模块通信电路。其设计框图如图1所示。手机与蓝牙模块之间采用无线通信透传模式,最大通信距离为50m。蓝牙模块与开发板之间采用串口通信方式。

2蓝牙数据透传方式

2.1数据透传的概念。蓝牙透传即透明传输,是蓝牙模块的一种工作方式,一般应用于串口模块双向通信[3-4]。现有的蓝牙串口透传模块可供用户更好地开发蓝牙无线传输产品,其透传协议没有封装,不需要处理,也没有蓝牙底层协议栈操作要求。用户可以参考手册直接使用硬件提供的API(applicationprograminterface)接口来实现数据透传,而不需要更深入地了解蓝牙技术[5]。2.2蓝牙标准及参数配置。目前市面上的产品已经开始应用蓝牙5.0和蓝牙4.2技术。蓝牙技术主要应用于有较大数据吞吐量和抗干扰能力比较强的传输场合,如手机通讯设备和音频数据传输设备。JDY-10M透传模块基于蓝牙4.0标准,工作频段为2.4GHz范围,具有成本低、功耗小、尺寸小、信号强、数据传输稳定等特性。相比于之前的低版本模块,蓝牙4.0版本透传模块具有传输功耗更低、传输距离更远、传输稳定性更好的特点。低功耗蓝牙设计的作用,在于用深度睡眠状态来代替传统蓝牙的空闲状态。在深度睡眠状态下主机长时间处于超低功耗的循环状态,只在需要运作时由核心控制器来启动。因此,这样的设计可实现低功耗模式[5]。以上低成本、低功耗的优点,表明JDY-10M透传模块比较适用于DIY开发。AT指令集用于设置蓝牙模块参数,可将USB转TTL工具的VCC、GND、TX、RX等接口与蓝牙模块对应的管脚相连接。用PC机将蓝牙模块的传输模式设置为透传模式,其命令参数为:AT+CLAS-SA0(每条命令结尾+换行符)。因在单片机串行通信代码中选用的波特率为4800bps,故需将蓝牙模块串口通信波特率设置为4800bps,其命令参数为:AT+BAUD5。串口助手与蓝牙模块参数设置界面如图2所示,具体指令可参考JDY-10M组网模块中文手册。

3STC89C52单片机的串口通信设计

STC89C52单片机是51单片机的增强型,设计中使用STC89C52单片机作为接收终端。51单片机内部有一个全双工串行口[6-7],能同时接收和发送数据。SBUF寄存器包括2个物理结构相互独立的数据接收器、发送缓冲器,通过指令对SBUF寄存器的读写可同时发送和接收,对应的IO口为RXD(P3.0)、TXD(P3.1)。采用异步通信方式,在12MHz晶振频率下,配置通信波特率为4800bps,寄存器SMOD位为1,即寄存器PCON=0x80倍增。在方式2下,定时器T1的初值可自动重装载,定时更加准确,因此波特率发生器工作方式选择T1的方式2。串行通信工作方式选择波特率可变的方式1,即寄存器SCON=0x50。利用中断方式编程,串行中断函数的方式编程需设置允许接收,即REN=1。波特率按式(1)来计算:S=2SMOD32f12(256-X)(1)式中:S为波特率;f为晶振频率;X为定时器T1的初值。

4代码设计与实现

选用普中科技51单片机开发板作为数据接收的载体,将编写好的C代码HEX文件烧写在STC89C52中。主程序与中断服务程序流程如图3所示,对应的中断服务函数如下:voidUsart()interrupt4{unsignedcharreceive;receive=SBUF;//将接收SBUF接收到的数据传给变量receiveRI=0;//消除接收中断标志位数据P2=receive;//请收到的数据赋值给P2的LEDSBUF=receive;//将接收到的数据传给发送SBUFwhile(!TI);//等待发送完毕TI=0;//发送中断标志位清零,为下次发送作准备}通过串口调试助手,先将蓝牙模块配置设为数据透传模式,波特率为4800bps。然后,将蓝牙模块与MCS51单片机的对应管脚相连,进行硬件搭建。在搭建好的硬件上,通电,打开手机蓝牙测试App,搜索蓝牙模块,点击配对。这时,界面会显示蓝牙模块的MAC地址和状态已连接。选择十六进制发送,输入十六进制数55,点击发送。此时,可以在开发板上看到0x55在LED上的显示效果。同时,在App接收界面会收到单片机返回的十六进制数55,以确认发送数据的正确性。由此实现蓝牙数据透传和串口通信的功能,其实测效果如图4所示。

5调试及分析

设置蓝牙模块参数,默认波特率为115200,发送命令AT+BAUD,确认波特率为4800bps。当设置完成后,需要重启蓝牙模块。串行编程中,波特率是否需要倍增,可先将SMOD设为0,用式(1)计算后确定。当初值X得出小数X.5的形式时,就需要倍增,倍增后定时器的初值约等于整数;否则,单片机接收到的数据为误码,不能被LED正确显示,也不能被手机客户端正确接收。6结语针对STC89C52单片机进行串行通信电路设计,实现了蓝牙透传功能。本次设计中,可将手机上的数据经蓝牙透传无线通信方式发送至STC89C52单片机上,并通过LED显示接收到的8位数据;同时,单片机将串口接收到的数据通过蓝牙模块返回至手机App客户端上,以确认发送数据的正确性。

参考文献

[1]张凌,姚萌.蓝牙通信过程解析与研究[J].计算机应用研究,2002(9):146-150.

[2]汪振飞,刘军.基于蓝牙技术的单片机与计算机无线通信系统[J].科技创新导报,2007(35):11-12.

[3]王东波,秦会斌,董胜奎.基于MCS-51和蓝牙的家庭智能照明系统设计[J].无线互联科技,2013(7):199-200.

[4]张文海.基于物联网的智能家居安防系统设计[D].西安:西安电子科技大学,2015:1-5.

[5]马建仓,罗亚军,赵玉亭.蓝牙核心技术及应用[M].北京:科学出版社,2003:2-8.

[6]马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].4版.北京:北京航空航天大学出版社,2007:193-197.

串行范文篇8

关键词:RS-422A;RS-485;ARINC429;差分串行传输

1绪论

在航空电子设备局部系统或局部设备互联通讯中,差分串行传输通讯以其平衡传输抗干扰能力强,应用设备支撑广泛,形式简单,可靠性高的优点得到了广泛应用。较为常见的差分串行传输通讯形式主要包括RS-422A、RS-485和ARINC429。下面就RS-422A、RS-485和ARINC429的各项特性进行分析比较。

1三种常见差分串行传输形式比较

1.1编码形式。RS-422A和RS-485采用双极性非归零码,ARINC429采用双极性归零码的编码形式。1.2信号电平。RS-422A和RS-485在信号电平方面规定一致。驱动端A,B间电压差+2~+6V之间为逻辑0,A,B间电压差-2~-6V之间为逻辑1。RS-422A接收端A,B间电压差大于200mV为逻辑0,A,B间电压差小于-200mV为逻辑1。ARINC429驱动端A,B间电压差为+10±1.0V为逻辑高;驱动端A,B间电压差为0±0.5为逻辑空;驱动端A,B间电压差为-10±1.0为逻辑低。ARINC429接收端A,B间电压差在+6.5V~+13V为逻辑高;接收端A,B间电压差在-2.5V~+2.5V为逻辑空;接收端A,B间电压差在-13V~-6.5V为逻辑高。1.3线制。RS-422A采用四线制形式,两发送两接收,另外需要一根屏蔽地线。实现点对多点的全双工传输。RS-485可以采用两线制,可以采用四线制形式。当采用两线制形式时为半双工通讯,两线制可实现多点双向传输。当采用四线制时,两发送两接收,另外还需要一根屏蔽地线。采用四线制时,可以实现点对多点的全双工传输。ARINC429采用四线制形式,两发送两接收,另外需要一根屏蔽地线。实现点对多点的全双工传输。1.4传输速度。RS-422A和RS-485最大支持10Mbps的通讯速率。ARINC429分为高低速两种传输速度模式。高速模式下为100kbps;低速模式下为12.5~14.5kbps。1.5端接匹配电阻。RS-422A和RS-485为防止在高速率传输下反弹信号未被完全吸收叠加在下一信号电平上出现误码,因此需在远端加端接电阻。端接电阻需大于90欧姆,典型值为120欧姆。不加中继转发器的情况下,一条总线上不能加2个以上的终端匹配电阻。ARINC429外部使用20-26号线缆典型线缆阻抗为60~80欧姆,不需要进行阻抗匹配。1.6总线偏置电阻。RS-422A和RS-485为防止总线状态空闲时误采集到电平波动产生误码,需在接收端增加总线的偏置电阻。接收端B端通过偏置电阻上拉到VCC,接收端A端通过偏置电阻下拉到VCC对应的地。偏置电阻的阻值由终端节点的值决定。最终要使B,A间的压差大于200mV。ARINC429不需要总线偏置电阻。1.7通讯帧格式。RS-422A和RS-485无规定,需用户自定义。ARINC429信号的基本信息单元是包含32位的一个数字字。这类字有五个应用组:BNR数据,BCD数据,离散数据,维修数据(通用)和AIM数据(应答、ISO5号字母表和维护(ISO5号字母标)数据)。[1]1.8同步机制。RS-422A和RS-485通过判定包头数据实现同步,但需要注意防止出现误判包头导致通讯不上的情况。ARINC429在连续传输时,两个相邻的数据字之间至少需要有4个比特时间(零电平电压)间隔来区分。[2]1.9数据校验RS-422A和RS-485可自定义奇校验或偶校验或其它校验算法。ARINC429通讯帧中规定了奇偶校验位,其采用奇校验算法。

2结论

在以上三种常见的差分串行传输通讯形式中,ARINC429是最适合航空电子设备应用的差分串行传输通讯形式,其相对于RS-422A和RS-485优势如下:(1)ARINC429的电平幅值和容忍度更高,相对RS-422A和RS-485更不易受到干扰,更适用于航空电子设备复杂电磁环境下的通讯要求;(2)ARINC429有更高的共模电压,更不易受到损坏;(3)ARINC429有严格的通讯帧格式定义,解决了通讯格式的标准化、通用化问题,避免了用户自定义的繁琐过程,提高了可靠性。但ARINC429也存在相应的缺点:(1)ARINC429只能用于对通讯速率要求不高的局部总线,其高速模式下通讯速率为100kbps,低于RS-422A和RS-485的理论通讯速率上限10Mbps;(2)ARINC429只能用于简单的总线网络拓扑形式。ARINC429和RS-422A只能用于点对多点的总线形式,只允许有一个主设备。ARINC429最多可挂载20个从设备,RS-422A最多可挂载10个从设备。而RS-485通过两线制可以实现多点对多点的半双工通信,任何时候只有一点可以处于发送状态;同时RS-485可以通过四线制实现全双工通信。因此,在需要进行多点互连时应选用RS-485。RS-422A和RS-485在工业领域得到了极大应用,拥有大量成熟的产品。当飞机系统设备选用成熟的工业产品时,航空电子设备也应适配相关的RS-422A和RS-485接口,实现可靠通讯。

参考文献:

[1]刘迎欢,罗志强.ARINC429协议和与之对应的俄罗斯标准的比较.航空电子技术,2002-3,33(1),11-15.

串行范文篇9

在数字串行加法器中,字长为W的操作数被分为P个位宽为N(N能被W整除,P=W/N)的数字,然后从低位开始相加,在P个时钟内完成加法操作。P个时钟周期称为一个采样周期(SamplePeriod)。

N=2的数字串行加法器结构如图1所示。如果输入操作数的字长为8,那么串行加法器可以在4个时钟周期内完成加法运算。这个加法器只用了两个全加器的资源,比一般的8bit行波进位加法器小。

数字串行加法器的控制也比较简单,输入移位寄存器完成并行-串行转换功能,通过移位操作不断为加法器提供位宽为N的操作数;Control信号指示了新采样周期的开始,此时carry清零;输出移位寄存器完成串行-并行转换,输出计算结果。

对于特定的输入字长,通过选择不同的N,可以实现速度、面积不同的数字串行加法器。这样,设计者可以根据实际情况加以选择,提高了设计的灵活性。

图22bit全加器连接示意图

2高速数字串行加法器在FPGA上的实现

由于数字串行加法器要用P个时钟周期才能完成整个加法操作,因此其工作频率必须足够高。这样,在FPGA上实现时,如何使串行加法器具有尽量高的工作频率就将成为关键问题。下面以Xilinx公司的VirtexE系列FPGA为例,说明如何设计高速数字串行加法器。

VirtexE的一个CLB(ConfigurableLogicBlock)包含两个slice,图2为在一个slice上实现2bit全加器的连接示意图(不相关的逻辑已略去)。

数字串行加法器的结构是行波进位加法器,因此必须尽量减小进位逻辑上的延迟。VirtexE的slice中提供了专用的进位逻辑和布线,充分利用这些资源可以提高加法器的性能。

对VirtexE系列,数字串行加法器应选用奇数位宽,这是因为在VirtexE中一个slice包括两个LUT(查找表)、两个触发器和一些其它的组合逻辑,因此使用一个slice刚好可以实现一个1bit的全加器,使用两个slice可以实现一个3bit的全加器。如果要实现2bit的全加,则需要一个slice完成2bit的相加和保存,另外还需要一个slice中的一个寄存器用来存储进位,这样两个slice整体的利用率就降低很多。数据位宽为2、4、6、8等偶数时都存在这样的问题。图3为N=3时加法器的布局布线示意图。由于专用的进位链布线资源仅存在于纵向的两个slice之间,所以在实现3bit加法器时,使用纵向相邻的两个slice。

加法器的关键路径在进位链上,其延时为:

TCKO+T$Net_Carry_reg+TBXCY+T$Net_Carry_out+TCKCY

=1.0+T$Net_Carry_reg+0.54+T$Net_Carry_out+1.3

=2.84+T$Net_Carry_reg+T$Net_Carry_out

式中,TCKO为DFF的CLK到XQ/YQ的延时,TBXCY为BX到COUT的延时,TCKCY为CIN到DFF的建立时间。这些延时的数值可以从手册获得。连线延时包括$Net_Carry_reg和$Net_Carry_out的延时。前者是进位链,延时为0;后者为普通连线,延时约为0.47ns。因此,总延时约为3.31ns,即工作频率约为300MHz。

为了减小延时、提高工作频率,使用FPGAEditor对布局布线进行精确控制,并把加法器做成硬宏,有利于保证多次实例化时的性能。现将使用宏完成的设计和使用HDL语言完成的设计在工作频率上做一个比较。使用Virtex50E-6pq240器件、xst综合器时,用宏完成的3bit数字串行加法器的最高工作频率为300MHz,而用HDL完成的相同设计的最高工作频率只有186MHz。这是由于设计用HDL输入时,布局布线工具用了3个slice,第一个slice完成2bit全加器,第二个slice完成1bit全加器,

第三个slice只用了内部的一个触发器来存储进位,第一、二个slice之间用进位链连接,延时为0,但是第二、三个slice之间只能使用普通连线,而且第三个slice的输入CIN到触发器的建立时间较大,因而影响了串行加法器的运行速度。

3数字串行加法器的应用

数字串行加法器可以代替传统加法器用在滤波器、乘法器、累加器等电路的设计中,能大大减小资源占用。下面以在CDMA/WCDMA系统中广泛应用的匹配滤波器为例说明数字串行加法器的应用。

匹配滤波器是一种无源相关技术,它可以快速实现相关器的功能。匹配滤波器的冲激响应为:

h(t)=s(T-t)(0≤t≤T)

设s(t)为输入波形,则其输出波形为:

可知滤波输出R(t-T)是输入信号的自相关函数。

在CDMA、WCDMA等系统中,匹配滤波使用本地码系列来匹配输入到接收机的采样数据。在滤波器中,本地码序列与接收数据进行相乘、求和操作,得到相关值,相关值越大说明相关程度越高。其工作过程如图4所示。匹配滤波器可以使用移位寄存器和加法器来实现,结构如图5所示,其中,滤波器的系数因子h(n)为本地码序列,输入x(n)为接收数据,数据每移位一次,滤波器计算一次输出结果。当移动到两个序列相位对齐时,就产生一个相关峰值输出。

系统对匹配滤波的设计要求是:匹配长度为256,输入四路数据,每一路经过7bit量化、速率为7.68MHz,即滤波器的处理速度为4×7.68=30.72MHz。对于这样一个匹配滤波器,有很多种实现方法,例如在高速率下可以通过旋转数据/旋转本地码序列或者通过动态、静态数据互换来简化设计。这些方法都用到一个比较大型的加法树,如果用一般加法器实现,将占用大量的资源,因此有必要加以改进。

设计中用到的加法树有256个7bit输入,计算结果为15bit。采用一般加法器实现的结构如图6(a)所示,在VirtexE中约占1100个slice,资源消耗过大。为了减小资源消耗、提高设计密度,使用上述3bit数字串行加法器对加法树进行改进,改进后的结构如图6(b)所示。由于减小了加法器的运算宽度,大大降低了使用的逻辑资源,整个加法树大约只用512个slice。

串行范文篇10

关键词:UART多点通信FPGA知识产权

在通信和控制系统中,常使用异步串行通信实现多块单板之间的辅助通信,各个单板通过总线方式连接。为了实现点对点通信,需要由软件定义一套较复杂的通信协议,过滤往来的数据,消耗了CPU较多的时间。89C51单片机有一种九位通信方式,采用一位地址位来实现通信对象的选择,只对发往本地址的地址发生中断进而接收数据。通用的UART芯片如16C550和89C51等构成总线式的通信系统时,需要由CPU通过软件处理接收到的地址和产生九位的数据。本文介绍的UART采用VerilogHDL硬件描述语言设计,可以用FPGA实现,可应用于SoC设计中。其主要特性如下:

·全硬件地址识别,过滤数据不需要CPU的介入;支持一个特殊地址,可用于监听和广播。

·支持查询和中断两种工作方式,中断可编程。

·接收和发送通路分别有128ByteFIFO,每个接收字节附带状态信息。

·设计采用VerilogHDL语言,全同步接口,可移植性好。

·支持自环测试功能。

·波特率可以编程,支持八位或者九位两种数据格式。

设计的UART的九位串行数据格式如图1所示。在空闲状态,数据线处于高电平状态。总线由高到低跳变,宽度为一个波特率时间的负脉冲为开始位,然后是8bit的数据位。数据位后面是lbit的地址信息位。如果此位是1,表示发送的字节是地址信息;如果此位是0,传输的是正常数据信息。地址指示位后是串行数据的停止位。

1UART设计

UART采用模块化、层次化的设计思想,全部设计都采用VerilogHDL实现,其组成框图如图2所示。整个UARTIP由串行数据发送模块、串行数据接收模块、接收地址识别模块、接收和发送HIFO、总线接口逻辑、寄存器和控制逻辑构成。串行发送模块和接收完成并/串及串/并的转换,接收地址的识别由接收地址识别模块完成。发送和接收HIFO用于缓存发送和接收的数据。总线接口逻辑用于连接UARTIP内部总线和HOST接口。寄存器和控制逻辑实现UARTIP内部所有数据的收发、控制和状态寄存器、内部中断的控制及波特率信号的产生。以下详细说明主要部分的设计原理。

1.1串行数据发送模块

串行数据发送模块将数据或地址码由并行转换为串行,并从串行总线输出。设计采用有限状态机实现,分为空闲、取数、发送三个状态。其状态迁移如图3所示。各个状态说明如下:

空闲状态:状态机不断检测发送使能位、UART使能位和发送FIFO空/满标志位,如果使能位为高、UART使能打开且FIFO空标志位为低,串行发送进入取数状态。

取数状态:在此状态,分两个周期从发送FIFO中取出待发送的数据或者地址,然后进入发送状态。

发送状态:在此状态,状态机按照九位串行数据的格式依次发送开始位、数据位、地址指示位。待停止位发送完毕后,返回空闲状态。一个字节的数据发送完毕后,进行下一个字节数据的发送流程。

1.2串行数据接收模块

串行数据接收模块用于检测串行数据的开始位,将串行总线上的串行数据转换成并行数据并输出。接收逻辑也采用有限状态机实现,分为空闲状态、寻找开始位、接收数据和保存数据四个状态。其状态迁移图如图4所示。各个状态说明如下:

空闲状态:在此状态,不断检测接收使能、UART使能和串行输入信号的状态。如果串行输入信号出现由高到低的电平变化且UART使能和接收使能都为高,则将采样计数器复位,并进入寻找开始位状态。

寻找开始位:在此状态,状态机等待半个波特率的时间,然后重新检测串行输入的电平。如果为低,则判断收到的开始位有效,进入接收数据状态;否则认为数据总线上出现干扰,开始位无效,重新返回空闲状态。

接收数据:在此状态,依次接收串行数据线上的数据位、地址指示位和停止位,结束后进入保存数据状态。

保存数据:此状态将收到的串行数据以并行方式从接口的并行总线输出,然后返回空闲状态,准备进行下一个字节数据的搜索和接收。

为提高对串行输入上突发干扰的抵抗能力,对于接收数据,在脉冲的中间位置连续采样三次,较多的电平作为接收的有效数据。所有接收数据的采样频率为接收波特率的16倍。

1.3硬件地址识别模块

硬件地址识别模块用于从接收到的数据中判断出地址和数据,在地址识别功能打开时,选择数据通过或者丢弃;而该功能关闭时,所有数据都会通过。地址识别模块是一个有两个状态的有限状态机,分为地址和数据两个状态。其状态迁移图如图5所示。状态说明如下:

地址状态:在此状态时,判断接收到的数据以及地址识别使能位。如果地址识别功能没有打开,对于接收的任何地址,都进入数据状态。如果地址识别功能打开,则将收到的地址和本地地址比较,如果相等,则保存此地址,进入数据状态;否则继续在此状态接收数据和地址,将收到的数据忽略。

数据状态:将接收到的数据输出,直到收到地址位时,返回地址状态,处理地址。

为实现监听和广播功能,将地址255作为特殊地址,它可以和任何地址匹配。若本站的地址为255,此站点可以接收任何地址的数据,此功能可以用于监听总线上的数据;若发送数据的目的地址为255,则任何站点都会接收到此数据,此功能可以用于发送广播数据。

1.4FIFO设计

FIFO由控制逻辑和双口RAM组成,控制逻辑用来实现将一个双口RAM转换成两个FIFO的功能,这两个FIFO分别用于发送和接收数据缓存;中断控制用于在中断工作方式时管理UART内部的中断状态和控制信息。

为减少所需块RAM的数量,接收和发送FIFO使用同一个块RAM实现,使用仲裁机制保证两个FIFO的四个端口,在同一时刻最多只有两个操作,不影响对FIFO的读写。

1.5总线接口

UART采用同步接口,所有信号都在系统时钟的上升沿采样,设备的握手用一位应答信号完成。

数据总线宽度采用8+2的方式。和16位或者32位宽度的数据总线连接时,可以一次读取接收数据的数据和地址指示位,减少总线操作次数;若和8位系统连接,可以只连接低8位数据线,接收数据的地址信息可以通过内部的状态寄存器读取。

1.6寄存器和控制逻辑

寄存器部分实现UART内部所有数据的收发、控制和状态寄存,用于设置UART的数据格式、收发波特率、FIFO控制、本地地址、地址识别、中断控制和状态寄存,实现对UART工作的控制。

控制逻辑产生所需的所有波特率信号及对应的上升和下降沿指示信号,并根据实际工作所选择的波特率输出与系统时钟同步的对应信号。波特率产生逻辑的组成框图如图6所示。

2功能和时序仿真

首先结合功能仿真设计系统的仿真平台。仿真平台如图7所示。系统仿真平台和仿真激励采用VerilogHDL语言设计,可同时用于功能仿真和时序仿真,不能用于二者的综合。寄存器级模型为用于UARTIP设计的RTL描述,全部采用可以综合的VerilogHDL语句编写。仿真使用的软件为ModelSim。

功能仿真包括以下几个方面:

(1)基本模块连线时序的仿真。首先用描述方式设计UART的接口模型,利用仿真激励进行简单的读写操作,设计出仿真激励信号和系统仿真平台。然后结合仿真激励信号逐步完成UART的各个子模块的设计。仿真时,需要逐步观察UART接口信号的波形、UART内部模块的接口信号波形、各种状态机的状态迁移和数据指针的值以及状态位的值,逐步完成寄存器传输级的UART设计。

(2)UART的工作仿真。完成RTL的寄存器传输级模型后,根据系统软件工作的模式,用HDL设计出数据收发的仿真激励,打开自环功能,进行数据的发送和接收。仿真可以分为仿真查询和中断两种工作方式。对于中断工作方式,需要用HDL语言模拟软件的中断机制,

进行中断工作方式的仿真。最后打开地址识别功能,发送不同目的地址的数据,观察UART的硬件地址识别情况。

完成功能仿真后,将设计进行布局布线,生成Ver-ilogHDL形式的时序仿真模型和标准时延文件,利用与功能仿真相同的仿真平台进行时序仿真。时序仿真只需要仿真工作方式。功能仿真和时序仿真使用相同的仿真平台和激励向量,这样便于比较二者的差异,发现设计代码存在的问题。

3综合和测试结果

本设计用Synplicity公司的SynplifyPro作为综合工具,用XilinxISE5.2作为布局布线工具,采用器件为XC2S100IIE-7。综合结果显示,该UARTIP占用资源情况为:SLICE275个、内部块RAM1个、I/O24个,HOST总线可以达到的频率为73.2MHz。

测试程序参考仿真激励的生成,用C语言在vxWorks操作系统下设计。测试所用方法和工作仿真完全相同,只是仿真激励对应测试程序,而RTL模型对应实际的FP-GA器件。

多点测试使用了五块单板,采用半双工总线方式,定义简单的数据包格式,用于检测数据错误并返回数据。数据包的格式为地址开头,后面是最大255Byte的数据;数据部分包括发送方的地址、数据校验和及包的长度。另外,还定义简单的驱动程序格式,完成基本数据的收发和控制,然后在上层加载多点通信协议。其中的一块加载主设备程序,其它单板加载从设备程序。主设备周期性地向其它从设备发送测试数据,并在规定的时间内等待接收目标单板的数据。从设备软件只接收发给本单板的数据,如果校验正确,将收到的数据发给主设备;如果有错误,则不进行任何操作。主设备若在规定时间内无法接收从设备的数据或者接收数据错误,则判断通信异常,进行下一个设备的测试。