书签 分享 收藏 举报 版权申诉 / 93
上传文档赚钱

类型第6章-嵌入式系统总线接口课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4642996
  • 上传时间:2022-12-28
  • 格式:PPT
  • 页数:93
  • 大小:3.90MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第6章-嵌入式系统总线接口课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式 系统总线 接口 课件
    资源描述:

    1、第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 嵌入式系统设计嵌入式系统设计 基于基于ARM9ARM9微处理器微处理器S3C2410AS3C2410A第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.1 6.1 串行串行(Uart)(Uart)接口接口 掌握ARM的Uart工作原理掌握Uart寄存器配置方法学习编程实现ARM的UART通讯第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.1.1 串行接口基本原理与结构1 1串行通信概

    2、述串行通信概述 常用的数据通信方式有并行通信和串行通信两种。当两台数字设备之间传输距离较远时,数据往往以串行方式传输。串行通信具有传输线少、成本低等优点,特别适合远距离传送。串行数据通信模式 串行数据通信模式有单工通信、半双工通信和全双工通信3种基本的通信模式。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 异步串行通信方式 字符的格式 每个字符传送时,必须前面加一个起始位,后面加上1、1.5或2位停止位。例如ASCII码传送时,一帧数据的组成是:前面1个起始位,接着7位ASCII编码,再接着一位奇偶校验位,最后一位停止位,共10位。波特率 传送数据位的速率

    3、称为波特率,用位秒(bit/s)来表示,称之为波特。异步通信的波特率的数值通常为:150、300、600、1200、2400、4800、9600、115200、14400、28800等,数值成倍数变化。校验位 在一个有8位的字节(byte)中,其中必有奇数个或偶数个的“1”状态位。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 异步串行通信中的字符传送格式u开始前,线路处于空闲状态,连续多个“1”;u开始时,先发一个“0”作为起始位;u然后是二进制数据和奇偶校验位(可选);u最后是一个及一个以上的“1”作为停止位;第第6 6章章 嵌入式系统总线接口嵌入式系统

    4、总线接口 嵌入式系统设计嵌入式系统设计 uRS232-C是美国电子工业协会(EIA)制定的串行通讯标准;uRS232是一个全双工的通讯标准,它可以同时进行数据接收和发送的工作;uRS232标准包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,即RXD、TXD、GND信号;2 2RS232RS232概述概述第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 DB-25/DB-9引脚定义第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 RS-232C接口通信的两种基本连接方式第第6 6章章 嵌入式系统总线接口嵌入式系统总线接

    5、口 嵌入式系统设计嵌入式系统设计 uTTL电平:S3C2410A使用TTL电平uRS232电平:双极性信号逻辑电平,它是一套负逻辑定义-3V到-25V之间的电平表示逻辑“1”+3V到+25V之间的电平表示逻辑“0”电平转换电路:常用专门的RS-232接口芯片,如SP3232、SP3220等,在TTL电平和RS-232电平之间实现相互转换。3 3电平转换电平转换第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 1 1S3C2410AS3C2410A的的UARTUART结构结构 S

    6、3C2410 的UART(通用异步串行口)有三个独立的异步串行I/O 端口:UART0、UART1、UART2 UART支持的最高波特率达230.4kbps6.1.2 S3C2410A的UART第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 每个UART包含:u波特率发生器、接收器、发送器和控制单元u波特率发生器以PCLK或UCLK为时钟源u发送器和接收器各包含1个16 字节的FIFO和移位寄存器u当发送数据的时候,数据可以先写到FIFO然后拷贝到发送移位寄存器,然后从数据输出端口(TxDn)依次被移位输出u被接收的数据也同样可以从接收端口(RxDn)移位输

    7、入到移位寄存器,然后拷贝到FIFO中第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 1.在使用UART之前需要设置的寄存器UART内部结构示意图-以Uart0为例FIFO控制中断使能及模式选择UART格式设置波特率设置UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUFCONnUBRDIVnUCONn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 2.发送数据的通道UART内部结构示意图CPU内核通过APB接口对UART的

    8、寄存器进行读写访问发送缓存发送移位寄存器UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCONn与CPU内核相连UTXHnUBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 3.接收数据的通道UART内部结构示意图接收缓存接收移位寄存器U0RBRU0RSRAPB接口UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连URXHnUBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设

    9、计嵌入式系统设计 4.通信过程中可能影响的标志位UART内部结构示意图中断标志UART0当前状态U0RBRU0RSRAPB接口UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连UCONnUTRSTATnUBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述Uart行控制寄存器UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUBRDIVnP11D0D1

    10、D2D3D4D5D6D70位765:321:0功能保留红外/正常模式选择奇偶校验模式选择停止位字长ULCON寄存器:停止位(12位)数据(58位)奇偶校验位起始位第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART0相关寄存器描述字长:这些位控制数据长度。00:5位字符长度;01:6位字符长度;10:7位字符长度;11:8位字符长度;UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUBRDIVn位765:321:0功能保留红外/正常模式选择奇偶校验模式选

    11、择停止位字长Uart行控制寄存器第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART0相关寄存器描述停止位:控制每帧数据包含的停止位个数。0:1个停止位;1:2个停止位;UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUBRDIVn位765:321:0功能保留红外/正常模式选择奇偶校验模式选择停止位字长Uart行控制寄存器第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述奇偶选择:设置奇偶校验类型。

    12、0XX:无奇偶校验;100:奇校验;101:偶校验;110:强制奇偶校验/校验1;111:强制奇偶校验/校验0;UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUBRDIVn位765:321:0功能保留红外/正常模式选择奇偶校验模式选择停止位字长Uart行控制寄存器第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART线控寄存器(ULCONn)的位功能 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描

    13、述Uart控制寄存器位109876543:21:0功能波特率时钟选择发送中断请求类型选择接收中断请求类型选择Rx超时中断使能控制接收错误状态中断使能控制回送模式选择保留发送模式选择接收模式选择波特率时钟选择:0:使用PCLK 1:使用UclkUTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连UCONnUBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述位210功能发送器空状态位发送缓冲器空状态位接收缓冲器状态位Uart状态寄存器发送器空状态

    14、位:0:发送器未空 1:发送器、发送缓冲器均空。U0RBRU0RSRUTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连UTRSTATnUBRDIVnAPB接口第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述位210功能发送器空状态位发送缓冲器空状态位接收缓冲器状态位Uart状态寄存器发送缓冲器空状态位:0:未空;1:空U0RBRU0RSRUTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU

    15、内核相连UTRSTATnUBRDIVnAPB接口第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述位210功能发送器空状态位发送缓冲器空状态位接收缓冲器状态位Uart状态寄存器接收缓冲器空状态位:0:空;1:有数据U0RBRU0RSRUTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连UTRSTATnUBRDIVnAPB接口第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌

    16、入式系统设计嵌入式系统设计 UART相关寄存器描述UTXHn描述复位值7:0发送数据缓冲寄存器,保存发送数据未定义发送/接收数据缓冲寄存器UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连UTXHnUBRDIVnAPB接口URXHnURXHn描述复位值7:0接收数据缓冲寄存器,保存接收数据未定义第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述名称描述复位值UBRDIV15:0波特率系数寄存寄存器:决定串行发送接收时钟率未定义Uart波特率系数寄存器UTXHn

    17、ShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连UBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 通过设置UCONn寄存器选择UART时钟是由S3C2410A的系统时钟(PCLK)产生还是由外部UART设备的时钟(UCLK)产生。波特率的大小可以通过设置波特率寄存器(UBRDIVn)控制,使用PCLK时的计算公式如下:UBRDIVn=(int)(PCLK/(bps x 16)-1 使用UCLK时的计算公式如下:UBRDIVn=(int)(UCLK/(bps x 16)

    18、-1 其中PCLK 是系统时钟频率,UCLK是UART设备时钟。使用PCLK,在40MHz的情况下,当波特率取115200时 UBRDIVn=(int)(40000000/(115200 x 16)1=20波特率计算第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 2.UART2.UART工作过程(以工作过程(以UART0UART0为例)为例)串口初始化u首先要设置相应I/O为TXD0、RXD0功能引脚;u然后通过ULCON0寄存器来设置串口数据格式;u然后通过UCON0寄存器来设置串口工作模式;u最后通过UBRDIV0来设置通讯波特率;第第6 6章章 嵌入式

    19、系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 串口收发数据u发送:将待发送数据写入UTXH0寄存器,然后通过读取UTRSTAT0寄存器的值判断数据是否发送完成;u接收:通过读取UTRSTAT0寄存器的值判断是否接收到数据,如果接收到数据,则可以从URXH0寄存器中读出数据。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.1.3 与S3C2410A UART连接的串行接口电路1 1S3C2410A UARTS3C2410A UART与与RS-232CRS-232C的接口电路的接口电路 在图6.1.7中,包含有UART0和UART1与RS-2

    20、32C的接口电路,通过9芯的D型插头与外设连接。也可设计数据发送与接收的状态指示LED,当有数据通过串行口传输时,LED闪烁,便于用户掌握其工作状态,以及进行软、硬件的调试。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 图6.1.7 S3C2410A的RS-232C接口电路 RS232电平TTL电平第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.1.4 S3C2410A UART编程实例 本程序实例实现从UART0接收数据,然后分别从UART0和UART1发送出去。其功能可以把键盘敲击的字符通过PC机的串口发送给AR

    21、M系统上的UART0,ARM系统上的UART0接收到字符后,再通过UART0和UART1送给PC机,这样就完成了串口间的收发数据。要实现以上数据的收发功能,需要编写的主要代码如下。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 2 2主函数主函数 实现的功能为从UART0接收字符,然后将接收到的字符再分别从UART0和UART1送出去,其中Uart_Select(n)用于选择使用的传输通道为UARTn。代码如下:第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统

    22、设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 4 4发送数据发送数据 其中whichUart为全局变量,指示当前选择的UART通道,使用串口发送一个字节的代码如下:第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 5 5接收数据接收数据 如果没有接收到字符则返回0。使用串口接收一个字符的代码如下:第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 对串口进行初始化时,首先要设置相应I/O 为TXD0、RXD0 功能引脚,然后通过ULCON0 寄存器来设置串口数据格式,通过

    23、UCON0 寄存器来设置串口工作模式,最后通过UBRDIV0 来设置通讯波特率。使用串口发送数据时,将待发送数据写入UTXH0 寄存器,然后通过读取UTRSTAT0寄存器的值判断数据是否发送完成。当然,实际代码也可以先等待UTXH0 寄存器为空(通过读取UTRSTAT0 寄存器的值判断),再将数据写入UTXH0 寄存器。进行串口数据接收时,通过读取UTRSTAT0 寄存器的值判断是否接收到数据,如果接收到数据,则可以从URXH0 寄存器中读出数据。总结总结第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.2 I6.2 I2C C接口接口 6.2.1 I2C

    24、 接口基本原理与结构 I2C BUS(Inter Integrated Circuit BUS,内部集成电路总线)是由Philips公司推出的二线制串行扩展总线,用于连接微控制器及其外围设备。如下图所示,在I2C总线上,只需要两条线串行数据SDA线和串行时钟SCL线,它们用于总线上器件之间的信息传递。SDA和SCL都是双向的。每个器件都有一个唯一的地址(读写不一样)以供识别,而且各器件都可以作为一个发送器或接收器(由器件的功能决定)。在标准模式下,总线数据传输的速度为100kbit/s,在高速模式下,可达400kbit/s;I2C总线有如下操作模式:主发送模式、主接收模式、从发送模式、从接收模

    25、式。下面介绍其通用传输过程、信号及数据格式。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 I2C简介电气连接 I2C总线接口均为开漏或开集电极输出,因此需要为总线增加上拉电阻Rp。RpRpVDDSCLSDASDA出SDA入SCL入SCL出SCLSDA器件1器件2I2C BUS总线速率越高,总线上拉电阻就越小,100Kbit/s总线速率,通常使用5.1K欧姆的上拉电阻第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 (1)I2C总线的启动和停止信号 当I2C接口处于从模式时,要想数据传输,必须检测SDA线上的启动信号,启动信

    26、号由主器件产生。如下图所示,在SCL信号为高时,SDA产生一个由高变低的电平变化,即产生一个启动信号。当I2C总线上产生了启动信号后,那么这条总线就被发出启动信号的主器件占用了,变成“忙”状态;如下图所示,在SCL信号为高时,SDA产生一个由低变高的电平变化,产生停止信号。停止信号也由主器件产生,作用是停止与某个从器件之间的数据传输。当I2C总线上产生了一个停止信号后,那么在几个时钟周期之后总线就被释放,变成“闲”状态。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 主器件产生一个启动信号后,它还会立即送出一个从地址,用来通知将与它进行数据通信的从器件。1个

    27、字节的地址包括7位的地址信息和1位的传输方向指示位,如果第7位为“0”,表示马上要进行一个写操作;如果为“1”,表示马上要进行一个读操作。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 (2)数据传输格式 SDA线上传输的每个字节长度都是8位,每次传输中字节的数量是没有限制的。在起始条件后面的第一个字节是地址域,之后每个传输的字节后面都有一个应答(ACK)位。(3)应答信号 I2C总线数据传送时,每传送一个字节数据后都必须有应答信号。主控器接收数据时,如果要结束通信时,将在停止位之前发送非应答信号。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式

    28、系统设计嵌入式系统设计 S3C2410A在I2C通信中可以配置为主控器,也可以作为被控器,那么它就具有4种操作模式:主发送模式、主接收模式、从发送模式和从接收模式。S从器件地址WA数据A数据A/AP主发送模式:S从器件地址RA数据A数据AP主接收模式:S从器件地址WA数据A数据A/AP/RS从发送模式:S从器件地址RA数据A数据AP从接收模式:主机到从机主机到从机A=应答(SDA为低)A=非应答(SDA为高)S=起始信号P=停止信号RS=重复起始信号第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系

    29、统设计嵌入式系统设计 (4)I2C总线的数据传输过程 开始:主设备产生启动信号,表明数据传输开始。地址:主设备发送地址信息,包含7位的从设备地址和1位的数据方向指示位(读或写位,表示数据流的方向)。数据:根据指示位,数据在主设备和从设备之间进行传输。数据一般以8位传输,最重要的位放在前面;具体能传输多少量的数据并没有限制。接收器产生1位的ACK(应答信号)表明收到了每个字节。传输过程可以被中止和重新开始。停止:主设备产生停止信号,结束数据传输。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.2.2 S3C2410A的I2C接口 S3C2410A提供一个I

    30、2C总线接口,其模块框图如图6.2.3所示,具有一个专门的串行数据线和串行时钟线。它有主设备发送模式、主设备接收模式、从设备发送模式和从设备接收模式4种操作模式。控制S3C2410AI2C总线操作,需要写数据到IICCON(I2C总线控制寄存器)、IICSTAT(I2C总线控制/状态寄存器)、IICDS(I2C总线Tx/Rx数据寄存器)和IICADD(I2C总线地址寄存器)。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 图6.2.3 S3C2410A处理器I2C串行总线框图第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计

    31、IIC相关寄存器u控制寄存器IICCON用于设置 IIC 总线时钟和中断(标志)使能,还有 1 位中断标志位u状态寄存器IICSTAT除了指示当前 IIC 总线状态外,还有 2 位 IIC 操作模式控制位和总线启动/结束控制位u地址寄存器IICADD用来保存 S3C2410A作 IIC 从机时的器件地址u移位数据寄存器IICDS-用来发送数据或接收数据第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 IIC总线控制寄存器(IICCON)第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 IICIIC总线状态寄存器(总线状态寄存器

    32、(IICSTATIICSTAT)第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 IIC总线地址寄存器(IICADD)IIC发送接收移位寄存器(IICDS)第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.2.3 S3C2410A的I2C接口应用实例 S3C2410A I2C总线与使用I2C总线的EEPROM芯片KS24C080C连接电路如图6.2.4所示。图6.2.4 S3C2410A IIC总线与KS24C080C连接电路 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 程序设计:程

    33、序设计:使用使用I I2 2C C接口主模式向接口主模式向CAT1025CAT1025写入写入1010字节数据,然后字节数据,然后读出校验,若校验通过则蜂鸣器响读出校验,若校验通过则蜂鸣器响1 1声,否则不断地蜂鸣声,否则不断地蜂鸣报警报警 对 I2C 接口进行初始化时,首先要设置相应 I/O为 IICSDA、IICSCL 功能引脚,然后通过 IICCON 寄存器来设置 IIC 总线时钟,并使能 IIC 中断(标志),通过 IICSTAT 寄存器来设置 IIC 接口为主发送模式。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 RpRpVDDSCLSDASDA

    34、出SDA入SCL入SCL出SCLSDA器件1器件2I2C BUSI2C应用示例 S3C2410A在该模式下作为主控器,向从机发送数据。数据流向如下图所示:主机发送S3C2410A(主)第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 RpRpVDDSCLSDASDA出SDA入SCL入SCL出SCLSDA器件1器件2I2C BUSI2C应用示例 S3C2410A在该模式下作为主控器,接收从机发出的数据。数据流向如下图所示:主机接收S3C2410A(主)第第6 6章章 嵌入式系统总

    35、线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 主模式主模式/接收接收数据数据第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 初始化初始化IICIIC总线总线void InitI2C(void)/设置管脚连接 rGPECON=(rGPECON&0 x0FFFFFFF)|0 xA0000000;/设置IIC口使能,GPE14、GPE15分别为SCL和SDA rGPEUP=rGPEUP|0 xC000;/禁止内部上拉电阻 /设置IIC控制寄存器(使能ACK位时才能接收从机的应答位)rIICCON=IICCON_DACK;/IICCON_DACK=(17)

    36、|(16)|(15)|(00)/设置IIC为主机模式 rIICSTAT=(36)|(14);/从机地址(作主机时没有用)rIICADD=0 x10;第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 启动启动IIC总线,发送从器件地址总线,发送从器件地址int StartI2C(uint8 sla)uint32 i;rIICDS=sla;/设置从机地址if(sla&0 x01)rIICSTAT=(26)|(15)|(14);/主接收模式,发送使能,启动总线rIICCON=IICC

    37、ON_DACK;/若是重启总线,则需要有此操作 else rIICSTAT=(36)|(15)|(14);/主发送模式,发送使能,启动总线 /等待操作完成 while(rIICCON&0 x10)=0);/判断操作是否成功(总线仲裁和从机应答)if(rIICSTAT&0 x09)=0)return(TRUE);else /发送结束信号 if(sla&0 x01)rIICSTAT=(26)|(05)|(14);else rIICSTAT=(36)|(05)|(14);rIICCON=IICCON_DACK;for(i=0;i5000;i+);/等待结束信号产生完毕 return(FALSE);/

    38、end of if(rIICSTAT&0 x09)=0).else.第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 IICIIC发送发送1 1字节数据,并接收应答位字节数据,并接收应答位int I2C_SendByte(uint8 dat)uint32 i;rIICDS=dat;/将数据写入I2C数据寄存器rIICCON=IICCON_DACK;/清除中断标志,允许发送数据操作/等待操作完成 while(rIICCON&0 x10)=0);/判断操作是否成功(总线仲裁和从机应

    39、答)if(rIICSTAT&0 x09)=0)return(TRUE);else /发送结束信号rIICSTAT=(36)|(05)|(14);rIICCON=IICCON_DACK;for(i=0;i5000;i+);/等待结束信号产生完毕 return(FALSE);第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 IICIIC接收接收1 1字节数据,并发送应答位字节数据,并发送应答位int I2C_RcvByteA(uint8*dat)uint32 i;/允许接收数据rI

    40、ICCON=IICCON_DACK;/等待接收数据操作完成 while(rIICCON&0 x10)=0);/判断操作是否成功(总线仲裁)if(rIICSTAT&0 x08)!=0)/发送结束信号rIICSTAT=(26)|(05)|(14);rIICCON=IICCON_DACK;for(i=0;i5000;i+);/等待结束信号产生完毕return(FALSE);*dat=rIICDS;/读取数据return(TRUE);第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 结

    41、束结束IICIIC总线总线void StopI2C(uint8 send)uint32 i;if(send)/主发送模式时为1,否则为0 rIICSTAT=(36)|(05)|(14);/发送结束信号else rIICSTAT=(26)|(05)|(14);/发送结束信号 rIICCON=IICCON_DACK;for(i=0;i5000;i+);/等待结束信号产生完毕第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.4 SPI6.4 SPI接口接口 SPI(Serial Peripheral Interface)一般称为串行外设接口,是Motorola在

    42、其MC68HCxx微处理器系列中定义的一种标准接口,实现了一个串行同步协议,目前在嵌入式系统中得到了广泛的应用。SPI采用同步、全双工串行传输技术,业内也称为同步串行总线接口 SPI接口可以用来连接存储器、A/D转换器、D/A转换器、实时时钟日历、LCD驱动器、传感器、音频芯片,甚至其他处理器等。6.4.1 SPI接口原理与结构1.原理第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 一个SPI总线可以连接多个主机和多个从机。在同一时刻只允许一个主机操作总线,即被主设备选中的那个从设备,能与主设备通信。其他未被选中的从设备不能与主设备通信。串行时钟由主机产生,

    43、当主机发送一字节数据(通过MOSI)的同时,从机返回一字节数据(通过MISO)。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 使用SPI通信需要4个引脚,分别为:引脚名称类型描述SCK输入/输出串行时钟,用于同步SPI接口间数据传输的时钟信号。该时钟信号总是由主机输出。nSS输入从机选择,SPI从机选择信号是一个低有效信号,用于指示被选择参与数据传输的从机。每个从机都有各自特定的从机选择输入信号。MISO输入/输出主入从出,MISO信号是一个单向的信号,它将数据由从机传输到主机。MOSI输入/输出主出从入,MOSI信号是一个单向的信号,它将数据从主机传输到

    44、从机。2.SPI电气连接SPI主机S3C2410ASPI从机1SPI从机2nSSSPI BUSnSSnSS作SPI主机时,SS要接上拉电阻第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 MOSI信号由主机产生,从机接收。在有些芯片上,MOSI只被简单的标为串行输入(SI),或者串行数据输入(SDI)。MISO信号由从机产生,不过还是在主机的控制下产生的。在一些芯片上,MISO有时被称为串行输出(SO)或串行数据输出(SDO)。外设片选信号通常只是由主机的备用I/O引脚产生的。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计

    45、S3C2410包含有两个串行外围设备接口(SPI口),每个SPI口都有两个分别用于发送和接收的8位移位寄存器,在一次SPI通信当中数据被同步发送(串行移出)和接收(串行移入)。每个SPI通道有4个I/O引脚信号与SPI传输有关,2个SPI通道使用以下引脚信号传输:SPICLK1:0SPIMISO1:0SPIMOSI1:0nSS1:06.4.2 S3C2410A的SPI接口电路1.内部结构第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 8位串行数据的速率由相关的控制寄存器(SPPREn)的内容决定。如果只想发送,接收到的是一些虚拟的数据。另外,如果只想接收,发

    46、送的数据也可以是一些虚拟的“1”。当器件作为主机时,使用一个IO引脚拉低相应从机的选择引脚(nSS),传输的起始由主机发送数据来启动,时钟(SCK)信号由主机产生。通过MOSI发送数据,同时通过MISO引脚接收从机发出的数据。当器件作为从机时,传输在从机选择引脚(nSS)被主机拉低后开始,接收主机输出的时钟信号,在读取主机数据的同时通过MISO引脚输出数据。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 时钟相位为1时钟前沿数据输出时钟后沿数据采样时钟信号极性0极性1从机选择

    47、时钟相位为0时钟前沿数据采样时钟后沿数据输出2.SPI传输时序时钟前沿输出时钟后沿采样时钟前沿采样时钟后沿输出第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 名称描述访问复位值SPI0名称SPI1名称SPCONnSPI控制寄存器。该寄存器控制SPI的操作模式。读写0SPCON0SPCON1SPSTAnSPI状态寄存器。该寄存器显示SPI的状态。只读01SPSTA0SPSTA1SPPINnSPI引脚控制寄存器。读写02SPPIN0SPPIN1SPPREnSPI波特率预分频寄存器。该寄存器控制主机SCK的频率。读写0SPPRE0SPPRE1SPRDATnSPI接

    48、收数据寄存器。该寄存器存放SPI口接收到的数据。读0SPRDAT0SPRDAT1SPTDATnSPI发送数据寄存器。该寄存器存放待SPI口发送的数据。读写0SPTDAT0SPTDAT16.4.3 SPI接口寄存器及操作1.寄存器第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 SPI寄存器描述SPI控制寄存器 SPCONn寄存器包含一些可编程位来控制SPI功能模块的功能,该寄存器必须在数据传输之前进行设定。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 SPI寄存器描述SPI状态寄存器 SPSR寄存器为只读寄存器,用于监视S

    49、PI功能模块的状态,包括一般性功能和异常状况。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 SPI寄存器描述SPI引脚寄存器当一个SPI系统被允许时,nSS之外的引脚的数据传输方向都由SPCONn的MSTR位控制,nSS引脚总是输入。当SPI是一个主设备是,nSS引脚用于检测多主设备错误(如果SPPIN的ENMUL位被使能),另外还需要一个GPIO 来选择从设备。如果SPI被配置为从设备,nSS引脚用来被选择为从设备。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 SPIMISO(MISO)和SPIMOSI(MOSI)数

    50、据引脚是用来接收和发送串行数据。当SPI配置为主设备,SPIMISO(MISO)是主数据输入线,SPIMOSI(MOSI)是主数据输出线,SPICLK(SCK)是时钟输出线。当SPI为从设备,这些引脚翻转角色。在一个多主机系统中,SPICLK(SCK)、SPIMISO(MISO)和 SPIMOSI(MOSI)引脚分别捆绑配置成组。当另一个 SPI设备工作在主设备状态并选择S3C2410A SPI为从设备,一个主 SPI将经历多主机错误。当错误被检测时,接下来的措施被立即执行。但是如果你想检测这个错误,你必须预先设置 SPPINn的 ENMUL 位。第第6 6章章 嵌入式系统总线接口嵌入式系统总

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第6章-嵌入式系统总线接口课件.ppt
    链接地址:https://www.163wenku.com/p-4642996.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库