第04章-3、UART_第1页
第04章-3、UART_第2页
第04章-3、UART_第3页
第04章-3、UART_第4页
第04章-3、UART_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LOGO第四章 LPC1700系列处理器基本接口技术4.4 UART串口通信串口功能概述RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。(1)接口的信号内容: 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。(2)接口的电气特性: 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5 -15V;逻辑“0” +5 +15V 。噪声容限为2V。即 要求接收器能

2、识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1” (3) 接口的物理结构: 一般采用DB-9的9芯插头座,传输线采用屏蔽双绞线。 (4)传输电缆长度: 在码元畸变小于4%的情况下,传输电缆长度应为50英尺,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺串口功能概述DB9 Male (Pin Side) - 1 2 3 4 5 / 6 7 8 9 / - 信号 DB-25 DB-9 公共地 7 5发送数据(TD) 2 3*接受数据(RD) 3 2*数据终端准备(DTR) 20 4数据准备好(DSR) 6 6请求发送(

3、RTS) 4 7清除发送(CTS) 5 8数据载波检测(DCD) 8 1振铃指示(RI) 22 9串口功能概述 异步通信的特点是:一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位(低电平,逻辑值),字符本身由5-7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位。停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。 串口功能概述概述LPC1700处理器芯片具有4个符合符合550

4、工业标准的异步串行口(UART)UART0、UART1、UART2和UART3。其中UART0、2、3除外设基地址不同以外功能是相同的,而UART1除了具有其他三个普通串口的功能外还具有一个额外的MODEM接口。特性每个UART具有独立的16字节收发FIFO;寄存器位置符合550工业标准;接收器FIFO触发点可为1, 4, 8和14字节;内置波特率发生器;包含实现软件流控制的机制;UART3包含了一个支持红外通信的IrDA模式。 UART的结构APB接口提供CPU或主机与UART之间的通信连接。UARTn波特率发生器模块UnBRG产生UARTn发送模块所需的时序。UARTn接收器模块UnRX监

5、视串行输入线RXDn的有效输入。UARTn接收移位寄存器(UxRSR)通过RXDn接收有效字符。 UARTn发送器模块UnTX接收CPU或主机写入的数据并将数据缓存到UARTn发送保持寄存器FIFO(UnTHR)中。 中断接口包含寄存器UnIER和UnIIR。 UnTX和UnRX的状态信息保存在UnLSR中。UnTX和UnRX的控制信息保存在UnLCR中 寄存器功能描述为了节省地址空间,在UART中有的寄存器拥有相同的地址,通过读、写操作来分别操作。如RBR与THR;IIR与FCR寄存器等。访问分频锁存寄存器DLLDLM必须有效DLAB位(即置1),该位如果置0则访问另外的寄存器。寄存器功能描

6、述UART接收缓冲寄存器UnRBRUnRBR是UART接收FIFO的顶部字节。它包含了最早接收到的字符,可通过总线接口读出。LSB(bit0)代表最早接收到的数据位。如果接收到的字符小于8位,未使用的高位填充为0。如果要访问UnRBR,UnLCR的分频锁存访问位(DLAB)必须为0。UnRBR为只读寄存器。由于PE、FE和BI位与RBR的FIFO顶端字节相对应(即下次读RBR时读出的字节) ,因此,将接收的字节及其状态位成对读出的正确方法是先读U0LSR,再读U0RBR。 UART发送保持寄存器UnTHR UnTHR是UART发送FIFO的顶部字节,它包含了发送FIFO中最新的字符,可通过总线

7、接口写入。LSB代表最先发送的位。 如果要访问UnTHR,UnLCR的分频锁存访问位(DLAB)必须为 0。U0THR为只写寄存器。 UART分频锁存低位寄存器与高位寄存器除数锁存是波特率发生器的一部分,它保存了用于产生波特率时钟的APB时钟PCLK分频值,波特率时钟必须是波特率的16倍. UnDLL和UnDLM寄存器一起构成一个16位除数,UnDLL包含除数的低8位,UnDLM包含除数的高8位。值0 x0000被看作是0 x0001,因为除数是不允许为0的。当访问UART分频锁存寄存器时,分频锁存访问位(DLAB)必须为1。 UART中断使能寄存器UnIER UART中断标志寄存器UnIIR

8、UxIIR提供状态代码用于指示一个挂起中断的中断源和优先级。在访问UxIIR过程中,中断被冻结。如果在访问UxIIR时产生了中断,该中断被记录,下次UxIIR访问可读出。 UART的中断处理UART FIFO控制寄存器UnFCR UART线控制寄存器UnLCRUART线状态寄存器UnLSR UART自动波特率控制寄存器UnACR UART的自动波特率控制寄存器用于控制输入时钟/数据率的测量过程。测量结果供波特率发送模块使用,并且用户可以对该寄存器读写。UART基本操作基本操作方法 :设置I/O连接到UARTn;设置串口波特率(UnDLM、UnDLL);设置串口工作模式(UnLCR、UnFCR );发送或接收数据(UnTHR、UnRBR);检查串口状态字(UnLSR)或者等待串口中断(UnIIR)。应用举例查询方式UART0初始化函数UART0_Init() 字节发送函数UART0_SendByte() 使用查询方式进行串口数据传输用户程序主要通过读取U0LSR线状态寄存器,读出的对应位是否置位来判断操作是否完成。 字节接收函数UART0_GetChar() 中断方式用中断方式使用串口更符合实际应用要求。当串口有接收发送操作完成或者操作错误时产生中断,CPU被中断后中断服务程序根据UnIIR中断标志寄存器的标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论