s3c2410串口控制器原理与编程

上传人:ni****g 文档编号:568591743 上传时间:2024-07-25 格式:PPT 页数:32 大小:1.99MB
返回 下载 相关 举报
s3c2410串口控制器原理与编程_第1页
第1页 / 共32页
s3c2410串口控制器原理与编程_第2页
第2页 / 共32页
s3c2410串口控制器原理与编程_第3页
第3页 / 共32页
s3c2410串口控制器原理与编程_第4页
第4页 / 共32页
s3c2410串口控制器原理与编程_第5页
第5页 / 共32页
点击查看更多>>
资源描述

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

1、S3C2410S3C2410接口电路之接口电路之 串口控制器原理与编程串口控制器原理与编程大课S3c2410中断控制器工作原理的一级中断信号传递过程小课通过实验验证了s3c2410中断控制器一级中断信号传递通路中的相关影响因素学会了s3c2410通过中断的方式使用外部管脚编程的步骤:设置相应管脚为中断输入工作方式:rGPFCON=rGPFCON&(0xff8|0x3)| (0x558|0x2);设置相关管脚的中断请求电平触发方式: rEXTINT0=rEXTINT0&(0x7)|0x2;将编程的中断处理函数地址填入中断向量表中的相应项*pEint0=(unsigned)handleEint0;

2、开启相应的中断: EnableIrq(BIT_EINT0);软件学院 罗家兵 2009-2010下学期中断清除的试验:中断清除的试验: 注释掉注释掉ClearPending(BIT_EINT0);ClearPending(BIT_EINT0);后再观察结果并分析原因后再观察结果并分析原因 注释掉注释掉rSRCPND = bit; rSRCPND = bit; 后再观察结果并分析原因后再观察结果并分析原因 注释掉注释掉rINTPND = bit; rINTPND = bit; 后再观察结果并分析原因后再观察结果并分析原因INTMASKINTMASK的试验的试验: : 在在memorymemory

3、的观察窗口中输入的观察窗口中输入0x4a0000080x4a000008,并改为二进制,并改为二进制格式,将最低位改位格式,将最低位改位1 1,按键,按键观察结果观察结果;再将低位改成;再将低位改成0 0,再,再观察结果观察结果(不按键!)。(不按键!)。CPSRCPSR中的中的I I位试验:在寄存器窗口中将位试验:在寄存器窗口中将cpsrcpsr中的中的0 0改成改成1,1,按键按键观察结果观察结果;再将;再将cpsrcpsr中的中的1 1改成改成0,0,再再观察结果观察结果(不按键!)。(不按键!)。 把中断处理程序的关键字把中断处理程序的关键字“_irq_irq”去掉后在编译链接去掉后在

4、编译链接看能看能否正常运行。否正常运行。参照数据手册改变外部中断参照数据手册改变外部中断0 0的触发方式,再的触发方式,再观察实验结果。观察实验结果。 软件学院 罗家兵 2009-2010下学期 S3c2410中断控制器的学习还没完全讲完(二级中断、FIQ中断等),考虑到我们试验过程中需要通过串口打印信息来监控目标程序(以前的实验是通过发光二极管来监控目标程序运行状况)以更好地反应目标程序的运行状况,所以我们先学习串口控制器的原理与编程后再讲中断控制机的剩余部分。 本周课程主要内容如下:1.1.串口通信概述(大课)串口通信概述(大课)2.2.S3c2410S3c2410串口控制器原理(大课)串

5、口控制器原理(大课)3.3.S3c2410S3c2410串口控制器编程(小课)串口控制器编程(小课) 学习重点:S3c2410S3c2410串口控制器编程串口控制器编程查询方式(小课)查询方式(小课)软件学院 罗家兵 2009-2010下学期串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。

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

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

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

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

10、0”对应00.4V,而RS-232-C标准采用负逻辑方式,逻辑“1”对应515V,标准逻辑“0”对应515V。显然两者间要进行通信,必须经过电平的转换,转换芯片采用max232 软件学院 罗家兵 2009-2010下学期一、串口通信概述一、串口通信概述一、串口通信概述一、串口通信概述 S3C2410 S3C2410 的的UARTUART(通用异步串行口)(通用异步串行口)有三个独立的异有三个独立的异步串行步串行I/O I/O 端口端口:UART0UART0、UART1UART1、UART2UART2,每个串口都,每个串口都可以在中断和可以在中断和DMA DMA 两种模式下进行收发。两种模式下进

