i2c与spi和stm32 稳定 sdio spi三者的区别

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
对SPI、IIC、IIS、UART、CAN、SDIO、GPIO的解释
下载积分:30
内容提示:对SPI、IIC、IIS、UART、CAN、SDIO、GPIO的解释
文档格式:PDF|
浏览次数:191|
上传日期: 16:32:27|
文档星级:
该用户还上传了这些文档
对SPI、IIC、IIS、UART、CAN、SDIO、GPIO的解释
官方公共微信嵌入式系统的通讯协议:I2C通讯、SPI通讯、USB通讯、SDIO 通讯、I2S通讯、PCI通讯简介
嵌入式系统的通讯协议:I2C通讯、SPI通讯、USB通讯、SDIO 通讯、I2S通讯、PCI通讯简介
发布时间: 11:49:06
编辑:www.fx114.net
本篇文章主要介绍了"嵌入式系统的通讯协议:I2C通讯、SPI通讯、USB通讯、SDIO 通讯、I2S通讯、PCI通讯简介",主要涉及到嵌入式系统的通讯协议:I2C通讯、SPI通讯、USB通讯、SDIO 通讯、I2S通讯、PCI通讯简介方面的内容,对于嵌入式系统的通讯协议:I2C通讯、SPI通讯、USB通讯、SDIO 通讯、I2S通讯、PCI通讯简介感兴趣的同学可以参考一下。
&&&&& 本文简单的描述了在实际应用中会碰到的一些总线协议,让各位读者对实际系统中的总线有个概念上的理解。
&&&&&&& I2C(Inter-Integrated&Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。&
1&、I2C总线特点&
&&&&&& I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering),&其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。&
2&&、I2C总线工作原理&
&&&&&2.1&总线的构成及信号类型&
&&&&&&& I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。&
&& &&I2C总线在传送数据过程中共有三种类型信号,&它们分别是:开始信号、结束信号和应答信号。
&&开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
&&结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。&
&&应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。&
&&&&&& 目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有:CYGNAL的&C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外围器件如存储器、监控芯片等也提供I2C接口。
3&、总线基本操作&
&&&&&& I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。&总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。
3.1&控制字节&
&&&&&& 在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。
3.2&写操作&
&&&&&& 写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。
3.3&读操作&
&&&&&& 读操作有三种基本操作:当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期间发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。
在I2C总线的应用中应注意的事项总结为以下几点&:&
&&1)&严格按照时序图的要求进行操作,&
&&2)&若与口线上带内部上拉电阻的单片机接口连接,可以不外加上拉电阻。&
&&3)&程序中为配合相应的传输速率,在对口线操作的指令后可用NOP指令加一定的延时。&
&&4)&为了减少意外的干扰信号将EEPROM内的数据改写可用外部写保护引脚(如果有),或者在EEPROM内部没有用的空间写入标志字,每次上电时或复位时做一次检测,判断EEPROM是否被意外改写。
&&& I2S有3个主要信号:1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数&&2.&帧时钟LRCK,用于切换左右声道的数据。LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率。3.串行数据SDATA,就是用二进制补码表示的音频数据。I2S(Inter-IC&Sound&Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。I2S有3个主要信号:1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数&&2.&帧时钟LRCK,用于切换左右声道的数据。LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率。3.串行数据SDATA,就是用二进制补码表示的音频数据。
有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys&Clock),是采样频率的256倍或384倍。I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。
&&&&随着技术的发展,在统一的&I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)、I2S格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。
&&& 串行外围设备接口SPI(serial&peripheral&interface)总线技术是Motorola公司推出的一种同步串行接口,Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI&用于CPU与各种外围器件进行全双工、同步串行通讯。SPI可以同时发出和接收串行数据。它只需四条线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线CS。这些外围器件可以是简单的TTL移位寄存器,复杂的LCD显示驱动器,A/D、D/A转换子系统或其他的MCU。当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。主SPI的时钟信号(SCK)使传输同步。&
&& SPI主要特点有:&可以同时发出和接收串行数据;&
·&可以当作主机或从机工作;&
·&提供频率可编程时钟;&
·&发送结束中断标志;&
·&写冲突保护;&
·&总线竞争保护等。&
&&& SPI&模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果&CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致。
&&& USB(Universal&Serial&Bus)是1995年Microsoft、Compaq、IBM等公司联合制定的一种新的PC串行通信协议。USB协议出台后得到各PC厂商、芯片制造商和PC外设厂商的广泛支持。USB本身也处于不断的发展和完善中,从当初的0.7、0.8到现在广泛采用的1.0、1.1版本到即将被采用的2.0版本。USB外设在国外以惊人的速度发展,迄今为止,各种USB的外设已经有上千种。那么,USB为什么如此受亲睐呢?这要从它自身所具有的很多优点谈起。
1.&PC为什么急需USB
&&&&随着PC的广泛应用,其外设也越来越多,打印机、鼠标、扫描仪、游戏杆、音箱...。每个外设都需要通过一个接口与PC相连。外设多了,PC的接口自然也就不够用了。在很多特定的应用场合,如工业数据采集等领域,常常用采集板卡来完成工作,而每一个板卡自然会占用一个PC插槽。PC插槽就那么几个,要是采集点多了怎么办呢?&PC外设安装过程中比较麻烦的另一件事情是在加减设备时,必须关掉电源,加减设备完成之后再从新启动机器。对于板卡式的外设就更加麻烦了,您不得不打开机箱,弄得满头大汗,一不小心,汗水滴到主板上,机器就死翘翘了。我就碰到过这样的事情。
&&&&USB的出现就能够为您完全解决掉上面提到的这些尴尬,每台PC通过USB端口最多可以接127个外设!把您所有的东西全接上来吧,没问题!还有,USB完全是PNP的,在您第一次安装完成以后,加减设备只需要拔出或插上USB插头就一切OK了,不必理会机器是开还是关,就这么简单。
&&&&可不要因为慢得象蜗牛的232而使你联想到串行就代表慢。USB有快速和慢速工作方式,传输速率分别为12Mbps和1.5Mbps,比232快了不知道多少倍。
2.&USB的结构框架
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&root&hub
&&&&&&&&&&&&______________|___________
&&&&&&&&&&&&|&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|
&&&&&&&&&&&hub&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&hub
&&&&&&___|______&&&&&&&&&&&&&&&&&&&&&&________|________
&&&&&&|&&&&|&&&&&&|&&&&&|&&&&&&&&&&&&&&&&&&&&&&&&|&&&&&&&&|&&&&&&&&&&&&&&&|&&&&&&&&&&|
&&&&d1&d2&&&d3&h1&&&&&&&&&&&&&&&&&&&&&h2&&&&&d4&&&&&&&&&&d5&&&&&&&d6
&&&&&&&&&&&&&&d*&&&外设&&&&&&&&&&&&h*&&&&hub
&&&&上图显示了USB的拓扑结构。
&&&&PC主板上的那两个插口,就是root&hub。root&hub是一个USB系统的总控制端口。它既可以直接接外设,也可以通过hub控制更多的外设。&USB&hub结构类似通常的网络集线器,有一个upper&link和很多子端口,每个子端口可以接一个外设,也可以再通过一个hub接入更多外设,直到所有外设加起来到127为止。
3.&USB设备的加载过程
&&&&当USB设备接入hub或root&hub后,主机控制器和主机软件(host&controller&&&hos
t&software)能自动侦测到设备的接入。然后host&software读取一系列的数据用于确认
设备特征,如vendor&ID,&product&ID,&interface工作方式,电源消耗量等参数。之后
主机分配给外设一个单独的地址。地址是动态分配的,各次可能不同。在分配完地址之后对设备进行初始化,初始化完成以后就可以对设备进行IO操作了。
4.&USB的适用范围
&&&&其实除了象显卡这种需要极高数据量和一些实时性要求特别高的控制设备,几乎所有的PC外设都可以移植到USB上来。而事实上国外几乎已经做到了这一点。我想对于国内的开发者来说,在鼠标、键盘等产品上就不必去和国外竞争了。但即使这样,USB的PC外设仍然有大得不可限量的发展空间。我归纳了以下几个大类供开发者参考:
1.&传统PC外设,象鼠标、键盘、音箱、游戏杆、扫描仪、打印机等。
2.&基于PC的通信设备,如Modem,&ISDN等
3.&端口转接器,如USB--&232,&USB--&LPT等,以适应原来的设备。
4.&具有中国特色的设备,象汉字输入笔那样的东西。
5.&工业领域。USB在这个领域产生的影响是惊人的,我将另外专门写关于这方面的文章。
&&&&PCI基本总线协议传输机制是猝发成组数据传输。一个分组由一个地址相位和一个或多个数据相位组成。
&&&&1.PCI总线的传输控制
&&&&PCI总线上所有的数据传输基本上都是由以下三条信号线控制的:
&&&&FRAME#:由主设备驱动,说明一次数据传输周期的开始和结束。
&&&&IRDY#:由主设备驱动,表示主设备已经作好传送数据的准备。
&&&&TRDY#:由从设备驱动,表示从设备已经作好传送数据的准备。
&&&&当数据有效时,数据源设备需要无条件设置xRDY#,接收方可以在适当的时间发出xRDY#信号。FRAME#信号有效后的第一个时钟前沿是地址相位的开始,此时,开始传送地址信息和总线命令,下一个时钟前沿进入一个或多个数据相位。每当IRDY#和TRDY#同时有效时,所对应的时钟前沿就使数据在主从设备之间传送。在此期间,可由主设备或从设备分别利用IRDY#和TRDY#的无效而插入等待周期。
&&&&一旦主设备设置了IRDY#,将不能再改变IRDY#和FRAME#,直到当前的数据相位完成为止,而此期间不管TRDY#的状态是否发生变化。一旦从设备设置了TRDY#,就不能改变DEVSEL#、TRDY#或STOP#,直到当前的数据相位完成为止。也就是说,只要数据传输已经开始,那么在当前数据相位结束之前,不管是主设备还是从设备都不能撤消命令,必须完成数据传输。
&&&&最后一次数据传输时(可能紧接地址相位之后),主设备应撤消FRAME#信号而建立IRDY#,表明主设备已作好了最后一次数据传输的准备。当从设备发出TRDY#信号,表明最后一次数据传输已经完成,接口转入空闲状态,此时FRAME#和IRDY#均被撤消。
&&&&对于PCI总线的传输,可总结出以下几条规则:
&&&&①FRAME#和IRDY#决定总线的忙/闲状态。当其中一个有效时,表示总线忙;两个都无效时,总线进入空闲状态。
&&&&②一旦FRAME#被置为无效,在同一传输期间不能重新置为有效。
&&&&③除非设置IRDY#,一般情况下不能设置FRAME#无效(在FRAME#无效后的第一个时钟沿IRDY#必须保持有效)。
&&&&④一旦主设备已使IRDY#有效,在当前数据相位完成前,不能改变IRDY#或FRAME#的状态。
&&&&⑤在完成最后一个数据相位之后的时钟周期主设备必须使IRDY#无效。
&&&&2.PCI总线的寻址
&&&&PcI总线定义了三种物理地址空间:内存地址空间、I/O地址空间及配置地址空间,前两种为通常意义的地址空间,第三种配置地址空间用以支持PCI的硬件配置。
&&&&PCI总线的地址译码是分散的,每个设备都有自己的地址译码逻辑,从而省去了中央译码逻辑。PCl支持对地址的正向译码和负向译码,所谓正向译码,是指总线上每个设备都监视地址总线上的访问地址,判断是否落在自己的地址范围内,译码速度较快。所谓负向译码,是指要接受未被其他设备在正向译码中接受的所有访问,因此,此种译码方式只能由总线上的一个设备来实现(一般是连接标准扩展总线的桥)。由于它要等到总线上其他所有设备都拒绝之后才能动作,所以速度较慢。负向译码对于标准扩展总线上地址空间零散的设备是很有用的。
&&&&在I/O地址空间,所有韵32位地址都用来表示一个完整的字节地址。启动I/O传输的主设备应确保AD[1~0]正确指示本次传输的最低有效字节(即起始字节)。字节允许信号和AD[1~0]一起指明传输的数据宽度和双字中被选中的字节,表9.5表示了AD[1~0]和初始数据相位中字节允许的有效组合。&&&
&&&&&SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST-
DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解溪HOST的命令,就可以同HOST进行通信了。
&是同SD的总线一样的,其中有如下的几种信号
1.&&&&&&&CLK信号:HOST给DEVICE的时钟信号.
2.&&&&&&&CMD信号:双向的信号,用于传送命令和反应。
3.&&&&&&&DAT0-DAT3&信号:四条用于传送的数据线。
4.&&&&&&&VDD信号:电源信号。
5.&&&&&&&VSS1,VSS2:电源地信号。
在SDIO总线定义中,DAT1信号线复用为中断线。在SDIO的1BIT模式下DAT0用来传输数据,DAT1用作中断线。在SDIO的4BIT模式下DAT0-DAT3用来传输数据,其中DAT1复用作中断线。
&&&&&&&SDIO总线上都是HOST端发起请求,然后DEVICE端回应请求。其中请求和回应中会数据信息。
1.&&&&&&&Command:用于开始传输的命令,是由HOST端发往DEVICE端的。其中命令是通过CMD信号线传送的。
2.&&&&&&&Response:回应是DEVICE返回的HOST的命令,作为Command的回应。也是通过
CMD线传送的。
3.&&&&&&&Data:数据是双向的传送的。可以设置为1线模式,也可以设置为4线模式。数据是通过DAT0-DAT3信号线传输的。
  SDIO的每次操作都是由HOST在CMD线上发起一个CMD,对于有的CMD,DEVICE需要返回Response,有的则不需要。
