当前位置:文档之家› 基于单片机的串口通信模块设计

基于单片机的串口通信模块设计

1 绪论1.1 研究背景通信是指不同的独立系统利用线路互相交换数据,它的主要目的是将数据从一端传送到另一端,实现数据的交换。

在现代工业控制中,通常采用计算机作为上位机与下层的实时控制与监测设备进行通讯。

现场数据必须通过一个数据收集器传给上位机,同样上位机向现场设备发命令也必须通过数据收集器。

串行通信因其结构简单、执行速度快、抗干扰能力强等优点,已被广泛应用于数据采集和过程控制等领域。

计算机与外界的信息交换称为通信。

基本的通信方式有并行通信和串行通信两种。

串行通信是指一条信息额各位数据被逐位按顺序传送的通信方式。

串行通信的特点是:数据位传送,按位顺序进行,最少只需要一根传输线即可完成,成本低但传送速度快,串行通信的距离可以从几米到几千米。

随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行监测和控制。

PC机具有强大的监控和管理能力,而单片机则具有快速及灵和的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。

而随着USB接口技术的成熟和使用的普及,由于USB 接口有着RS-232(DB-9)串口无法比拟的优点,RS-232(DB-9)串口正在逐步地为USB 接口所替代。

而在现在的大多数笔记本电脑中,出于节省物理空间和用处不大等原因,RS-232(DB-9)串口已不再设置,这就约束了基于RS-232(DB-9)串口与PC 机联络的单片机设备的使用围。

当前USB接口逐步取代RS-232(DB-9)串口已是大势所趋,单片机同计算机的USB通信在实际工作中的应用围也将越来越广。

本文所介绍的单片机和PC 机的USB通信方法,电路简单,兼容性好,可移植性强,故可作为单片机同计算机的USB通信模块广泛应用于工业和电子产品的开发中。

因此研究如何实现PC机与单片机通过USB之间的通信具有非常重要的现实意义。

1.2 国外研究现状由于计算机工业自动控制和检测系统越来越多地采用集总分散系统,而主从式是其中最为普遍的一种方式,因此各种各样主从式总线通信系统的方法不断涌现。

目前比较常用的有利用IIC总线传输协议设计的主从式总线通信系统,还有的是利用SPI总线传输协议和USB协议以及串口通信等设计的主从式总线通信系统[6,7]。

由于主从式总线通信系统采用的方法众多,因此目前国外一般是根据实际情况而采用不同的方法去实现主从式通信系统的功能[8]。

比如,如果要设计的主从式通信系统只是小围传送数据,甚至只是板间传送数据,或者要求使用的I/O口很少,而对于数据的抗干扰能力的要求不是很高的话,则采用IIC总线传输协议是最合适不过的了。

IIC总线支持任何一种IC制造工艺,并且PHILIPS和其他厂商提供了种类非常丰富的I2C兼容芯片。

作为一个专利的控制总线,IIC已经成为世界性的工业标准。

每个器件都有一个唯一的地址,而且可以是单接收的器件(例如:LCD驱动器)或可以接收也可以发送的器件(例如:存储器)。

发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。

IIC是一个多主总线,即它可由多个连接的器件控制[9]。

基本的I2C总线规于20年前发布,其数据传输速率最高为100Kbits/s,采用7位寻址。

但是由于数据传输速率和应用功能的迅速增加,I2C总线也增强为快速模式(400Kbits/s)和10位寻址以满足更高速度和更大寻址空间的需求[10]。

IIC总线始终和先进技术保持同步,但仍然保持其向下兼容性。

并且最近还增加了高速模式,其速度可达3.4Mbits/s。

它使得IIC总线能够支持现有以及将来的高速串行传输应用,例如EEPROM和Flash存储器[11]。

而如果需要远距离传输数据,且对数据传送的抗干扰能力要求有点高,则可以使用RS-422或者RS-485协议进行主从式通信系统的设计[12]。

另外,USB协议则是一种比较新型、快速、灵活的总线传输方法,此通信系统通常只有一个主机,利用此方法设计的通信息有如下特点:(1)适用围广泛,适用于数码相机,高速数据采集等多种设备;(2)支持热拔插,且此过程由系统自动完成,无需用户干预;(3)采用菊花链式的星型总线结构,支持多达127个外设同时连接;(4)5Mbps、12Mbps和480Mbps的3种速度模式,可以满足不同外设对速度的要求。

USB发展到今天,总共有三种标准:1996年发布的USB1.0,1998年发布的USB1.1以及刚刚发布的最新标准USB2.0,此三种标准最大的差别就在于数据传输率方面,在其他方面也不同程度的改进,总体来说,就目前的USB2.0而言,已经拥有什么出众的性能与传输速率。

