嵌入式系统第六章S3C2410A基本接口应用程序设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式系统第六章S3C2410A基本接口应用程序设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 第六 S3C2410A 基本 接口 应用 程序设计 课件
- 资源描述:
-
1、3个串行接口(个串行接口(UART)117位通用并行接口(位通用并行接口(GPIO)1个个LCD控制器控制器1个触摸屏接口个触摸屏接口810位位A/D转换器转换器3个个USB接口接口1个个I2C总线接口总线接口2个个SPI总线接口总线接口4个定时个定时/1个内部时钟,个内部时钟,1个看门狗计数器个看门狗计数器可处理可处理56个中断源的中断系统个中断源的中断系统SD卡和卡和MMC卡接口卡接口SDRAM控制器控制器4DMA控制器控制器 S3C2410嵌入式微处理器的内部资源:嵌入式微处理器的内部资源:第第6章章 S3C2410A的基本接口应用程序设计的基本接口应用程序设计具有具有ARM9内核的内核
2、的S3C2410微处理器的嵌入式系统硬件平台微处理器的嵌入式系统硬件平台一、概一、概 述述S3C2410 的的UART(通用异步串行口)(通用异步串行口)有三个独立的异有三个独立的异步串行步串行I/O 端口端口:UART0、UART1、UART2,每个串口都,每个串口都可以在中断和可以在中断和DMA 两种模式下进行收发。两种模式下进行收发。UART支持的最支持的最高波特率达高波特率达230.4kbps。每个每个UART 包含:包含:波特率发生器、接收器、发送器和波特率发生器、接收器、发送器和控制单元。波特率发生器以控制单元。波特率发生器以PCLK或或UCLK为时钟源。发送为时钟源。发送器和接收
3、器各包含器和接收器各包含1个个16 字节的字节的FIFO 寄存器和移位寄存器。寄存器和移位寄存器。 S3C2410 的的3个个UART都有都有遵从遵从1.0规范的红外传输功能,规范的红外传输功能, UART0、UART1有完整的握手信号,可以连接有完整的握手信号,可以连接MODEM。当发送数据的时候,数据先写到当发送数据的时候,数据先写到FIFO 然后拷贝到发送然后拷贝到发送移位寄存器,然后从数据输出端口(移位寄存器,然后从数据输出端口(TxDn)依次被移位输)依次被移位输出。被接收的数据也同样从接收端口(出。被接收的数据也同样从接收端口(RxDn)移位输入到)移位输入到移位寄存器,然后拷贝到
4、移位寄存器,然后拷贝到FIFO 中。中。6.1 S3C2410A的串行通信接口的串行通信接口6.1.1 S3C2410A的内部结构的内部结构 S3C2410A的内部集成了的内部集成了3个异步接收发送器个异步接收发送器(UART),它们可以作为串口使用,它们可以作为串口使用实现串行通信。实现串行通信。UART的内部结构的内部结构串行口功能模块串行口功能模块 6.1.2 S3C2410A UART的主要功能的主要功能异步串行通信方式是将传输数据的每个字符一位接一位地传送。其字符传送协议为:1. 串行数据的发送和接收串行数据的发送和接收工作原理工作原理数据帧格式:数据帧格式:可编程,包含可编程,包含
5、1个开始位、个开始位、5 到到8 个数据位、个数据位、1个可选的奇偶校验位、个可选的奇偶校验位、1个或个或2个停止个停止位,通过线路控制器(位,通过线路控制器(ULCONn)来设置。)来设置。发送中止信号:迫使串口输出逻辑发送中止信号:迫使串口输出逻辑0 ,这种状,这种状态保持一个传输帧的时间长度。通常在一帧传输数态保持一个传输帧的时间长度。通常在一帧传输数据完整地传输完之后,再通过这个全据完整地传输完之后,再通过这个全0 状态将中止状态将中止信号发送给对方。中止信号发送之后,传送数据连信号发送给对方。中止信号发送之后,传送数据连续放到续放到FIFO 中(在不使用中(在不使用FIFO 模式下,
6、将被放模式下,将被放到输出保持寄存器)。到输出保持寄存器)。2. 红外线模式数据的发送和接收红外线模式数据的发送和接收UART连接红外收发器,可以进行红外数据通信连接红外收发器,可以进行红外数据通信3. 提供串行通信时的状态信息提供串行通信时的状态信息 S3C2410A的每个的每个UART可以产生可以产生5个状态信号:个状态信号: 接收缓冲器满、发送缓冲器空、发送移位器空、接收缓冲器满、发送缓冲器空、发送移位器空、超时错误、帧错误,这些状态信号由两个状态超时错误、帧错误,这些状态信号由两个状态寄存器(寄存器(UTRSTAT和和UERSTAT)来指示。)来指示。 接收器具有错误检测功能:可以检测
7、出溢出错接收器具有错误检测功能:可以检测出溢出错误,奇偶校验错误,帧错误和中止状况,每种误,奇偶校验错误,帧错误和中止状况,每种情况下都会将一个错误标志在接收状态寄存器情况下都会将一个错误标志在接收状态寄存器置位。置位。 4. 使用使用FIFO进行收发进行收发主要是通过对主要是通过对FIFO状态寄存器状态寄存器UFSTATn的查询,确定的查询,确定进行收发。进行收发。使用使用FIFO进行发送:进行发送:(1)选择发送模式(中断或者)选择发送模式(中断或者DMA模式)模式)(2)查询对方是否有请求发送要求,由)查询对方是否有请求发送要求,由MODEM状态状态寄存器寄存器UMSTATn0给出,该位
8、为给出,该位为1,则有请求,再查询,则有请求,再查询FIFO状态寄存器状态寄存器UFSTATn的发送数据满状态位是否为的发送数据满状态位是否为1,如果不是如果不是1,可以向发送缓冲寄存器,可以向发送缓冲寄存器UTXHn写入发送的数写入发送的数据。上面二者有一个或者两个都不满足,则不发送数据。据。上面二者有一个或者两个都不满足,则不发送数据。使用使用FIFO进行接收(请求发送):进行接收(请求发送):(1)选择接收模式(中断或者)选择接收模式(中断或者DMA模式)模式)(2)请求发送。先要查询)请求发送。先要查询FIFO状态寄存器状态寄存器UFSTATn的接收数据满状态位是否为的接收数据满状态位
9、是否为1,如果不是,如果不是1,则可以向对方,则可以向对方发出发出“请求发送信号请求发送信号”,对,对MODEM控制寄存器控制寄存器MCONn中的请求发送信号产生位置中的请求发送信号产生位置1,使,使UARTn发出发出nRTS信号;信号;如果如果UFSTATn的数据满状态位是的数据满状态位是1,则不能够请求发送数,则不能够请求发送数据。据。5. 不使用不使用FIFO进行收发进行收发主要是通过对收主要是通过对收/发状态寄存器发状态寄存器UTRSTATn的查询,确的查询,确定进行收发。定进行收发。数据发送:数据发送:(1)选择发送模式(中断或者)选择发送模式(中断或者DMA模式)模式)(2)查询对
10、方是否有请求发送要求,由)查询对方是否有请求发送要求,由MODEM状态状态寄存器寄存器UMSTATn0给出,该位为给出,该位为1,则有请求,再查询发,则有请求,再查询发送送/接收状态寄存器接收状态寄存器UTRSTATn1的的“发送缓冲器空发送缓冲器空”状态状态位是否为位是否为1,如果是,如果是1,可以向发送缓冲寄存器,可以向发送缓冲寄存器UTXHn写入写入发送的数据。发送的数据。数据接收(请求发送):数据接收(请求发送):(1)选择接收模式(中断或者)选择接收模式(中断或者DMA模式)模式)(2)请求发送。先要查询发送)请求发送。先要查询发送/接收状态寄存器接收状态寄存器UTRSTATn0的接
11、收缓冲器的接收缓冲器“数据就绪状态位数据就绪状态位”是否为是否为1,如果是如果是1,需要先读取数据,然后再请求对方发送数据,方,需要先读取数据,然后再请求对方发送数据,方法是对法是对MODEM控制寄存器控制寄存器MCONn中的请求发送信号产中的请求发送信号产生位置生位置1,使,使UARTn发出发出nRTS信号。信号。6. 中断或中断或DMA请求请求每个每个UART都有都有3类、类、7种事件产生中断请求或者种事件产生中断请求或者DMA请求。请求。7种中断请求事件是:溢出错误、奇偶校验错误、帧格种中断请求事件是:溢出错误、奇偶校验错误、帧格式错误、传输中断信号、接收缓冲器数据就绪、发送缓冲式错误、
12、传输中断信号、接收缓冲器数据就绪、发送缓冲器空、发送移位器空。器空、发送移位器空。它们可以分成它们可以分成3类:错误中断请求、接收中断请求、发类:错误中断请求、接收中断请求、发送中断请求。送中断请求。接收中断:接收中断: 非非FIFO模式:当接收缓冲寄存器收到数据后,产生中断请求。模式:当接收缓冲寄存器收到数据后,产生中断请求。FIFO模式:模式:Rx FIFO中数据的数目达到了触发中断的水平,或者中数据的数目达到了触发中断的水平,或者超时(在三帧时间内未收到任何数据),均产生中断请求。超时(在三帧时间内未收到任何数据),均产生中断请求。发送中断:发送中断:非非FIFO模式:当发送缓冲器空时,
13、产生中断请求。模式:当发送缓冲器空时,产生中断请求。 FIFO模式:模式:Tx FIFO中数据的数目达到了触发中断的水平。中数据的数目达到了触发中断的水平。错误中断:错误中断:一共有一共有4种错误中断:溢出错误、奇偶检验错误、帧格种错误中断:溢出错误、奇偶检验错误、帧格式错误、传输中断信号错误。式错误、传输中断信号错误。非非FIFO模式:只要有任何一个错误出现,就会产生中断请求。模式:只要有任何一个错误出现,就会产生中断请求。 FIFO模式:模式:Rx FIFO中数据溢出,或者出现了帧格式错误、奇偶中数据溢出,或者出现了帧格式错误、奇偶校验错误、传输中断信号错误,都会产生中断请求。校验错误、传
14、输中断信号错误,都会产生中断请求。说明:说明:(1)对于)对于“奇偶校验错误、帧格式错误、传输中断信奇偶校验错误、帧格式错误、传输中断信号错误号错误”中断,在数据接收时就产生了,但是在数据接收中断,在数据接收时就产生了,但是在数据接收产生时并非出现中断请求,而是产生时并非出现中断请求,而是在读出错误数据时才出现在读出错误数据时才出现中断请求中断请求。(2)如果设置的是)如果设置的是DMA模式,而不是中断请求模式,模式,而不是中断请求模式,对于以上所出现的中断请求,应该是对于以上所出现的中断请求,应该是DMA请求。请求。(3)传输中断信号定义:在超出一帧的时间内,全部)传输中断信号定义:在超出一
15、帧的时间内,全部输出低电平。输出低电平。7. 循环检测模式循环检测模式S3C2410X的每一个的每一个UART都提供有检测功能,它是一都提供有检测功能,它是一种数据循环流动的自发、自收方式,数据从发送缓冲器传种数据循环流动的自发、自收方式,数据从发送缓冲器传送到送到TXD,数据不经过引脚输出,在内部将数据传到接收,数据不经过引脚输出,在内部将数据传到接收引脚引脚RXD,再传输到接收缓冲器。,再传输到接收缓冲器。8. 串行口的自动流控制功能(串行口的自动流控制功能(AFC)UART0和和UART1不仅有完整的握手信号,而且有自动不仅有完整的握手信号,而且有自动流控制功能,在寄存器流控制功能,在寄
16、存器UMCONn中设置实现。自动流控制中设置实现。自动流控制是利用信号是利用信号nRTS、nCTS来实现的。在接收数据时,只要来实现的。在接收数据时,只要接收接收FIFO中有两个空字节就会使中有两个空字节就会使nRTS有效,使对方发送有效,使对方发送数据;在发送数据时,只要数据;在发送数据时,只要nCTS有效,就会发送数据。其有效,就会发送数据。其实现过程如下图所示。实现过程如下图所示。nRTS:请求对方发送:请求对方发送nCTS:清除请求发送:清除请求发送注意:这种自动流控制应用于对方也是注意:这种自动流控制应用于对方也是UART设备,不设备,不能应用于能应用于MODEM设备。设备。每个每个
17、UART 的波特率发生器为传输提供了串行移位时的波特率发生器为传输提供了串行移位时钟。波特率产生器的时钟源可以从钟。波特率产生器的时钟源可以从S3C2410 的内部系统时的内部系统时钟钟PCLK或或UCLK 中来选择。波特率数值决定于波特率除中来选择。波特率数值决定于波特率除数寄存器(数寄存器(UBRDIVn)的值,波特率数与)的值,波特率数与UBRDIVn 的关的关系为:系为:UBRDIVn=(int)(CLK/( f f B*16) 1 其中其中CLK为所选择的时钟频率,为所选择的时钟频率, f f B为波特率。为波特率。f f B= CLK/16/ ( UBRDIVn 1 )例如,如果波
18、特率为例如,如果波特率为115200bps 且且PCLK 或或UCLK 为为40MHz,则则UBRDIVn 为:为:UBRDIVn =(int)(40000000)(115200*16) 1 = (int)(21.7) 1 = 21 1 = 20 6.1.36.1.3串行口的波特率发生器串行口的波特率发生器6.1.4 UART的初始化的初始化UART在工作前必须对其进行初始化,即对在工作前必须对其进行初始化,即对UART的的线控制寄存器(线控制寄存器(ULCON)、控制寄存器()、控制寄存器(UCON)、)、FIFO控制寄存器(控制寄存器(UFCON)、)、Modem控制寄存器控制寄存器(UM
19、CON)、波特率因子寄存器()、波特率因子寄存器(UBRDIV)进行)进行设置。设置。UART专用寄存器专用寄存器3个个UART,每个都有,每个都有11个专用寄存器,共个专用寄存器,共31个寄存器个寄存器Register Address R/W Description Reset Value ULCONn0 x5000 x000 R/W 线路控制寄存器线路控制寄存器0 x00UCONn0 x5000 x004 R/W 控制寄存器控制寄存器0 x00UFCONn 0 x5000 x008 R/W FIFO控制寄存器控制寄存器0 x00UMCONn0 x5000 x00C R/W MODEM控制寄
20、存器控制寄存器*0 x00UTRSTATn0 x5000 x010R发送发送/接收状态寄存器接收状态寄存器0 x6UERSTATn0 x5000 x014 RRx错误状态寄存器错误状态寄存器0 x0UFSTATn0 x5000 x018 RFIFO状态寄存器状态寄存器0 x00UMSTATn0 x5000 x01C RMODEM状态寄存器状态寄存器*0 x0UTXHn0 x5000 x020/23 W 发送缓冲寄存器发送缓冲寄存器- URXHn 0 x5000 x024/27 R接收缓冲寄存器接收缓冲寄存器-UBRDIVn0 x5000 x028R/W波特率除数寄存器波特率除数寄存器-1、线路
21、控制寄存器(、线路控制寄存器(ULCON)Register Address R/W Description Reset Value ULCON00 x50000000 R/W UART0线路控制寄存器线路控制寄存器0 x00ULCON10 x50004000 R/W UART1线路控制寄存器线路控制寄存器0 x00ULCON20 x50008000 R/W UART2线路控制寄存器线路控制寄存器0 x00字段名字段名 位位意意 义义 初值初值 -7保保 留留0Infra-Red-Mode6 红外模式设置位。红外模式设置位。0:正常模式;正常模式;1:红外红外0Parity Mode5:3 奇偶
22、校验类型。奇偶校验类型。 0 xx:不校验;:不校验; 100:奇校验;:奇校验; 101:偶校验;:偶校验; 110:强制为:强制为1; 111:强制为:强制为0000Num of stop bit2 停止位个数。停止位个数。 0:1个;个;1:2个个0Word Length1:0 数据位数目。数据位数目。 00:5位;位; 01:6位;位; 10:7位;位; 11:8位位002、控制寄存器(、控制寄存器(UCON)Register Address R/W Description Reset Value UCON00 x50000004 R/W UART0控制寄存器控制寄存器0 x00UCO
23、N10 x50004004 R/W UART1控制寄存器控制寄存器0 x00UCON20 x50008004 R/W UART2控制寄存器控制寄存器0 x002、控制寄存器(、控制寄存器(UCON)字段名字段名 位位意意 义义 初值初值 Clock Selection10波特率时钟源选择。波特率时钟源选择。0:PCLK;1:UCLK0Tx Int Type9发送中断请求类型。发送中断请求类型。0 :脉冲型:脉冲型;1:电平:电平0Rx Int Type8接收中断请求类型。接收中断请求类型。0 :脉冲型:脉冲型;1:电平:电平0Rx Time OV Ena7接收超时中断控制。接收超时中断控制。0
24、:禁止;:禁止;1:允许:允许0Rx ERR Int Ena6接收错误中断控制。接收错误中断控制。0:禁止;:禁止;1:允许:允许0Loopback Mode5回送模式控制。回送模式控制。0 = 正常操作;正常操作;1 = 回送模式回送模式 0Send Break Signal4发送暂停信号控制。发送暂停信号控制。 0 = 正常传输;正常传输;1 = 发送暂停信号(全为发送暂停信号(全为0) 0Transmit Mode3:2 发送发送/接收接收模式控制。模式控制。00:禁止:禁止发送发送/接收接收; 01:中断或查询模式;:中断或查询模式;10:UART0、2用用DMA0、DMA2;11:U
25、ART1用用DMA100Receive Mode1:0003、FIFO控制寄存器(控制寄存器(UFCON)Register Address R/W Description Reset Value UFCON00 x50000008 R/W UART0 FIFO控制寄存器控制寄存器0 x00UFCON10 x50004008 R/W UART1 FIFO控制寄存器控制寄存器0 x00UFCON20 x50008008 R/W UART2 FIFO控制寄存器控制寄存器0 x003、FIFO控制寄存器控制寄存器字段名字段名 位位意意 义义 初值初值 Tx FIFO Tri Leve7:6 Tx FI
展开阅读全文