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

下载本文档

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

文档简介

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

2、中断: EnableIrq(BIT_EINT0);整理ppt2009-2010下学期中断清除的试验:中断清除的试验: 注释掉注释掉ClearPending(BIT_EINT0);ClearPending(BIT_EINT0);后再观察结果并分析原因后再观察结果并分析原因 注释掉注释掉rSRCPND = bit; rSRCPND = bit; 后再观察结果并分析原因后再观察结果并分析原因 注释掉注释掉rINTPND = bit; rINTPND = bit; 后再观察结果并分析原因后再观察结果并分析原因INTMASKINTMASK的试验的试验: : 在在memorymemory的观察窗口中输入的

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

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

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

6、备,因此,它作为一种标准,目前已在计算机通信接口中广泛采用。 整理ppt2009-2010下学期在讨论RS-232C接口标准的内容之前,先说明两点: 首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232

7、C标准与计算机不兼容的地方就不难理解了。 其次,RS-232C标准中所提到的发送和接收,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。 整理ppt2009-2010下学期串行通信的传输格式:串行通信的传输格式: 串行通信是计算机之间一种常见的近距离通信手段,因使用方便,编程简单而广泛使用,几乎所有的微控制器都提供串行通信接口。整理ppt2009-2010下学期开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线桑的时字符的二进制编码数据。每个字符

8、的数据位长可以约定为:5位、6位、7位或8位,一般采用ASCII编码,后面时奇偶校验位,根据约定,用奇偶校验位将所传的字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后时表示停止位的“1”信号,这个停止位可以约定连续1位、1.5位或2位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送。整理ppt2009-2010下学期传输速率:传输速率: 每一个数据位的宽度定于发送波特率的倒数。微机异步串行通信中,常用的波特率为110、150、300、600、1200、2400、4800、9600、57600、11

9、5200等。电气特性电气特性 要完成基本的通信功能,实际上值仅需要RXD、TXD和GND即可,但由于RS232C标准所定义的高、低电平信号于S3C32410系统的LVTTL电路定义的高、低电平信号完全不同,LVTTL的标准逻辑“1”对应23.3V,标准逻辑“0”对应00.4V,而RS-232-C标准采用负逻辑方式,逻辑“1”对应515V,标准逻辑“0”对应515V。显然两者间要进行通信,必须经过电平的转换,转换芯片采用max232 整理ppt2009-2010下学期 S3C2410 S3C2410 的的UARTUART(通用异步串行口)(通用异步串行口)有三个独立的异步有三个独立的异步串行串行

10、I/O I/O 端口端口:UART0UART0、UART1UART1、UART2UART2,每个串口都可以在,每个串口都可以在中断和中断和DMA DMA 两种模式下进行收发。两种模式下进行收发。UARTUART支持的最高波特率支持的最高波特率达达230.4kbps230.4kbps。 每个每个UART UART 包含:包含:波特率发生器、接收器、发送器和控波特率发生器、接收器、发送器和控制单元。波特率发生器以制单元。波特率发生器以PCLKPCLK或或UCLKUCLK为时钟源。发送器和为时钟源。发送器和接收器各包含接收器各包含1 1个个16 16 字节的字节的FIFO FIFO 寄存器和移位寄存

11、器。寄存器和移位寄存器。 S3C2410 S3C2410 的的3 3个个UARTUART都有都有遵从遵从1.01.0规范的红外传输功能,规范的红外传输功能, UART0UART0、UART1UART1有完整的握手信号,可以连接有完整的握手信号,可以连接MODEMMODEM。 当发送数据的时候,数据先写到当发送数据的时候,数据先写到FIFO FIFO 然后拷贝到发送然后拷贝到发送移位寄存器,然后从数据输出端口(移位寄存器,然后从数据输出端口(TxDnTxDn)依次被移位输)依次被移位输出。被接收的数据也同样从接收端口(出。被接收的数据也同样从接收端口(RxDnRxDn)移位输入到)移位输入到移位

