嵌入式io接口编程复习资料.docx_第1页
嵌入式io接口编程复习资料.docx_第2页
嵌入式io接口编程复习资料.docx_第3页
嵌入式io接口编程复习资料.docx_第4页
嵌入式io接口编程复习资料.docx_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

复习提纲:1 S3c2410存储体系结构;sdram起始地址,以及最大容量。P87 S3c2410空间地址分多少组,最大支持多大的空间。1). 2).Sdram的起始地址为0x30000000;最大可以有256M,bank6、bank7都用来做sdram。2 内部4ksram起始地址问题。分为两种情况:norflash启动和nandflash启动当从norflash启动的时候:内部4Ksram的其实地址(有上图可知)为0x40000000。(此时)。当从nandflash启动的时候:内部4Ksram的其实地址(有上图可知)为0x00000000。(此时);注意,这时候sram是映射到0地址的,物理地址不变,但是逻辑上的地址是0;附带:2410两种启动方式的大致过程;1. norflash启动:因为norflash支持xip(p126),即代码可以直接在norflash上执行。也可以吧norflash的代码复制到sdram中执行(起始地址0x30000000),也可以复制到内部的4k地址sram中执行(如果代码小于4k的话)2. nandflash启动:(详见p97)从nandflash启动的话,首先把nandflash前4k的代码复制到sram(无理地址为0x40000000,但是会映射到0地址),此时sdram还未初始化,而复制到sram的这4k的代码就是为了对sdram进行初始化。当在sram中执行完nandflash前4k的代码之后,就把nandflash 4k以后的代码复制到SDRAM中执行了。(可以把sram中的代码复制也复制到sdram中也可以只复制之后的代码)这句话对吗?3 S3c2410系统时钟。(p160)(注意看用户手册,里面涉及到一些寄存器的设置)2410的始终控制逻辑既可以通过外接晶振,然后通过内部电路产生时钟源;也可以直接使用外部提供的时钟源,它们通过引脚设置来选择;时钟控制逻辑给整个芯片提供三种时钟:FCLK:用于cpu供电;HCLK:用于AHB总线上的设备,如cpu核、存储控制器、中断控制器、lcd控制器、dma和usb主机模块等;PCLK:用于APB总线上的设备,如watchdog,iis、i2c、pwm等等;提高系统时钟的方法:p1591上电几毫秒,晶振输出稳定,fclk=fin,nreset信号恢复高电平后,cpu开始执行指令。2可以在程序开头启动MPLL,设置MPLL的几个寄存器后,需要等待一段时间(lock time),MPLL输出才稳定。在locktime期间,FCLK停振,cpu停止工作。Locktime的长短由寄存器LOCKTIME设定。3 locktime之后,MPLL输出正常,cpu工作在新的FLCK下。LOCKTIME、MPLLCON、 CLKDIVN这几个寄存器的设置详细见P1604 中断控制器(s3c2410)(信号传递过程,看课件中的那张图)。注意:对于各个寄存器的相关设置,详细见2410的用户手册。中断控制器重涉及到的相关寄存器:SRCPND、 INTMASK 、INTPND 、(这几个比较常用)INTMOD、PRIORITY、INTOFFSET、SUBSRCPND、INTSUBMSK2410最有56个外部中断源。32个一级中断源,还有一些一级中断包含有二级中断,加起来就56个外部中断。SRCPNDINTMODINTMSKINTPNDOMTPFFSETSUBSRCPNDINTSUBMSK5 串口协议(物理层上的);串口链入得主要作用;(主要看大课课件)一、 串口通信概述串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在计算机通信接口中广泛采用。 在讨论RS-232C接口标准的内容之前,先说明两点: 首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。 其次,RS-232C标准中所提到的发送和接收,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。 串行通信的传输格式: 开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线桑的时字符的二进制编码数据。 每个字符的数据位长可以约定为:5位、6位、7位或8位,一般采用ASCII编码,后面时奇偶校验位,根据约定,用奇偶校验位将所传的字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。 最后时表示停止位的“1”信号,这个停止位可以约定连续1位、1.5位或2位的时间宽度。 至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送。 传输速率: 每一个数据位的宽度定于发送波特率的倒数。微机异步串行通信中,常用的波特率为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。显然两者间要进行通信,必须经过电平的转换,转换芯片采用max232 二、s3c2410串口控制器原理主要由4部分构成:接收器、发送器、波特率发生器、控制逻辑等。S3C2410 的UART(通用异步串行口)有三个独立的异步串行I/O 端口:UART0、UART1、UART2,每个串口都可以在中断和DMA 两种模式下进行收发。UART支持的最高波特率达230.4kbps。 每个UART 包含:波特率发生器、接收器、发送器和控制单元。波特率发生器以PCLK或UCLK为时钟源。发送器和接收器各包含1个16 字节的FIFO 寄存器和移位寄存器。 S3C2410 的3个UART都有遵从1.0规范的红外传输功能, UART0、UART1有完整的握手信号,可以连接MODEM。 当发送数据的时候,数据先写到FIFO 然后拷贝到发送移位寄存器,然后从数据输出端口(TxDn)依次被移位输出。被接收的数据也同样从接收端口(RxDn)移位输入到移位寄存器,然后拷贝到FIFO 中。 串行口的操作: 数据帧格式:可编程,包含1个开始位、5 到8 个数据位、1个可选的奇偶校验位、1个或2个停止位,通过线路控制器(ULCONn)来设置。发送中止信号(硬件来完成):迫使串口输出逻辑0 ,这种状态保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再通过这个全0 状态将中止信号发送给对方。中止信号发送之后,传送数据连续放到FIFO 中(在不使用FIFO 模式下,将被放到输出保持寄存器)。接收器具有错误检测功能:可以检测出溢出错误,奇偶校验错误,帧错误和中止状况,每种情况下都会将一个错误标志在接收状态寄存器置位。 串行口的波特率发生器: 每个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)(21.7) 1 = 21 1 = 20 串行口的自动流控功能: UART0和UART1不仅有完整的握手信号,而且有自动流控制功能,在寄存器UMCONn中设置实现。自动流控制是利用信号nRTS、nCTS来实现的。在接收数据时,只要接收FIFO中有两个空字节就会使nRTS有效,使对方发送数据;在发送数据时,只要nCTS有效,就会发送数据。其实现过程如下图所示。nRTS:请求对方发送nCTS:清除请求发送注意:这种自动流控制应用于对方也是UART设备,不能应用于MODEM设备。 不使用FIFO进行收发 主要是通过对收/发状态寄存器UTRSTATn的查询,确定进行收发。数据发送:(1)选择发送模式(中断或者DMA模式)(2)查询对方是否有请求发送要求,由MODEM状态寄存器UMSTATn0给出,该位为1,则有请求,再查询发送/接收状态寄存器UTRSTATn1的“发送缓冲器空”状态位是否为1,如果是1,可以向发送缓冲寄存器UTXHn写入发送的数据。数据接收(请求发送):(1)选择接收模式(中断或者DMA模式)(2)请求发送。先要查询发送/接收状态寄存器UTRSTATn0的接收缓冲器“数据就绪状态位”是否为1,如果是1,需要先读取数据,然后再请求对方发送数据,方法是对MODEM控制寄存器MCONn中的请求发送信号产生位置1,使UARTn发出nRTS信号。 中断或DMA请求 每个UART都有3类、7种事件产生中断请求或者DMA请求。7种中断请求事件是:溢出错误、奇偶校验错误、帧格式错误、传输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。它们可以分成3类:错误中断请求、接收中断请求、发送中断请求。 接收中断: 非FIFO模式:当接收缓冲寄存器收到数据后,产生中断请求。 FIFO模式:Rx FIFO中数据的数目达到了触发中断的水平,或者超时(在三帧时间内未收到任何数据),均产生中断请求。 发送中断: 非FIFO模式:当发送缓冲器空时,产生中断请求。 FIFO模式:Tx FIFO中数据的数目达到了触发中断的水平。错误中断:一共有4种错误中断:溢出错误、奇偶检验错误、帧格式错误、传输中断信号错误。 非FIFO模式:只要有任何一个错误出现,就会产生中断请求。 FIFO模式:Rx FIFO中数据溢出,或者出现了帧格式错误、奇偶校验错误、传输中断信号错误,都会产生中断请求。说明:(1)对于“奇偶校验错误、帧格式错误、传输中断信号错误”中断,在数据接收时就产生了,但是在数据接收产生时并非出现中断请求,而是在读出错误数据时才出现中断请求。(2)如果设置的是DMA模式,而不是中断请求模式,对于以上所出现的中断请求,应该是DMA请求。(3)传输中断信号定义:在超出一帧的时间内,全部输出低电平。 循环检测模式 S3C2410X的每一个UART都提供有检测功能,它是一种数据循环流动的自发、自收方式,数据从发送缓冲器传送到TXD,数据不经过引脚输出,在内部将数据传到接收引脚RXD,再传输到接收缓冲器。2相关的寄存器 详细见用户手册线路控制寄存器(ULCON 控制寄存器(UCON) 控制寄存器(UCON) FIFO控制寄存器(UFCON) MODEM控制寄存器(UMCON) 发送/接收状态寄存器(UTRSTAT) Rx错误状态寄存器(UERSTAT) FIFO状态寄存器(UFSTAT) MODEM状态寄存器(UMSTAT) 发送缓冲寄存器(UTxH) 接收缓冲寄存器(URxH) 波特率除数寄存器(UBRDIV)6 看门狗增强系统稳定性的原理。看门狗增强系统稳定性的基本原理s3c2410的看门狗控制器1、 S3C2410 看门狗的功能S3C2410 的看门狗定时器有两个功能:(1)定时器功能:可以作为常规定时器使用,它是一个十六位的定时器,并且可以产生中断,中断名为INT_WDT,中断号是0x09。(2)复位功能:作为看门狗定时器使用,当时钟计数减为0(超时)时,它将产生一个128个时钟周期的复位信号。具体寄存器详见用户手册WTCON WTDAT WTCNTWTCONWTDATWTCNT7 Nor flash 擦出方式。(块擦除、山区擦出、整块擦出)。详见另外的文档:norflash的擦出方法8 8通道16位的转换器;串口控制器的组成(FIFO16字节)。9 移植ucosii时对那三个文件进行修改;(.h .c .s)OS_CPU.HOS_CPU_A.ASMOS_CPU_C.C10 以太网接口控制器cs8900(工作模式、内存模式、io模式)。11 I2C通信协议(原理及通信过程)I2c通信协议只需要两根信号线就可以满足了硬件线路的要求,在i2c总线上当信号线为高电平是说明总线空闲,否则为忙碌.在总线空闲时发送主机发送一个低电平向电平的起始信号然后发送一个寻址字节(每个设备地址唯一的),对应地址的设备被锁定.其后主机发送数据,每发送一帧的数据接收端要发送一个应答信号.如此循环,但数据发送完毕后主机发送一个一个电平平向低电的结束信号就完成了一个次信号的传送.在这过程中数据线上的信号跳变都必需在时钟信号为高电平时发生的.12 OsTaskStkInit()函数在2410的实现分析。OSTaskStkInit()函数的写法没有固定要格式.但一定要与OSStargHighRdy相匹配就行了.而,OSTaskStkInit()主要的工作是把相关寄存器的值放到栈中去没有一定的先后顺序要求一但顺序定下来了,那在OSStargHighRdy中要严格要求按这顺序出栈.1314 四线电阻式触摸屏工作原理和编程步骤。15 串口实验、中断控制器实验、实时时钟实验。16 ADC控制器(看课件)P222(可以看看教材的p178-179的编程)2410 ADC的操作只涉及到3个寄存器:ADCCON 、ADCTSC、 ADCDAT0ADCCON ADCTSC ADCDAT0 练习题复习一、 填空题1、s3c2410 sdram的起始地址是(0x30000000);2、s3c2410内部有4k sram,当其外部管脚OM1:0上

温馨提示

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

评论

0/150

提交评论