11、行收发。UARTUART支持的最支持的最高波特率达高波特率达230.4kbps230.4kbps。 每个每个UART UART 包含:包含:波特率发生器、接收器、发送器和控波特率发生器、接收器、发送器和控制单元。波特率发生器以制单元。波特率发生器以PCLKPCLK或或UCLKUCLK为时钟源。发送器为时钟源。发送器和接收器各包含和接收器各包含1 1个个16 16 字节的字节的FIFO FIFO 寄存器和移位寄存器。寄存器和移位寄存器。 S3C2410 S3C2410 的的3 3个个UARTUART都有都有遵从遵从1.01.0规范的红外传输功规范的红外传输功能,能, UART0UART0、UAR

12、T1UART1有完整的握手信号,可以连接有完整的握手信号,可以连接MODEMMODEM。 当发送数据的时候,数据先写到当发送数据的时候,数据先写到FIFO FIFO 然后拷贝到发送然后拷贝到发送移位寄存器,然后从数据输出端口(移位寄存器,然后从数据输出端口(TxDnTxDn)依次被移位输)依次被移位输出。被接收的数据也同样从接收端口(出。被接收的数据也同样从接收端口(RxDnRxDn)移位输入到)移位输入到移位寄存器,然后拷贝到移位寄存器,然后拷贝到FIFO FIFO 中。中。软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口

13、控制器原理串口控制器原理串口控制器原理串口控制器原理串行口的结构软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理主要由主要由4 4部分构部分构成:成:接收器、接收器、发送器、波特发送器、波特率发生器、控率发生器、控制逻辑等。制逻辑等。接收器/发送器结构软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理串行口的操作:串行口的操作: 数据帧格式:可编程,包含1

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

15、c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理串行口的波特率发生器:串行口的波特率发生器: 每个每个UART UART 的波特率发生器为传输提供了串行移位时钟。的波特率发生器为传输提供了串行移位时钟。波特率产生器的时钟源可以从波特率产生器的时钟源可以从S3C2410 S3C2410 的内部系统时的内部系统时钟钟PCLKPCLK或或UCLK UCLK 中来选择。波特率数值决定于波特率中来选择。波特率数值决定于波特率除数寄存器(除数寄存器(UBRDIVnUBRDIVn)的值,波特率数与)的值,波特率数与UBRDIVn UBRDIVn 的关系为:的关系为:UBRDIVn=(int

16、)UBRDIVn=(int)(CLK/CLK/( f f B B*16*16) 1 1 其中其中CLKCLK为所选择的时钟频率,为所选择的时钟频率, f f B B为波特率。为波特率。f f B= B= CLK/16/ CLK/16/ ( UBRDIVn UBRDIVn 1 1 )例如,如果波特率为例如,如果波特率为115200bps 115200bps 且且PCLK PCLK 或或UCLK UCLK 为为40MHz,40MHz,则则UBRDIVn UBRDIVn 为:为:UBRDIVn =UBRDIVn =(intint)(40000000)(115200*16) (40000000)(11

17、5200*16) 1 1 = (int)(21.7) = (int)(21.7) 1 1 = 21 = 21 1 1 = 20= 20软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理串行口的自动流控功能:串行口的自动流控功能: UART0UART0和和UART1UART1不仅有完整的握手信号,而且有自动不仅有完整的握手信号,而且有自动流控制功能,在寄存器流控制功能,在寄存器UMCONnUMCONn中设置实现。自动流控中设置实现。自动流控制是利用信号制是利用信号nRTSnRT

18、S、nCTSnCTS来实现的。在接收数据时,来实现的。在接收数据时,只要接收只要接收FIFOFIFO中有两个空字节就会使中有两个空字节就会使nRTSnRTS有效,使对方有效,使对方发送数据;在发送数据时,只要发送数据;在发送数据时,只要nCTSnCTS有效,就会发送数有效,就会发送数据。其实现过程如下图所示。据。其实现过程如下图所示。nRTSnRTS:请求对方发送:请求对方发送nCTSnCTS:清除请求发送:清除请求发送注意:这种自动流控制应用于对方也是注意:这种自动流控制应用于对方也是UARTUART设备,设备,不能应用于不能应用于MODEMMODEM设备。设备。软件学院 罗家兵 2009-

19、2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理使用使用FIFOFIFO进行收发进行收发 主要是通过对主要是通过对FIFO状态寄存器状态寄存器UFSTATn的查询,确定进行收发。的查询,确定进行收发。使用使用FIFO进行发送:进行发送:(1)选择发送模式(中断或者)选择发送模式(中断或者DMA模式)模式)(2)查询对方是否有请求发送要求,由)查询对方是否有请求发送要求,由MODEM状态寄存器状态寄存器UMSTATn0给出,该位为给出,该位为1,则有请求,再查询,则有请求,再查询FIFO状态寄存器状态寄