12、寄存器,然后拷贝到移位寄存器,然后拷贝到FIFO FIFO 中。中。整理ppt2009-2010下学期串行口的结构主要由主要由4 4部分构部分构成:成:接收器、接收器、发送器、波特发送器、波特率发生器、控率发生器、控制逻辑等。制逻辑等。整理ppt2009-2010下学期接收器/发送器结构整理ppt2009-2010下学期串行口的操作:串行口的操作: 数据帧格式:可编程,包含1个开始位、5 到8 个数据位、1个可选的奇偶校验位、1个或2个停止位,通过线路控制器(ULCONn)来设置。发送中止信号(硬件来完成):迫使串口输出逻辑0 ,这种状态保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完

13、之后,再通过这个全0 状态将中止信号发送给对方。中止信号发送之后,传送数据连续放到FIFO 中(在不使用FIFO 模式下,将被放到输出保持寄存器)。接收器具有错误检测功能:可以检测出溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都会将一个错误标志在接收状态寄存器置位。整理ppt2009-2010下学期串行口的波特率发生器:串行口的波特率发生器: 每个每个UART UART 的波特率发生器为传输提供了串行移位时钟。的波特率发生器为传输提供了串行移位时钟。波特率产生器的时钟源可以从波特率产生器的时钟源可以从S3C2410 S3C2410 的内部系统时钟的内部系统时钟PCLKPCLK或或UCL

14、K UCLK 中来选择。波特率数值决定于波特率除数中来选择。波特率数值决定于波特率除数寄存器(寄存器(UBRDIVnUBRDIVn)的值,波特率数与)的值,波特率数与UBRDIVn UBRDIVn 的关系的关系为:为:UBRDIVn=(int)UBRDIVn=(int)(CLK/CLK/( f f B B* *1616) 1 1 其中其中CLKCLK为所选择的时钟频率,为所选择的时钟频率, f f B B为波特率。为波特率。f f B= B= CLK/16/ CLK/16/ ( UBRDIVn UBRDIVn 1 1 )例如,如果波特率为例如,如果波特率为115200bps 115200bps

15、 且且PCLK PCLK 或或UCLK UCLK 为为40MHz,40MHz,则则UBRDIVn UBRDIVn 为:为:UBRDIVn =UBRDIVn =(intint)(40000000)(115200(40000000)(115200* *16) 16) 1 1 = (int)(21.7) = (int)(21.7) 1 1 = 21 = 21 1 1 = 20= 20整理ppt2009-2010下学期串行口的自动流控功能:串行口的自动流控功能: UART0UART0和和UART1UART1不仅有完整的握手信号,而且有自动流控不仅有完整的握手信号,而且有自动流控制功能,在寄存器制功能,

16、在寄存器UMCONnUMCONn中设置实现。自动流控制是利中设置实现。自动流控制是利用信号用信号nRTSnRTS、nCTSnCTS来实现的。在接收数据时,只要接收来实现的。在接收数据时,只要接收FIFOFIFO中有两个空字节就会使中有两个空字节就会使nRTSnRTS有效,使对方发送数据;有效,使对方发送数据;在发送数据时,只要在发送数据时,只要nCTSnCTS有效,就会发送数据。其实现有效,就会发送数据。其实现过程如下图所示。过程如下图所示。nRTSnRTS:请求对方发送:请求对方发送nCTSnCTS:清除请求发送:清除请求发送注意:这种自动流控制应用于对方也是注意:这种自动流控制应用于对方也

17、是UARTUART设备,不设备,不能应用于能应用于MODEMMODEM设备。设备。整理ppt2009-2010下学期使用使用FIFOFIFO进行收发进行收发 主要是通过对主要是通过对FIFO状态寄存器状态寄存器UFSTATn的查询,确定进行收发。的查询,确定进行收发。使用使用FIFO进行发送:进行发送:(1)选择发送模式(中断或者)选择发送模式(中断或者DMA模式)模式)(2)查询对方是否有请求发送要求,由)查询对方是否有请求发送要求,由MODEM状态寄存器状态寄存器UMSTATn0给出,该位为给出,该位为1,则有请求,再查询,则有请求,再查询FIFO状态寄存器状态寄存器UFSTATn的数据满

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