USB数据线由两对线组成,一对电力线,通过电力线可以为USB设备提供5V电压,允许通过最大电流为500mA,这个数字不算很大,但好在聊胜于无,可以满足一些耗电量较少的设备的需求,通过特殊的USB互联设备,我们还可以用USB口实现双机联网,速度是USB1.1的标准达12Mbps (1.5MB/S),可惜仅能进行简单的数据交换,不能称作真正的网络[13,14]。

当所要设计的主从式总线通信系统采用譬如MSP430单片机当主机或者从机时,由于此单片机具有支持SPI的片串行通信接口,所以可以采用SPI总线传输协议进行设计。

SPI是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口[15]。

是Motorola首先在器MC68HCXX系列处理器上定义的[16]。

SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200。

串行外围设备接口SPI是一种同步串行接口,因其硬件功能强,与SPI有关的软件就相当简单,可使MSP430单片机有更多的时间处理其他任务。

此时,所设计的系统拥有极低的功耗,丰富的片外设,卓越的工作性能和方便灵活等优点[17]。

1.3 本课题研究的主要容(1)串行通信原理介绍;(2)USB技术原理分析;(3)单片机和PC机通过USB实现串行通信设计与实现。

本设计主要包含以下两个方面:(1)硬件设计:单片机及外围电路设计;(2)软件设计:单片机的通信控制程序, PC机的通信程序。

2 串行通信基础2.1 串口通信的基本知识2.1.1并行通信与串行通信微机的信息交换有两种方式进行:串行通信方式和并行通信方式。

1.串行通信串行通信的设备是最古老的沟通机制之一。

从IBM个人电脑和兼容式电脑的时代开始,几乎所有的计算机都配有一个或多个串行端口和一个并行端口。

顾名思义,一个串行端口发送和接收串行数据,一次一位数据。

相反,一个并行端口一次发送和接收8位数据,使用8个单独的线路。

提示:要使串行通信工作,你只需要一根三根线的电缆——1根发送,1根用来接收,1根接地。

对于并行通信,你需要采用8条导线。

尽管相对较慢的传输速度远低于并行端口,串行端口通信依然因为它简单的设备、高的成本效益以及差错可控性强而成为一个受欢迎的连接选项。

图2-1显示了使用串行口连接到计算机的设备。

图2-1 一些常见的串行设备,调制解调器,鼠标和路由器虽然今天的消费产品中在串行连接的地方使用USB连接,但还有很多的设备使用串行端口作为与外部世界的唯一连接。

一个串行设备一次发送和接收一位数据,有些设备因为在同一时间发送和接收数据,被称为全双工设备。

其他可以在任何时间发送或接收被称为单双工。

开始传输时,设备先发送一个起始位,其次是数据位。

该数据位可以是五,六,七,或8位,基于商定而定。

两个发送方和接收器必须设置为相同的数据通信比特或正确的比特率。

数据位被发送完后,就会发送一个停止位。

一个停止位可以是一位,一个半位,或两位。

波特率是数据从一个设备到另一个的传输速度。

波特率通常以每秒的位数(bps)来计量。

注意:大多数串行设备传输七,八位数据。

为了检测数据已被正确发送,一个可选的校验位可以同数据位在一起。

一个校验位可以是以下容:奇数,偶数,mark,space或无(空的奇偶位标志几乎总是被使用)。

使用校验位提供了一个基本的机制,以检测已发送数据损坏,但不保证检查数据本身的错误。

然而,校验位可用于改善完整性数据传送。

大多数串行端口使用RS232C标准,它指定了一个连接器25针或9针(见图2-2)。

大多数系列设备使用9针连接器。

图2-2 25针和9针串行接口2.并行通信在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的。

如果一组数据的各数据位在多条线上同时被传送,这种传输被称为并行通信,如图2-3所示。

并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。

并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。

计算机或PLC各种部总线就是以并行方式传送数据的。

图2-3 并行通信2.1.2串行通信工作模式如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。

如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。

如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。

线就是二线全双工信道。

由于采用了回波抵消技术,双向的传输信号不致混淆不清。

双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。

在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。

但单工目前已很少采用,下面仅介绍前两种方式。

1.半双工方式若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制,如图2-4所示。

采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。

收/发开关实际上是由软件控制的电子开关。

图2-4半双工方式当计算机主机用串行接口连接显示终端时,在半双工方式中,输入过程和输出过程使用同一通路。

有些计算机和显示终端之间采用半双工方式工作,这时,从键盘打入的字符在发送到主机的同时就被送到终端上显示出来,而不是用回送的办法,所以避免了接收过程和发送过程同时进行的情况。

目前多数终端和串行接口都为半双工方式提供了换向能力,也为全双工方式提供了两条独立的引脚。

相关主题