几种通信方式_第1页
几种通信方式_第2页
几种通信方式_第3页
几种通信方式_第4页
几种通信方式_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

一IIC总线I2C--INTER-IC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。IC接口的协议里面包括设备地址信息,可以同一总线上连接多个从设备,通过应答来互通数据及命令。但是传输速率有限,标准模式下可达到100Kbps,快速模式下可达到400Kbps(我们开发板一般在130Kbps),高速模式下达到4Mbps,不能实现全双工,不适合传输很多的数据。IIC总线是一个真正的多主机总线,总线上多个主机初始化传输,可以通过传输检测和仲裁来防止数据被破坏。下来详细了解IIC总线时序:总线数据有效性IIC总线是单工,因此同一时刻数据只有一个流向,因此采样有效时钟也是单一的,是在SCL时钟的高电平采样数据。IIC总线上SDA数据在SCL时钟低电平是可以发生变化,但是在时钟高电平时必须稳定,以便主从设备根据时钟采样数据,如下图:datalinestable.datav3:iddatalinestable.datav3:idIchange|I4^dataiIailt;veci|总线空闲条件IIC总线上设备都释放总线(发出传输停止)后,IIC总线根据上拉电阻变成高电平,SDASCL都是高电平。总线数据传输起始和结束条件IIC总线SCL高电平时SDA出现由高到低的跳变,标志总线上数据传输的开始条件IIC总线SCL高电平时SDA出现由低到高的跳变,标志总线上数据传输的结束条件

