基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件第14章ppt课件_第1页
基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件第14章ppt课件_第2页
基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件第14章ppt课件_第3页
基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件第14章ppt课件_第4页
基于ARM7TDMI的S3C44B0X嵌入式微处理器技术课件第14章ppt课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第14章IIC和IIS总线接口,同步IO,本章重点:,IIC总线接口概述、组成与接口、四种方式下的操作流程、特殊功能寄存器的含义及设置;IIS接口概述、组成框图、发送和接收方式、音频串行接口数据格式、特殊功能寄存器的含义及设置;同步IO概述、接口模块组成框图、通常方式操作和DMA方式操作、发送和接收定时、特殊功能寄存器的含义及设置。,.,14.1IIC总线接口,14.1.1IIC总线接口概述IIC总线接口概述IIC(IntelIntegratedCircuit)总线的中文名称为内部集成电路总线。它是20世纪80年代初由飞利浦公司发明的一种双向同步串行总线,是目前较为常用的一种串行总线。总线接口可以做成专用芯片,也可以集成在微处理器内部,如S3C44B0X微处理器内部就集成了IIC总线模块。IIC总线可以与许多设备连接,如图14.1所示。,.,图14.1IIC总线连接示意图,.,IIC总线仅有两条信号线:SDA是数据信号线,SCL是时钟信号线,另外设备之间还要连接一条地线,图14.1中并未画出地线。与IIC总线连接的设备,使用集电级漏级开路门电路,以“线与”(Wired-AND)方式分别连接到SDA、SCL线上,SDA和SCL线要外接上拉电阻,如图14.1所示。连接到IIC总线上的设备可以分为总线主设备和总线从设备。,.,总线主设备是能够发起传送,发出从设备地址和数据传送方向标识、发送或接收数据、能够产生时钟同步信号、能够结束传送的设备。总线从设备是能被主设备寻址、接收主设备发出的数据传送方向标识、接收主设备送来的数据或者给主设备发送数据的设备。IIC总线是一个真正的多主总线,总线上可以连接多个总线主设备,也可以连接多个总线从设备,如图14.2所示。,.,图14.2多主IIC总线结构,.,每一个连接在IIC总线上的设备,在系统中都被分配了一个唯一的地址。地址用7位二进制数表示。IIC总线被设计成多主总线结构,多个主设备中的任何一个可以在不同时刻起到主控设备的作用,因此不需要一个全局的主控设备在SCL上产生时钟信号。只有传送数据的主设备同时驱动SDA和SCL。当总线空闲时,SDA和SCL同时为高电平。,.,IIC多主总线接口中含有冲突检测机制,保证了多个主设备同时要求发送数据时,只能有一个主设备占有总线,不会造成数据冲突。总线主设备数据传送基本状态及转换如图14.3所示。,.,图14.3总线主设备数据传送基本状态图,.,S3C44B0X微处理器IIC总线接口特点S3C44B0X微处理器支持多主IIC总线串行接口。一条双向串行数据线(SDA)和一条串行时钟线(SCL),在连接到IIC总线上的总线主设备和外部设备(总线从设备)之间传送信息。S3C44B0X微处理器既可以作为总线主设备,也可以作为总线从设备。,.,在多主IIC总线模式,多个S3C44B0X微处理器中的每一个,能够接收由从设备发送来的串行数据,或发送串行数据给从设备。主S3C44B0X能够启动或停止IIC总线数据传送。在S3C44B0X中,标准的总线仲裁过程用于IIC总线。为了控制多主IIC总线操作,确定的值必须写入如下寄存器:多主IIC总线控制寄存器IICCON;多主IIC总线控制状态寄存器IICSTAT;多主IIC总线发送接收数据移位寄存器IICDS;多主IIC总线地址寄存器IICADD。,.,当IIC总线空闲时,SDA和SCL两条线都应该是高电平。当SCL稳定在高电平,SDA从高电平变到低电平,能够作为开始条件;而SDA从低电平变到高电平能够作为停止条件,参见图14.5。(P329)开始和停止条件总是由主设备产生。开始条件之后总线上传送的第一字节数据中的7位是地址值,能够确定总线主设备所选择的从设备,另外一位确定传送的方向是读还是写,参见图14.6。(P330),.,送到SDA线上的每个数据以字节为单位,为8位。在总线传送期间发送或接收的字节数没有限制。数据先从最高有效位发送,每一字节之后应该立即被跟随一个响应(ACK)位,参见图14.6。(P330),.,14.1.2IIC总线组成框图与接口IIC总线组成框图S3C44B0X微处理器IIC总线组成框图见图14.4。,.,IIC总线接口S3C44B0X微处理器IIC总线接口有四种操作方式:主发送方式;主接收方式;从发送方式;从接收方式。开始和停止条件开始条件和停止条件见图14.5。(P329)数据传送格式IIC总线接口数据格式详见图14.6。(P330),.,图14.7表示IIC总线上的数据传送过程。(P330)ACK信号传送在IIC总线上的响应信号见图14.8。(P330)读写操作总线仲裁过程中止条件(abortcondition)配置IIC总线,.,14.1.3四种方式下的操作流程图S3C44B0X微处理器IIC总线接口有四种操作方式:主发送方式;主接收方式;从发送方式;从接收方式。,.,在IIC发送(Tx)或接收(Rx)操作之前,必须按以下步骤执行:如果需要,写自己的从地址到IICADD寄存器。设置IICCON寄存器:中断允许;定义SCL周期。设置IICSTAT,允许串行输出。,.,在主发送方式时,首先要指定从地址,即接收方(从设备)的地址,这个地址要由主设备发送出去,传送到从设备,所以在主发送方式时,首先要将从地址写入IIC总线发送接收数据移位寄存器IICDS中。IIC总线地址寄存器IICADD内容,是由处理器写入的、并且在从设备中保存的从设备自己的地址。当处在从接收方式的设备,收到从地址时,保存在IICDS中,要与自己的IICADD中的内容比较,判断收到的地址是否是自己的地址,如果是,该从设备接收由主设备发送来的数据。,.,在多主IIC总线系统中,主设备也可以处在接收方式,因此要指定的从地址是从设备发送方的地址,这个地址要由主设备发送出去,传送到从设备,所以在主接收方式时,从地址要写入IIC总线发送接收数据移位寄存器IICDS中。当处在从发送方式的设备,收到这个地址时,保存在IICDS中,要与IICADD中的自己的地址比较,判断收到的地址是否是自己的地址,如果是,从设备发送数据,主设备接收数据。,.,主发送方式操作主发送方式操作见图14.9。(P332)主接收方式操作主接收方式操作见图14.10。(P333)从发送方式操作从发送方式操作见图14.11。(P333)从接收方式操作从接收方式操作见图14.12。(P334),.,14.1.4IIC总线接口特殊功能寄存器多主IIC总线控制寄存器多主IIC总线控制寄存器IICCON地址为0 x01D60000,可读写,8位,Reset值为0 x0 x,(低4位无定义)具体含义见表14.1。(P335)多主IIC总线控制状态寄存器多主IIC总线控制状态寄存器IICSTAT地址为0 x01D60004,可读写,8位,Reset值为0 x00,具体含义见表14.2。(P335),.,多主IIC总线地址寄存器多主IIC总线地址寄存器IICADD,地址为0 x01D60008,可读写,8位,Reset值不确定,具体含义见表14.3。(P336)多主IIC总线发送接收数据移位寄存器多主IIC总线发送接收数据移位寄存器IICDS,地址为0 x01D6000C,可读写,8位,Reset值不确定,具体含义见表14.4。(P336),.,14.2IIS总线接口,14.2.1IIS总线接口概述IIS总线接口概述IIS(Intel-ICSound)总线中文名称为集成电路内部声音总线,源于由SONY和PHILIPS等公司共同提出的一个串行数字音频总线协议,许多音频编解码器(CODEC)和微处理器都提供了对IIS总线的支持。,.,IIS总线只传送音频数据,其他信号(如控制信号)必须另外单独传送。为了尽可能减少芯片引脚数,通常IIS只使用3条串行总线(不同芯片可能会有所不同),3条线分别是:提供分时复用功能的数据线SD,传送数据由时钟信号同步控制,且以字节为单位传送数据,每字节的数据传送从左边的二进制位MSB开始;字段选择线WS,WS为0或1表示选择左声道或右声道;时钟信号线SCK,能够产生SCK信号的称为主设备,从设备引入SCK作为内部时钟使用。IIS总线接口支持通常的IIS和MSB_justified(MSB调整IIS)两种数据格式。,.,S3C44B0X内部集成了IIS总线接口模块,图14.13是S3C44B0X与PHILIPS公司数字音频串行输入输出接口芯片UDA1341TS连接的一个例子。,.,图14.13中S3C44B0X与UDA1341TS的连线由两组接口组成。一组是IIS总线接口,在S3C44B0X端信号是:CODECLK(系统时钟)IISCLK(位时钟)IISLRCK(字选择输入)IISDI(串行数据输入)IISDO(串行数据输出),.,另一组是L3总线接口,在S3C44B0X端连接到GPC14、GPC8、GPC9,在UDA1341TS端连接到L3DATA(L3总线数据,输入输出)、L3MODE(L3总线模式,输入)、L3CLOCK(L3总线时钟,输入)。,.,音频数据传送过程可以简单描述为:处理器通过IIS总线接口,控制音频数据在S3C44B0X内存与UDA1341TS之间传送。连接在UDA1341TS上的麦克风信号在UDA1341TS内部经过AD转换器等,转换成二进制数串行通过DATAO引脚送到S3C44B0X的IIS模块,在IIS模块中数据转换成并行数据然后保存在内存中;而内存中要输出的音频数据,并行传到IIS模块,在IIS模块中转换成串行数据,串行通过DATAI引脚送到UDA1341TS,在片内经过DA转换器等,变成模拟信号,经过驱动器等,驱动扬声器。,.,S3C44B0X微处理器IIS总线特点主要特点有:兼容IIS、MSB_justified格式;每通道传送8位或16位数据;每通道16、32、48fs(fs为采样频率)串行位时钟;256、384fs主时钟;对主时钟和CODEC时钟,频率的分频因子是可编程的;32字节(2*16)FIFO用于发送和接收;通常传送方式和DMA传送方式。,.,14.2.2IIS总线组成框图S3C44B0X微处理器IIS总线组成框图见图14.14。,.,14.2.3发送和接收方式只发送或只接收方式只发送或只接收方式可以采用通常传送方式或DMA传送方式。通常传送方式DMA传送方式同时发送和接收方式,.,14.2.4音频串行接口数据格式IIS总线格式与S3C44B0X连接的IIS总线中,除了系统时钟CODECLK外的四条线,分别是串行数据输入IISDI、串行数据输出IISDO、左右声道选择IISLRCK和串行位时钟IISCLK。能够产生IISLRCK和IISCLK信号的设备是主设备。(1)串行数据(2)系统的字长(3)串行数据通过发送器发送,同步方法,.,MSB(LEFT)JUSTIFIED数据接口格式MSBleftjustified总线与IIS总线有相同的连线,与IIS总线不同之处是下一个字的最高有效位在IISLRCK改变后发送,见图14.15。(P340)采样频率和主时钟举例主时钟频率(MCLK)能够由表14.5中所列的采样频率来选择。(P340)由于主时钟经过了预分频器,预分频值和MCLK类型(256或384fs)应当被适当的确定。串行位时钟频率类型(163248fs)能够由每个通道的串行位和MCLK选择,详见表14.6。(P340),.,14.2.5IIS总线接口特殊功能寄存器IIS控制寄存器IIS控制寄存器IISCON,具体内容见表14.7和14.8。其中位8:6为只读。(P341)IIS方式寄存器具体含义见表14.9和14.10。(P341、342)IIS预分频寄存器具体含义见表14.11,14.12和14.13。(P342),.,IISFIFO控制寄存器IISFIFO控制寄存器称为IISFCON,为了开始IIS操作,需要以下步骤。在IISFCON中的FIFO允许位设置为1。允许在IISCON中的DMA请求。允许在IISCON的IIS接口开始。为了结束IIS操作,需要以下步骤。禁止FIFO。如果要发送保留在FIFO中的数据,必须不禁止FIFO并且跳过这一步。禁止IISCON寄存器中的DMA请求。禁止IISCON寄存器的IIS接口开始。IISFCON地址及各位含义见表14.14,14.15。(P343),.,IISFIFO寄存器IISFIFO寄存器称为IISFIF。IIS总线接口含有两个16字节的FIFO,用于发送和接收方式。每个FIFO宽度为16位,深度为8,允许FIFO以半字为单位处理数据。发送和接收FIFO的存取被执行是通过FIFO的入口,FENTRY入口地址是0 x01D18010。IISFIF地址及各位含义见表14.16,14.17。(P344),.,14.3同步IO,14.3.1同步IO概述S3C44B0X中同步IO(synchronousIO,SIO),也称同步输入输出,能够与要求串行数据传送的各种类型的外设接口。SIO模块能够以确定的频率发送或接收8位串行数据,而频率可以通过对应的控制寄存器设置。为了保证灵活的数据传送速率,可以选择内部或外部时钟源。,.,SIO模块主要特点有:8位数据(缓冲)寄存器(SIODAT);12位预分频器(SBRDR);8位区间计数器(IVTCNT);时钟选择逻辑;串行数据IO引脚(SIORXD和SIOTXD);外部时钟输入输出引脚(SIOCLK);DMA运行方式(自动运行标志运行,SIORDY)。SIO有两种操作方式:通常方式DMA方式,.,14.3.2SIO接口模块组成SIO接口模块组成框图见图14.16。,.,14.3.3SIO常规方式操作通过串行线同步发送和接收使用串行IO接口,通过串行线每次交换8位数据。串行输入数据来自输入引脚SIORXD,输出通过串行输出引脚SIOTXD发出,同步使用串行时钟引脚SIOCLK。发送或接收数据后,如果程序员允许该中断源,那么SIO中断请求被激活。发送总是与接收同时出现,如果只需要发送数据,可以把接收到的数据看作无用数据。,.,发送频率通过设置控制寄存器SIOCON和波特率预分频寄存器SBRDR对应位来控制。串行接口能使用内部或外部的时钟源,如果使用内部时钟源,通过调整波特率预分频寄存器的值,可以改变它的频率。,.,编程过程为了对SIO模块编程,应遵守以下基本步骤:在端口中配置这些IO引脚(SIOTXD,SIOCLK,SIORXD);设置SIOCON寄存器与串行IO模块相适应的配置;为了产生中断,设置串行IO中断允许位;如果要发送数据到串行缓冲器,写数据到SIODAT;对于接收发送,设置SIOCON3为1,开始移位操作;当移位操作(发送接收)完成,SIO产生中断请求并且SIODAT有收到的数据或无用的数据;转到。,.,14.3.4SIODMA方式操作自动

温馨提示

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

评论

0/150

提交评论