&&&&&&&对于读命令,首先HOST会向DEVICE发送命令,紧接着DEVICE会返回一个握手信号,此时,当HOST收到回应的握手信号后,会将数据放在4位的数据线上,在传送数据的同时会跟随着CRC校验码。当整个读传送完毕后,HOST会再次发送一个命令,通知DEVICE操作完毕,DEVICE同时会返回一个响应。
&&&&&&&对于写命令,首先HOST会向DEVICE发送命令,紧接着DEVICE会返回一个握手信号,此时,当HOST收到回应的握手信号后,会将数据放在4位的数据线上,在传送数据的同时会跟随着CRC校验码。当整个写传送完毕后,HOST会再次发送一个命令,通知DEVICE操作完毕,DEVICE同时会返回一个响应。
1.SD卡的接口电路
2.SD卡的协议
SD卡的控制指令非常强大,支持SPI,SDIO模式,兼容MMC等。而且不同的
指令有不同的响应(3种),这在我们使用指令是要注意的。
3.S3C2410 SD卡控制器的介绍
SD卡控制器帮我们完成了协议上的很多工作,我们只需要按照协议配置寄存器
以及按照协议流程对SD卡操作就可以完成SD卡的功能了。
&& SDICON:完成SD卡基础配置,包括大小端,中断允许,模式选择,时钟使能等。
&& SDIPRE:对SDCLK的配置。
&& SDICARG:指令的参数存放在这里
&& SDICCON:控制指令形式的寄存器,配置SPI还是SDI指令,指令的反馈长度,是否等待反馈,是否运行指令,指令的索引等
&& SDICSTA:指令状态寄存器,指令是否超时,传送,结束,CRC是否正确等
&& SDIRSPO:反映SD的状态
&& SDITIMER:设置超时时间
&& SDIBSIZE:block的大小
&& SDIDCON:数据控制寄存器,配置是几线传输,数据发送方向,数据传送方式等。
&& SDIDSTA: 数据状态寄存器,数据是否发送完,CRC效验,超时等
&& SDIFSTA: FIFO状态积存器,DMA传输时否判断FIFO
&& SDIMSK:中断屏蔽
4.SD卡SDIO模式的驱动分析
4.1&SD卡的初始化
步骤是:1)配置时钟,慢速一般为400K,设置工作模式
&&&&&&& 2)发送CMD0,进入空闲态,该指令没有反馈
&&&&&&& 3)发送CMD55+ACMD41,判断SD卡的上电是否正确,短反馈
&&&&&&& 4)发送CMD2,验证SD卡是否接入,长反馈
&&&&&&& 5)发送CMD3,读取SD卡的RCA(地址),短反馈
&&&&&&& 6)发送CMD7,使能SD卡
&&&&&&& 7)配置高速时钟,准备数据传输,一般20M~25M
&&&&&&& 8)发送CMD55+ACMD6配置为4bit数据传输模式
本文标题:
本页链接:SPI、I2C、I2S、UART、GPIO、SDIO、CAN的介绍
SPI、I2C、I2S、UART、GPIO、SDIO、CAN的介绍
发布时间: 11:49:06
编辑:www.fx114.net
本篇文章主要介绍了"SPI、I2C、I2S、UART、GPIO、SDIO、CAN的介绍",主要涉及到SPI、I2C、I2S、UART、GPIO、SDIO、CAN的介绍方面的内容,对于SPI、I2C、I2S、UART、GPIO、SDIO、CAN的介绍感兴趣的同学可以参考一下。
SPI:&SPI(Serial&Peripheral&Interface)是MOTOROLA公司提出的同步串行总线方式。高速同步串行口。3~4线接口,收发独立、可同步进行.&
因其硬件功能强大而被广泛应用。在单片机组成的智能仪器和测控系统中。如果对速度要求不高,采用SPI总线模式是个不错的选择。它可以节省I/O端口,提高外设的数目和系统的性能。标准SPI总线由四根线组成:串行时钟线(SCK)、主机输入/从机输出线(MISO)。主机输出/从机输入线(MOSI)和片选信号(CS)。有的SPI接口芯片带有中断信号线或没有MOSI。
&&&&SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。
&&&I2C:(Inter-Integrated&Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.
I2C总线用两条线(SDA和SCL)在总线和装置之间传递信息,在微控制器和外部设备之间进行串行通讯或在主设备和从设备之间的双向数据传送。I2C是OD输出的,大部分I2C都是2线的(时钟和数据),一般用来传输控制信号。
I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存。
&&&&I2S(Inter-IC&Sound&Bus)是飞利浦公司为数字音频设备之间的音频&数据传输而制定的一种总线标准。
&&&&I2S则大部分是3线的(除了时钟和数据外,还有一个左右声道的选择信号),I2S主要用来传输音频信号。如STB、DVD、MP3等常用
&&&&UART:通用异步串行口。按照标准波特率完成双向通讯,速度慢.&
&&&&UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。
&&&&UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了&。作为接口的一部分,UART还提供以下功能:&
&&&将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行&
数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入&
奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,&
并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠标也是&
串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART&
还提供输入输出数据的缓冲区,现在比较新的UART是16550,它可以在计算机需要处理数&
据前在其缓冲区内存储16字节数据,而通常的UART是8250。现在如果您购买一个内置的&
调制解调器,此调制解调器内部通常就会有16550&UART。&
&&&&&GPIO&(General&Purpose&Input&Output&通用输入/输出)或总线扩展器利用工业标准I?C、SMBus(TM)或SPI(TM)接口简化了I/O口的扩展。
&&&&当微控制器或芯片组没有足够的I/O端口,或当系统&需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。每个GPIO端口可通过软件分别配置成输入或输出。Maxim的GPIO产品线包括8端口至28端口的GPIO,提供推挽式输出或漏极开路输出。提供微型3mm&x&3mm&QFN封装。
GPIO的优点(端口扩展器)
  低功耗:GPIO具有更低的功率损耗(大约1μA,μC的工作电流则为100μA)。
  集成IIC从机接口:GPIO内置IIC从机接口,即使在待机模式下也能够全速工作。
  小封装:GPIO器件提供最小的封装尺寸&―&3mm&x&3mm&QFN!
  低成本:您不用为没有使用的功能买单!
  快速上市:不需要编写额外的代码、文档,不需要任何维护工作!
  灵活的灯光控制:内置多路高分辨率的PWM输出。
  可预先确定响应时间:缩短或确定外部事件与中断之间的响应时间。
  更好的灯光效果:匹配的电流输出确保均匀的显示亮度。
布线简单:仅需使用2条IIC总线或3条SPI总线
SDIO是SD型的扩展接口,除了可以接SD卡外,还可以接支持SDIO接口的设备,插口的用途不止是插存储卡。支持&SDIO接口的PDA,笔记本电脑等都可以连接象GPS接收器,Wi-Fi或蓝牙适配器,调制解调器,局域网适配器,条型码读取器,FM无线电,电视接收&器,射频身份认证读取器,或者数码相机等等采用SD标准接口的设备。
CAN,全称为“Controller&Area&Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之&间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
一个由CAN&总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用Philips&P82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN&可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
什么是CSMA/CD&?
CSMA/CD是“载波侦听多路访问/冲突检测”(Carrier&Sense&Multiple&Access&with&Collision&Detect)的缩写。
利&用CSMA访问总线,可对总线上信号进行检测,只有当总线处于空闲状态时,才允许发送。利用这种方法,可以允许多个节点挂接到同一网络上。当检测到一个冲&突位时,所有节点重新回到‘监听’总线状态,直到该冲突时间过后,才开始发送。在总线超载的情况下,这种技术可能会造成发送信号经过许多延迟。为了避免发&送时延,可利用CSMA/CD方式访问总线。当总线上有两个节点同时进行发送时,必须通过“无损的逐位仲裁”方法来使有最高优先权的的报文优先发送。在&CAN总线上发送的每一条报文都具有唯一的一个11位或29位数字的ID。CAN总线状态取决于二进制数‘0’而不是‘1’,所以ID号越小,则该报文拥&有越高的优先权。因此一个为全‘0’标志符的报文具有总线上的最高级优先权。可用另外的方法来解释:在消息冲突的位置,第一个节点发送0而另外的节点发送&1,那么发送0的节点将取得总线的控制权,并且能够成功的发送出它的信息。
CAN的高层协议
CAN的高层协议(也可理&解为应用层协议)是一种在现有的底层协议(物理层和数据链路层)之上实现的协议。高层协议是在CAN规范的基础上发展起来的应用层。许多系统(像汽车工&业)中,可以特别制定一个合适的应用层,但对于
许多的行业来说,这种方法是不经济的。一些组织已经研究并开放了应用层标准,以使系统的综合应用变得十分容&易。
一些可使用的CAN高层协议
本文标题:
本页链接:}

我要回帖

更多关于 spi i2c区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信