s3c2410串口控制器原理与编程.ppt_第1页
s3c2410串口控制器原理与编程.ppt_第2页
s3c2410串口控制器原理与编程.ppt_第3页
s3c2410串口控制器原理与编程.ppt_第4页
s3c2410串口控制器原理与编程.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、S3C2410接口电路之 串口控制器原理与编程,大课S3c2410中断控制器工作原理的一级中断信号传递过程 小课通过实验验证了s3c2410中断控制器一级中断信号传递通路中的相关影响因素 学会了s3c2410通过中断的方式使用外部管脚编程的步骤: 设置相应管脚为中断输入工作方式: rGPFCON=rGPFCON,软件学院 罗家兵 2009-2010下学期,中断清除的试验: 注释掉ClearPending(BIT_EINT0);后再观察结果并分析原因 注释掉rSRCPND = bit; 后再观察结果并分析原因 注释掉rINTPND = bit; 后再观察结果并分析原因 INTMASK的试验: 在

2、memory的观察窗口中输入0 x4a000008,并改为二进制格式,将最低位改位1,按键观察结果;再将低位改成0,再观察结果(不按键!)。 CPSR中的I位试验:在寄存器窗口中将cpsr中的0改成1,按键观察结果;再将cpsr中的1改成0,再观察结果(不按键!)。 把中断处理程序的关键字“_irq”去掉后在编译链接看能否正常运行。 参照数据手册改变外部中断0的触发方式,再观察实验结果。,软件学院 罗家兵 2009-2010下学期,S3c2410中断控制器的学习还没完全讲完(二级中断、FIQ中断等),考虑到我们试验过程中需要通过串口打印信息来监控目标程序(以前的实验是通过发光二极管来监控目标程

3、序运行状况)以更好地反应目标程序的运行状况,所以我们先学习串口控制器的原理与编程后再讲中断控制机的剩余部分。 本周课程主要内容如下: 串口通信概述(大课) S3c2410串口控制器原理(大课) S3c2410串口控制器编程(小课) 学习重点: S3c2410串口控制器编程查询方式(小课),软件学院 罗家兵 2009-2010下学期,串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000

4、b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在计算机通信接口中广泛采用。,软件学院 罗家兵 2009-2010下学期,一、串口通信概述,在讨论RS-232C接口标准的内容之前,先说明两点: 首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用

5、于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。 其次,RS-232C标准中所提到的发送和接收,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。,软件学院 罗家兵 2009-2010下学期,一、串口通信概述,串行通信的传输格式: 串行通信是计算机之间一种常见的近距离通信手段,因使用方便,编程简单而广泛使用,几乎所有的微控制器都提

6、供串行通信接口。,软件学院 罗家兵 2009-2010下学期,一、串口通信概述,开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线桑的时字符的二进制编码数据。 每个字符的数据位长可以约定为:5位、6位、7位或8位,一般采用ASCII编码,后面时奇偶校验位,根据约定,用奇偶校验位将所传的字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。 最后时表示停止位的“1”信号,这个停止位可以约定连续1位、1.5位或2位的时间宽度。 至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送。

7、,软件学院 罗家兵 2009-2010下学期,一、串口通信概述,传输速率: 每一个数据位的宽度定于发送波特率的倒数。微机异步串行通信中,常用的波特率为110、150、300、600、1200、2400、4800、9600、57600、115200等。 电气特性 要完成基本的通信功能,实际上值仅需要RXD、TXD和GND即可,但由于RS232C标准所定义的高、低电平信号于S3C32410系统的LVTTL电路定义的高、低电平信号完全不同,LVTTL的标准逻辑“1”对应23.3V,标准逻辑“0”对应00.4V,而RS-232-C标准采用负逻辑方式,逻辑“1”对应515V,标准逻辑“0”对应515V。

8、显然两者间要进行通信,必须经过电平的转换,转换芯片采用max232,软件学院 罗家兵 2009-2010下学期,一、串口通信概述,S3C2410 的UART(通用异步串行口)有三个独立的异步串行I/O 端口:UART0、UART1、UART2,每个串口都可以在中断和DMA 两种模式下进行收发。UART支持的最高波特率达230.4kbps。 每个UART 包含:波特率发生器、接收器、发送器和控制单元。波特率发生器以PCLK或UCLK为时钟源。发送器和接收器各包含1个16 字节的FIFO 寄存器和移位寄存器。 S3C2410 的3个UART都有遵从1.0规范的红外传输功能, UART0、UART1

9、有完整的握手信号,可以连接MODEM。 当发送数据的时候,数据先写到FIFO 然后拷贝到发送移位寄存器,然后从数据输出端口(TxDn)依次被移位输出。被接收的数据也同样从接收端口(RxDn)移位输入到移位寄存器,然后拷贝到FIFO 中。,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,串行口的结构,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,主要由4部分构成:接收器、发送器、波特率发生器、控制逻辑等。,接收器/发送器结构,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,串行口的操作: 数据帧格式:可编

10、程,包含1个开始位、5 到8 个数据位、1个可选的奇偶校验位、1个或2个停止位,通过线路控制器(ULCONn)来设置。 发送中止信号(硬件来完成):迫使串口输出逻辑0 ,这种状态保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再通过这个全0 状态将中止信号发送给对方。中止信号发送之后,传送数据连续放到FIFO 中(在不使用FIFO 模式下,将被放到输出保持寄存器)。 接收器具有错误检测功能:可以检测出溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都会将一个错误标志在接收状态寄存器置位。,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,串行口的波

