第七章 UART串行接口
- 格式:ppt
- 大小:1.06 MB
- 文档页数:50


- 1 - uart接口引脚定义
UART 接口引脚定义
UART 接口是一种标准的串行接口,用于在两个设备之间传输数据。它常用于连接电脑和外部设备,也常用于两台计算机之间的通信,或者连接网络设备和控制器之间的通信。UART 接口的最大特点就是简单易用,只需要把 TX(Transmit,发送)和 RX(Receive,接收)两个引脚连接,即可完成信号的双向传输。
UART 接口的连接有标准的四个引脚:
(1)TX:发送信号的管脚;
(2)RX:接收信号的管脚;
(3)GND:接地管脚;
(4)VCC:电源输入管脚。
如上四个引脚,就可以完成信号的双向传输, TX 信号由发送设备传送到 RX 管脚,RX 信号由发送设备传送到 TX 管脚。UART 接口中常用的协议有 RS-232、RS-485、RS-422 和 V.34 等。
除此之外,UART 接口还有一些特殊的引脚,用于扩展了 UART 接口功能。比较常见的特殊引脚有:
(1)CTS:清除发送,当有多台串口设备同时发送数据时,可以使用 CTS 引脚来控制信号传输。
(2)RTS:请求发送,在多个串口设备同时发送数据的情况下,可以用 RTS 引脚控制信号传输;
(3)DSR:数据发送准备,用于判断发送设备是否就绪; - 2 - (4)DTR:数据接收准备,用于判断接收设备是否就绪;
(5)RI:线路中断检测,用于检测传输线是否断开;
(6)CD:载波检测,用来检测有无载波信号。
以上就是 UART 接口的定义及其引脚定义,它能够满足大多数串行信号传输的需要。熟练使用 UART 接口可以更好的实现信号传输,以满足不同设备之间的通信需求。
串口通信UART模块基本介绍
串口通信(UART)是一种通过串行接口进行数据传输的通信协议和硬件实现方式。它是计算机和外设之间最常用的通信方式之一,也是嵌入式系统和单片机等小型设备中常用的通信方式。UART通过串行方式传输数据,即通过单一的数据线一次只能传输一个bit位。在串口通信中,通常需要两条线,一条用于发送数据(TX),一条用于接收数据(RX)。
UART通常通过一对相互连接的芯片实现,称为UART芯片或UART模块。它包含一个发送器和一个接收器。发送器将要发送的数据从并行格式转换为串行格式,并通过发送线路发送出去。接收器则接收到的串行数据转换为并行格式以供系统使用。UART芯片通常由硬件设计工程师在集成电路中设计和实现。
UART通信具有以下特点和优势:
1.简单易用:UART通信是一种非常简单和易用的通信协议。它的实现简单,适用于各种不同的应用场景。
2.可靠性高:UART通信使用的是硬件实现,不受软件的控制和干扰。它具有较高的可靠性和稳定性。
3. 速度灵活可调:UART通信可以根据不同的应用需求进行速度调整。通常,UART通信支持的波特率范围很大,可以从几十bps到多Mbps。
4.支持半双工和全双工通信:UART通信可以支持半双工和全双工两种通信方式。在半双工模式下,发送和接收不能同时进行;而在全双工模式下,可以同时进行发送和接收。 5.通信距离远:UART通信使用串行线路进行数据传输,因此可以通过扩展串行线路的长度来实现较远距离的通信。
6.多种应用:UART通信广泛应用于各种设备和领域,如计算机、嵌入式系统、单片机、电子设备、通信设备等。
值得注意的是,UART通信只是一个物理层的通信协议,它只负责数据的传输,而不负责数据的解码和处理。因此,在使用UART通信时,通常需要配合其他协议或编码方式,如RS-232、RS-485、Modbus等,来完成完整的通信过程。
总结来说,UART通信是一种简单、可靠、灵活的串行通信协议和硬件实现方式。它在各种设备和领域中得到广泛应用,是计算机和外设之间常用的通信方式之一
uart的工作原理
UART(通用异步收发传输)是一种常见的串行通信接口,广泛应用于各种设备之间的数据传输。其工作原理如下:
1.串行传输:
UART采用串行传输,即一位一位地传输数据。与之相对的是并行传输,即同时传输多个数据位。串行传输可以减少传输线的数量和复杂性,提高系统集成度和可靠性。
2.异步通信:
UART采用异步通信方式,即在数据传输过程中不需要外部时钟信号来同步发送和接收数据。发送端和接收端根据事先约定的数据帧格式进行数据传输,并通过特定的控制位来标识数据的开始和结束位置。
3.数据帧格式:
UART将每个数据帧分为起始位、数据位、校验位和停止位。起始位用于表示数据传输的起始位置,一般为逻辑低电平;数据位用于存储传输数据;校验位用于进行数据校验,可以检测和纠正传输错误;停止位用于表示数据传输的结束位置。
4.数据传输过程:
发送端根据事先约定好的数据帧格式,依次发送起始位、数据位、校验位和停止位。接收端根据接收到的信号,解析出数据帧,并进行校验,判断数据的可靠性。如果校验正确,接收端将从数据位中提取出数据。
5.波特率: 6.数据缓冲:
UART通过数据缓冲来存储待发送和已接收的数据。发送端通过将数据写入发送缓冲区,由硬件自动进行数据发送;接收端则通过读取接收缓冲区,获取已接收的数据。
7.错误处理:
UART在数据传输过程中,会遇到各种错误,如传输错误、校验错误等。对于传输错误,UART通常会进行重试或重传;对于校验错误,UART可以通过重新计算校验位或直接丢弃错误数据。
8.应用范围:
UART广泛应用于各种设备之间的数据传输,如计算机与外部设备的串行通信、嵌入式系统与传感器的数据采集、工控设备与PLC的通信等。
总结:
UART是一种常见的串行通信接口,通过串行传输和异步通信方式,实现设备之间的数据传输。它采用数据帧格式、波特率、数据缓冲等机制来实现数据的可靠传输。在应用方面,UART广泛应用于各种设备之间的数据传输,是一个重要的通信接口。
第25卷第3期2007年5月西安航空技术高等专科学校学报Jo山爪alof刀’an户屺rotechni司CbllegeV乙1,25忡,。3M云y2007 基于CPLD尔PGA的串行异步通信(UART)接口电路设计 储海燕(西安航空技术高等专科学校电气工程系,陕西西安7107)摘要:U诗RT(即U拍v巴司恕扣chi切以.R战iVerT欢山因miter通用异步收发器)是广泛使用的串行数据传精协议。U人RT允许在串行桩路上进行全双工的通信。通过应用EDA技术,基于CPll)FI弋汰器件设计与实现UART的波特率产生器、UAR飞,发送器和接收器及其整合电路,目的是熟练运用VHDL语言,掌握CPLD芯片的使用。关键词:VHDL;CPI工丫日兀决;U诱RT接口电路中圈分类号二T卜r702文献标识码:A文章编号:108一兜33(2007)03一025刀31引言 目前,很多理工高校的EDA实验室都已建立,这为我们熟悉、使用可编程逻辑器件,学有所用的开发实验室产品提供了便利条件。本设计就是从这一点出发,利用川t.甩公司的可编程逻辑器件EPIKI的印08一3(ACEX1K系列),设计简易的串行异步UART接口电路,这里我们选用V日DIJ硬件描述语言编写源程序,通过拟tera公司为其可编程逻辑器件专门开发的仿真软件MAX+Plusn编译仿真,然后下载到EPIK10O印08一3芯片上,进行实现,最后做出实物。2基于CPLD的软件设计方案 CPLD(Q肋plexPr飞”浏朋bleL艰1。公州Ce)是复杂可编程逻辑器件的缩写。和基于Multisin企(X)1的数字电路硬件设计仿真相比,CPLD的软硬件方案有着极大的优越性。CPLD只需一块芯片就可以实现以上设计多块芯片实现的功能。V卜DL的层次化设计功能使得用户能设计大规模的电路系统,而且可以实现联机调试。VHDL是(V白了High岛冶目Int月夕妞teo卿itH公dwareD图币pt访h叫舆昭e)超高速集成电路硬件语言的缩写形式。通过VHDL的灵活编程,可以实现所需要的逻辑功能。 这里的仿真软件选用常见的川tera公司M欧Plusnlo.0软件。它提供了功能强大,直观便捷和操作灵活的原理图输人,文本编辑输人,波形输人,混合翰人设计功能。采用高级的文本编辑输人方式来实现各项功能。 在单片机中几乎都有UART接口,因此这种UrART的硬件架构设计就相当的重要,UART原名为Uni俄皿川yAs”-chi划阴ReCdver/T一iter(通用型异步接收及发送接口)。申行数据通信是指以位为单位的数据传输方式。在这种数据传输方式中,数据传输在一个传输的方向上只用一根通信线,这根线既作为数据线又作为通信联络控制线。数据和联络信号在这根线上按位进行传输。由予申行通信方式要求的传输信号线少,数据传输的速度慢,因此常用于低速、远距离的通信场合,如计算机与计算机、计算机与有串行接口的外部设备的数据交换等。2.1波特率产生器《价u动rate(知1。旧权汀) 产生波特率的主信号频率是越高越好,这样才可产生较高且精确的波特率。若是以40MF肠主频率要产生960()波特率则必须将此SY吸工K=40M卜肠除以4166.6666不是整数,取一个最接近的数是41“则波特率为96()1.53,其误差小于00.1%。假如除数为4160则波特率为40以X)(X犯/4160=%巧.38其误差率为0,16%。电路的时序模拟如图1所示。2.ZU诱RT的发送IX控制电路 以波特率频率产生器的E粗山1e’TX将数据r坛怕0以收稿日期二2(X)6一12一28作者简介:储海燕(1981一),女,陕西省西安市人,毕业于空军工程大学电讯工程学院通信工程专业,现任职于西安航专电气 系,助教,主要从事电子及通信专业课程的教学工作。26西安航空技术高等专科学校学报第25卷是否为1的停止位,若不是则代表接收到的数据结构不对而令结构错误标志fram正rr=10 在第9位接收完成后,准备要将移位寄存器ShtR铭转送入Lbut数据输出寄存器时,必须先检查是否巳进行过r的ut的数据读取。令数据备妥标志加pDRdy二0。若七np-DRdy=1则代表前一笔rbLlt数据尚未被读取,这时候要令输出错误标志。tErr二1。否则正常时会将ShtR铭读取送人D川t锁存寄存,并令BitCnt=0以及Start=0可重新接收一笔新数据。图3为其时序模拟测试图。 图IUART的波特率除频CLKUNIT模拟时序】诩d控制信号将其送人发送缓冲寄存器丁七uff,并令寄存器内容已载有数据而非空的标志加pTBufE二0。当同步波特率信号Enable来临时监视是否处于饥咖阳ufE=0(内有数据)以及加闪卫催刃二0(内有送人数据),但因Tbuf以送人传输寄存器T欢名内,为空故令加pTBufE二1,此加p邓ufE代表缓冲寄存器T七uff是否有被送人数据或已转送人传输寄存器,升电是否为空,可再予以送人新的要发送的数据。 假如加pTR馆E=0(内有送人数据)则便要开始进行数据串行传输,传出数据为8位,连同启动信号“0”共需9位的发送计数,以BitCnt作计数。当BitC冶t=0计数器便开始递・加计数字节,同时令Start起始信号为0,送人T又D输出端输出。而在计数器为1一8时都将TR昭的最低位Tr铭(0)输出到T元D端,并令T雌【〕作算术右移运算。依次将皿铭【」的D7一功通过功移到T又D端输出,直到第9位是停止移位,并将停止位T火D=0发送而结束一个8位数据的发送。对应的模拟时序则如图2所示。2.3UART的接收RX控制电路 当接收端接到RXD=0的启动信号后,便开始接收数据。接收数据的采样率是波特率的16倍,但不可以在RXD端立即判别接收数据,因为数据是隔着波特率时脉来传输数据的。最可开的方式是在数据来临的中间位置才确定读取数据,而到中间位置如何制定与分析呢?将这个采样(16x压记拍te)数据分成16个时段,在中间的第8采样时段即采样计数器3叨p1K如t二8时才将数据读取移人加p凡刃临时接收位寄存器内。当3mpl丈nt采样计数器计数到巧时,将处理此接收到的数据位。这时以位计数器BitCnt来判别,若是启动位BitCht二0则将检测是否接收到加p凡旧=0的启动位,若是则开始作位计数加1。假如加pR又D=1则代表仍未启动接收。故令启动标志St刊rt=0,并一直等待启动信号的来临。当位计数到1一8时应将加p凡。数据右移人数据移位寄存器ShtR喀内。当位计数到9时,也要检测加pR大DTXUNIT的执行模拟时序(1)幽卜R‘0自卜R二的曰卜R口目卜〔n台七臼创卜Clk司自OE盯月汾FE时..户OR打布砂0的创的润卜B口C川口护5断侧.C用口尹5栩R阳口沙DO以 72 O妇函蔗二72 72 图3RX1J’NIT的模拟时序图2.4U人RT的整合电路 以上已经完成U’ART的3个主要电路结构及其功能描述。将3个电路连接起来,并组构成如同一个MCU的外加控制芯片或是单片机内建的外围接口电路都可以,连接成简单的UART电路结构说明如下。 波特率产生器CLKUNIT的电路结构外观如图4所示,而TXI刃又IT发送电路结构外观如图5所示,接收电路RXU.NIT电路结构外观如图6所示。要搭配外部电路的读取接收数据压协OUT【7二0]或是读取状态标志等,以RD_N信号搭配八ddr〔1二0]的地址和芯片使能CS_N控制来读取。第3期储海燕:基于CPLD八丁七六的串行异步通信(U人RT)接口电路设计27输人得接收数据线为R火D,对应要发送的数据以L恤切In[7二0]同样搭配户d击【1二0]的地址线和芯片使能CS_N控制及写人控制的wR_N来予以写人。由T月D端串行非同步愉出数据,系统时脉为街蛇Ik=40左0入且七,并有重设R尺亚T输人控制。数据接收到时有IntR沈_N中断信号输出告知,而数据送人后已开始被发送则发出IntTx_N的信号,告知可再送人新数据以便备妥发送。整个芯片的外观引脚如图7所示。M[JARTSYSCLKRESETCS一NR刀一NWR一NRXD台毁米1之。 TXD INTRX一N 】NTTX・NDATAOUTI7二0]圈7芯片外观引脚 CLKtj刊Tl匡亚团图4CLKU刊丁T电路结构外观参考文献-..J,..J,二2r.‘护卫L,.J工月.卫Jf..Jl..Jl.J内J4气】护07...‘r..‘r,.Jree‘r.LCLKRESETENABL卫LOADDAIA0t7“0]TXOTREGETBUFE图STUXNrr电路结构外观 TXUNITCLKRESETENASLERXDRD FBR又 OERR OROYD川队0[7二0]圈6RXUNIT电路结构外观徐志军.大规模可编程逻辑器件及其应用[M].武汉:电子科技大学出版社,20(犯.n:2一23.宋万杰,罗丰,吴顺君.CPLD技术及其应用[M].西安电子科技大学出版社,2001.6:15一27.张原.可编程逻辑器件设计及应用【M』.北京:机械工业出版社,2(X)3.2:35钾40.王振红.VHDL数字电路设计与应用实践教程〔M〕.北京:机械工业出版社,20(]3.6:3945.播松,黄继业.EDA技术实用教程〔M〕.北京:科学出版社,2(X)3.7:n一15.周立功,夏宇闻.单片机与CP切综合应用技术【M].北京航空航天大学出版社,2003.9:20一23.林容益.CPU洲叹r及外围电路应用设计-基于FP.GA浅夕LD[M].北京航空航天大学出版社,2004.7:65-72. 〔贵任编辑、校对:高启明〕SerialUARTInt份几CeCirCUitD韶lgllingBasedonCPLD/FPGA口孔J石rai-创an(块卿吐m即tofEleC苗。E硒 ̄ng,Xi’曲A的tech苗司0川q终,7107,xi’an,3翅几石,Cllina)Abstract:UART(UriiversalAs”chronusReceiverTransritter)isanextensivelyutil喇哭rialdatatransIYut-tingagrementwhichalIowscoInmunicationontheseriallinkdrcIJit.WiththeapplicationofEDAtechilo“粼,apparatusdesigningandr已刃izationha淡沮ontheCPLD汗TGAtorealizeUARTbaudrateC氏泊tcfr,trans而tter,reciverandint哪犷at曰circuit,ai而ngtoutilzeVHDLI出堪uageandaP汕cationofCPLDchiP.K即Words:VHDL;CPI」〕/FPGA;UARTInt耐aceCircuit