基于单片机的RS-C串行通信接口设计
基于单片机的RS-232C串行通信接口设计课程设计任务书课程名称专业综合课程设计院(系)专业课程设计时间: 2011 年1 月3 日至2011 年1 月14 日课程设计的内容及要求:利用WAVE仿真器、8051 单片机开发基于单片机的RS-232C串行通信系统,实现单片机与PC机的通讯,要求实现数据收发功能.具体要求如下:(1)按以上要求制定设计方案,并绘制出系统工作框图;(2)按要求设计单片机系统,给出电路原理图;(3)用仿真器及单片机系统和PC机进行程序设计与调试;(4)接受PC机发送数据,并将其会发给PC机;指导教师年月日负责教师年月日学生签字年月日目录0. 前言 (1)..........1. 总体方案设计 (2)2. 硬件电路的设计 (2)2.1单片机介绍 (2)2.2串口基本结构介绍 (3)2.3电平转换电路设计 (4)2.4整体电路设计 (5)3 软件设计 (6)3.1串行通信的实现 (6)3.2流程框图 (6)4.联合调试 (7)5. 课设小结及进一步设想 (7)参考文献 (9)附录I 元件清单 (10)附录II 整体电路图 (11)附录III 源程序清单 (12)杨毅沈阳航空航天大学自动化学院摘要:随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。
但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合PC 机组成分布式系统是一个比较好的解决方案。
这样,单片机的数据通信技术就变得十分重要,在某种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。
现在单片机及PC机在结构、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。
关键字:单片机、PC机、串行口、通信0. 前言在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS接收器等,常常遇到计算机与外界的信息交换,即通讯。
通信的基本方式可分为并行通信与串行通信两种。
并行通信是将组成数据的各位同时传送,并通过并行门(如P1口等)来实现。
在并行通信中,数据传送线的根数与传送的数据位数相等,传送数据速度快,但所占用的传输线位数多。
因此并行通信适合短距离通信。
串行通信是指数据一位一位地按顺序传送。
串行通信通过串行口来实现。
在全双工的串行通信中,仅需要一根发送线和一根接收线,串行通信可大大节省传送线路的成本,但数据传送速度慢。
因此,串行通信适合于远距离通信。
目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信,而上位机通常以基于图形界面的Windows 系统为操作平台,为便于查询和保存数据,还需要数据库的支持,如在测控系统中使用SQL Server数据库。
现阶段这种应用的核心便是数据通信,它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而在单片机和上位机之间的数据通信则是整个系统的基础。
单片机和PC的通信是通过单片机的串口和PC机之间的硬件连接实现。
鉴于PC 机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,一般都采用给PC机配置的RS-232标准串行接口COM1、COM2等1. 总体方案设计PC 机与单片机之间可以由RS-232C、接口相连,在PC机系统内部装有异步通信适配器,利用它可以实现异步串行通信。
该适配器的核心元件是可编程的Intel 8250 芯片,它使PC 机有能力与其他具有标准的RS-232C 接口的计算机或设备进行通信。
而51 单片机本身具有一个全双工的串行口,因此只要配以电平换换的驱动电路、隔离电路就可以组成一个简单的通信接口。
同样,PC机和单片机之间的通信也分为双机通行与多机通信。
数据通信的硬件上采用3 线制,将单片机和PC串口的3 个引脚(TXD、RXD、GND)分别连在一起,即将PC机和单片机的发送数据线TXD 与接收数据线RXD交叉连接,两者的地线GND 直接相连,而其他信号线如握手信号线均不用,采用软件握手的方式。
这样既可以实现预定的任务又可以简化电路设计。
PC机和单片机最简单的连接时零调制三线经济系。
这是进行全双工通信所必需的最少线路,因为51 单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0 电平规定为+5~+15V之间,逻辑1 电平为-5~-15V之间,因此在将PC 机和单片机的TXD和RXD交叉连接时必须进行电平转换,这里我选用的是MAX232 电平转换芯片。
其原理框图为图1图1 串口通信原理图2. 硬件电路的设计2.1 单片机介绍标准型89 系列单片机是与MCS-51系列单片机兼容的。
在内部含有4KB 或8KB可重复编程的Flash存储器,可进行1000 次擦写操作。
全静态工作为0-33MHz ,有3 级程序存储器加密锁定,内含有128-256 字节的RAM、32条可编程的I/O 端口、2-3个16位定时器/计数器,6-8级中断,此外有通用串行接口、低电压空闲模式及掉电模式。
AT89C51相当于将8051 中的4KB ROM换成相应数量的Flash 存储器,其余结构、供电电压、引脚图2 AT89C51芯片引脚2.2串口基本结构介绍单片机的串行口的功能是与外部器件进行串行数据通信。
串行口电路也称为通用异步收发器(UART)。
从原理上说,一个UART包括发送器电路、接收器电路和控制电路。
8051 单片机的UART已集成在其中,构成一个全双工串口,全双工通信是指同时可以作双向通信,两个即可同时发送、接收,又可同时接收、发送。
其示意图如图3 所示。
这个口即可以实现串行异步通信,也可以作为同步移位寄存器使用。
图3 全双工通信示意图8051的串行口通过引脚RXD(P3.0串行口数据接收端)和引脚TXD(P3.1 串行口数据发送端)与外部设备进行串行通信。
其中共有两个串口双缓冲寄存器(SBUF),一个是发送寄存器,一个是接收寄存器,以便8051 能以全双工方式进行通信。
串行发送时,从片内总线向发送SBUF写入数据;串行接收时,从接收SBUF向片内总线读出数据。
它们都是在接收方式下,串行数据通过引脚RXD进入,由于在接收寄存器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,以避免在数据接收过程中出现帧重叠错误,即在下一帧数据来时,前一帧数据还没有走。
在发送方式下口,串行数据通过引脚TXD发出。
与接收数据情况不同,发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送电路就不需要双缓冲结构,这样可以提高数据发送速度。
2.3电平转换电路设计和其他的单片机器件一样,作为单片机的标准外围电路,串口的电平转换也有专用的芯片,但也可以使用三极管自行调整电平匹配。
本次设计我主要采用专用芯片进行电平转换的方法。
目前较为广泛的是使用集成电路转换器件,如MC1488、SN75150 芯片可完成TTL电平到EIA 电平的转换,而MC1489、SN75154可实现EIA 电平到TTL电平的转换。
MAX232芯片可完成TTL和RS-232C的双向电平转换。
在这里我采用的芯片是MAX232。
如图4图4 电平转换芯片MAX232在电气特性上RS-232C采用负逻辑,要求高、低两信号间有较大的幅度,标准规定为:逻辑‘ 1':-5~-15V ,逻辑‘ 0':+5~+15V 。
而单片机的信号电平与TTL电平兼容,逻辑1大于+2.4V,逻辑0为0.4V以下。
很显然,RS-232C信号电平与TTL电平不匹配,为了实现两者的连接,必须进行电平转换。
MAX232C为单一+5V供电,内置自升压电平转换电路,一个芯片能同时完成发送转换和接收转换的双重功能。
MAX232 的引脚主要为5 个部分:1)外接电容:有5 个外接电容、进行电压匹配和电源去耦(2)TTL的输入:电路TTL电平的输入引脚——11 和10 引脚,连接单片机的TXD 输出端口。
(3)TTL的输出:电路TTL电平的输出引脚——12 和9 引脚,连接单片机的RXD输出端口。
(4)RS-232的输入:两路RS-232电平的输入引脚——13 和8 引脚,连接RS-232的TXD的输出端口。
(5)RS-232的输出:两路RS-232电平的输出引脚——14 和7 引脚,连接RS-232的RXD的输出端口。
通过MAX232 的TTL和RS-232 的输入/输出端口,自动地调节了单片机串口的TTL 电平信号和RS-232的串行通信信号的电平匹配。
电平转换芯片与单片机的连接电路如下:地址分配和连接:只列出和系统相关的、关键部分的单片机与各个模块管脚的连接和相关的地址分配。
MAX232的11引脚:MAX232 的TTL电平输入引脚,连接单片机的TXD,TTL串口输入信号。
MAX232 的12 引脚:MAX232 的TTL电平输出引脚,连接单片机的RXD、TTL串口输入信号。
MAX232的14引脚:MAX232 的RS-232电平输出引脚,连接RS-232的RXD,RS-232的串口输入信号。
MAX232 的13 引脚:MAX232 的RS-232电平输入引脚,连接RS-232 的TXD,RS-232的串口输出信号。
MAX232 和单片机串口连接的电路如图5。
图5 MAX232 和单片机串口连接电路图2.4整体电路设计PC机和单片机最简单的连接时零调制三线经济系。
这是进行全双工通信所必需的最少线路,因为51 单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0 电平规定为+5~+15V之间,逻辑1电平为-5~-15V之间,因此在将PC 机和单片机的TXD和RXD交叉连接时必须进行电平转换,这里我选用的是MAX232 电平转换芯片。
将PC机键盘的输入发送给单片机,单片机收到PC 机发来的数据后,会送统一数据给PC机。
并在屏幕中显示出来。
只要屏幕中显示出来的字符与所键入的字符相同,说明二者之间的通信正常。
总串行通信图为图6 所示图6 串行通信电路图3 软件设计将PC 机键盘的输入发送给单片机,单片机收到PC 机发来的数据后,会送统一数据给PC机。
并在屏幕中显示出来。
只要屏幕中显示出来的字符与所键入的字符相同,说明二者之间的通信正常。
3.1 串行通信的实现(1)串行口工作于方式1;用定时器1 产生9600bit/s 的波特率,工作于方式2。
基于Proteus的RS485总线串行通信的设计与仿真
基于Proteus的RS485总线串行通信的设计与仿真张果;邓成中【摘要】RS485总线通信广泛应用于通信距离在千米以内的通信工程中.文章详细介绍了RS485总线的工作原理及串行通信方式,且为便于进一步深入理解RS485总线的应用,提出基于Proteus的RS485总线串行通信的设计与仿真,并以数码管显示为例,给出了其硬件电路的设计以及软件思路设计,最后利用Proteus软件对其进行了仿真.【期刊名称】《汽车实用技术》【年(卷),期】2018(044)007【总页数】5页(P75-78,110)【关键词】RS485总线;串行通信;Proteus仿真【作者】张果;邓成中【作者单位】西华大学机械工程学院,四川成都 610039;西华大学机械工程学院,四川成都 610039【正文语种】中文【中图分类】TP274前言随着科学技术不断地发展,现场总线技术也得到了很大的提升。
当需要的通讯距离在几十米到千米左右时,在工业控制上广泛采用RS485现场总线来进行通讯,RS485总线的通讯线只需要两根双绞线就能够实现多个站点联网,形成主从分布式结构的系统。
RS485总线串行通信方式以其简洁灵活、设备简单、性价比高,且能够进行长距离的通信,使其在工业控制系统如镀锌温度控制系统、抄表系统中,特别是中小型数据采集和控制系统得到了广泛的应用。
为加深对RS485总线串行通信的理解,本文提出基于Proteus的RS485总线串行通信的设计与仿真,并以数码管显示为例,给出了其软硬件的设计,并使用Proteus对其进行了仿真,仿真结果验证该总线通讯方式的正确性。
1 系统总体设计在现代工业自动控制技术、智能仪器仪表等技术领域中,使用PC机来作为工业自动控制的管理上位机已经越来越广泛,且符合控制技术的发展要求。
由于PC机的串行接口为标准的RS232C接口,若下位机设置有RS232C接口,两者可直接连接,但RS232C通信距离很短,仅为十几米,而且在工业控制中,显然无法完成较长距离的通信。
基于单片机的CAN总线通讯实现讲解
CAN总线通讯基于51单片机应用第一章前言1.1 概述控制器局域网(CAN-Controller Area Network)属于现场总线(Fieldbus)的范畴,是众多的属于现场总线标准之一,它适用于工业控制系统,具有通信速率高、可靠性强、连接方便、性能价格比高等诸多特点。
它是一种有效支持分布式控制或实时控制的串行通信网络,以其短报文帧及CSMA/CD-AMP(带有信息优先权及冲突检测的载波监听多路访问)的MAC(媒介访问控制)方式而倍受工业自动化领域中设备互连的厚爱。
CAN的应用范围遍及从高速网络到低成本的多线路网络,它可以应用于汽车系统、机械、技术设备和工业自动化里几乎任何类型的数据通信。
随着计算机硬件、软件及集成电路技术的迅速发展,同时消费类电子产品、计算机外设、汽车和工业应用等的需求不断增加。
高速、高可靠和低成本的通信介质的要求也随之提高。
现场总线是当今自动化领域技术发展的热点之一,它为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
微处理器中常用的串行总线是通用异步接收器传输总线(UART)、串行通信接口(SCI)、同步外设接口(SPI)、内部集成电路(I2C)和通用串行总线(USB),以及车用串行总线,包括控制器区域网(CAN)和本地互连网(LIN)等。
这些总线在速度、物理接口要求和通信方法学上都有所不同。
在计算机数据传输领域内,长期以来使用的通信标准,尽管被广泛使用,但是无法在需要使用大量的传感器和控制器的复杂或大规模的环境中使用。
控制器局部网CAN(CONTROLLER AERANETW0RK)就是为适应这种需要而发展起来的。
随着汽车电子技术的发展,消费者对于汽车功能的要求越来越多,汽车上所用的电控单元不断增多,电控单元之间信息交换的需求,使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,这就促进了车用总线技术的发展。
CAN 总线的出现,就是为了减少不断增加的信号线,所有的外围器件都可以被连接到总线上由于CAN总线具有可靠性高、实时性好、成本合理等优点,逐渐被应用于如船舶、航天、工业测控、自动化、电力系统、楼宇监控等其他领域中。
基于AT89C51单片机的RS 232串行数据截取器设计
基于AT89C51单片机的RS 232串行数据截取器设计郭付才;王洪涛;刘志华【期刊名称】《现代电子技术》【年(卷),期】2012(35)7【摘要】In order to obtain RS 232 serial communication data, the design based on AT89C51 SCM is introduced. The system used GM8123 chip expanding SCM's one serial port to three serial ports and used MAX232 chip realizing the exchange of RS 232 levels and TTL levels. The serial data was intercepted by SCM's serial port, and then SCM handled those data and sent them to the upper computer. This design has two kinds of work modes. Mode one realized real-time intercepting. Mode two used the store-and-forward principle, the interceptor can work independently.%为了实现对RS 232串行通信数据的截取,给出了基于AT89C51单片机的设计方案.系统利用GM8123芯片将单片机的1个串口扩展成为3个串口,采用MAX232芯片实现RS 232电平与TTL电平之间的相互转换,单片机通过串行口截取通信数据并对数据进行处理,处理后的数据再通过串行口发送到上位机进行显示.该系统具有两种工作模式,模式1实现对通信数据的实时截取,模式2是采用存储转发原理,截取器可以脱离上位机而工作.【总页数】3页(P95-97)【作者】郭付才;王洪涛;刘志华【作者单位】解放军理工大学气象学院,江苏南京211101;解放军理工大学气象学院,江苏南京211101;解放军理工大学气象学院,江苏南京211101【正文语种】中文【中图分类】TN911.7-34【相关文献】1.基于GPRS和HT46RU232单片机的水质监测系统的设计 [J], 贾俊霞;钱游;张建平;2.基于RS232串行数据采集实现串口通信的收发系统 [J], 陆冬妹;邓小芳;罗剑3.基于AT89C51单片机的RS232串行数据截取技术 [J], 刘菲菲;付科研;孙浩;刘蒙;梁孟元;孙锐4.基于PIC18单片机的RS-232/RS-485/CAN互联适配器的设计 [J], 沈毅斌;陈善章;袁明东5.基于STC11FO2E单片机的半双工RS232/RS485转换器设计 [J], 陈凡; 张辉因版权原因,仅展示原文概要,查看原文内容请购买。
课程设计 利用RS-232实现单片机与PC间的串行通信
内容提要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD 等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。
它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
单片机串口通信设计方案
单片机串口通信设计方案1.绪论1.1课题背景及意义目前,单片机的发展速度大约每两、三年要更新一代,集成度增加一倍,功能翻一番。
其发展速度之快、应用范围之广已达到了惊人的地步,它已渗透到生产和生活的各个领域,应用非常广泛。
在汽车、通信、智能仪表、家用电器和军事设备的智能化以及实时过程控制等方面,单片机都扮演着非常重要的角色[1]。
因此单片机的设计开发具有广阔的前景。
所以,对于电气类学生而言,学习一种单片机的开发是十分必要的。
而51系列的单片机,随着半导体技术的发展,其处理速度更快,性能更优越,在工业控制领域上占据十分重要的地位,通过对51系列单片机的学习而掌握单片机开发的过程是一种不错的选择。
然而单片机是一门综合性、实践性都很强的学科,其学习涉及的实验环节比较多,硬件设备投入比较大,对于大多数人而言很难投入大笔资金去购买实验器件。
而且要进行硬件电路测试和调试,必须在电路板制作完成、元器件焊接完毕之后进行,但这些工作费时费力。
因此引入EDA软件仿真系统建立虚拟实验平台,不仅可以大大提高单片机的学习效率,而且大大减少硬件设备的资金投入,同时降低对硬件设备的维护工作。
EDA设计思路是:从元器件的选取到连接、直至电路的调试、分析和软件的编译,都是在计算机中完成,所用的工作都是虚拟的。
虽然现在的电路设计软件已经很多,诸如PROTEL、ORCAD、EWB 、Multisim等,不过这些软件之间的差别都不大:都有原理图和PCB制作功能,都能进行诸如频率响应,噪音分析等电路分析,主要用于模拟电路、数字电路、模数混合电路的性能仿真与分析,但对于单片机设计及软件编程,最重要的是两者的联调,这些软件都无法实现,所以造成了单片机系统设计周期长、设计费用高等缺点[2]。
新款的EDA软件Proteus解决了上述软件的不足,成为目前最好的一款单片机学习仿真软件。
Proteus 软件是由英国Lab Center Electronics 公司开发的EDA 工具软件。
基于RS232及红外接口的多功能通讯实验板的设计-设计应用
基于RS232及红外接口的多功能通讯实验板的设计-设计应用1 引言计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,单片机主要执行上位机的命令,对来自微机串行口的命令进行操作,完成对被控对象的直接控制,并把被控对象的信息上报给上位机,异步串行通信是一种常用的多机通信手段,本文介绍一种将RS232,RS485,及红外接口集成在一起的PC机--单片机多功能通讯实验板,用于实现PC机与单片机间的串口通信、红外通信及PC机与PC机间的通讯实验。
2 实验板的组成原理与设计2.1 串行通信串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线,以每次一个二进制位移动的,他的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信,他的缺点是传送速度低,串行通信有异步通行和同步通信两种基本通信方式,同步通信适用于传送速度高的情况,其硬件复杂,而异步通信应用于传送速度在50-19200波特之间,是比较常用的传送方式,在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由1位起始位,5-8位的数据位,1位的奇偶校验位(可省略)和1位停止位4部分组成,在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。
2.2 AT89C51微控制器AT89C51单片机系统具有设计简单、性能可靠、功耗低等优点,它为用户预留下足够的软硬件资源,可供用户进行再开发应用,该系统除内部已有的4K FLASH存储器外,还可以扩展选址64K ROM 区和64K RAM区,供用户使用,用户在系统开发时,可以将自己的数据块和程序段、数据表,以若干控制子程序、数据块形式存放于AT89C51单片机的扩展ROM或RAM区中,以便系统工作时重复使用和反复调用。
2.3 RS232C通信接口RS232C是一种电压型总线标准,可用于设计计算机接口与终端或外设之间的连接,以不同的极性的电压表示逻辑值。
基于单片机的RS232接口接入CAN网络的实现
0 引言
1 CAN网络的基本知识
控制器局域网(C A N)是串行通信协议,它能有 效支持高性能的分布式实时控制。Robert Bosch G m b H在1991年的C A N规范V2.0B中完整定义了C A N协 议,其应用涵盖从高速网络到低成本多路复用线 路的各种领域。汽车电子设备均是使用C A N以最大 1 Mbit/s的传输速率连接的。CAN网络可以用来取代 汽车中的线路连接以有效节约成本。C A N总线在噪 声环境中的可靠性及其故障状态检测和从故障状态 恢复的能力使其适用于DeviceNet、SDS和其他现场 总线协议等工控应用。
基于单片机的多串口实现方案
基于单片机的多串口实现方案摘要:针对pc和cpu通常只有一个串行接口的问题,本文介绍了基于单片机的多串口实现方案,该方案能扩展出5个不同电平标准的通用串口,并且选用了一种应用到实践当中,试验证明,设计可靠,性能稳定,解决了单片机单个串口的局限性。
关键词:单片机串行接口多串口串口通信协议中图分类号:tp334.7 文献标识码:a 文章编号:1007-9416(2012)01-0082-031、总述随着控制技术的发展,控制系统的数字化在生产过程中的应用越来越普遍。
作为控制核心的cpu需要和多个检测及控制的相关设备进行通信。
这就给控制系统带来一个问题,一般的cpu都是只有1个串口(单片机最多的有4个),如果外界串行口设备过多,设计上就会出现许多困难。
笔者因此论述了几个多串口实现方案,并采用其中一种实现了5个全双工串口,并且可以兼容多种串行通信电平标准(rs232/rs485/rs422)。
2、几种多串口扩展实现方式扩展串口的方法归纳起来主要分为两类:一是软件实现方式,二是硬件实现方式。
2.1 软件实现方式软件实现方式一般有两种,一种是读写i/o,另外一种是读写端口。
软件模拟法可根据串行通讯的传送格式,利用定时器和主机的i/o口来模拟串行通讯的时序,以达到扩展串口的目的。
接收过程中需要检测起始位,这可以使用查询方式,或者,在端口具有中断功能的主机中也可以使用端口的中断进行处理。
接收和发送过程中,对定时的处理既可以使用查询方式也可以使用定时器中断方式。
如今软件模拟以其价格低廉,使用方便,已经成为一种潮流。
但同时也存在着通讯波特率低(一般不能超过4800bps),可靠性差(尤其是对于实时性要求很高的情形下)等缺点,并且不是所有的单片机都支持串口软件扩展。
2.2 硬件实现方式硬件扩展方法主要是通过增加一个器件来实现,具体实现方法有2种:其一是采用串口扩展芯片实现,就是一个主串口带多个从串口,如gm8125(每个串口波特率必须是一致的)、视普科技的sp3539(各个串口可以设置为不同的波特率)等;其二是分时复用将一个串口分时切换成多个串口使用,就是把并行数据转换成串行数据,器件有ti等的tl16c754等,该器件可与mcu的p0口和p2口及4个中断对接,经过扩展后,系统对外接口可增加4个,且均可设置为全功能的串行接口。
基于C语言的RS232串行接口通信实现
T21 P 7 文 献 标 识码 A 中 图分 类 号
RS 3 e il n e f c m m u ia i n wi e C La g a e 2 S ra tra eCO 2 I nc t t t n u g o h h
1 R 2 2串行 接 口 S3
1 s 3 . R 22接 口简 介 1
R 22串行接 口属于个人计算机 (c s3 P )及 电信应用领域中最为成功的串行数据 标准.它被定义为一 种在低速率 串行通信中增加通 信距离 的单端 标准 ,是 目前 P c机与通信工业 中应用最广泛的一种串行接
基于 C语言 的 RS 3 2 2串行接 口通信 实现
葛磊蛟 ,毛一之,李 歧 ,高婧嫱
( 河北工 、大学 电气与 自动化学 院 ,天津 30 3 【 k 0 1O)
摘要 串口通信是一种广泛使 用且 实用 的通信方式,介绍 R 22串行通信的联结方式,研 究利用 c语 言编程实 s3
现 R 2 2串行通信的过程.结合 实际应用,在 约定双方 串行通信协议 的基础上,运 用 c语言开发 的 串行通信软 s3
G e_a ,MAOYi h,L i AOJ gqag EL i o j i — i I ,G n —i z Q i n
( co 1 f 1c i l n ier gadAuo t n sh 0 Eetc gnei tmai ,Hee nvri f 'h oo y ini O lO hn o raE n n o b i iesyo 1 cn 1g ,Taj 3 0 3 ,c ia) u t e n
12_串行通信
1.2 串行通信的数据传送方式
尽管许多串行通信接口电路具有全双工功能,但在实际应 用中,大多数情况下只工作于半双工方式,即两个工作站 通常并不同时收发。这种用法并无害处,虽然没有充分发 挥效率,但简单、实用。
数据线 数据线 发送端 地线 (a) 单工方式 数据线 1 数据线 2 地线 (c) 全双工方式 接收端 发送端 地线 (b) 半双工方式 发送端
1.1 串行通信的基本方式
(1) 字符帧(Character Frame) 在串行通信中,发送端一帧一帧发送信息,接收端一帧一帧 接收信息。两相邻字符帧之间可以无空闲位,也可以有若干 空闲位,这由用户根据需要决定。
起始位 0 D
0
奇偶 停止位 校验 D1 D2 D3 D4 D5 D6 D 7 0/1 1 (a) 无空闲位字符帧
1.1 串行通信的基本方式
(2) 波特率(baud rate) 每位的传输时间定义为波特率的倒数。例如:波特率为1200 bit/s的通信系统,其每位的传输时间应为:
Td
1 0.833(ms) 1200
波特率还和信道的频带有关。波特率越高,信道频带越宽。 因此,波特率也是衡量通道频宽的重要指标,通常,异步通 信的波特率在50bit/s~9600bit/s之间。波特率不同于发送 时钟和接收时钟,它通常是时钟频率的1/16或1/64。
1.1 串行通信的基本方式
2. 同步通信(Synchronous Communication) 同步通信是一种连续串行传送数据的通信方式,一次通信只 传送一帧信息。这里的信息帧和异步通信中的字符帧不同, 通常有若干个数据字符,如下图所示。 同步字符帧由同步字符、数据字符和校验字符三部分组成。 其中,同步字符位于帧结构开头,用于确认数据字符的开始 (接收端不断对传输线采样,并把采到的字符和双方约定的 同步字符比较,只有比较成功后才会把后面接收到的字符加 以存储);数据字符在同步字符之后,个数不受限制,由所 需传输的数据块长度决定;校验字符有1~2个,位于帧结构 末尾,用于接收端对接收到的数据字符的正确性的校验。
