基于arm7tdmi的s3c44b0x嵌入式微处理器技术ppt课件_第1页
基于arm7tdmi的s3c44b0x嵌入式微处理器技术ppt课件_第2页
基于arm7tdmi的s3c44b0x嵌入式微处理器技术ppt课件_第3页
基于arm7tdmi的s3c44b0x嵌入式微处理器技术ppt课件_第4页
基于arm7tdmi的s3c44b0x嵌入式微处理器技术ppt课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第10章 通用异步收发器,本章重点:, UART组成; UART操作: 包括数据发送接收、自动流控制、非自动流控制、RS-232C接口、中断及DMA请求、UART错误状态FIFO、波特率发生器、回送方式、红外方式等; 各特殊功能寄存器的含义及设置。,10.1 概 述,S3C44B0X中通用异步收发器(Universal Asynchronous Receiver and Transmitter,UART)提供了两个独立的异步串行IO(Serial Input Output,SIO)端口,每个可以使用基于中断(含查询)或基于DMA的方式操作,也就是说UART通过产生中断请求或DMA请求,在CPU(或内存)和UART之间传送数据。,UART支持最高波特率为115.2Kbps。每个UART通道含一个16字节的接收FIFO(First In First Out,先进先出)寄存器组,一个16字节的发送FIFO寄存器组。 数据发送和接收可以使用FIFO,也可以不使用FIFO。 不使用FIFO时,CPU(或内存)要发送的数据写到UART的发送保持(缓冲区)寄存器,UART接收到的数据保存在接收保持(缓冲区)寄存器。,可以对S3C44B0X中UART以下参数进行设置:波特率;红外IR(Infra Red)发送接收模式;1位或2位停止位;58位数据位;奇偶校验位。 如图10.1所示,每个UART含1个波特率发生器、发送器、接收器和控制单元。系统时钟MCLK可以作为时钟源送到波特率发生器。发送器和接收器各有1个16字节的FIFO和数据移位寄存器。要发送的数据写到FIFO后被拷贝到发送移位寄存器,通过发送数据引脚TxDn移位输出。接收数据从接收引脚RxDn移入接收移位寄存器,然后拷贝到FIFO。,图10.1 带FIFO的UART框图,S3C44B0X中UART有以下特点: RxD0、TxD0、RxD1和TxD1可以基于中断(含查询)或DMA方式操作; UART通道0带有IrDA1.0,并且有16字节FIFO; UART通道1带有IrDA1.0,并且有16字节FIFO; 支持发送接收握手方式。,10.2 UART操作,UART操作包含数据发送、数据接收、自动流控制(Auto Flow Control,AFC)、中断和DMA请求产生、错误状态FIFO、波特率发生器、红外方式等内容。 数据发送 发送数据的帧格式是可编程的,由1位起始位,58位数据位,1位可选择的奇偶校验位和12位停止位组成,能够在UART线控制寄存器ULCONn中指定。发送器也能产生断开条件(break condition),断开条件迫使串行输出成为0状态,持续时间比1帧传送时间更长。, 数据接收 像发送一样,接收的数据帧格式也是可编程的,由1位起始位,58位数据位,位可选择的奇偶校验位和12位停止位组成,能够在ULCONn中指定。接收器能够检查溢出错误(overrun error)、奇偶校验错误(parity error)、帧错误(frame error)和断开条件(break condition),并分别设置错误标记。, 溢出错误 奇偶校验错误 帧错误 断开条件 接收超时条件出现的情况。, 自动流控制 S3C44B0X的UART使用nRTS和nCTS信号支持自动流控制(Auto Flow Control,AFC),在这种情况下必须将UATR连到另一个UART。如果用户连接UART到调制解调器,应该在UMCONn寄存器中禁止AFC位,由软件控制nRTS信号。 自动流控制接口见图10.2。,图10.2 UART AFC接口, 非自动流控制(由软件控制nRTS和nCTS) 接收操作 选择接收方式基于中断或BDMA方式。 检查UFSTATn寄存器中接收FIFO计数值,如果小于15,用户必须设UMCONn0为1,使nRTS激活;如果大于等于15,用户将该值设为0,使nRTS不激活。 重复, 发送操作 选择发送方式基于中断或BDMA方式。 检查UMSTATn0的值,如果等于1,nCTS被激活,用户写数据到发送缓冲区或发送FIFO寄存器。, RS-232C接口 如果用户希望连接到调制解调器接口,需要使用nRTS、nCTS、nDSR、nDTR、DCD和nRI信号,在这种情况下,用户能够使用通用IO端口(GPIO)由软件控制这些信号,AFC不支持RS-232C接口。, 中断DMA请求产生 每个UART有7种状态信号:溢出错、奇偶校验错、帧错、断开(break)、接收FIFO或接收保持(缓冲区)寄存器数据准备好、发送FIFO或发送保持(缓冲区)寄存器空、发送移位寄存器空。在对应的UART状态寄存器UTRSTATnUERSTATn中,有相应位作为指示。,溢出错、奇偶校验错、帧错和断开都被看作是接收错误状态,如果在控制寄存器UCONn中接收错误状态中断允许位设置为1,它们中的每一种都能引起接收错误状态中断请求。当一个接收错误状态中断请求被检出,通过读UERSTATn能够识别这4种中哪一个提出了中断请求。 与FIFO有关的中断见表10.1。 (P264), UART错误状态FIFO 除了接收FIFO寄存器,UART还有状态FIFO。 状态FIFO表示在FIFO寄存器中的数据是否带有错误。 例如,假定UART FIFO顺次收到F、G、H、I、J字符,当收到字符G时出现帧错误,当收到字符I时出现奇偶校验错误。参见表10.2和图10.3。(P264、265), 波特率发生器 每个UART的波特率发生器为发送器和接收器提供串行的时钟信号。波特率发生器使用的时钟源,能够选择S3C44B0X内部系统时钟。时钟源除以16,然后由UART中波特率分频寄存器UBRDIVn中16位分频系数再分频,作为波特率时钟。UBRDIVn中系数由以下公式确定:,UBRDIVn =(round_off)(MCLK/(bps*16)-1 (式10-1) 比如波特率是115200bps, MCLK是40MHz, 则UBRDIVn为: UBRDIVn=(int)(40000000/(115200*16)+0.5)-1 =(int)(21.7+0.5)-1 =22-1=21, 回送方式(loop back mode) S3C44B0X的UART提供了一种测试方式,也称回送方式,用于在通讯链中辅助隔离故障。 红外方式 S3C44B0X支持红外(Infra Red,IR)发送和接收,通过在UART线控制寄存器ULCONn中设置红外方式位选择红外方式。红外方式的实现如图10.4所示。,图10.4 IrDA功能框图,10.3 UART特殊功能寄存器, UART线控制寄存器 在UART中有个线控制寄存器ULCON0和ULCON1,地址分别是0x01D00000和0x01D04000,可读写,Reset值为0x00,具体含义见表10.3。(P266) UART控制寄存器 在UART中有2个控制寄存器UCON0和UCON1,地址分别是0x01D00004和0x01D04004,可读写,Reset值为0x00,具体含义见表10.4。(P267), UART的FIFO控制寄存器 UFCON0和UFCON1是UART通道0和通道1的FIFO控制寄存器,地址分别是0x01D00008和0x01D04008,可读写,Reset值为0x00,具体含义见表10.5。(P268) UART调制解调器控制寄存器 UMCON0和UMCON1是调制解调器控制寄存器,地址分别是0x01D0000C和0x01D0400C,可读写,Reset值为0x00,具体含义见表10.6。(P268), UART发送接收状态寄存器 UTRSTAT0和UTRSTAT1分别是UART通道0和通道1的发送和接收状态寄存器,地址分别是0x01D00010和0x01D04010,只读,Reset值为0x6,具体含义见表10.7。(P269) UART错误状态寄存器 UART中有2个接收错误状态寄存器,分别是UERSTAT0和UERSTAT1,对应地址是0x01D00014和0x01D04014,只读,Reset值为0x0,具体含义见表10.8。(P269), UART FIFO状态寄存器 UART中有2个UART FIFO状态寄存器,分别是UFSTAT0和UFSTAT1,对应地址是0x01D00018和0x01D04018,只读,分别用于通道0和通道1,Reset值为0x0000,具体含义见表10.9。(P269) UART调制解调器状态寄存器 UART中有2个UART调制解调器状态寄存器,分别是UMSTAT0和UMSTAT1,对应地址是0x01D0001C和0x01D0401C,只读,Reset值为0x0,具体含义见表10.10和图10.8。(P270), UART发送保持(缓冲区)寄存器与FIFO寄存器 在表10.5中,如果UFCONn0=0,禁止使用FIFO,由处理器送来的数据,保存到发送保持(缓冲区)寄存器;如果UFCONn0=1,FIFO方式,允许使用FIFO,由处理器送来的数据,保存到FIFO寄存器。发送保持(缓冲区)寄存器和FIFO寄存器有相同的地址。 UART通道0和通道1各有一个8位的发送保持(缓冲区)寄存器与FIFO寄存器,分别是UTXH0和UTXH1,具体内容见表10.11。(P270) UTXHn中位7:0称为TXDATAn字段。, UART接收保持(缓冲区)寄存器与FIFO寄存器 在表10.5中,如果UFCONn0=0,禁止使用FIFO,UART接收到的数据保存在接收保持(缓冲区)寄存器;如果UFCONn0=1,FIFO方式,允许使用FIFO,UART接收到的数据保存在FIFO寄存器。接收保持(缓冲区)寄存器和FIFO寄存器有相同的地址。 UART通道0和通道1各有一个8位的接收保持(缓冲区)寄存器与FIFO寄存器,分别是URXH0和URXH1,具体内容见表10.12。(P271) URXHn中位7:0称为RXDATAn字段。, UART波特率分频寄存器 UART有2个波特率分频寄存器UBRDIV0和UBRDIV1,用于确定每个通道的发

温馨提示

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

评论

0/150

提交评论