深刻理解UARTWord格式文档下载.docx
- 文档编号:15181049
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:22
- 大小:130.11KB
深刻理解UARTWord格式文档下载.docx
《深刻理解UARTWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《深刻理解UARTWord格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
规定有空闲位、起始位、资料位、奇偶校验
位、停止位。
通讯时序图如下:
开始前,线路处于空闲状态,送出连续“1”。
传送开始时首先发一个“0”作为
起始位,然后出现在通信线上的是字符的二进制编码数据。
每个字符的数据位长可以约定为5位、6位、7 位或8位,一般采用ASCII 编码。
后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇
数个或偶数个。
也可以约定不要奇偶校验,这样就取消奇偶校验位。
最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5 位或2位
的时间宽度。
至此一个字符传送完毕,线路又进入空闲,持续为“1”。
经过一段随机的时间后,
下一个字符开始传送才又发出起始位。
每一个数据位的宽度等于传送波特率的倒数。
微机异步串行通信中,常用的波特
率为110,150,300,600,1200,2400,4800,9600等。
S3C2410的异步串行口
S3C2410的UART(通用异步串行口)单元提供三个独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下进行。
UART支持的最高波特率达230.4kbps。
每个UART通道包含2个16位FIFO分别提供给接收和发送。
每个UART包含波特率发生器,接收器,发送器和控制单元。
。
波特率发生器以PCLK或UCLK为时钟源。
发送器和接收器包含16字节FIFO寄存器和移位寄存器,当发送数据的时候,数据先写到FIFO然后拷贝到发送移位寄存器,然后从数据输出端口(TxDn)依次被移位输出。
被接收的数据也同样从接收端口(RxDn)移位输入到移位寄存器,然后拷贝到FIFO中。
异步串行口的操作
数据发送操作
数据发送帧的格式是可编程的,它包含一个开始位,5到8个数据位,一个可选的奇偶位和一个或两个停止位,这些可以通过线性控制器(ULCONn)来设置。
发送器也能够产生发送中止条件。
中止条件迫使串口输出保持在逻辑0状态,这种状态保持一个传输帧的时间长度。
通常在一帧传输数据完整地传输完之后,在通过这个全0状态将中止信号发送给对方。
中止信号发送之后,传送数据连续放到FIFO中(在不使用FIFO模式下,将被放到输出保持寄存器)。
数据接收操作
与数据发送一样,数据接收的帧也是可以编程的,它包含一个开始位,5到8个
数据,一个可选的奇偶位和一位或两位停止位,它们都是通过线性控制器(ULCONn)
来设置的。
接收器能够检测溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都将
会将一个错误标志置位。
UART异步串行口的波特率发生器
每个UART的波特率发生器为传输提供了串行移位时钟。
波特率产生器的时钟源可以从S3C2410的内部系统时钟或UCLK中来选择。
波特率由时钟源(PCLK或UCLK)16分频然后被UART波特率除数寄存器(UBRDIVn)指定的16位除数决定。
因此,UBRDIVn的值可以按照下式确定:
UBRDIVn=(int)(PCLK/(bps*16))-1, 其中bps为波特率。
例如,如果波特率为115200bps且PCLK或UCLK为40MHz,则UBRDIVn为:
UBRDIVn=(int)(40000000)(115200*16))-1
=(int)(21.7)-1
=21-1= 20
UART异步串行口波特率发生器的误差极限
UART传输10bit数据的时间误差应该小于1.87%(3/160)。
tUPCLK= (UBRDIVn+1)x16x 10/ PCLK 实际的传输10bit所需时间。
tUEXACT= 10/baud-rate 理想情况下传输10位需要的时间。
UARTerror=(tUPCLK –tUEXACT)/tUEXACTx 100%
异步串行口的相关寄存器
线路控制寄存器(ULCON)
线性控制寄存器,主要用来规定传输帧的格式。
下面表格是线控制寄存器的地址
和位定义:
寄存器
地址
读/写
描述
重置值
ULCON0
0x50000000
读/写
UART通道0线路控制寄存器
0x00
ULCON1
0x50004000
UART通道1线路控制寄存器
0x00
ULCON2
0x50008000
UART通道2线路控制寄存器
0x00
ULCONn
位
初始状态
保留
[7]
0
Infra-RedMode
[6]
决定是否用红外模式。
0=正常模式操作
1=红外Tx/Rx模式
0
ParityMode
[5:
3]
指定奇偶产生的类型并在UART的传输与接收操作中检查。
0xx=非奇偶
100=奇
101 =偶
110 =强制奇偶/选中为1
111= 强制奇偶/选中为0
000
NumberofStop Bit
[2]
指定多少个停止位将被使用对于帧结束信号。
0 =每帧一个停止位
1 =每帧两个停止位
WordLength
[1:
0]
显示每帧传输或接收的数据位的数目。
00 = 5位,01 =6位
10 =7位,11= 8位
00
控制寄存器(UCON)
重置值
UCON0
0x50000004
UART通道0控制寄存器
UCON1
0x50004004
UART通道1控制寄存器
0x00
UCON2
0x50008004
UART通道2控制寄存器
0x00
UCONn
位
ClockSelection
[10]
选择PCLK或UCLK对于UART的波特率。
0=PCLK :
UBRDIVn =(int)(PCLK/(bpsx16))-1
1=UCLK(@GPH8) :
UBRDIVn=(int)(UCLK/(bpsx 16) )-1
TxInterruptType
[9]
中断请求类型。
0=脉冲型(当Tx缓冲区在无输入输出模式下变空或当Tx在输入输出模式下的输入输出到达触发电平时,中断就被请求。
)
1=电平型(当Tx缓冲区在无输入输出模式下变空或当Tx在输入输出模式下的输入输出到达触发电平时,中断就被请求。
)
0
RxInterruptType
[8]
0=脉冲型(当Rx缓冲区在无输入输出模式下接收数据或当Rx在输入输出模式下的输入输出到达触发电平时,中断就被请求。
1 = 电平型(当Rx缓冲区在无输入输出模式下接收数据或当Rx在输入输出模式下的输入输出到达触发电平时,中断就被请求。
Rx Time OutEnable
[7]
当UART的输入输出被使能时,使Rx的定时中断使能/失能。
这个中断是一个接收中断。
0 =失能,1= 使能
RxErrorStatusInterruptEnable
[6]
使UART在一个例外上产生中断是使能的,例如一个暂停,帧出错,奇偶出错或溢出出错在一个接收操作中。
0=不产生接收出错的状态中断
1=产生接收出错的状态中断
LoopbackMode
[5]
设置回溯位为1将引起UART加入到回溯模式中。
这种模式只是为测试目的而提供的。
0=正常操作,1=回溯模式
Send BreakSignal
[4]
设置这个位将引起UART在一帧的时间内传送一个暂停。
这个位在送出暂停信号后会被自动清除。
0= 正常传输,1=传送暂停信号
TransmitMode
[3:
2]
决定哪一个函数当前能够对Tx写入数据到UART传输缓冲寄存器。
00=失能
01=中断请求或轮流检测模式
10=DMA0请求(只对于UART0),DMA3请求(只对于UART2)
11=DMA1请求(只对于UART1)
00
ReceiveMode
决定哪一个函数当前能够读取数据从UART接收缓冲寄存器。
00=失能
01 =中断请求或轮流检测模式
10 = DMA0请求(只对于UART0),DMA3请求(只对于UART2)
11=DMA1请求(只对于UART1)
FIFO控制寄存器(UFCON)
UFCON0
0x50000008
UART通道0FIFO控制寄存器
0x0
UFCON1
0x50004008
UART通道1FIFO控制寄存器
0x0
UFCON2
0x50008008
UART通道2FIFO控制寄存器
0x0
UFCONn
位
TxFIFOTriggerLevel
[7:
6]
决定传输FIFO的触发电平。
00=空,01 = 4字节
10=8字节,11=12字节
00
Rx FIFO TriggerLevel
[5:
4]
决定接收FIFO的触发电平。
00 = 4字节,01=8字节
10= 12字节,11=16字节
[3]
TxFIFOReset
[2]
在重新设置FIFO后自动清除。
0=正常,1=TxFIFO重置
Rx FIFOReset
[1]
在重新设置FIFO后自动清除。
0=正常,1=RxFIFO重置
FIFOEnable
[0]
0=失能
1= 使能
MODEM控制寄存器(UMCON)
UMCON0
0x5000000C
UART通道0Modem控制寄存器
UMCON1
0x5000400C
UART通道1Modem控制寄存器
0x0
保留
0x5000800C
-
未定义
UMCONn
5]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深刻 理解 UART