当前位置:首页 > 单片机 > 单片机
[导读]一、UART简介UART(Universal Asynchronous Receiver/Transmitter)即通用异步收发传输器,工作于数据链路层。包含了RS-232、RS-422、RS-485串口通信和红外(IrDA)等等。UART协议作为一种低速通信协议,广泛应用于

一、UART简介

UART(Universal Asynchronous Receiver/Transmitter)即通用异步收发传输器,工作于数据链路层。包含了RS-232、RS-422、RS-485串口通信和红外(IrDA)等等。UART协议作为一种低速通信协议,广泛应用于通信领域等各种场合。UART基本可分为并口通信及串口通信两种。

异步串口通信协议作为UART的一种,工作原理是将传输数据的每个字符一位接一位地传输。图给出了其工作模式:

其中各位的意义如下:
起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。
资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。
奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
波特率:是衡量资料传送速率的指针。表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200字符/秒=1200波特

2:RS-232简介

RS-232串口通信是UART采用频繁的一种,一般的PC机上都带有两个基于RS-232的串口。

RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。RS-232只限于PC串口和设备间点对点的通信。它有两种模式DB-9(9针接口) 和DB-25(25针接口),支持全双工通信。

RS-232完成通信一般使用3根线:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。其模型图(DB-9)如下:

RS-232针脚的功能:

数据: 地线:
TXD(pin 3):串口数据输出(Transmitter)GND(pin 5):地线
RXD(pin 2):串口数据输入(Receiver)

握手:
RTS(pin 7):发送数据请求
CTS(pin 8):清除发送
DSR(pin 6):数据发送就绪
DCD(pin 1):数据载波检测
DTR(pin 4):数据终端就绪

其他
RI(pin 9):铃声指示

3:握手协议
RS-232通行方式允许简单连接三线:Tx、Rx和地线。但是对于数据传输,双方必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。RS-232有三种最常用握手形式:软件握手、硬件握手和Xmodem。

对于软件握手和硬件握手就不做讨论,主要了解bootloader中用到的Xmodem传输协议

Xmodem

XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个认可字节。然而,这种对每个块都进行认可的策略将导致低性能,特别是具有很长传播延迟的卫星连接的情况时,问题更加严重。

4:S3C2410中UART的数据资料

S3C2410中提供三个独立的异步收发串口,能运转在中断或DMA模式下。系统支持最高波特率230.4K bps,每个UART 信道都包含两个16位的FIFOs(first in first out)用于收发。每个串口都包含可编程的波特率,红外收发,1~2个停止位,5~8个数据位,和奇偶校正位,UART由波特率发生器,收发单位和控制单元构成。

自动控制流模式(AFC)

S3C2410的UART0和UART1都可以通过各自的nRTS和nCTS信号来实现自动流控。

禁止自动流控制可以通过写UMCONn register and control the signal of nRTS by software
在自动流控(AFC)模式下nRTS取决于接收端的状态,而nCTS控制了发送端的操作。具体地说:只有当nCTS有效时(表明接收方的FIFO已经准备就绪来接收资料了),UART才会将FIFO中的资料发送出去。在UART接收资料之前,只要当接收FIFO有至少2-byte空余的时候,nRTS就会被置为有效。

NOTE:UART 2doesnot supportAFC function, because the S3C2410X has no nRTS2 and nCTS2

中断/DMA请求产生
S3C2410的每个UART都有7种状态,分别是:溢出覆盖(Overrun)错误、奇偶校验错误、帧出错、断线错误、接收就绪、发送缓冲空闲、发送移位器空闲。它们在UART状态寄存器 UTRSTATn / UERSTATn 中有相应的标志位。

波特率发生器
每个UART控制器都有各自的波特率发生器来产生发送和接收资料所用的序列时钟,波特率发生器的时钟源可以CPU内部的系统时钟,也可以从CPU的 UCLK 管脚由外部取得时钟信号,并且可以通过 UCONn 选择各自的时钟源。
波特率产生的具体计算方法如下:
当选择CPU内部时钟时:
UBRDIVn=(int)(PCLK/(bps*16))-1,bps为所需要的波特率值,PCLK为CPU内部外设总线(APB)的工作时钟。
当需要得到更精确的波特率时,可以选择由 UCLK 引入的外部时钟来生成。
UBRDIVn=(int)(UCLK/(bps*16))-1

LoopBack操作模式
S3C2410CPU的UART提供了一种测试模式,也就是这里所说的LoopBack模式。在设计系统的具体应用时,为了判断通讯故障是由于外部的数据链路上的问题,还是CPU内驱动程序或CPU本身的问题,这就需要采用LoopBack模式来进行测试。在LoopBack模式中,资料发送端TXD在UART内部就从逻辑上与接收端RXD连在一起,并可以来验证资料的收发是否正常

UART控制寄存器

1:ULCONn (UARTLine Control Register)

保留位[7]

红外模式选择位【6】0 = Normal mode operation(基本模式)

1 = Infra-Red Tx/Rx mode(红外模式)

奇偶校正模式选择[5:3]0xx = No parity (不设置)

100 = Odd parity (奇校正)

101 = Even parity (偶校正)

110 = Parity forced/checked as 1

111 = Parity forced/checked as 0

停止位设置[2]0 = One stop bit per frame(每祯一个停止位)

1 = Two stop bit per frame (每祯两个停止位)

数据位长度[1:0] 00 = 5-bits 01 = 6-bits

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

RS-232(又称EIA RS-232)是常用的串行通信接口标准之一,由美国电子工业协会(EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定。

关键字: rs232 rs232通讯协议 调制解调器

在计算机和其他设备之间进行串行通信时,RS232串口接口是一种常见的标准接口。了解RS232串口接口的引脚定义及接线方法对于实现设备间的数据通信非常重要。本文将详细介绍RS232串口接口的引脚定义和接线方法,帮助大家轻松...

关键字: rs232 串口通信 串口接口

RS232串口通信是一种常见的通信方式,被广泛应用于各种设备之间的数据传输。本文将对RS232串口通信的程序编码及实验过程进行分析。

关键字: rs232 串口通信

RS232转RS485的接口原理图

关键字: rs232 rs485

RS232接口是一种用于近距离(最大30-60米)、慢速度、点对点通讯的通讯协议,RS232—RS485三线转换器原理图:

关键字: rs485 rs232 三线转换器

  引言   汽车的普及为人们的生活带来了方便,同时也给人们提出了一大难题——汽车防盗。本设计是为了解决以往汽车防盗产品的缺点和不足而开发的集成传感、报警和远程图

关键字: 数据采集 操作系统 s3c2410 汽车防盗系统

  引言   巡航控制系统(CCS)是20世纪60年代发展起来的,又称为恒速行驶系统。巡航控制系统工作时,ECU根据各种传感器输送来的信号判断汽车的运行状况,通过执行元件自动调节节气门的

关键字: ARM 三星 Linux ecu s3c2410 电子控制系统

  在过去一百年里(l906-2005),全球地表平均温度升高了0.74摄氏度,未来20年,每十年全球温度将会升高0.2摄氏度。气候变暖已成为不容忽视的、直接影响全球生产和生活问题。  

关键字: can总线 s3c2410

  在此设计的基于 GPRS 的远程安防监控系统,是采用的是摄像机传送视频信号经压缩编码后,通过内部总线传送到内置的 Web 服务器。用户在监控端可以直接通过浏览器观看 Web服务器上的摄像机视

关键字: GPRS s3c2410 安防监控

  串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。   在讨论RS-232C接口标准的内容之前,先说

关键字: rs232 串口 通讯协议
关闭
关闭