您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > S3C2410 I2C SPI接口
S3C2410I2C总线接口ØI2C(Inter-IntegratedCircuit)总线是由Philips半导体公司于上世纪80年为了实现在同一块电路板上的各个器件进行简单的消息传递而设计的。Ø开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据Ø结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据Ø传输状态与空闲状态:当SCL为高电平时,保持SDA高电平(或低电平)不变,那么I2C总线保持在传输状态或者空闲状态。Ø应答信号:接收数据的组件在接收到8bit数据后,向发送数据的I2C器件发出特定的低电平脉冲,表示已收到数据。Ø2.I2C总线的操作Ø控制字节在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。Ø写操作分为“字节写”和“页面写”两种操作。对于页面写,根据芯片的一次装载的字节不同有所不同。Ø读操作有三种基本操作:当前地址读、随机读和顺序读三种。Ø3.I2C总线地址地址用途00000000广播地址00000001起始字节0000001XCBUS地址(一种三线总线,和I2C不同)0000010X保留地址,或者用做其他总线0000011X保留地址00001XXX高速主设备地址(第三位用来确定主设备)11110XXX10位地址模式11111XXX保留地址S3C2410I2CS3C2410I2C总线功能模块总线功能模块ØS3C2410支持多主控的I2C串行总线接口。Ø一条专门的串行数据线(SDA)和一条时钟信号线(SCL)在所有连接到I2C总线上的主控组件和周边设备之间进行信息的传送。SDA和SCL都是可以双向传送的。I2CI2C系统结构图系统结构图S3C2410I2CS3C2410I2C总线操作总线操作1.I2C总线接口的工作模式ØS3C2410的I2C总线接口有四种工作模式:Ø主控组件传送模式Ø主控组件接收模式Ø从组件传送模式Ø从组件接受模式ØS3C2410的I2C总线的开始条件和终止条件22.数据传送格式.数据传送格式总线数据传输时序总线数据传输时序S3C2410I2CS3C2410I2C专用功能寄存器专用功能寄存器n1.多主控I2C控制寄存器(IICCON)n2.多主控I2C总线控制/状态寄存器(IICSTAT)n3.多主控I2C地址寄存器(IICADD)n4.多主控I2C发送/接收数据转移寄存器(IICDS)IICCON位描述初始状态应答使能[7]I2C总线应答使能位0-禁止应答产生;1-允许应答产生在发送(Tx)模式下,应答时使SDA线空闲;在接收(Rx)模式下,应答时将SDA线置低电平。0Tx时钟源选择[6]I2C总线发送数据时钟源预分频选择位0-IICCLK=fMCLK/161-IICCLK=fMCLK/5120Tx/Rx中断使能[5]I2C总线Tx/Rx中断使能/禁止位0-中断禁止;1-中断使能0中断请求标志[4]I2C总线中断请求标志位不能写1,读到1时,SCL保持在低电平,并且I2C停止工作。将其清0后,I2C继续工作。0-读:没有中断请求;写:清除中断请求标志为,重新开始IIC传送1-读:有中断请求;写:禁止0传送时钟值[3:0]I2C传送时钟分频值,I2C总线传送时钟的频率使用以下公式计算:Tx时钟=IICCLK/(IICCON[3:0]+1)不定I2CI2C总线数据控制流程总线数据控制流程Ø在I2C接收和发送前首先需要执行以下步骤。(1)如果需要,写从地址到I2C到IICADD寄存器。(2)设置IICCON寄存器。如使能中断,设置时钟信号。(3)设置IICSTAT使能串行输出。Ø主传输模式流程如下:(1)初始化配置主传输模式;(2)写从地址寄存器IICDS;(3)写0xF0到IICSTAT状态寄存器;(4)发送IICDS寄存器数据;(5)接收ACK信号。主接收模式操作流程主接收模式操作流程(1)配置主接收模式;(2)写从地址寄存到IICDS寄存器;(3)写0xB0到IICSTAT寄存器;(4)传输IICDS寄存器数据;(5)发送ACK信号。ZLG7290ZLG7290键盘及键盘及LEDLED驱动芯片驱动芯片S3C2410S3C2410采用采用I2CI2C接口电路接口电路SPI(串行外围接口)SPI总线RRSPISPI总线总线是串行外围设备接口,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线.RSPI的通信原理很简单,它以主从方式工作,通常有一个主设备和一个或多个从设备,需要至少4根线。RSDO–主设备数据输出,从设备数据输入RSDI–主设备数据输入,从设备数据输出RSCLK–用来为数据通信提供同步时钟信号,由主设备产生RCS–从设备使能信号,由主设备控制ØSPI从机从主机获得时钟和片选信号,因此cs和sclk都是输入信号。ØSPI接口在内部硬件实际上是个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。SPI从机的内部结构Ø在SCLK的下降沿数据改变,同时一位数据被存入移位寄存器。SPI总线RR如果一个如果一个SPISPI从机没有被选中,他的数据输出端从机没有被选中,他的数据输出端SDOSDO将处于高将处于高阻状态,从而与当前处于激活状态的隔离开。阻状态,从而与当前处于激活状态的隔离开。寻址:MOSI:Whenmaster,outline;whenslave,inlineMISO:Whenmaster,inline;whenslave,outlineSPI从机的内部结构SPI接口实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。上升沿发送,下降沿接收。(有的器件是上升沿接收,下降沿发送)D7....D0D0....D7SPI总线RRSPISPI总线总线在一次数据传输过程中,接口上只能有一个主机和一个从机能够通在一次数据传输过程中,接口上只能有一个主机和一个从机能够通信。并且,信。并且,主机总是向从机发送一个字节数据,主机总是向从机发送一个字节数据,而从机也总是向主机发送一而从机也总是向主机发送一个字节数据。个字节数据。R在SPI传输中,数据是同步进行发送和接收的。R数据传输的时钟基于来自主处理器的时钟脉冲,R当SPI接口上有多个SPI接口的单片机时,应区别其主从地位,在某一时刻只能由一个单片机为主器件。R从器件只能在主机发命令时,才能接收或向主机传送数据。R其数据的传输格式是高位(MSB)在前,低位(LSB)在后RSPI接口的一个缺点:没有应答机制确认是否接收到数据。R如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必须发送一个空字节来引发从机的传输。特点•支持两个通道的SPI•兼容SPI协议•8位发送移位寄存器•8位接收移位寄存器•8位预定器•查询,中断和DMA传输模式模块图SPI接口编程Ø如果ENSCK和SPCONn中的MSTR位都被置位,向SPDATn寄存器写一个字节数据,就启动一次发送。也可以使用典型的编程步骤来操作SPI:•设置波特率预分频寄存器(SPPREn)。•设置SPCONn配置SPI模块。•向SPDATn中写10次0xFF来初始化MMC或SD卡。•把一个GPIO(当作nSS)清零来激活MMC或SD卡。•发送数据→核查发送准备好标志(REDY=1),之后向SPDATn中写数据。•接收数据(1):禁止SPCONn的TAGD位,正常模式→向SPDAT中写0xFF,确定REDY被置位后,从读缓冲区中读出数据。•接收数据(2):使能SPCONn的TAGD位,自动发送虚拟数据模式→确定REDY被置位后,从读缓冲区中读出数据,之后自动开始数据传输。•置位GPIO引脚(当作nSS的那个引脚),停止MMC或SD卡。SPI特殊寄存器1.SPI控制寄存器(SPCONn)2.SPI状态寄存器(SPSTAn)3.SPI引脚控制寄存器(SPPINn)4.SPI波特率预定标器寄存器(SPPREn)5.SPI发送数据寄存器(SPTDATn)6.SPI接收数据寄存器(SPRDATn)SPI引脚控制器SPI波特率预定标器寄存器SPI发送数据寄存器SPI接收数据寄存器
本文标题:S3C2410 I2C SPI接口
链接地址:https://www.777doc.com/doc-6346176 .html