基于单片机的串口通信模块设计(共40页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于单片机的串口通信模块设计(共40页).doc》由会员分享,可在线阅读,更多相关《基于单片机的串口通信模块设计(共40页).doc(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1 绪论1.1 研究背景通信是指不同的独立系统利用线路互相交换数据,它的主要目的是将数据从一端传送到另一端,实现数据的交换。在现代工业控制中,通常采用计算机作为上位机与下层的实时控制与监测设备进行通讯。现场数据必须通过一个数据收集器传给上位机,同样上位机向现场设备发命令也必须通过数据收集器。串行通信因其结构简单、执行速度快、抗干扰能力强等优点,已被广泛应用于数据采集和过程控制等领域。计算机与外界的信息交换称为通信。基本的通信方式有并行通信和串行通信两种。串行通信是指一条信息额各位数据被逐位按顺序传送的通信方式。串行通信的特点是:数据位传送,按位顺序进行,最少只需要一根
2、传输线即可完成,成本低但传送速度快,串行通信的距离可以从几米到几千米 。随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行监测和控制。PC机具有强大的监控和管理能力,而单片机则具有快速及灵和的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。而随着USB接口技术的成熟和使用的普及,由于USB 接口有着RS-232(DB-9)串口无法比拟的优点,RS-232(DB-9)串口正在逐步地为USB 接口所替代。而在现在的大多数笔记本电脑中,出于节省物理空间和用处不大等原因,RS-23
3、2(DB-9)串口已不再设置,这就约束了基于RS-232(DB-9)串口与PC 机联络的单片机设备的使用范围。当前USB接口逐步取代RS-232(DB-9)串口已是大势所趋,单片机同计算机的USB通信在实际工作中的应用范围也将越来越广。本文所介绍的单片机和PC机的USB通信方法,电路简单,兼容性好,可移植性强,故可作为单片机同计算机的USB通信模块广泛应用于工业和电子产品的开发中。因此研究如何实现PC机与单片机通过USB之间的通信具有非常重要的现实意义。1.2 国内外研究现状 由于计算机工业自动控制和检测系统越来越多地采用集总分散系统,而主从式是其中最为普遍的一种方式,因此各种各样主从式总线通
4、信系统的方法不断涌现。目前比较常用的有利用IIC总线传输协议设计的主从式总线通信系统,还有的是利用SPI总线传输协议和USB协议以及串口通信等设计的主从式总线通信系统6,7。由于主从式总线通信系统采用的方法众多,因此目前国内外一般是根据实际情况而采用不同的方法去实现主从式通信系统的功能8。比如,如果要设计的主从式通信系统只是小范围内传送数据,甚至只是板间传送数据,或者要求使用的I/O口很少,而对于数据的抗干扰能力的要求不是很高的话,则采用IIC总线传输协议是最合适不过的了。IIC总线支持任何一种IC制造工艺,并且PHILIPS和其他厂商提供了种类非常丰富的I2C兼容芯片。作为一个专利的控制总线
5、,IIC已经成为世界性的工业标准。每个器件都有一个唯一的地址,而且可以是单接收的器件(例如:LCD驱动器)或可以接收也可以发送的器件(例如:存储器)。发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。IIC是一个多主总线,即它可由多个连接的器件控制9。基本的I2C总线规范于20年前发布,其数据传输速率最高为100Kbits/s,采用7位寻址。但是由于数据传输速率和应用功能的迅速增加,I2C总线也增强为快速模式(400Kbits/s)和10位寻址以满足更高速度和更大寻址空间的需求10。IIC总线始终和先进技术保持同步,但仍然保持其向下兼容性。并且最近还增
6、加了高速模式,其速度可达3.4Mbits/s。它使得IIC总线能够支持现有以及将来的高速串行传输应用,例如EEPROM和Flash存储器11。而如果需要远距离传输数据,且对数据传送的抗干扰能力要求有点高,则可以使用RS-422或者RS-485协议进行主从式通信系统的设计12。另外,USB协议则是一种比较新型、快速、灵活的总线传输方法,此通信系统通常只有一个主机,利用此方法设计的通信息有如下特点:(1)适用范围广泛,适用于数码相机,高速数据采集等多种设备;(2)支持热拔插,且此过程由系统自动完成,无需用户干预;(3)采用菊花链式的星型总线结构,支持多达127个外设同时连接;(4)5Mbps、12
7、Mbps和480Mbps的3种速度模式,可以满足不同外设对速度的要求。USB发展到今天,总共有三种标准:1996年发布的USB1.0,1998年发布的USB1.1以及刚刚发布的最新标准USB2.0,此三种标准最大的差别就在于数据传输率方面,在其他方面也不同程度的改进,总体来说,就目前的USB2.0而言,已经拥有什么出众的性能与传输速率。USB数据线由两对线组成,一对电力线,通过电力线可以为USB设备提供5V电压,允许通过最大电流为500mA,这个数字不算很大,但好在聊胜于无,可以满足一些耗电量较少的设备的需求,通过特殊的USB互联设备,我们还可以用USB口实现双机联网,速度是USB1.1的标准
8、达12Mbps(1.5MB/S),可惜仅能进行简单的数据交换,不能称作真正的网络13,14。当所要设计的主从式总线通信系统采用譬如MSP430单片机当主机或者从机时,由于此单片机具有支持SPI的片内串行通信接口,所以可以采用SPI总线传输协议进行设计。SPI是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口15。是Motorola首先在器MC68HCXX系列处理器上定义的16。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占
9、用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200。串行外围设备接口SPI是一种同步串行接口,因其硬件功能强,与SPI有关的软件就相当简单,可使MSP430单片机有更多的时间处理其他任务。此时,所设计的系统拥有极低的功耗,丰富的片内外设,卓越的工作性能和方便灵活等优点17。1.3 本课题研究的主要内容(1)串行通信原理介绍;(2)USB技术原理分析;(3)单片机和PC机通过USB实现串行通信设计与实现。本设计主要包含以下两个方面:(1)硬件设计:单片机及外围电路设计;(2)软件设计:单片
10、机的通信控制程序, PC机的通信程序。2 串行通信基础2.1 串口通信的基本知识2.1.1并行通信与串行通信微机的信息交换有两种方式进行:串行通信方式和并行通信方式。1.串行通信串行通信的设备是最古老的沟通机制之一。从IBM个人电脑和兼容式电脑的时代开始,几乎所有的计算机都配有一个或多个串行端口和一个并行端口。顾名思义,一个串行端口发送和接收串行数据,一次一位数据。相反,一个并行端口一次发送和接收8位数据,使用8个单独的线路。提示:要使串行通信工作,你只需要一根三根线的电缆1根发送,1根用来接收,1根接地。对于并行通信,你需要采用8条导线。尽管相对较慢的传输速度远低于并行端口,串行端口通信依然
11、因为它简单的设备、高的成本效益以及差错可控性强而成为一个受欢迎的连接选项。图2-1显示了使用串行口连接到计算机的设备。图2-1 一些常见的串行设备,调制解调器,鼠标和路由器虽然今天的消费产品中在串行连接的地方使用USB连接,但还有很多的设备使用串行端口作为与外部世界的唯一连接。一个串行设备一次发送和接收一位数据,有些设备因为在同一时间发送和接收数据,被称为全双工设备。其他可以在任何时间发送或接收被称为单双工。开始传输时,设备先发送一个起始位,其次是数据位。该数据位可以是五,六,七,或8位,基于商定而定。两个发送方和接收器必须设置为相同的数据通信比特或正确的比特率。数据位被发送完后,就会发送一个
12、停止位。一个停止位可以是一位,一个半位,或两位。波特率是数据从一个设备到另一个的传输速度。波特率通常以每秒的位数(bps)来计量。注意:大多数串行设备传输七,八位数据。为了检测数据已被正确发送,一个可选的校验位可以同数据位在一起。一个校验位可以是以下内容:奇数,偶数,mark,space或无(空的奇偶位标志几乎总是被使用)。使用校验位提供了一个基本的机制,以检测已发送数据损坏,但不保证检查数据本身的错误。然而,校验位可用于改善完整性数据传送。大多数串行端口使用RS232C标准,它指定了一个连接器25针或9针(见图2-2)。大多数系列设备使用9针连接器。图2-2 25针和9针串行接口2.并行通信
13、在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的。如果一组数据的各数据位在多条线上同时被传送,这种传输被称为并行通信,如图2-3所示。并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。计算机或PLC各种内部总线就是以并行方式传送数据的。图2-3 并行通信2.1.2串行通信工作模式如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为
14、全双工。电话线就是二线全双工信道。由于采用了回波抵消技术,双向的传输信号不致混淆不清。双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。但单工目前已很少采用,下面仅介绍前两种方式。1.半双工方式若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制,如图2-4所示。采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产
15、生时间延迟。收/发开关实际上是由软件控制的电子开关。图2-4半双工方式当计算机主机用串行接口连接显示终端时,在半双工方式中,输入过程和输出过程使用同一通路。有些计算机和显示终端之间采用半双工方式工作,这时,从键盘打入的字符在发送到主机的同时就被送到终端上显示出来,而不是用回送的办法,所以避免了接收过程和发送过程同时进行的情况。目前多数终端和串行接口都为半双工方式提供了换向能力,也为全双工方式提供了两条独立的引脚。在实际使用时,一般并不需要通信双方同时既发送又接收,像打印机这类的单向传送设备,半双工甚至单工就能胜任,也无需倒向。2.全双工方式当数据的发送和接收分流,分别由两根不同的传输线传送时,
16、通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工制,如图2-5所示。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号(可能还需要控制线和状态线,以及地线)。图2-5全双工2.1.3异步传输和同步传输串行传输中,数据是一位一位按照到达的顺序依次传输的,每位数据的发送和接收都需要时钟来控制。发送端通过发送时钟确定数据位的开始和结束
17、,接收端需要在适当的时间间隔对数据流进行采样来正确的识别数据。接收端和发送端必须保持步调一致,否则数据传输就会出现差错。为了解决以上问题,串行传输可采用以下两种方法:异步传输和同步传输。1.异步传输通常,异步传输是以字符为传输单位,每个字符都要附加1位起始位和1位停止位,以标记一个字符的开始和结束,并以此实现数据传输同步。所谓异步传输是指字符与字符(一个字符结束到下一个字符开始)之间的时间间隔是可变的,并不需要严格地限制它们的时间关系。起始位对应于二进制值0,以低电平表示,占用1位宽度。停止位对应于二进制值1,以高电平表示,占用12位宽度。一个字符占用 58位,具体取决于数据所采用的字符集。例
18、如,电报码字符为5位、ASCII码字符为7位、汉字码则为8位。此外,还要附加1位奇偶校验位,可以选择奇校验或偶校验方式对该字符实施简单的差错控制。发送端与接收端除了采用相同的数据格式(字符的位数、停止位的位数、有无校验位及校验方式等)外,还应当采用相同的传输速率。典型的速率有:9600 b/s、19.2kb/s、56kb/s等。异步传输又称为起止式异步通信方式,其优点是简单、可靠,适用于面向字符的、低速的异步通信场合。例如,计算机与Modem之间的通信就是采用这种方式。它的缺点是通信开销大,每传输一个字符都要额外附加23位,通信效率比较低。例如,在使用Modem上网时,普遍感觉速度很慢,除了传
19、输速率低之外,与通信开销大、通信效率低也密切相关。2.同步传输通常,同步传输是以数据块为传输单位。每个数据块的头部和尾部都要附加一个特殊的字符或比特序列,标记一个数据块的开始和结束,一般还要附加一个校验序列(如16位或32位CRC校验码),以便对数据块进行差错控制。所谓同步传输是指数据块与数据块之间的时间间隔是固定的,必须严格地规定它们的时间关系。和异步传输相比,数据传输单位的加长容易引起时钟漂移。为了保证接收端能够正确地区分数据流中的每个数据位,收发双主必须通过某种方法建立起同步的时钟。可以在发送器和接收器之间提供一条独立的时钟线路,由线路的一端(发送器或者接收器)定期地在每个比特时间中向线
20、路发送一个短脉冲信号,另一端则将这些有规律的脉冲作为时钟。这种技术在短距离传输时表现良好,但在长距离传输中,定时脉冲可能会和信息信号一样受到破坏,从而出现定时误差。另一种方法是通过采用嵌有时钟信息的数据编码位向接收端提供同步信息。3 USB通信原理简介3.1 USB简介USB(Universal Serial Bus,通用串行总线)是以Intel为主,并有Compaq, Microsoft, IBM, DEC, Northern Telecom以及日本NEC等共七家公司共同制定的串行接口标准,1994年11月制定了第一个草案,1996年2月公布了USB规范版本1.0。USB可把多达127个外设
21、同时联到你的系统上,所有的外设通过协议来共享USB的带宽,其12Mbps的带宽对于键盘,鼠标等低中速外设是完全足够的(注:在1999年2月发布的USB规范版本2.0草案中,已建议将12Mbps的带宽提升到120-240Mbps。)。USB允许外设在主机和其它外设工作时进行连接、配置、使用及移除,即所谓的即插即用(Plug&Play)。同时USB总线的应用可以清除PC上过多的I/O端口,而以一个串行通道取代,使PC与外设之间的连接更容易。3.1.1 USB设备USB设备包括Hub和功能设备,而功能设备又可以细分为定位设备字符设备等等。为了进一步叙述,我们给出端点(endpoint)和管道(pip
22、e)的概念。端点:每一个USB设备在主机看来就是一个端点的集合,主机只能通过端点与设备进行通讯,以使用设备的功能。每个端点实际上就是一个一定大小的数据缓冲区,这些端点在设备出厂时就已定义好。在USB系统中,每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每个端点都有一定的特性。其中包括:传输方式、总线访问、频率、带宽、端点号、数据包的最大容量等等。端点必须在设备配置后才能生效(端点0除外)。端点0通常为控制端点。用于设备初始化参数等。端点12等一般用作数据端点存放主机与设备间往来的数据。管道:一个USB管道是驱动程序的一个数据缓冲区与一个外设端点的连接,它代表了一种在两者之间移动数据的
23、能力。一旦设备被配置,管道就存在了。管道有两种类型,数据流管道(其中的数据没有USB定义的结构)与消息管道(其中的数据必须有USB定义的结构)管道只是一个逻辑上的概念。所有的设备必须支持端点0以作为设备的控制管道。通过控制管道可以获取完全描述USB设备的信息,包括:设备类型、电源管理、配置、端点描述等等只要设备连接到USB上并且上电端点0就可以被访问与之对应的控制管道就存在了。一个USB设备可以分为三个层图(如图3-1所示)。最底层是总线接口,用来发送与接收包。中间层处理总线接口与不同的端点之间的数据流通。一个端点是数据最终的使用者或提供者,它可以看作数据的源或接收端。最上层就是USB设备所提
24、供的功能,比如鼠标或键盘等。 图3-1设备层次结构3.1.2 USB的优点USB通信有如下几个优点:1.USB为所有的USB外设提供了单一的、易于使用的标准的连接类型。这样一来就简化了USB外设的设计,同时也简化了用户在判断哪个插头对应哪个插槽时的任务,实现了单一的数据通用接口。2.整个的USB的系统只有一个端口和一个中断,节省了系统资源。3.USB支持热插拔(hot plug)和PNP(Plug-and-Play),也就是说在不关闭PC 的情况下可以安全的插上和断开USB设备,计算机系统动态地检测外设的插拔,并且动态地加载驱动程序。其他普通的外围连接标准,如SCSI设备等必须在关掉主机的情况
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 串口 通信 模块 设计 40
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内