总线数据传输顺序以及ACK应答IIC总线上数据传输室MSB在前,LSB在后,从示波器上看,从左向右依次读出数据即可IIC总线传输的数据不收限制,但是每次发到SDA上的必须是8位,并且主机发送8位后释放总线,从机收到数据后必须拉低SDA一个时钟,回应ACK表示数据接收成功,我们如果示波器上看到的波形就是每次9位数据,8bit+1bitack。如下:BY-学晔用伊弓1gF(X.T=UTBYRECsIVE^BY-学晔用伊弓1gF(X.T=UTBYRECsIVE^巴start从机收到一字节数据后,如果需要一些时间处理,则会拉低SCL,让传输进入等待状态,处理完成,释放SCL,继续传输,如下:hnc ,hloiQ,143xon—hI*hnc ,hloiQ,143xon—hI*IilwflrTci■wtflSTSTART总线读写时序数据的传输在起始条件之后,发送一个7位的从机地址,紧接着第8位是数据方向(R/W),0-表示发送数据(写),1-表示接收数据(读)。数据传输一般由主机产生的停止位(P)终止。但是如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr),和寻址另一个从机,而不是首先产生一个停止条件。在这种传输中,可能有不同的读写格式结合。IIC总线主设备读写从设备,一般都是与从设备的寄存器打交道,这个可以通过阅读从设备的datasheet获取。总线写时序如下:masterstart+masteraddr|w+slaveack+masterreg|w+slaveack+masterdata+slaveack+masterrestart。。masterdata+slavenack+masterstop总线读时序如下:masterstart+masteraddr|w+slaveack+masterreg|w+slaveack+masterrestart+masteraddr|r+slaveack+slavedata+masternack+masterstop总线读时序与写的不同之处在于读需要2次传输才能完成一次读取,首先要写寄存器地址到从设备,其实是写到了从设备的控制寄存器或者命令寄存器,从设备内部会根据这个地址来寻址所要操作的寄存器。我在读我们的bios和内核时发现,2者在总线读时序上的实现不太一样,在于第一次寄存器地址写入后,一个发的是restart,一个发的是stop,然后再start开始读取数据,示波器抓波形发现读取数据都正确,说明这2种时序都是正确的。IIC总线的读写时序比较固定,设备通信严格遵循协议,因此iIC总线设备驱动程序的编写也就相对简单一些。主要应用的iIc总线设备有touchscreenrtc外扩io等二SPI总线SPI--SerialPeripheralInterface,串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。SPI通常有SCK时钟,STB片选,DATA数据信号三个信号。I2C通常有SDA数据和SCL时钟两个信号。SPI总线真正实现了全双工数据传输,SPI有3线跟4线两种,4线的话,就是多了一条叫SDC的线,用来告知从设备现在传输的是数据还是指令。这个接口较快,可以传输较连续的数据。SPI要想连接多个从设备,就需要给每个从设备配备一根片选信号。如果要可以实现全双工,也是需要多加一根数据线(MOSIMISO)。也就是说SPI总线是通过片选来选择从设备。spi总线速度要比iic要快,我们开发板最快能达到30MHZ。spi总线特点:.采用主-从模式(Master-Slave)的控制方式SPI规定了两个SPI设备之间通信必须由主设备(Master)来控制次设备(Slave).一个Master设备可以通过提供Clock以及对Slave设备进行片选(SlaveSelect)来控制多个Slave设备,SPI协议还规定Slave设备的Clock由Master设备通过SCK管脚提供给Slave设备,Slave设备本身不能产生或控制Clock,没有Clock则Slave设备不能正常工作..采用同步方式(Synchronous)传输数据Master设备会根据将要交换的数据来产生相应的时钟脉冲(ClockPulse),时钟脉冲组成了时钟信号(ClockSignal),时钟信号通过时钟极性(CPOL)和时钟相位(CPHA)控制着两个SPI设备间何时数据交换以及何时对接收到的数据进行采样,来保证数据在两个设备之间是同步传输的..数据交换(DataExchanges)SPI设备间的数据传输之所以又被称为数据交换,是因为SPI协议规定一个SPI设备不能在数据通信过程中仅仅只充当一个"发送者(Transmitter)"或者”接收者(Receiver)".也就是说是全双工的,在每个Clock周期内,SPI设备都会发送并接收一个bit大小的数据,相当于该设备有一个bit大小的数据被交换了.一个Slave设备要想能够接收到Master发过来的控制信号,必须在此之前能够被Master设备进行访问(Access).所以,Master设备必须首先通过SS/CSpin对Slave设备进行片选,把想要访问的Slave设备选上.在数据传输的过程中,每次接收到的数据必须在下一次数据传输之前被采样.如果之前接收到的数据没有被读取,那么这些已经接收完成的数据将有可能会被丢弃,导致SPI物理模块最终失效.因此,在程序中一般都会在SPI传输完数据后,去读取SPI设备里的数据,即使这些数据(DummyData)在我们的程序里是无用的.具体spi工作原理可以看博客另外一篇文章SPI和IIC是2种不同的通信协议,现在已经广泛的应用在IC之间的通信中。并且不少单片机已经整和了SPI和IIC的借口。但像51这种不支持SPI和IIC的单片机,也可以用模拟时钟的工作方式进行SPI和IIC的通信的。下面主要总结一下2种总线的异同点:iic总线不是全双工,2根线SCLSDA。spi总线实现全双工,4根线SCKCSMOSIMISOiic总线是多主机总线,通过SDA上的地址信息来锁定从设备。spi总线只有一个主设备,主设备通过CS片选来确定从设备iic总线传输速度在100kbps-4Mbps。spi总线传输速度更快,可以达到30MHZ以上。iic总线空闲状态下SDASCL都是高电平。spi总线空闲状态MOSIMISO也都是SCK是有CPOL决定的iic总线scl高电平时sda下降沿标志传输开始,上升沿标志传输结束。spi总线cs拉低标志传输开始,cs拉高标志传输结束iic总线是SCL高电平采样。spi总线因为是全双工,因此是沿采样,具体要根据CPHA决定。一般情况下masterdevice是SCK的上升沿发送,下降沿采集iic总线和spi总线数据传输都是MSB在前,LSB在后(串口是LSB在前)iic总线和spi总线时钟都是由主设备产生,并且只在数据传输时发出时钟iic总线读写时序比较固定统一,设备驱动编写方便。spi总线不同从设备读写时序差别比较大,因此必须根据具体的设备datasheet来实现读写,相对复杂一些。3.SMBusSMBus是一种二线制串行总线,1996年第一版规范开始商用。它大部分基于I2C总线规范。和I2C一样,SMBus不需增加额外引脚,创建该总线主要是为了增加新的功能特性,但只工作在100kHz且专门面向智能电池管理应用。它工作在主/从模式:主器件提供时钟,在其发起一次传输时提供一个起始位,在其终止一次传输时提供一个停止位;从器件拥有一个唯一的7或10位从器件地址。SMBus与I2C总线之间在时序特性上存在一些差别。首先,SMBus需

温馨提示

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

评论

0/150

提交评论