20、存器UFSTATn的数据满状态位是否为的数据满状态位是否为1,如果不是,如果不是1,可以向发送缓冲寄存器,可以向发送缓冲寄存器UTXHn写入写入发送的数据。上面二者有一个或者两个都不满足,则不发送数据。发送的数据。上面二者有一个或者两个都不满足,则不发送数据。使用使用FIFO进行接收(请求发送):进行接收(请求发送):(1)选择接收模式(中断或者)选择接收模式(中断或者DMA模式)模式)(2)请求发送。先要查询)请求发送。先要查询FIFO状态寄存器状态寄存器UFSTATn的数据满状态位是的数据满状态位是否为否为1,如果不是,如果不是1,则可以向对方发出,则可以向对方发出“请求发送信号请求发送信

21、号”,对,对MODEM控制控制寄存器寄存器MCONn中的请求发送信号产生位置中的请求发送信号产生位置1,使,使UARTn发出发出nRTS信号;如信号;如果果UFSTATn的数据满状态位是的数据满状态位是1,则不能够请求发送数据。,则不能够请求发送数据。软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理不使用不使用FIFOFIFO进行收发进行收发 主要是通过对收主要是通过对收/ /发状态寄存器发状态寄存器UTRSTATnUTRSTATn的查询,确定进行收发。的查询,确定进行收发

22、。数据发送:数据发送:(1 1)选择发送模式(中断或者)选择发送模式(中断或者DMADMA模式)模式)(2 2)查询对方是否有请求发送要求,由)查询对方是否有请求发送要求,由MODEMMODEM状态寄存器状态寄存器UMSTATn0UMSTATn0给出,该位为给出,该位为1 1,则有请求,再查询发送,则有请求,再查询发送/ /接收状态寄存接收状态寄存器器UTRSTATn1UTRSTATn1的的“发送缓冲器空发送缓冲器空”状态位是否为状态位是否为1 1,如果是,如果是1 1,可,可以向发送缓冲寄存器以向发送缓冲寄存器UTXHnUTXHn写入发送的数据。写入发送的数据。数据接收(请求发送):数据接收

23、(请求发送):(1 1)选择接收模式(中断或者)选择接收模式(中断或者DMADMA模式)模式)(2 2)请求发送。先要查询发送)请求发送。先要查询发送/ /接收状态寄存器接收状态寄存器UTRSTATn0UTRSTATn0的接收缓冲器的接收缓冲器“数据就绪状态位数据就绪状态位”是否为是否为1 1,如果是,如果是1 1,需要先读取,需要先读取数据,然后再请求对方发送数据,方法是对数据,然后再请求对方发送数据,方法是对MODEMMODEM控制寄存器控制寄存器MCONnMCONn中的请求发送信号产生位置中的请求发送信号产生位置1 1,使,使UARTnUARTn发出发出nRTSnRTS信号。信号。软件学

