嵌入式系统基础 项目八:部件工作原理与编程 UART操作.pptVIP

嵌入式系统基础 项目八:部件工作原理与编程 UART操作.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统基础 电子信息工程技术专业教学资源库项目 电子信息工程技术 UART操作 嵌入式系统基础 S3C6410的UART简介 支持收发时握手模式 每个UART?包含一个波特率发生器,发送器,接收器和控制单元。该波特率发生器由PCLK,?ext_uclk0或ext_uclk1?进行时钟控制。发射器和接收器包含64字节的FIFO存储器和数据移位寄存器。发送数据之前,首先将数据写入FIFO存储器 ,然后复制到发送移位寄存器。通过发送数据的引脚(TXDn)将数据发送,同时,通过数据接收的引脚(RXDn)将接收到的数据从接收移位寄存器复制到FIFO 存储器。UART 的结构框图,如图所示。 对FIFO模式,64字节缓冲寄存器全用作FIFO寄存器 对于非FIFO模式,只1字节的缓冲寄存器用在保存寄存器。 嵌入式系统基础 嵌入式系统基础 UART操作 1.数据发送操作 数据发送帧的格式可编程,它包含1个开始位,5-8个数据位,一个可选的奇偶位和1或2个停止位,通过线性控制器(ULCONn)来设置。 发送器可发送中止条件,中止条件迫使串口输出保持在逻辑0状态,保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再通过这个全0状态将中止信号发送给对方。 中止信号发送之后,传送数据连续放到FIFO中.在不使用FIFO模式下,将被放到输出保持寄存器Tx。 嵌入式系统基础 2.数据接收 数据接收的帧也是可编程的,它包含1个开始位,5-8个数据位,1个可选的奇偶位和1位或2位停止位,通过线性控制器(ULCONn)来设置。接收器能够检测溢出错误、奇偶校验错误、帧错误和中止状况,每种情况下都会将一个错误标志置位。 溢出错误:旧数据在没有被读出之前就被新数据覆盖重写。 奇偶检验错误:接收器已经检验到一个未知的奇偶检验状态。 帧错误:接收的数据没有一个有效的停止位。 中止情况:RxDn输入一直保持在—个逻辑0状态,这个过程超出了一帧传输的时间。 当没有收到任何数据超过3个字的时间(间隔由设置的字长决定),并且在FIFO模式下,接收FIFO不为空的时候接收超时状态发生。 UART操作 嵌入式系统基础 3.波特率发生器 每个UART的波特率发生器为传输提供了串行移位时钟。波特率产生器的时钟源可以从S3C6410的内部系统时钟PCLK或UCLK中来选择。波特率由时钟源(PCLK或UCLK)16分频和UART波特率除数寄存器(UBRDIVn)指定的16位除数决定。UBRDIVn的值可以按照下式确定: UBRDIVn=(int)(PCLK/(bps*16))-1 除数范围为1~(216-1)。例如波特率为115200bps且PCLK或者UCLK为40MHZ,则UBRDIVn为: UBRDIVn=(int)(115200*16))-1 =(int)21.7-1=20 UART操作 嵌入式系统基础 4.Auto Flow Control(AFC)S3C6410x的UART0和UART1通过nRTS和nCTS信号支持自动流的控制.在一定情况下,可以连接到外部的UART上。如果用户想将UART连接为一个Modern,在UMCONn寄存器中禁止自动流控制位,而是通过软件来控制nRTS信号。 UART0和UART1都可以通过各自的nRTS和nCTS信号来实现自动流控。在自动流控(AFC)模式下,nRTS取决于接收端的状态,而nCTS控制发送端的操作。具体地说,只有当nCTS有效时(表明接收方的FIFO已经准备就绪来接收数据),UART才会将FIFO中的资料发送出去。在UART接收资料之前,只要当接收FIFO有至少2B空余时,nRTS就会被置为有效。小于1B时,nRTS置为无效。UART自动流控模式的连接方式。 UART操作 嵌入式系统基础 无自动流AFC控制举例(通过软件来控制nRTS和nCTS)。 FIFO的Rx操作: 选择接收模式(中断或者DMA模式); 检查在UFSTATn寄存器中的Rx FIFO计数器的值,如果这个值小于15,用户便设置UMCONn[0]为“1”(即激活nRTS)。相反若大于等于15,那么用户设置值为“0”(禁止nRTS); 重复步骤2. UART操作 嵌入式系统基础 FIFO的Tx操作: 选择发送模式(中断或者DMA模式); 检查UMSTATn[0]。如果这个值是“1”(即激活nCTS),用户写数据到Tx FIFO寄存器中. 重复步骤2. UART操作 嵌入式系统基础 5. LoopBack操作模式 UART的测试模式即LoopBack模式,为了判断通信故障是外部的数据链路上的问题,还是CPU内驱动程序或CPU本身的问题。采用LoopBack模式测试。该模式下,数据发送端TXD在UART内部就从逻辑

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档