s3c2410串口控制器原理与编程.ppt

上传人:scccc 文档编号:14045493 上传时间:2022-01-31 格式:PPT 页数:33 大小:1.40MB
返回 下载 相关 举报
s3c2410串口控制器原理与编程.ppt_第1页
第1页 / 共33页
s3c2410串口控制器原理与编程.ppt_第2页
第2页 / 共33页
s3c2410串口控制器原理与编程.ppt_第3页
第3页 / 共33页
s3c2410串口控制器原理与编程.ppt_第4页
第4页 / 共33页
s3c2410串口控制器原理与编程.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《s3c2410串口控制器原理与编程.ppt》由会员分享,可在线阅读,更多相关《s3c2410串口控制器原理与编程.ppt(33页珍藏版)》请在三一文库上搜索。

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

2、察结果并分析原因 注释掉rINTPND = bit; 后再观察结果并分析原因INTMASK的试验: 在memory的观察窗口中输入0 x4a000008,并改为二进制格式,将最低位改位1,按键观察结果;再将低位改成0,再观察结果(不按键!)。CPSR中的I位试验:在寄存器窗口中将cpsr中的0改成1,按键观察结果;再将cpsr中的1改成0,再观察结果(不按键!)。 把中断处理程序的关键字“_irq”去掉后在编译链接看能否正常运行。参照数据手册改变外部中断0的触发方式,再观察实验结果。,2021/3/10,讲解:XX2009-2010下学期,4,S3c2410中断控制器的学习还没完全讲完(二级中

3、断、FIQ中断等),考虑到我们试验过程中需要通过串口打印信息来监控目标程序(以前的实验是通过发光二极管来监控目标程序运行状况)以更好地反应目标程序的运行状况,所以我们先学习串口控制器的原理与编程后再讲中断控制机的剩余部分。 本周课程主要内容如下:串口通信概述(大课)S3c2410串口控制器原理(大课)S3c2410串口控制器编程(小课) 学习重点:S3c2410串口控制器编程查询方式(小课),2021/3/10,讲解:XX2009-2010下学期,5,串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。RS-323

4、C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在计算机通信接口中广泛采用。,一、串口通信概述,2021/3/10,讲解:XX2009-2010下学期,6,在讨论RS-232C接口标准的内容之前,先说明两点: 首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Da

5、ta Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。 其次,RS-232C标准中所提到的发送和接收,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。,一、串口通信概述,2021/3/10,讲解:X

6、X2009-2010下学期,7,串行通信的传输格式: 串行通信是计算机之间一种常见的近距离通信手段,因使用方便,编程简单而广泛使用,几乎所有的微控制器都提供串行通信接口。,一、串口通信概述,2021/3/10,讲解:XX2009-2010下学期,8,开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线桑的时字符的二进制编码数据。每个字符的数据位长可以约定为:5位、6位、7位或8位,一般采用ASCII编码,后面时奇偶校验位,根据约定,用奇偶校验位将所传的字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后时表示停止

7、位的“1”信号,这个停止位可以约定连续1位、1.5位或2位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送。,一、串口通信概述,2021/3/10,讲解:XX2009-2010下学期,9,传输速率: 每一个数据位的宽度定于发送波特率的倒数。微机异步串行通信中,常用的波特率为110、150、300、600、1200、2400、4800、9600、57600、115200等。电气特性 要完成基本的通信功能,实际上值仅需要RXD、TXD和GND即可,但由于RS232C标准所定义的高、低电平信号于S3C32410系统的LVTTL电路定义的高、低电

8、平信号完全不同,LVTTL的标准逻辑“1”对应23.3V,标准逻辑“0”对应00.4V,而RS-232-C标准采用负逻辑方式,逻辑“1”对应515V,标准逻辑“0”对应515V。显然两者间要进行通信,必须经过电平的转换,转换芯片采用max232,一、串口通信概述,2021/3/10,讲解:XX2009-2010下学期,10,S3C2410 的UART(通用异步串行口)有三个独立的异步串行I/O 端口:UART0、UART1、UART2,每个串口都可以在中断和DMA 两种模式下进行收发。UART支持的最高波特率达230.4kbps。 每个UART 包含:波特率发生器、接收器、发送器和控制单元。波

9、特率发生器以PCLK或UCLK为时钟源。发送器和接收器各包含1个16 字节的FIFO 寄存器和移位寄存器。 S3C2410 的3个UART都有遵从1.0规范的红外传输功能, UART0、UART1有完整的握手信号,可以连接MODEM。 当发送数据的时候,数据先写到FIFO 然后拷贝到发送移位寄存器,然后从数据输出端口(TxDn)依次被移位输出。被接收的数据也同样从接收端口(RxDn)移位输入到移位寄存器,然后拷贝到FIFO 中。,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,11,串行口的结构,二、s3c2410串口控制器原理,主要由4部分构成:接收