24、院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理中断或中断或DMADMA请求请求 每个每个UARTUART都有都有3 3类、类、7 7种事件产生中断请求或者种事件产生中断请求或者DMADMA请求。请求。7 7种中断请求事件是:溢出错误、奇偶校验错误、帧格式错误、传种中断请求事件是:溢出错误、奇偶校验错误、帧格式错误、传输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。它们可以分成它们可以分成3 3类:错误中断请

25、求、接收中断请求、发送中断请求。类:错误中断请求、接收中断请求、发送中断请求。 接收中断:接收中断: 非非FIFOFIFO模式:当接收缓冲寄存器收到数据后,产生中断请求。模式:当接收缓冲寄存器收到数据后,产生中断请求。FIFOFIFO模式:模式:Rx FIFORx FIFO中数据的数目达到了触发中断的水平,中数据的数目达到了触发中断的水平,或者超时(在三帧时间内未收到任何数据),均产生中断请求。或者超时(在三帧时间内未收到任何数据),均产生中断请求。 发送中断:发送中断:非非FIFOFIFO模式:当发送缓冲器空时,产生中断请求。模式:当发送缓冲器空时,产生中断请求。 FIFOFIFO模式:模式

26、:Tx FIFOTx FIFO中数据的数目达到了触发中断的水平。中数据的数目达到了触发中断的水平。软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理 错误中断:错误中断:一共有一共有4 4种错误中断:溢出错误、奇偶检验错误、帧格式错误、种错误中断:溢出错误、奇偶检验错误、帧格式错误、传输中断信号错误。传输中断信号错误。非非FIFOFIFO模式:只要有任何一个错误出现,就会产生中断请求。模式:只要有任何一个错误出现,就会产生中断请求。 FIFOFIFO模式:模式:Rx FIFO

27、Rx FIFO中数据溢出,或者出现了帧格式错误、奇中数据溢出,或者出现了帧格式错误、奇偶校验错误、传输中断信号错误,都会产生中断请求。偶校验错误、传输中断信号错误,都会产生中断请求。说明:说明:(1 1)对于)对于“奇偶校验错误、帧格式错误、传输中断信号错误奇偶校验错误、帧格式错误、传输中断信号错误”中断,在数据接收时就产生了,但是在数据接收产生时并非出现中断中断,在数据接收时就产生了,但是在数据接收产生时并非出现中断请求,而是在读出错误数据时才出现中断请求。请求,而是在读出错误数据时才出现中断请求。(2 2)如果设置的是)如果设置的是DMADMA模式,而不是中断请求模式,对于以上模式,而不是

28、中断请求模式,对于以上所出现的中断请求,应该是所出现的中断请求,应该是DMADMA请求。请求。(3 3)传输中断信号定义:在超出一帧的时间内,全部输出低电)传输中断信号定义:在超出一帧的时间内,全部输出低电平。平。软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理循环检测模式循环检测模式 S3C2410XS3C2410X的每一个的每一个UARTUART都提供有检测功能,它都提供有检测功能,它是一种数据循环流动的自发、自收方式,数据从发是一种数据循环流动的自发、自收方式,数据从

29、发送缓冲器传送到送缓冲器传送到TXDTXD,数据不经过引脚输出,在内,数据不经过引脚输出,在内部将数据传到接收引脚部将数据传到接收引脚RXDRXD,再传输到接收缓冲器。,再传输到接收缓冲器。软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理相关特殊功能寄存器 3个UART,每个都有11个专用寄存器,共29个寄存器软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器

30、原理线路控制寄存器(ULCON)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理控制寄存器(UCON)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理FIFO控制寄存器(UFCON)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理MO

31、DEM控制寄存器(UMCON)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理发送/接收状态寄存器(UTRSTAT)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理Rx错误状态寄存器(UERSTAT)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理

32、串口控制器原理FIFO状态寄存器(UFSTAT)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理MODEM状态寄存器(UMSTAT)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理发送缓冲寄存器(UTxH)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理接收缓冲寄存器(URxH)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理波特率除数寄存器(UBRDIV)软件学院 罗家兵 2009-2010下学期二、二、二、二、s3c2410s3c2410s3c2410s3c2410串口控制器原理串口控制器原理串口控制器原理串口控制器原理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 文学/艺术/历史 > 人文/社科

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号