欢迎来到天天文库
浏览记录
ID:20988054
大小:140.00 KB
页数:63页
时间:2018-10-18
《第六章 arm9_串口uart及编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章S3C2410的串口UART及编程6.1S3C2410的串口UART概述6.1.1S3C2410异步串行通信(UART)单元S3C2410UART单元提供3个独立的异步串行通信接口,皆可工作于查询、中断和DMA模式。使用系统时钟最高波特率达230.4kb/s,如果使用外部设备提供的时钟,可以达到更高的速率。每一个UART单元包含一个16字节的FIFO(FirstInputFirstOutput,先进先出移位寄存器),用于数据的接收和发送。S3C2410UART支持可编程波特率、红外发送/接收(UART2
2、)、1个或2个停止位、5位/6位/7位/8位数据宽度和奇偶校验。6.1.2波特率的产生波特率由一个专用的UART波特率分频寄存器(UBRDIVn)控制,UBRDIVn值计算公如下:UBRDIVn=(int)[ULK/(波特率×16)]-1或者UBRDIVn=(int)[PLK/(波特率×16)]-1式中:时钟选用ULK还是PLK由UART控制寄存器UCONn[10]的状态决定。如果UCONn[10]=0,则用PLK作为波特率发生器的时钟源频率;否则选用ULK作为波特率发生器的时钟源频率。UBRDIVn的值必须
3、在1~(216-1)之间。例如:若ULK或者PLK等于40MHz,当波特率为115200b/s时,则UBRDIVn=(int)[40000000/(115200×16)]一1=int(21.7)-1=21-1=206.1.3UART通信操作下面简略介绍UART操作,关于数据发送、数据接收、中断产生、波特率产生、查询检测模式、红外模式的详细介绍,参见下面6.3节。发送数据帧是可编程的。一个数据帧包含1个起始位、5~8个数据位、1个可选的奇偶校验位和1~2位停止位,停止位通过行控制寄存器ULCONn配置。与发送数
4、据帧类似,接收数据帧也是可编程的。接收帧由1个起始位、5~8个数据位、l个可选的奇偶校验位以及1~2位行控制寄存器ULCONn中设定的停止位组成。接收器还可以检测溢出错、奇偶校验错、帧错误和传输中断,每一个错误均可以设置一个错误标志。•溢出错误(overrunerror):指已接收到的数据在读取之前被新接收的数据覆盖;•奇偶校验错:指接收器检测到的校验和与设置的不符;•帧错误:指没有接收到有效的停止位;•传输中断:表示接收数据RxDn保持逻辑0超过一帧的传输时间。在FIFO模式下,如果RxFIFO非空,而在3
5、个字的传输时间内没有接受到数据,则产生超时。6.2UART的控制寄存器6.2.1UART行控制寄存器ULCONn该寄存器的位6决定是否使用红外模式,位5、位4和位3决定校验方式,位2决定停止位长度,位1和位0决定每帧的数据位数。具体如下:ULCONn[7]保留;ULCONn[6]红外线模式,0:正常模式;1:红外线模式;ULCONn[5:3]校验模式,0xx:无校验;100:奇校验;101:偶校验;ULCONn[2]停止位,0:一个停止位;1:二个停止位;ULCONn[1:0]数据位,00:5位;01:6位;
6、10:7位;11:8位。6.2.2UART控制寄存器UCONn该寄存器决定UART的各种模式。UCONn[10]1:ULK做波特率发生器;0:PLK做波特率发生器。UCONn[9]1:Tx中断电平触发;0:Tx中断脉冲触发。UCONn[8]1:Rx中断电平触发;0:Rx中断脉冲触发。UCONn[7]1:接收超时中断允许;0:接收超时中断禁止。UCONn[6}1:产生接收错误中断;0:不产生接收错误中断。UCONn[5]l:发送直接传给接收方式(loopback);0:正常模式。UCONn[4]1:发送间断信号
7、;0:正常模式发送。UCONn[3:2]发送模式选择:00:禁止发送;01:中断或查询模式;10:DMA0请求(UART0),DMA3请求(UART2);11:DMAl请求(UART1)。UCONn[1:0]接收模式选择。00:禁止接收;01:中断或查询模式;10:DMA0请求UART0,DMA2请求UART2;11:DMAl请求UART1。6.2.3UARTFIFO控制寄存器UFCONnUFCONn[7:6]00:TxFIFO寄存器中有0字节就触发中断;01:TxFIFO寄存器中有4字节就触发中断;10:T
8、xFIFO寄存器中有8字节就触发中断;11:TxFIFO寄存器中有12字节就触发中断。UFCONn[5:4]00:RxFIFO寄存器中有4字节就触发中断;01:RxFIFO寄存器中有8字节就触发中断;10:RxFIFO寄存器中有12字节就触发中断;11:RxFIFO寄存器中有16字节就触发中断。UFCONn[3]保留。UFCONn[2]1:FIFO复位清零TxFIFO;0:FIFO复位不清零TxFI
此文档下载收益归作者所有