10、器、发送器、波特率发生器、控制逻辑等。,2021/3/10,讲解:XX2009-2010下学期,12,接收器/发送器结构,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,13,串行口的操作: 数据帧格式:可编程,包含1个开始位、5 到8 个数据位、1个可选的奇偶校验位、1个或2个停止位,通过线路控制器(ULCONn)来设置。发送中止信号(硬件来完成):迫使串口输出逻辑0 ,这种状态保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再通过这个全0 状态将中止信号发送给对方。中止信号发送之后,传送数据连续放到FIFO 中(在不使用FIFO 模式

11、下,将被放到输出保持寄存器)。接收器具有错误检测功能:可以检测出溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都会将一个错误标志在接收状态寄存器置位。,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,14,串行口的波特率发生器: 每个UART 的波特率发生器为传输提供了串行移位时钟。波特率产生器的时钟源可以从S3C2410 的内部系统时钟PCLK或UCLK 中来选择。波特率数值决定于波特率除数寄存器(UBRDIVn)的值,波特率数与UBRDIVn 的关系为:UBRDIVn=(int)(CLK/( f B*16) 1 其中CLK为所选择的时钟频率,

12、 f B为波特率。f B= CLK/16/ ( UBRDIVn 1 )例如,如果波特率为115200bps 且PCLK 或UCLK 为40MHz,则UBRDIVn 为:UBRDIVn =(int)(40000000)(115200*16) 1 = (int)(21.7) 1 = 21 1 = 20,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,15,串行口的自动流控功能: UART0和UART1不仅有完整的握手信号,而且有自动流控制功能,在寄存器UMCONn中设置实现。自动流控制是利用信号nRTS、nCTS来实现的。在接收数据时,只要接收FIFO中有

13、两个空字节就会使nRTS有效,使对方发送数据;在发送数据时,只要nCTS有效,就会发送数据。其实现过程如下图所示。nRTS:请求对方发送nCTS:清除请求发送注意:这种自动流控制应用于对方也是UART设备,不能应用于MODEM设备。,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,16,使用FIFO进行收发 主要是通过对FIFO状态寄存器UFSTATn的查询,确定进行收发。使用FIFO进行发送:(1)选择发送模式(中断或者DMA模式)(2)查询对方是否有请求发送要求,由MODEM状态寄存器UMSTATn0给出,该位为1,则有请求,再查询FIFO状态寄存

14、器UFSTATn的数据满状态位是否为1,如果不是1,可以向发送缓冲寄存器UTXHn写入发送的数据。上面二者有一个或者两个都不满足,则不发送数据。使用FIFO进行接收(请求发送):(1)选择接收模式(中断或者DMA模式)(2)请求发送。先要查询FIFO状态寄存器UFSTATn的数据满状态位是否为1,如果不是1,则可以向对方发出“请求发送信号”,对MODEM控制寄存器MCONn中的请求发送信号产生位置1,使UARTn发出nRTS信号;如果UFSTATn的数据满状态位是1,则不能够请求发送数据。,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,17,不使用F

15、IFO进行收发 主要是通过对收/发状态寄存器UTRSTATn的查询,确定进行收发。数据发送:(1)选择发送模式(中断或者DMA模式)(2)查询对方是否有请求发送要求,由MODEM状态寄存器UMSTATn0给出,该位为1,则有请求,再查询发送/接收状态寄存器UTRSTATn1的“发送缓冲器空”状态位是否为1,如果是1,可以向发送缓冲寄存器UTXHn写入发送的数据。数据接收(请求发送):(1)选择接收模式(中断或者DMA模式)(2)请求发送。先要查询发送/接收状态寄存器UTRSTATn0的接收缓冲器“数据就绪状态位”是否为1,如果是1,需要先读取数据,然后再请求对方发送数据,方法是对MODEM控制

16、寄存器MCONn中的请求发送信号产生位置1,使UARTn发出nRTS信号。,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,18,中断或DMA请求 每个UART都有3类、7种事件产生中断请求或者DMA请求。7种中断请求事件是:溢出错误、奇偶校验错误、帧格式错误、传输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。它们可以分成3类:错误中断请求、接收中断请求、发送中断请求。 接收中断: 非FIFO模式:当接收缓冲寄存器收到数据后,产生中断请求。FIFO模式:Rx FIFO中数据的数目达到了触发中断的水平,或者超时(在三帧时间内未收到任何数据),

17、均产生中断请求。 发送中断:非FIFO模式:当发送缓冲器空时,产生中断请求。 FIFO模式:Tx FIFO中数据的数目达到了触发中断的水平。,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,19,错误中断:一共有4种错误中断:溢出错误、奇偶检验错误、帧格式错误、传输中断信号错误。非FIFO模式:只要有任何一个错误出现,就会产生中断请求。 FIFO模式:Rx FIFO中数据溢出,或者出现了帧格式错误、奇偶校验错误、传输中断信号错误,都会产生中断请求。说明:(1)对于“奇偶校验错误、帧格式错误、传输中断信号错误”中断,在数据接收时就产生了,但是在数据接收产

18、生时并非出现中断请求,而是在读出错误数据时才出现中断请求。(2)如果设置的是DMA模式,而不是中断请求模式,对于以上所出现的中断请求,应该是DMA请求。(3)传输中断信号定义:在超出一帧的时间内,全部输出低电平。,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,20,循环检测模式 S3C2410X的每一个UART都提供有检测功能,它是一种数据循环流动的自发、自收方式,数据从发送缓冲器传送到TXD,数据不经过引脚输出,在内部将数据传到接收引脚RXD,再传输到接收缓冲器。,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下

19、学期,21,相关特殊功能寄存器 3个UART,每个都有11个专用寄存器,共29个寄存器,二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,22,线路控制寄存器(ULCON),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,23,控制寄存器(UCON),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,24,FIFO控制寄存器(UFCON),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,25,MODEM控制寄存器(UMCON),二、

20、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,26,发送/接收状态寄存器(UTRSTAT),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,27,Rx错误状态寄存器(UERSTAT),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,28,FIFO状态寄存器(UFSTAT),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,29,MODEM状态寄存器(UMSTAT),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,30,发送缓冲寄存器(UTxH),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,31,接收缓冲寄存器(URxH),二、s3c2410串口控制器原理,2021/3/10,讲解:XX2009-2010下学期,32,波特率除数寄存器(UBRDIV),二、s3c2410串口控制器原理,2021/3/10,33,感谢您的阅读收藏,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1