ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:94.70KB ,
资源ID:3800733      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3800733.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(IIC与SPI接口.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

IIC与SPI接口.docx

1、IIC与SPI接口可控制多外设的SPI/IIC总线(转)摘要本应用笔记对两种模拟IC中常用的串行、数字接口(SPI&8482;或3线、IC或2线)进行了比较,每种接口在不同的设计中都表现出其优点和缺点,具体取决于数据速率、可提供的设计空间以及噪声环境等。本应用笔记给出了两种接口的区别,并举例详细说明了这些观点。 引言虽然现实世界中的信号都是模拟信号,但是现在越来越多的模拟IC采用数字接口进行通信。串行接口的数据通信介于主机(提供串行时钟)和从机/外设之间。目前,大多数微控制器提供SPI (3线)和IC (2线)接口,用于发送、接收数据。微处理器通过几条总线控制周边的设备,比如:模/数转换器(A

2、DC)、数/模转换器(DAC)、智能电池、端口扩展、EEPROM以及温度传感器。与通过并口传输数据不同的是:串行接口通过2条、3条或4条数据/时钟总线连续传输数据。虽然并行接口具有传输速度快的特点,但是串行接口占用较少的控制和数据线。串行接口的基础知识串行接口有三种:3线、2线和单线。本文主要讨论3线和2线串行接口。串行外设接口(SPI)、队列串行外设接口(QSPI&8482;)和MICROWIRE&8482; (或MICROWIRE PLUS&8482;)接口标准均采用3线接口。芯片间总线(IC)和系统管理总线(SMBus&8482;)均为2线接口。这些串行接口拥有各自的优点和缺点,如表1所

3、示。3线接口3线接口使用片选线(低电平有效CS或SS)、时钟线(SCLK)和数据输入/主机输出线(DIN或MOSI)。3线接口有时也包括一条数据输出/主机输入线(DOUT或MISO),这时也叫做4线接口。为了叙述的简便,本文将3线接口和4线接口统称为3线接口。3线接口可以以更高的时钟频率工作,并且不需要上拉电阻。SPI/QSPI和MICROWIRE接口都可以工作在全双工模式(数据可以在同一时间发送和接收),一般在嘈杂环境下工作不成问题。3线接口是边沿触发,不是电平触发,因此具有更强的抗干扰能力。3线接口的主要缺点是它要为每一个从机提供一条低电平有效的CS线,除非将从机用菊链形式连接,如图1所示

4、(后续章节将详细讨论菊链方式)。另外一个缺点是3线接口没有应答机制去判断数据的收发是否正确。从软件设计看,在单主机/单从机应用中,3线接口比2线接口简单,效率更高。图1. 利用数据输入、数据输出、时钟和片选信号进行通信的3线接口2线接口2线接口包括一条数据线(SDA或SMBDATA)和一条时钟线(SCL或SMBCLK)。2线接口的优点是使用更少的连线,这一点对于结构紧凑的设计尤为重要,比如:手机、光纤的应用。因为2线接口为每个从机分配唯一的地址,所以可以在一条总线连接多个从机而不需要片选信号。2线接口在成功完成一次读操作后会传输一个应答位。因为2线接口只有一条数据线,所以它只能工作在半双工模式

5、(数据的读写不可以同时进行)。因为2线接口是电平触发,所以在嘈杂环境中如果发生数据位错误,可能造成问题。表1. 3/2线接口优缺点的对比 InterfaceAdvantagesDisadvantages3-Wire: SPI, QSPI, and MICROWIRE PLUS1. Speed 2. No pullup resistors required3. Full-duplex operation4. Noise immunity1. Larger number of bus line connections 2. Individual chip-select lines required

6、 to communicate with more than one slave at a time3. No acknowledgment of received data2-Wire: IC and SMBus1. Fewer bus line connections 2. Multiple devices share the same bus3. Received data is acknowledged1. Speed: SMBus limited to 100kHz; IC limited to 3.4MHz 2. Half-duplex operation3. Open-drain

7、 bus lines require pullup resistors4. Reduced noise immunity主机和从机经由多条总线通过串行接口进行通讯。在写周期,主机使用自己产生的时钟和数据将数据传至从机。在读周期,从机传输数据至主机。SPI、QSPI和MICROWIRE设计由Motorola 制定的SPI接口已被很多流行的处理器和微控制器采用,比如MAXQ2000 和MAXQ7654。SPI接口需要两条控制线(低电平有效CS和SCLK)和两条数据线(DIN/SDI和DOUT/SDO)。Motorola的SPI/QSPI标准称DIN/SDI数据线为MOSI (主机出,从机入),DO

8、UT/SDO数据线为MISO(主机入,从机出),CS线为SS(从机选择)。为了叙述的清晰,我们基于从机说明3线接口的数据线。DIN是从机的数据输入线,DOUT是从机的数据读出线。本文采用低电平有效CS、SCLK、DIN和DOUT来定义3线接口中的各条线,Maxim外设使用了这些引脚名称。大多数的SPI接口有两位配置位,时钟极性(CPOL)和时钟相位(CPHA)用于设定从机何时采集数据。CPOL决定SCLK为高时总线空闲(CPOL = 1)还是SCLK为低时总线空闲(CPOL = 0)。CPHA决定在SCLK的哪一个边沿将数据移入、移出。当CPOL = 0时,将CPHA设为0,表示在SCLK的上

9、升沿将数据移入从机;将CPHA设为1,表示在SCLK的下降沿将数据移入从机。CPOL和CPHA的两个状态允许四种时钟极性和相位的不同组合。每一种都与其它三种不兼容。为了实现主、从机间的通讯,主、从机的CPOL和CPHA必须有相同的设置。在SPI接口的大多数应用中,SPI接口一次传送8位数据(一个字节),有一些微处理器一次传送两个或多个字节。例如,MAXQ2000和MAXQ7654微处理器可一次传送8位或16位数据。当CPOL = 0、CPHA = 0,低电平有效CS由高跳变为低,开始一个主机到从机的传输过程。在SCLK信号高低变化的八个周期内,低电平有效CS信号必须保持为低。DIN数据锁定在S

10、CLK信号的上升沿。在同样的8位周期内,DOUT线上的从机输出数据在SCLK的每个下降沿有效。图2a给出了CPHA = 1时的详细时序;图2b给出了CPHA = 0时的详细时序。图2a. 3线接口时序(CPHA = 1),CPHA = 1、CPOL = 1时,3线接口在时钟的上升沿将数据移入外设,在时钟的下降沿将数据移出外设图2b. 3线接口时序(CPHA = 0),CHPA = 0、CPOL = 1时,3线接口在时钟的下降沿将数据移入外设,在时钟的上升沿将数据移出外设因为总线上的每一个IC需要专属的片选线,所以低电平有效CS被用做每个从机的使能信号。如果一条总线上有四个从机,则需要四条片选线

11、。如果从机的低电平有效CS为高电平(禁止),该从机就忽略SCLK线上的数据,将DOUT置为高阻。部分3线接口设备可以链接成菊链的方式,而不需要为每个从机提供低电平有效的CS线,菊链方式能够用一条低电平有效的CS线和一条数据线控制多个串联从机。在菊链结构中3线接口必须包含DOUT线,如图1所示,从机#1的DOUT连接到从机#2的DIN,如此反复。SPI标准中没有定义最大数据速率。外部设备定义了自己的最大数据速率,通常为MHz量级。微处理器可以适应很宽范围的SPI数据速率。在利用SPI接口进行通讯时,从机无法降低主机的数据速率或确定一个适当的速率。QSPI标准和SPI标准非常相似。事实上,外设无法

12、区分QSPI总线和SPI总线。与SPI标准中的主机不同,QSPI中的主机允许数据通过可编程的片选线传输数据。QSPI的主机甚至可以传送长度在8位和16位之间的数据,而SPI的主机只可以传送8位的数据。可以配置QSPI的设备去连续传送长度超过16字节的数据(最大为256位)。这种传输完全由QSPI设备的配置来实现,不需要MCU的操作。与SPI接口相似,QSPI接口也没有规定最大数据速率。由National Semiconductor公司制定的老的MICROWIRE标准和SPI标准非常相似。不同的是MICROWIRE标准的时钟极性和时钟相位是固定的(CPOL = 0和CPHA = 0)。DIN的数

13、据读取总是锁定在SCLK的上升沿。DOUT的数据输出总是在SCLK的下降沿。MICROWIRE标准没有规定最大数据速率。芯片间电路接口(IC)不同于全双工的3线制接口,由Philips制定的IC接口通过一条数据线(SDA)和一条时钟线(SCL)实现半双工通信。IC接口定义了一个简单的主/从双向通信接口。在这个体系中,MCU决定自己为主机(写模式)或为从机(接收模式)。每个从机具备专有、唯一的地址,使主机可以和多个从机通过一条总线进行通信,而不需要为每一个从机提供单独的片选线。如图3所示,从机的数目只受限于最大线上电容(400pF),IC接口的机制基于7位或10位地址,7位的地址更为常见。在7位

14、地址的机制中,总线上可以接127个不同的外设。SCL和SDA线为漏极开路结构,所以闲置时必须为高。当电源电压为3V时,连接一个1k或更大阻值的上拉电阻;当电源电压为5V时,连接一个1.6k或更大阻值的上拉电阻。 图3. 利用数据输入/输出和时钟信号进行通信的2线接口当SCL为高,SDA从高变为低,即发出了一个开始命令,启动IC通信。图4a所示,每个SCL时钟传输一个数据位,传输一个字节至少需要9个数据位。一个写周期包括8个数据位和一个应答位(ACK)或者非应答位(NACK)。如图4b所示,当数据在IC总线上传输时,在SLK的上升沿写入从机,在SLK的下降沿从机输出。在SCL时钟周期为高电平的时

15、间内,SDA线的数据不可以改变。一次传输的完成必须跟随着一个中止或重新开始的命令,既SCL为高时,SDA由低变为高。当总线空闲时,SDA和SCL都为高。 图4a. 开始条件和停止条件,2线接口采用开始、重复开始和停止命令在主机和从机之间传输数据图4b. IC应答位,应答数据时,2线接口将SDA拉低IC的写周期起始于开始命令,随后是7位从机地址和第8位用于标识读、写操作。将第8位置低,表示写操作;将第8位置高,表示读操作。主机在第8个时钟周期后释放总线。如果从机应答数据传输,则在第9个时钟周期将SDA拉低。如果从机不应答写命令,则释放SDA (该数据线通过上拉电阻置于高电平)。随后,主机写入8位

16、命令字节,然后是第二个ACK/NACK位。接下来,主机写入8位数据字节并跟随第三个ACK/NACK位。数据字节和最后的应答位完成一个读/写周期,更新外设输出,图5a是一个写周期的详细例子。IC读周期起始于开始命令,随后是需要写入数据的从机地址、第8位置高,表示读操作。在ACK/NACK之后,主机写入命令字节访问从机寄存器。在第二个ACK/NACK位后,主机重新写入从机地址。在第三个ACK/NACK位后,从机控制总线,一次输出8位数据到总线上。如图5b所示,当从与上次读操作相同的从机寄存器读取数据时,主机只需要在读取从机数据之前写入从机地址。图5. 2线接口一次传输8位数据,图5a是IC写周期的

17、一个例子;图5b是IC读周期的一个例子IC接口支持低速(大于100kHz)、快速(大于400kHz)和高速(大于3.4MHz)三种数据速率。IC接口的高低电平为CMOS逻辑电平 (低电平为0.3x电源电压以下,高电平为0.7x电源电压以上)。系统管理总线(SMBus) Intel制定了SMBus标准用于低速通信,SMBus 2线接口与IC接口非常相似。SMBus也使用一条数据线(SMBDATA)和一条时钟线(SMBCLK)进行通信。SMBCLK和SMBDATA也需要上拉电阻,3V供电时上拉电阻大于8.5k,5V供电时上拉电阻大于14k。SMBus工作电压范围在3V和5V之间,大于2.1V为高电

18、平,低于0.8V为低电平。IC接口和SMBus接口的最主要区别是最高/最低时钟速率,因为IC总线为被动传输总线,不存在总线超时问题,速率可低至“静止”。SMBus接口则存在总线超时问题。如果时钟信号拉低之后的时间大于超时周期(最长为35ms)时,从机复位接口,认为发生总线超时。SMBus的超时周期限制了时钟的最小速率为19kHz。为了保证正常通信,SMBCLK的速率必须介于10kHz至100kHz之间,而IC接口的主机或从机则可根据传输数据的需要将时钟保持在低电平。外设举例微处理器经常通过串行接口与外设通信,当微处理器通过2线或3线接口访问外设后,外设相应地改变其模拟或数字输出。例如,指使外设

19、设置电池的充电的电流和电压、用温度传感器控制风扇、设置数模转换器的模拟输出等。如图6所示,通过2线接口连接微处理器和8位数/模转换器(MAX5115)。因为这个DAC有四个地址选择引脚,可以产生16个唯一的从机地址,因此可以在总线上并联16个DAC,因为MAX6641有不同的从机地址,同样的2线接口也可以设置SMBus温度传感器/风扇控制器(MAX6641),风扇控制器控制MOSFET的栅极,使其打开或关闭风扇。图6. 由于微控制器采用的是IC接口,与外设通信时,如DAC、温度传感器,总线只需要两条连线 3线接口需要单独的片选线实现微处理器与多个并行从机之间的通信,更简单的2线接口用一条时钟线

20、和一条数据线与总线上的每个设备通信。可以通过设定不同的从机地址在总线上挂接多个IC。大多数IC接口外设具备地址选择引脚,以实现从机地址的配置。外设可以使用的从地址数等于地址选择引脚数的平方。例如,若外有两个地址选择引脚,它就可以配置四个不同的地址。新一代设计以更少的地址选择引脚提供更多的从地址。MAX7319是输入/输出扩展芯片,可以从两个地址选择引脚(AD2和AD0)扩展出16个从地址。这些引脚可以接GND、电源(VCC)、SDA或SCL。表2列出了这16个从地址的详细信息,A6、A5、A4固定为110,A3至A0可以通过AD2、AD0设置。 表2. MAX7319仅利用2个地址线(AD2和

21、AD0)即可编译出16个不同地址 Pin ConnectionDevice AddressAD2AD0A6A5A4A3A2A1A0SCLGND1100000SCLVCC1100001SCLSCL1100010SCLSDA1100011SDAGND1100100SDAVCC1100101SDASCL1100110SDASDA1100111GNDGND1101000GNDVCC1101001GNDSCL1101010GNDSDA1101011VCCGND1101100VCCVCC1101101VCCSCL1101110VCCSDA1101111进一步改进3线接口和2线接口有几点不同的要求,每种接口都有其特殊优势。近期内不可能用一种接口标准完全取代另一接口标准。具备IC接口的器件发展较快,并开始融合一些SMBus接口的特点,支持诸如超时复位等功能,使接口可以根据需要关断。新的IC从机地址长达10位,而不仅仅是7位,这给用户带来更多的灵活性。3线接口和2线接口将并存,但IC接口似乎占有更大的市场份额,大部分微处理器支持2线接口。IC接口的易用性及更少的连线使其增长量超过了SPI接口。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1