版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、spl i2c、uart三种串行总线协议的区别2008-02-22 17:53spi(serial peripheral interface:串行外设接口)i2c(inter ic bus)uart(universal asynchronous receiver transmitter:通用界步收发器)spithe spi includes these distinctive features:? master mode and slave mode? bi-directional mode? slave select output? mode fault error flag with cp
2、u interrupt capability? double-buffered data register? serial clock with programmable polarity and phase? control of spi operation during wait modespi有两种模式,normal mode and bidirectional mode,包括以下儿根线:ssslave selectsckserial clockmosi master output, slave inputmiso master input, slave outputmomi maste
3、r output, master inputsiso slave input, slave output其中前四根线用于normal mode ,常用的也是4根线的normal mode。mosithis pin is used to transmit data out of the spi module when it is configured as a master and receive data when it is con figured as slave.misothis pin is used to transmit data out of the spi module whe
4、n it is configured as a slave and receive datawhen it is configured as maste匚ssthis pin is used to output the select signal from the spi module to another peripheral with which a datatransfer is to take place when its configured as a master and its used as an in put to receive the slave selectsignal
5、 when the spi is configured as slave.sckthis pin is used to output the clock with respect to which the spi transfers data or receive clock in case ofslave.spi是一种允许一个主设备启动一个与从设备的同步通讯的协议,从而完成数据的交换。也 就是spi是一种规定好的通讯方式。这种通信方式的优点是占用端口较少,一般4根就够基 本通讯了。同时传输速度也很高。一般來说要求主设备要有spi控制器(但对用模拟方式), 就可以与基于spi的芯片通讯了。sp
6、i的通信原理很简单,它需要至少4根线,事实上3根也可以。也是所有基于spi 的设备共有的,它们是sdi (数据输入),sdo (数据输出),sck (吋钟),cs (片选)。 其中cs是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电 位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个spi设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道spi是串 行通讯协议,也就是说数据是一位一位的传输的。这就是sck时钟线存在的原因,由sck 提供时钟脉冲,sdi, sdo则基于此脉冲完成数据传输。数据输出通过sdo线,数据在时 钟上沿或
7、下沿时改变,在紧接着的下沿或上沿被读収。完成一位数据传输,输入也使用同 样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的 传输。要注意的是,sck信号线只由主设备控制,从设备不能控制信号线。同样,在一个基 于spi的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行 通讯一次连续传送至少8位数据,而spi允许数据一位一位的传送,甚至允许暂停,因为 sck时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说, 主设备通过对sck时钟线的控制可以完成对通讯的控制。spi还是一个数据交换协议:因为
8、spi的数据输入和输出线独立,所以允许同时完成 数据的输入和输出。不同的spi设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信 号上沿或下沿采集有不同定义,具体请参考相关器件的文档。i2c?只要求两条总线线路:一条串行数据线sda 条串行时钟线scl?每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设 定地址主机可以作为主机发送器或主机接收器?它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测 和仲裁,防止数据被破坏?串行的8位双向数据传输位速率在标准模式下可达100kbi”s快速模式下可达400kbi"s 高速模式
9、下可达3.4mbit/s?片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整?连接到相同总线的ic数量只受到总线的最大电容400pf限制uartuart总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生 器(产生的波特率等于传输波特率的16倍)、uart接收器、uart发送器组成,硬件上由两 根线,一根用于发送,一根用于接收。显然,如果用通用io 口模拟uart总线,则需一个输入口,一个输出口。uart常用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了 rs-232c数据 终端设备接口,这样计算机就可以和调制解调器或其它使用rs-232c接口的串行设备通信
10、了。明显可以看出,spi和uart可以实现全双工,但i2c不行;转载:第一:spi (serial peripheral interface:串行外设接口);i2c (inter ic bus)uart(universal asynchronous receiver transmitter: 通用异步收 发器)第二,区别在电气信号线上:spi总线由三条信号线组成:串行时钟(sclk)、串行数据输岀(sdo)、 串行数据输入(sdi) o spi总线可以实现多个spi设备互相连接。提供spi串行 时钟的spt设备为spt主机或主设备(master),其他设备为spt从机或从设备 (slave)
11、o主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一 条从设备选择线。如果用通用10 口模拟spi总线,必须要有一个输岀口 (sdo), 一个输 入口 (sdi),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输 入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口 即可。i2c总线是双向、两线(scl、sda)、串行、多主控(multi-master) 接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数 据通信。在它的协议体系中,传输数据吋都会带上目的设备的设备地址,因此可 以实现设备组网。如果用通用10 口模拟12c总线,并实现双向
12、传输,则需一个输入输出 口 (sda),另外还需一个输出口 (scl) o (注:i2c资料了解得比较少,这里的描述可能很不完备)uart总线是异步串口,因此一般比前两种同步串口的结构要复杂很 多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、uart接收器、 uart发送器组成,硕件上由两根线,一根用于发送,一根用于接收。显然,如果用通用10 口模拟uart总线,则需一个输入口,一个输岀 口。第三,从第二点明显可以看岀,spi和uart可以实现全双工,但i2c不行; 个人认为:i2c线更少,我觉得比uart、spi更为强大,但是技术上也更加麻烦 些,因为i2c需要有双向10的支持
13、,而且使用上拉电阻,我觉得抗干扰能力较 弱,-般用于同一板卡上芯片之间的通信,较少用于远距离通信。spi实现要简 单一些,uart需要固定的波特率,就是说两位数据的间隔要相等,而spi则无 所谓,因为它是有时钟的协议。i2c的速度比spi慢一点,协议比spi复杂一点,但是连线也比标准 的spi要少。spi总线系统是一种同步串行外设接口,它可以使mcu与各种外围设备以串行方 式进行通信以交换信息。外围设置flashram.网络控制器、lcd显示驱动器、a/d 转换器和mcu等。spi总线系统可直接与各个厂家生产的多种标准外围器件直接 接口,该接口一般使用4条线:串行时钟线(sck)、主机输入/从
14、机输出数据线 m1s0、主机输出/从机输入数据线most和低电平有效的从机选择线ss (有的sp1 接口芯片带有中断信号线int或int.有的spi接口芯片没有主机输出/从机输 入数据线most)。spi的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个 或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有 基于spi的设备共有的,它们是sdi (数据输入),sdo (数据输出),sck (时 钟),cs (片选)。(1)sdo-主设备数据输出,从设备数据输入(2)sdi-主设备数据输入,从设备数据输出(3)sclk -时钟信号,由主设备产生(4)cs-从设备
15、使能信号,由主设备控制其中cs是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信 号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接 多个spi设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道spi 是串行通讯协议,也就是说数据是一位一位的传输的。这就是sck时钟线存在的 原因,由sck提供时钟脉冲,sdt, sdo则基于此脉冲完成数据传输。数据输出 通过sdo线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿 被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号 的改变(上沿和下沿为一次),就可以完成
16、8位数据的传输。要注意的是,sck信号线只由主设备控制,从设备不能控制信号线。同样,在一 个基于spi的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式 有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数 据,而spt允许数据一位一位的传送,其至允许暂停,因为scki3寸钟线由主控设 备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过 对sck时钟线的控制可以完成对通讯的控制。sp1还是一个数据交换协议:因为 spi的数据输入和输岀线独立,所以允许同时完成数据的输入和输出。不同的spi 设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在
17、时钟信号上沿 或下沿采集有不同定义,具体请参考相关器件的文档。在点对点的通信中,spi接口不需要进行寻址操作,且为全双工通信,显得简单 高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比i2c 系统要稍微复杂一些。最后,spi接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到 数据。at91rm9200的spi接口主要由4个引脚构成:spiclk、mosi、miso及/ss,其 中sp1clk是整个spi总线的公用时钟,mosi、miso作为主机,从机的输入输出 的标志,mosi是主机的输岀,从机的输入,miso是主机的输入,从机的输岀。 /ss是从机的标志管脚,在互
18、相通信的两个spi总线的器件,/ss管脚的电平低 的是从机,相反/ss管脚的电平高的是主机。在一个spt通信系统中,必须有主 机。spi总线可以配置成单主单从,单主多从,互为主从。spi的片选可以扩充选择16个外设,这时pcs输出=npcs,说npcso3接4-16译 码器,这个译码器是需要外接4-16译码器,译码器的输入为npcs03,输出用于 16个外设的选择。spi协议举例spi是一个环形总线结构,由ss (cs)、sck、sdi> sdo构成,其时序其实很简 单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。假设下面的8位寄存器装的是待发送的数据10101010,上升沿
19、发送、下降 沿接收、高位先发送。那么第一个上升沿来的时候数据将会是sdo=l;寄存器=0101010xo下降 沿到来的时候,sdi上的电平将所存到寄存器中去,那么这时寄存器 =0101010sdi,这样在8个时钟脉冲以后,两个寄存器的内容互相交换一次。这 样就完成里一个spi时序。举例:假设主机和从机初始化就绪:并且主机的sbuff=0xaa,从机的sbuff=0x55, 下面将分步对spi的8个时钟周期的数据情况演示一遍:假设上升沿发送数据 这样就完成了两个寄存器8位的交换,sdi、sdo相对于主机而言的。其中ss 引脚作为主机的时候,从机可以把它拉底被动选为从机,作为从机的是时候,可 以作
20、为片选脚用。根据以上分析,一个完整的传送周期是16位,即两个字节, 因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下 一个8位时钟周期才把数据读回来。spi总线是motorola公司推出的三线同步 接口,同步串行3线方式进行通信:一条时钟线sck, 条数据输入线0si, 条 数据输岀线miso;用于cpu与各种外围器件进行全双工、同步串行通讯。spi主 要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可 编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。下图示出spi总线 工作的四种方式,其中使用的最为广泛的是sp10和sp13方式(实线表 示
21、):sp1总线四种工作方式sp1模块为了和外设进行数据交换,根据外设工作要求, 其输出串行同步时钟极性和相位可以进行配置,时钟极性(cpol)对传输协议没 有重大的影响。如果cpol=o,串行同步时钟的空闲状态为低电平;如果cpol=1, 串行同步时钟的空闲状态为高电平。时钟相位(cpha)能够配置用于选择两种不 同的传输协议之一进行数据传输。如果cpha二0,在串行同步时钟的第一个跳变 沿(上升或下降)数据被采样;如果cpha二1,在串行同步时钟的第二个跳变沿 (上升或下降)数据被采样。spi主模块和与之通信的外设备时钟相位和极性应 该一致。sp1总线包括1根串行同步时钟信号线以及2根数据线
22、。spi模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步 时钟极性和相位可以进行配置,时钟极性(cp0l)对传输协议没有重大的影响。 如果cp0l=0,串行同步时钟的空闲状态为低电平;如果cp0l=l,串行同步时钟 的空闲状态为高电平。时钟相位(cpha)能够配置用于选择两种不同的传输协议 之一进行数据传输。如果cpha二0,在串行同步时钟的第一个跳变沿(上升或下 降)数据被采样;如果cpha=1,在串行同步时钟的第二个跳变沿(上升或下降) 数据被采样。spi主模块和与之通信的外设音时钟相位和极性应该一致。 补充: 上文中最后一句话:spi主模块和与之通信的外设备时钟相位和极性应该
23、一致。 个人理解这句话有2层意思:其一,主设备spi时钟和极性的配置应该由外设来 决定;其二,二者的配置应该保持一致,即主设备的sd0同从设备的sd0配置一 致,主设备的sdi同从设备的sdi配置一致。因为主从设备是在sclk的控制下, 同时发送和接收数据,并通过2个双向移位寄存器来交换数据。上升沿主机sd0发送数据1,同时从设备sd0发送数据0;紧接着在sclk的下降 沿的时候从设备的sdi接收到了主机发送过来的数据1,同时主机也接收到了从 设备发送过来的数据0.spi协议心得spi接口时钟配置心得:在主设备这边配置spi接口时钟的时候一定要弄清楚从设备的时钟要求,因为主 设备这边的时钟极性
24、和相位都是以从设备为基准的。因此在时钟极性的配置上一 定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据,是在时钟的下降沿还 是上升沿输出数据。但要注意的是,由于主设备的sd0连接从设备的sdi,从设 备的sd0连接主设备的sdi,从设备sdi接收的数据是主设备的sd0发送过来的, 主设备sdi接收的数据是从设备sd0发送过来的,所以主设备这边spi时钟极性 的配置(即sd0的配置)跟从设备的sdi接收数据的极性是相反的,跟从设备 sd0发送数据的极性是相同的。下而这段话是sychip vlan8100 module spec ± 说的,充分说明了时钟极性是如何配置的:the 81x
25、x module will always input data bits at the rising edge of the clock, and the host wi 11 always output data bits on the falling edge of the clock. 意思是:主设备在时钟的下降沿发送数据,从设备在时钟的上升沿接收数据。因 此主设备这边sp1时钟极性应该配置为下降沿有效。又如,下面这段话是摘自lcd driver 1c ssd1289:sd1 is shifted into 8bit shift register on every rising edge
26、 of sck in the order of data bit 7, data bit 6 databit 0.意思是:从设备ssd1289在时钟的上升沿接收数据,而且是按照从高位到地位的 顺序接收数据的。因此主设备的sp1时钟极性同样应该配置为下降沿有效。时钟极性和相位配置止确后,数据才能够被准确的发送和接收。因此应该对照从 设备的sp1接口时序或者spec文档说明来正确配置主设备的时钟。软件过程改进spi: software process improvement.软件过程改进。是软件企业项目过程质 量的改进,cmm, is09000-3说的就是这个。uart开放分类:计算机、通信、信息
27、uart: universal asynchronous receiver/transmitter,通用异步接收/发送装 stuart是一个并行输入成为串行输出的站,通常集成在主板上,多数是 16550afn芯片。因为辻算扭内部采用并行数据数据,不能直接把数据发到modem, 必须经过uart整理才能进行异步传输,其过程为:cpu先把准备写入串行设备 的数据放到uart的寄存器(临时内存块)中,再通过fifo (first input first output,先入先出队列)传送到串行设备,若是没有fifo,信息将变得杂乱无 章,不可能传送到modemo 它是用于控制计算机与串行设备的芯片。有
28、一点要注意的是,它提供了 rs-232c 数据终端设备接口,这样计算机就可以和调制解调器或其它使用rs-232c接口的 串行设备通信了。作为接口的一部分,uart还提供以下功能:将由计算机内部 传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换 为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入奇 偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标 记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘 和鼠标也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一 些比较高档的uart还提供输入输出数据的缓冲区
29、,现在比较新的uart是16550, 它可以在计算机需要处理数据前在其缓冲区内存储16字节数据,而通常的uart 是8250o现在如果您购买一个内置的调制解调器,此调制解调器内部通常就会 有 16550 uartospi, uart, i2c2008-01-14 20:57一、spt总线说明串行外围设备接口 spi (serial peripheral interface)总线技术是motorola公司 推出的一种同步串行接口 motorola公司生产的绝大多数mcu (微控制器)都配有sp1硕件 接口,如68系列mcu。spi用于cpu与各种外围器件进行全双工、同步串行通讯。spi可以 同时
30、发出和接收串行数据。它只需四条线就可以完成mcu与各种外围器件的通讯,这四条线 是:串行时钟线(csk)、主机输入/从机输出数据线(miso)、主机输出/从机输入数据线 (mosi)、低电平有效从机选择线鸭。这些外围器件可以是简单的ttl移位寄存器,复杂 的lcd显示驱动器,a/d、d/a转换子系统或其他的mcu。当spi工作时,在移位寄存器中的 数据逐位从输出引脚(host)输出(高位在前),同时从输入引脚(mtso)接收的数据逐位 移到移位寄存器(高位在前)。发送一个字节后,从另一个外围器件接收的字节数据进入移 位寄存器屮。主spi的时钟信号(sck)使传输同步。其典型系统框图如下图所示。
31、spi主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。图2示出sp1总线工作的四种方式,其中使用的最为广泛的是sp10和sp13方式 (实线表示):spi模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时 钟极性和相位可以进行配置,时钟极性(cpol)对传输协议没有重大的影响。如 果cpol=o,串行同步时钟的空闲状态为低电平;如果cpol=1,串行同步吋钟的 空闲状态为高电平。吋钟相位(cpha)能够配置用于选择两种不同的传输协议之 一进行数据传输。如果cpiia二0,在串行同步时钟的第一个跳变沿(
32、上升或下降) 数据被采样;如果cpiia二1,在串行同步时钟的第二个跳变沿(上升或下降)数 据被采样。sp1主模块和与之通信的外设音时钟相位和极性应该一致。sp1总线 接口时序如图所示。什么是can总线?can全称为controller area network,即控制器局域网,由德国bosch公司最先提出,是 国际上应用最广泛的现场总线之一。can是一种多主方式的串行通讯总线,基本设计规范要 求有高的位速率、高抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传输距离达 10km时cat仍可提供高达50kbit/s的数据传输速率。can具有十分优越的特点: 八、较低的成本与极高的总线利用率
33、;b、数据传输距离可长达10km,传输速率可高达imbit/s;c、可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;d、节点在错误严重的情况下具有自动退出总线的功能;e、报文不包含源地址或目标地址仅用标志符来指示功能信息和优先级信息;由于人为、自然、其它外界坏境的影响和人们对公交系统的安全可靠性、真实、实时性的追 求,使得我们对通信方式,通信设备有了更高的要求,基于can总线的网络则成为我们最佳 的选择can总线现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。 它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支 持。can (c
34、ontroller area network)属于现场总线的范畴,它是一种有效支持分布式控制或 实时控制的串行通信网络。较之h前许多rs-485基于r线构建的分布式控制系统而言,基于can总线的分布式控制系统在以下方面具有明显的优越性:首先,can控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于 报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且can协议废除了站地 址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特 点使得can总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高 系统的可靠性和系统的灵活性。而利用
35、rs-485只能构成主从式结构系统,通信方式也只能 以主站轮询的方式进行,系统的实时性、可靠性较差;其次,can总线通过can控制器接口芯片82c250的两个输出端can1i和canl与物理总 线相连,而canh端的状态只能是高电平或悬浮状态,canl端只能是低电平或悬浮状态。这 就保证不会出现彖在rs-485网络中,当系统有错误,出现多节点同时向总线发送数据时, 导致总线呈现短路,从而损坏某些节点的现象。而且can节点在错误严重的情况下具有自动 关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个 别节点出现问题,使得总线处于“死锁”状态。而且,can具有的完善的
36、通信协议可由can控制器芯片及其接口芯片来实现,从而大大 降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的rs-485所无法比拟的。 另外,与其它现场总线比较而言,can总线是具有通信速率高、容易实现、且性价比高等诸 多特点的一种己形成国际标准的现场总线。这些也是目前can总线应用于众多领域,具有 强劲的市场竟争力的重要原因。can (controller area network)即控制器局域网络,属于工业现场总线的范畴。与一 般的通信总线相比,can总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好 的性能及独特的设计,can总线越來越受到人们的重视。它在汽车领域上的应用
37、是最广泛的, 世界上一些著名的汽车制造厂商,如benz(奔驰)、bmw(宝马)、porsche(保时捷)、 rolls-royce (劳斯莱斯)和jaguar (美洲豹)等都釆用了 can总线来实现汽午内部控制系统与 各检测和执行机构间的数据通信。同时,由于can总线本身的特点,其应用范围目前已不再 局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用 机械、机器人、数控机床、医疗器械及传感器等领域发展。can已经形成国际标准,并已被 公认为儿种最有前途的现场总线之一。其典型的应用协议有:sae j1939/iso11783. canopen、 canaerospa
38、ces devicenet、 nmea 2000 等。什么是can总线?can意为controller area network的缩写,意为控制区域网络。是国际上流行的现场总线 中的一种。是一种特别适合于组建互连的设备网络系统或子系统。2. can总线特点?1can是到目前为止为数不多的有国际标准的现场总线1 can通讯距离最大是10公里(设速率为5kbps),或最大通信速率为1mbps (设通信距离 为40米)。can总线上的节点数可达110个。通信介质可在双绞线,同轴电缆,光纤中选择。can釆用非破坏性的总线仲裁技术,当多个节点同时发送数据时,优先级低的节点会 主动退出发送,高优先级的节点
39、可继续发送,节省总线仲裁时间。can是多主方式工作,网上的任一节点均可在任意时刻主动地向网络上其他节点发送 信息。口 j can采用报文识别符识别网络上的节点,从而把节点分成不同的优先级,高优先级的 节点享有传送报文的优先权。报文是短帧结构,短的传送时间使其受干扰概率低,can有很好的效验机制,这些都 保证了 cam通信的可靠性。3. can总线应用领域can总线最初是德国bosch为汽车行业的监测,控制而设计的。现已应用到铁路、交通、 国防、工程、工业机械、纺织、农用机械、数控、医疗器械机器人、楼宇、安防等方面。i2c(inter integrated circuit)总线t2c仃nter-
40、tntegrated circuit)总线是-种由phtltps公司开发的两线式串行总线,用于连接微控制器 及其外围设备。12c总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用, 其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能 状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性, 方便了管理。1 i2c总线特点t2c总线最主要的优点是其简单性利有效性。由于接口直接在组件之上,因此t2c总线占用的空间非 常小,减少了电路板的空间和芯片管脚的数量,降低了互联成木。总线的长度可高达25英尺
41、,并月能够以 10kbps的最大传输速率支持40个组件。t2c总线的另一个优点是,它支持多主控(multimastering),其 中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然, 在任何时间点上只能有一个主控。212c总线工作原理21总线的构成及信号类型i2c总线是由数据线sda和时钟scl构成的串行总线,可发送和接收数据。在cpu与被控ic之间.tc 与1c之间进行双向传送,最高传送速率lookbpso各种被控制电路均并联在这条总线上,但就像电话机一 样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,12c总线
42、上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。 cpu发出的控制信号分为地址码和控制量两部分,地址码用來选址,即接通需要控制的电路,确定控制的 种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的屋。这样,各控制电路虽然挂在同一 条总线上,却彼此独立,互不相关。i2c总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。开始信号:scl为高电平时,sda由高电平向低电平跳变,开始传送数据。结束信号:scl为低电平时,sda由低电平向高电平跳变,结束传送数据。应答信号:接收数据的ic在接收到8bit数据后,向发送数
43、据的ic发出特定的低电平脉冲,表示已收到 数据。cpu向受控单元发出一个信号后,等待受控单元发出一个应答信号,cpu接收到应答信号后,根据实 际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。冃前有很多半导体集成电路上都集成了 i2c接口。带有i2c接口的单片机有:cygnal的c8051f0xx系列, phiijpsp87lpc7xx系列,microchip的pic16c6xx系列等。很多外围器件如存储器、监控芯片等也提供i2c 接口。3总线基本操作i2c规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收 器。主器件和从器件都可
44、以工作于接收和发送状态。总线必须由主器件(通常为微控制器)控制,主器件 产生串行时钟(scl)控制总线的传输方向,并产生起始和停止条件。sda线上的数据状态仅在scl为低电 平的期间才能改变.scl为高电平的期间,sda状态的改变被用來表示起始和停止条件。3. 1控制字节在起始条件z后,必须是器件的控制字节,英屮高四位为器件类型识别符(不同的芯片类型有不同的定 义,eeprom 般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。 3. 2写操作写操作分为字节写和页血写两种操作,对于页面写根据芯片的一次装载的字节不同冇所不同。3. 3读操作读操作有三种基本操作
45、:当前地址读、随机读和顺序读。图4给岀的是顺序读的时序图。应当注意的是: 最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期间发出停止 条件或者在第9个时钟周期内保持sda为高电平、然后发出停止条件。在i2c总线的应用中应注意:的事项总结为以下儿点:1)严格按照时序图的要求进行操作,2)若与口线上带内部上拉电阻的单片机接口连接,可以不外加卜拉电阻。3)程序中为配合相应的传输速率.在对口线操作的指令后可用nop指令加一定的延时。4)为了减少惫外的十扰信号将eeprom内的数据改写可用外部写保护引脚(如果冇),或者在eeprom 内部没有用的空间写入标志字,每次上电时或复位时做一次检测,判断eeprom是否被意外改写。添加:i2c总线在现代电子系统中,有为数众多的ic需要进行和互之间以及与外界的通信。为了提供 硬件的效率和简化电路的设计,philips开发了一种用于内部ic控制的简单的双向两线串
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度安保人员职业健康管理与劳动合同2篇
- 二零二五版二手房购房合同定金及家具家电安装服务协议书3篇
- 二零二五版企业研发项目定金及借款合同3篇
- 二零二五版水上娱乐设施安全生产管理合同3篇
- 二零二五年度茶园承包经营与茶叶市场调研合同3篇
- 展会现场广告投放与媒体合作合同(二零二五年度)2篇
- 二零二五版国际贸易保险合同主体欺诈识别与应对措施合同3篇
- 右岸景苑S5幢0、30号商铺2025年度租赁合同24篇
- 二零二五年度预制构件钢筋加工定制合同3篇
- 展会品牌推广合同(2篇)
- 2023年保安公司副总经理年终总结 保安公司分公司经理年终总结(5篇)
- 中国华能集团公司风力发电场运行导则(马晋辉20231.1.13)
- 中考语文非连续性文本阅读10篇专项练习及答案
- 2022-2023学年度六年级数学(上册)寒假作业【每日一练】
- 法人不承担责任协议书(3篇)
- 电工工具报价单
- 反歧视程序文件
- 油气藏类型、典型的相图特征和识别实例
- 流体静力学课件
- 顾客忠诚度论文
- 实验室安全检查自查表
评论
0/150
提交评论