19、制寄存器制寄存器MCONn中的请求发送信号产生位置中的请求发送信号产生位置1,使,使UARTn发出发出nRTS信号;信号;如果如果UFSTATn的数据满状态位是的数据满状态位是1,则不能够请求发送数据。,则不能够请求发送数据。整理ppt2009-2010下学期不使用不使用FIFOFIFO进行收发进行收发 主要是通过对收主要是通过对收/ /发状态寄存器发状态寄存器UTRSTATnUTRSTATn的查询,确定进行收发。的查询,确定进行收发。数据发送:数据发送:(1 1)选择发送模式(中断或者)选择发送模式(中断或者DMADMA模式)模式)(2 2)查询对方是否有请求发送要求,由)查询对方是否有请求

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

21、态寄存器接收状态寄存器UTRSTATn0UTRSTATn0的的接收缓冲器接收缓冲器“数据就绪状态位数据就绪状态位”是否为是否为1 1,如果是,如果是1 1,需要先读取数据,需要先读取数据,然后再请求对方发送数据,方法是对然后再请求对方发送数据,方法是对MODEMMODEM控制寄存器控制寄存器MCONnMCONn中的请求中的请求发送信号产生位置发送信号产生位置1 1,使,使UARTnUARTn发出发出nRTSnRTS信号。信号。整理ppt2009-2010下学期中断或中断或DMADMA请求请求 每个每个UARTUART都有都有3 3类、类、7 7种事件产生中断请求或者种事件产生中断请求或者DMA

22、DMA请求。请求。7 7种中断请求事件是:溢出错误、奇偶校验错误、帧格式错误、传种中断请求事件是:溢出错误、奇偶校验错误、帧格式错误、传输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。它们可以分成它们可以分成3 3类:错误中断请求、接收中断请求、发送中断请求。类:错误中断请求、接收中断请求、发送中断请求。 接收中断:接收中断: 非非FIFOFIFO模式:当接收缓冲寄存器收到数据后,产生中断请求。模式:当接收缓冲寄存器收到数据后,产生中断请求。FIFOFIFO模式:模式:Rx FIFORx FIFO中数据的数目达到了触发中断

23、的水平,或中数据的数目达到了触发中断的水平,或者超时(在三帧时间内未收到任何数据),均产生中断请求。者超时(在三帧时间内未收到任何数据),均产生中断请求。 发送中断:发送中断:非非FIFOFIFO模式:当发送缓冲器空时,产生中断请求。模式:当发送缓冲器空时,产生中断请求。 FIFOFIFO模式:模式:Tx FIFOTx FIFO中数据的数目达到了触发中断的水平。中数据的数目达到了触发中断的水平。整理ppt2009-2010下学期 错误中断:错误中断:一共有一共有4 4种错误中断:溢出错误、奇偶检验错误、帧格式错误、种错误中断:溢出错误、奇偶检验错误、帧格式错误、传输中断信号错误。传输中断信号错

24、误。非非FIFOFIFO模式:只要有任何一个错误出现,就会产生中断请求。模式:只要有任何一个错误出现,就会产生中断请求。 FIFOFIFO模式:模式:Rx FIFORx FIFO中数据溢出,或者出现了帧格式错误、奇中数据溢出,或者出现了帧格式错误、奇偶校验错误、传输中断信号错误,都会产生中断请求。偶校验错误、传输中断信号错误,都会产生中断请求。说明:说明:(1 1)对于)对于“奇偶校验错误、帧格式错误、传输中断信号错误奇偶校验错误、帧格式错误、传输中断信号错误”中断,在数据接收时就产生了,但是在数据接收产生时并非出现中断中断,在数据接收时就产生了,但是在数据接收产生时并非出现中断请求,而是在读出错误数据时才出现中断请求。请求,而是在

温馨提示

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

评论

0/150

提交评论