11、特率发生器: 每个UART 的波特率发生器为传输提供了串行移位时钟。波特率产生器的时钟源可以从S3C2410 的内部系统时钟PCLK或UCLK 中来选择。波特率数值决定于波特率除数寄存器(UBRDIVn)的值,波特率数与UBRDIVn 的关系为: UBRDIVn=(int)(CLK/( f B*16) 1 其中CLK为所选择的时钟频率, f B为波特率。 f B= CLK/16/ ( UBRDIVn 1 ) 例如,如果波特率为115200bps 且PCLK 或UCLK 为40MHz,则UBRDIVn 为: UBRDIVn =(int)(40000000)(115200*16) 1 = (int

12、)(21.7) 1 = 21 1 = 20,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,串行口的自动流控功能: UART0和UART1不仅有完整的握手信号,而且有自动流控制功能,在寄存器UMCONn中设置实现。自动流控制是利用信号nRTS、nCTS来实现的。在接收数据时,只要接收FIFO中有两个空字节就会使nRTS有效,使对方发送数据;在发送数据时,只要nCTS有效,就会发送数据。其实现过程如下图所示。 nRTS:请求对方发送nCTS:清除请求发送 注意:这种自动流控制应用于对方也是UART设备,不能应用于MODEM设备。,软件学院 罗家兵 2009-2010

13、下学期,二、s3c2410串口控制器原理,使用FIFO进行收发 主要是通过对FIFO状态寄存器UFSTATn的查询,确定进行收发。 使用FIFO进行发送: (1)选择发送模式(中断或者DMA模式) (2)查询对方是否有请求发送要求,由MODEM状态寄存器UMSTATn0给出,该位为1,则有请求,再查询FIFO状态寄存器UFSTATn的数据满状态位是否为1,如果不是1,可以向发送缓冲寄存器UTXHn写入发送的数据。上面二者有一个或者两个都不满足,则不发送数据。 使用FIFO进行接收(请求发送): (1)选择接收模式(中断或者DMA模式) (2)请求发送。先要查询FIFO状态寄存器UFSTATn的

14、数据满状态位是否为1,如果不是1,则可以向对方发出“请求发送信号”,对MODEM控制寄存器MCONn中的请求发送信号产生位置1,使UARTn发出nRTS信号;如果UFSTATn的数据满状态位是1,则不能够请求发送数据。,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,不使用FIFO进行收发 主要是通过对收/发状态寄存器UTRSTATn的查询,确定进行收发。 数据发送: (1)选择发送模式(中断或者DMA模式) (2)查询对方是否有请求发送要求,由MODEM状态寄存器UMSTATn0给出,该位为1,则有请求,再查询发送/接收状态寄存器UTRSTATn1的“发送缓冲器

15、空”状态位是否为1,如果是1,可以向发送缓冲寄存器UTXHn写入发送的数据。 数据接收(请求发送): (1)选择接收模式(中断或者DMA模式) (2)请求发送。先要查询发送/接收状态寄存器UTRSTATn0的接收缓冲器“数据就绪状态位”是否为1,如果是1,需要先读取数据,然后再请求对方发送数据,方法是对MODEM控制寄存器MCONn中的请求发送信号产生位置1,使UARTn发出nRTS信号。,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,中断或DMA请求 每个UART都有3类、7种事件产生中断请求或者DMA请求。 7种中断请求事件是:溢出错误、奇偶校验错误、帧格式

16、错误、传输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。 它们可以分成3类:错误中断请求、接收中断请求、发送中断请求。 接收中断: 非FIFO模式:当接收缓冲寄存器收到数据后,产生中断请求。 FIFO模式:Rx FIFO中数据的数目达到了触发中断的水平,或者超时(在三帧时间内未收到任何数据),均产生中断请求。 发送中断: 非FIFO模式:当发送缓冲器空时,产生中断请求。 FIFO模式:Tx FIFO中数据的数目达到了触发中断的水平。,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,错误中断: 一共有4种错误中断:溢出错误、奇偶检验错误、帧格式错误、传输

17、中断信号错误。 非FIFO模式:只要有任何一个错误出现,就会产生中断请求。 FIFO模式:Rx FIFO中数据溢出,或者出现了帧格式错误、奇偶校验错误、传输中断信号错误,都会产生中断请求。 说明: (1)对于“奇偶校验错误、帧格式错误、传输中断信号错误”中断,在数据接收时就产生了,但是在数据接收产生时并非出现中断请求,而是在读出错误数据时才出现中断请求。 (2)如果设置的是DMA模式,而不是中断请求模式,对于以上所出现的中断请求,应该是DMA请求。 (3)传输中断信号定义:在超出一帧的时间内,全部输出低电平。,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,循环检

18、测模式 S3C2410X的每一个UART都提供有检测功能,它是一种数据循环流动的自发、自收方式,数据从发送缓冲器传送到TXD,数据不经过引脚输出,在内部将数据传到接收引脚RXD,再传输到接收缓冲器。,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,相关特殊功能寄存器 3个UART,每个都有11个专用寄存器,共29个寄存器,软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,线路控制寄存器(ULCON),软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,控制寄存器(UCON),软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,FIFO控制寄存器(UFCON),软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,MODEM控制寄存器(UMCON),软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,发送/接收状态寄存器(UTRSTAT),软件学院 罗家兵 2009-2010下学期,二、s3c2410串口控制器原理,Rx错误状态寄存器(UERSTAT),软件学院 罗家兵 2009-2010下学

温馨提示

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

评论

0/150

提交评论