单片机的串行通信接口技术探讨解析.docx
- 文档编号:28701124
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:13
- 大小:138.03KB
单片机的串行通信接口技术探讨解析.docx
《单片机的串行通信接口技术探讨解析.docx》由会员分享,可在线阅读,更多相关《单片机的串行通信接口技术探讨解析.docx(13页珍藏版)》请在冰豆网上搜索。
单片机的串行通信接口技术探讨解析
单片机的串行通信接口技术探讨
李建设
(安徽工贸职业技术学院 安徽淮南 232001
摘 要:
MCS51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF,这两个在物理上是独立的接收发送器,既可以接收数据也可以发送数据。
但接收缓冲器只能读出不能写入,。
本文以MCS51单片机为核心,利用通用可编程的异步接收发送器UART,亦可实现串行异步通信,还可以构成同步移位寄存器使用,RS232接口,与PC机、MCS
51单片机、。
增强设备应用的灵活性。
关键词:
MCS51;串行通信;ASYNC;;中图分类号:
TP36811:
B:
1004373X(20051806103
SiChipSerialCommunicationTechnology
LIJianshe
(AnhuiInstituteofEngineeringandTrade,Huainan,232001,China
Abstract:
MCS51hasanentirelydoubleworkserialinterfacethatincludesserialreceiverandtransmitbuffer1Theyarealone
ReceiverTransmitterinphysical1Theymayreceiveandtransmitdata1Receivingbuffercanonlyreading,butnotwrit2ting1Transmittingbuffercanonlywritting,butnotreading1ThispaperintroducesatheoryofcommunicationinUARTbasedonMCS
51,UARTisnotonlynetworkcommunicationandserialasynchronouscommunication,butalsosynchronousshiftregist1If
addingelectrictransformerintheOutInoftheserialinterface,UARTiseasytohavelevelRS232,andPC,multiplemicrocontrollerandnetworkofcomputercommunicate1Itcanbeembbedintheinspectivemobilesystemeasilyandimprovetheflexibilityofequip2ment1
Keywords:
MCS
51;serialcommunication;ASYNC;entirelydoubleworkserialinterface;Elink;network
收稿日期:
20050713
MCS51单片机系列是Intel公司推出的产品,是当前工业测控系统中理想的机种,单片机有一个全双工串行口。
全双工的串行通信只需要一根输出线和一根输入线。
数据的输出又称发送数据(TXD,数据的输入又称接收数据(RXD。
串行通信中主要有2个技术问题,一个是数据传送,另一个是数据转换。
数据传送主要解决传送中的标准、格式及工作方式等问题。
数据转换是指数据的串并行转换。
具体说,在发送端,要把并行数据转换为串行数据;而在接收端,则要把接收到的串行数据转换为并行数据。
利用此串行口使其具有多机通信控制功能,再加上网络传输器E
link,可方便地接入互联网络,实现网络通信,测
控系统的数据资源共享。
1 串行通信
所谓“串行通信”是指外设和计算机间使用一根数据信号线,数据在一根数据信号线上按位进行传输,每一位数据都占据一个固定的时间长度。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。
相比之下,由于高速率的要求,处
于计算机内部的CPU与串口之间的通信仍然采用并行的通信方式,所以串行口的本质就是实现CPU与外围数据设备的数据格式转换(或者称为串并转换器,即当数据从外围设备输入计算机时,数据格式由位(bit转化为字节数据;反之,当计算机发送下行数据到外围设备时,串口又将字节数据转化为位数据。
串行端口的本质功能是作为
CPU和串行设备间的编码转换器。
当数据从CPU经过串
行端口发送出去时,字节数据转换为串行的位。
在接收数据时,串行的位被转换为字节数据。
根据信息的传送方向,串行通信可以进一步分为单工、半双工和全双工3种。
信息只能单向传送称为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。
串行通信又分为异步通信和同步通信2种方式。
在单片机中,主要使用异步通信方式。
本文主要讨论异步通信应用。
111 异步通信ASYNC
图1是一种异步串行通信(ASYNchronousCommuni
cation协议格式,他用一帧来表示一个字符,一帧包含如
下内容:
一个起始位,表示一个字符的开始,用若干位表示字符本身,用停止位表示字符的结束,图中每一位的宽度由数据传输速度决定,传输速度由波特率度量,当无数据
传送时,则处于逻辑1态,当要传送数据时,发送第一位为起始位(0状态,而后跟数据位。
位数有5,6,7,8,MCS
51仅有8位,IBM
PC可以为任意一种,奇偶位识别传
输有无错误。
MCS51此位是奇偶位(地址数据通信标志位。
奇偶之后是1,115或2个停止位,MCS51仅有1
位停止位。
图1 异步串行通信协议格式
112 同步通信SYNC(SYNchronousCommunication
占用了时间,,步通信,2
示格式。
图2 数据块同步通信格式
同步传送的速度高于异步,可达56kbs。
他要求由时钟来实现发送端与接收端之间的同步,硬件结构复杂。
应用于计算机之间的通信和计算机到CRT之间的通信。
113 串口信号线
串口信号线的一个完整的RS232C接口有22根线,采用标准的25芯插头座(或者9芯插头座。
25芯和9芯的主要信号线相同。
以下的介绍是以25芯的RS232C为例。
(1主要信号线定义
1脚:
保护地;2脚:
发送数据TXD;3脚:
接收数据RXD;4脚:
请求发送RTS;5脚:
清除发送CTS;6脚:
数据设备就绪DSR;20脚:
数据终端就绪DTR;8脚:
数据载波检测DCD;7脚:
信号地。
(2电气特性
数据传输速率最大可到20kbs,最大距离仅15m。
(3接口的典型应用
大多数计算机应用系统与智能单元之间只需使用3~5根信号线即可工作。
这时,除了TXD,RXD以外,还需使用RTS,CTS,DCD,DTR,DSR等信号线。
以上接法,在设计程序时,直接进行数据的接收和发送就可以了,不需要对信号线的状态进行判断或设置如果应用的场合需要使用握手信号等,需要对相应的信号线的状态进行监测或设置。
2 MCS51串行接口
串行通信仅与在物理上的2个数据缓冲器SBUF打交道:
发送器和接收器。
2个特殊功能寄存器:
SCON,PCON。
MCS51片内有一个全双工串行接口通用的可编程的异步接收发送器USART(UniversalSynchronousAsynchronousReceiverTransmitter,由接收器和发送器2部分组成。
发送器能接收与寄存由CPU并行输出的数
据,通过移位寄存器变为串行,并添上一个起始位、奇偶校验位和规定的停止位,由一条数据线发送出去。
接收器是把收到的数据,去掉起始位、停止位,检查有无奇偶错误、帧错误。
然后把接收的字符经过移位寄存器变为并行后,送至接收数据寄存器、以便由CPU用输入指令取字符。
(1串行口控制寄存器SCON包含串行口的方式选
能如图
3图3 串行口控制寄存器
串行口工作方式如表1所示。
表1 串行口工作方式SM0SM1方式
功能波特率
000移位寄存器Fosc120118位UART可变
1029位UARTFosc64Fosc32RISI:
接收中断标志,由硬件置位,软件清0。
TI:
发送中断标志,由硬件置位,软件清0。
RB8:
接收数据位8,方式2或3中第9位数据可能是
奇偶位或是地址数据校验位。
TB8:
发送数据位8,方式2或3中第9位数据,在单
机通信中是奇偶位,多机通信中是地址帧数据帧。
REN:
接收允许位,由软件置位允许,清0禁止接收。
SM2:
方式2,3中多机通信控制位。
(2PCO为特殊功能寄存器
最高位是串行接口波特率系数控制位SMOD,当
SMOD为1时,使波特率加位,PCO其位为掉电方式控
制,如图4所示。
图4 PCO通信格式
(3波特率计算
由PCON和定时计数器T1决定,方式1,3波特率设计为:
波特率=2
SMOD
32×(定时计数器的溢出率
3 MCS51与IBM
PCXT通信
RS232C使用-3
~-25V表示数字“1”,使用3~25V表示数字“0”
RS232C在空闲时处于逻辑“1”状态,在开始传送时,首先产生一起始位,起始位为一个宽度的逻辑“0”,紧随其后为所要传送的数据,所要传送的数据由最低位开始依此送出,并以一个结束位标志该字节传送结束,结束位为一个宽度的逻辑“1”状态。
PC机一般使用8250或16550
作为串行通信的控制器,使用9针或25针的接插件将串行口的信号送出。
该插座的信号定义如表2所示。
表2 信号定义
DB
25DB
9信号名称方向
含 义23TXD输出数据发送端32RXD输入数据接收端
47RTS输出请求发送(计算机要求发送数据58CTS输入清除发送(MODEM准备接收数据
66DSR输入
数据设备准备就绪
75SG-
信号地81DCD输入数据载波检测
204DTR输出数据终端准备就绪(计算机
229
RI
输入
响铃指示
简单的通信仅需TXD,RXD及于通信软件。
比如,DO所提供的BIOS通信驱动程序,那么,这些握手信号则需要做如下处理,因为
BIOS的通信驱动使用了这些信号。
如果使用自己编写的
串行驱动程序则可以完全不使用这些握手信号。
MCS
51的UARTX给出的是TTL电平或IBM
PCXT的UART(8250是RS232电平,故需将TTL电
平进行转换。
分别由发送器1488和接收器1489来实现,如图5所示,给出接线图主机采用IBM
PCXT,实现查
询、监测下级机的工作状态,接收下级机的数据或向下级发布命令,下位机采用8051系统,可以直接安装到现场,完成控制或采集任务。
也可以用RS485接口连接成半双工或全双工两种通信方式,半双工通信的芯片有
SN75176,SN75276,SN75LBC184,MAX485,MAX1487,MAX3082,MA
X1483等;全双工通信的芯片有SN75179,
SN75180,MAX488
~MAX491,MAX1482等。
图5 1488和1489接线实现图
4 多机通信
利用串行口控制寄存器SCON中的SM2为多机通信控制位,MCS51方式2,3可以接收和发送第9位数据。
若SM2为1,则仅当接收器接收到的第9位数据位为1时,数据才装入缓冲器SBUF,并置“1”中断标志RI,向CPU发中断;如果接收到的第9位数据位为0,则不产生中断标志RI,信息将丢失;而SM2为0时则接收到一个数据字节后,不管第9位为0还是1,都产生相应中断标志R
I,接收到数据才装入缓冲器SBUF。
利用此特性,可实现多机通信。
如主机、分机都采用MCS51可直接连接,如图6所示。
图6 多机通信连接图
00H,01H,02H…,从机2,3接收,且1”SM,先,接着传送数据。
主机发91,数据信息第9位为0。
各从机接收9位信息RB8为1,置“1”中断标志RI,各从机判断主机送来的地址和本系统地址是否符合,如符合,则置“0”SM2,准备接收主机的数据;否则SM2保持“1”状态。
接着主机传送数据,这时,只有地址符合的从机激活中断标志RI,接收主机的数据,实现与主机通信。
不符合的从机因SM2保持“1”,RB8为“0”,不激活中断标志,接收信息将丢失。
从而主机和从机一对一通信。
5 网络通信
E
link网络连接控制器开发系统是一种提供微型
Internet接入模块的解决方案,他可以将分布式串口设备
或其他各种用户的智能控制系统接入到以太网或Inter2
net,利用模块内部TCPIP网络协议以及10BaseT网络接口,连接到以太网,方便地实现串口设备的联网。
E
link网络连接控制器具有体积小巧、低功耗、低成本,使用方便等优点。
E
link数据传输器使用的是TCPIP协议,内部协
议有TCP,UDP,IP,ARP,HTTP,ICMP,DHCP协议以及简单的应用层处理协议,上层软件可以使用VB,VC中的通用Socket函数,通过这套解决方案,串口设备可将自身的运行状态和工作参数等信息以TCP或UDP数据报的方式提供给监控者,亦可实现信息的实时传输。
单片机具备异步通信接口,可以借助网络数据传送器Elink
接入互联网,实现网络通信。
给Elink可以发送2种类
型的数据:
设置数据和通过E
link发送到串口的数据。
(1设置包
上层可以设置Elink的密码、板卡IP地址、网关IP
地址、板卡的物理地址(密码的设置是为了保证不被篡改。
可以使用专门的串口监控程序进行设置,也可以使用
Windows9xNT
2000提供的超级终端软件进行设置。
如果您的网路上有DHCP服务器,可以让其自行设置。
发送设置数据给Elink,E
link对自身进行设置,并不把数
据送到串口。
(下转第67页
认可的工业标准。
与EJB兼容的应用程序服务器众多,
包括
BEAWebLogicTengah,IBMWebSphereAdvancedEdi2tion,NoverajBusiness,Oracle8i,Oracle应用程序服务器,OrchidSoftVanda,PersistencePowerTier,ProgressApp2tivity等。
(2CORBA产品层出不穷
随着CORBA规范的推出和不断完善,世界上有许多计算机供应商和科研人员在对CORBA规范进行深入细致的研究和具体的实现。
当今基于CORBA规范的产品越来越多,其中比较著名的有:
Visigenic的VisiBroker,Digi2
tal的ObjectBroker以及一些开发源码的项目如TAO等。
随着网络分布式技术的发展,基于CORBA的产品越来越多地被应用,CORBA发环境中起到越来越重要的作用。
(3DCOM微软的WindowsWindows操作系统获得的最大财富,大大小小的公司、研究单位、个人都热衷于开发Windows操作系统之上的各种应用,这有效地促进了DCOMCOM的广泛应用。
Windows2000操作系统本身也是基于DCOM开发的成果。
5 结 语
本文对基于Web的通信设备集中监控系统的体系结
构进行了介绍。
基于Web的网络管理技术作为网络管理研究的一个热点,其应用越来越广泛。
依据本文提出的体系结构设计的某卫星通信站集中监控系统已经实际应用,并取得了良好的效果,证明本文提出的体系结构具有良好的伸缩性和实用性。
应该注意的是,在软件中间件技术的选择中,应根据实际情况,考虑异构性、可靠性、实时性和成熟性等多个因素来选择,才能构建好适合本架构的良好监控系统。
[1com—新的网络管
]:
13com1com1cnsolutions
1
2IETFRFC11571990,RRC227122751Simplenetwork
managementprotocol[EBOL]1http:
www1ietf1org
rfc1
[3][美]OMG1CORBA系统结构、原理与规范[M]1韦乐平,
薛君敖,孟洛明,等译1北京:
电子工业出版社,20001
[4]
[美]OMG1CORBAComponentsVersion310[EBOL]120021
[5]EnterpriseJavaBeansTMSpecification,Version211[EB
OL]1http:
java1sun1comproductsejb1
作者简介 张维杰 男,1974年出生,甘肃靖远人,硕士研究生,工程师。
从事通信网络管理、软件工程的研究。
薛 利 男,1978年出生,江苏泗阳人,工程师。
从事卫星通信网络管理工作。
(上接第63页
(2发送数据包
E
link接收UDPTCP数据包,将UDPTCP中数
据部分取出,并通过串口送出,通信协议使用标准的
RS232,422或485通信协议。
在网络数据传输中,因为RTL8019AS的内部RAM有限,最好不要一次发送超过4500B的数据,否则可能溢出,如果因为Elink的处理
速度不够快或者网卡芯片本身的原因产生溢出,则E
link抛弃存储区中的数据包。
这样,单片机与E
link一起可以发送、接收数据,通
过网络接口RJ45和以太网进行通信。
然后可以和网上的计算机进行网络通信,实现互联网的信息传递。
实现了单片机和网络计算机的互相通信,如图7所示。
6 结 语
本文对单片机异步通信做了探讨,在目前的发展形势下,因功耗越来越低,可靠性越来越高,随着Internet的普及,
单片机的应用领域将越来越广泛。
图7 单片机与网络计算机
互相通信示意图参 考 文 献
[1]霍孟友,王爱群1单片机原理与应用[M]1北京:
机械工
业出版社,20001
[2]吴金戌,沈庆阳,郭庭吉18051单片机实践与应用[M]1
北京:
清华大学出版社,20021
[3]李朝青1PC机及单片机数据通信技术[M]1北京:
北京航
空航天大学出版社,20001
[4]杨振江1流行单片机实用子程序及应用实例[M]1西安:
西安电子科技大学出版社,20021
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 串行 通信 接口 技术 探讨 解析