Global Sources
电子系统设计网站
电子系统设计互动社区>博客>专家博客>prince98博客>SPI、I2C、UART三种串行总线协议的区别

 
prince98
 
博客访问(13426
 
呢称:prince98
 
介绍: 本人毕业电子应用技术专业,从事电子事业10年,对电子行业市场及产品的发展有较为深入的分析和了解.
 
文章(7) 阅读(8012) 评论(13) 投票(166)
 
最新博文:
2010年- 9月
查看全部博文>>
 
博客首页

发布时间:2008-05-27 15:47:24

SPI、I2C、UART三种串行总线协议的区别

推荐到任何论坛,可轻松赢取积分 推荐到论坛  |  收藏

SPII2CUART三种串行总线协议的区别

     SPI(Serial Peripheral Interface:串行外设接口)

     I2C(INTER IC BUS)

     UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)

SPI

The SPI includes these distinctive features:

Master mode and slave mode

Bi-directional mode

Slave select output

Mode fault error flag with CPU interrupt capability

Double-buffered data register

Serial clock with programmable polarity and phase

Control of SPI operation during wait mode

SPI 有两种模式,Normal Mode and Bidirectional Mode,包括以下几根线:

SS      Slave Select

SCK    Serial Clock

MOSI Master Output, Slave Input

MISO Master Input, Slave Output

MOMI Master Output, Master Input

SISO   Slave Input, Slave Output

其中前四根线用于Normal Mode ,常用的也是4根线的Normal Mode

MOSI

This pin is used to transmit data out of the SPI module when it is configured as a Master and receive data

when it is configured as Slave.

MISO

This pin is used to transmit data out of the SPI module when it is configured as a Slave and receive data

when it is configured as Master.

SS

This pin is used to output the select signal from the SPI module to another peripheral with which a data

transfer is to take place when its configured as a Masterand its used as an input to receive the slave select

signal when the SPI is configured as Slave.

SCK

This pin is used to output the clock with respect to which the SPI transfers data or receive clock in case of

Slave.

SPI 是一种允许一个主设备启动一个与从设备的同步通讯的协议,从而完成数据的交换。也就是SPI是一种规定好的通讯方式。这种通信方式的优点是占用端口较少,一般4根就够基本通讯了。同时传输速度也很高。一般来说要求主设备要有SPI控制器(但可用模拟方式),就可以与基于SPI的芯片通讯了。

     SPI 的通信原理很简单,它需要至少4根线,事实上3根也可以。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时 钟),CS(片选)。其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许 在同一总线上连接多个SPI设备成为可能。

     接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原 因,由SCK提供时钟脉冲,SDISDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上沿或下沿时改变,在紧接着的下沿或上沿被读取。 完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

     要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。

     这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。

     SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。

     不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。

I2C

只要求两条总线线路:一条串行数据线SDA 一条串行时钟线SCL

每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址主机可以作为主机发送器或主机接收器

它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁,防止数据被破坏

串行的8 位双向数据传输位速率在标准模式下可达100kbit/s 快速模式下可达400kbit/s 高速模式下可达3.4Mbit/s

片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整

连接到相同总线的IC 数量只受到总线的最大电容400pF 限制

UART

UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16)UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

     显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。

UART常用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。

明显可以看出,SPIUART可以实现全双工,但I2C不行

[
53
]
名读者喜欢此文    
阅读(1194)  评论(1)  [最后更新:2008-05-27 15:47:24]
转发到新浪微博转发到新浪微博 转帖到开心网转帖到开心网 转帖到人人网转帖到人人网      转发到我的博客 (0)
对不起,您还没有登录,请先登录注册
最新博文
博客选文
 

评论:返回博客首页 | 
网友:
黄小蒙 快速回复
对不起,您还没有登录,请先登录注册
引用回复 (0)
对不起,您还没有登录,请先登录注册
2010-05-26 10:46
评论:

kk

我来评论 - SPI、I2C、UART三种串行总线协议的区别
您的昵称: 局域网的游客        (您将以游客身份发表,请登录 |  注册)
您的评论:
 
你还可以输入1000
验证码:
   
转发到我的博客
评论 @王子设计信息博客 的“SPI、I2C、UART三种串行总线协议的区别”
SPI、I2C、UART三种串行总线协议的区别SPI(SerialPeripheralInterface:串行外设接口)I2C(INTERICBUS)UART(UniversalAsynchronousReceiverTransmitter:通用异步收发器)SPITheSPIincludesthesedistinctivefeatures:•Mastermodeandslavemode
你还可以输入10000
同时评论给 prince98
    
快速回复
你还可以输入1000
    
引用回复
引用评论 
你还可以输入1000
    
编辑推荐博文
FPGA电源的旁路电容值计算
DMA无处不在
我看电动汽车的技术发展之路
群狼勇斗巨龙,ARM阵营对决处理器巨...
震惊!几大科技公司掌门人年薪仅1美...
手机辐射致癌并非空穴来风:背后另有...
玩转职场,你不能不学的说话技巧!
18年电子工程师老了去当保安?!太坑...
向网友们拜年,祝大家龙年春节愉快!
弃之可惜,饮水机变电动打气筒
查看更多>>

话题PK:未来十五年,电动汽车能否普及?New!

“十二五”的规划提到:“我国2015年电动汽车应用规模将达到50万辆。为适应电动汽车发展要求,国家电网将在“十二五”期间建设充换电站2351座,充电桩22万个。”22万个充电桩仅仅国内迈开新能源之路的第一步,未来的充电桩的进一步普及给人们更大的想象空间。

正方观点:政策大力扶持,能源必然方向,十五年电动汽车能够普及。   支持正方
反方观点: 电池成本高昂,标准难以统一,十五年电动汽车不能普及。  支持反方



工程师自制作品
 New!电子产品精彩拆解图集
 2011年《电子系统设计》年终设计大盘点
 圣诞节,工程师与自制机器人女友共度!
 牛人自制相机全过程(图文)
  爆红“找厕所软件”,千万别小看80后
 工程师创意--ipad变身示波器
 弃高考!18岁闪电少年“玩”出火箭发动机
 工程师创意--DIY电脑触摸屏
 后生可畏!高中生研发3款苹果手机应用程序
 两年三万,最牛农民自制潜水艇
 没见过这么牛的机器螳螂(制作图集)

热门 经典 文章 论坛 博客
MID    WLAN    RF    HDMI    FPGA     MCU     微波    什么是LVDS?    ZigBee    以太网    PA    CMOS    STM32    Soc    PWM    视频监控    机顶盒    CPLD    OFDM    陀螺仪    NXP    FET    PFC    ESD    DisplayPort    SNR    射频    asic    GPS    PLL    仿真    LDO    mosfet    TD-LTE    DFM    无线充电    MIMO    无线传感器网络    EPON    加速度传感器   
热门专家博客
Jack_Ma's BLOG
Jack_Ma's BLOG
PIXCIR触控技术博客
电容式触控业内技术及资讯分享
碧雲濤的技术行业观察
主要针对半导体行业技术与趋势的观察
小翌哥的IC论坛
在中国电源管理芯片领域的持久战……
阿泰的技术天地
由于常需要测试各式不同品牌的无线产品,我常常可以接触到许多最新的技术,有很多我个人对于质量和趋势的看法想跟大家分享,互相交流
热门资料下载
PCB走线宽度标准(美国军用)
华为Hi3515(ARM9)之高速硬件电路(原...
电动车图集资料
Allegro中文简易教程++106页+4.4M++...
阻抗参数设计资料
阻抗参数设计资料2
软件工程师手册
基于EPM240的电子密码锁的设计
市面常见的LED灯饰无线遥控调光器应...
ALi3602 原理图
更多经典资料>>
 
热门话题PK
未来十五年,电动汽车能否普及?
剑指苹果,Android 4.0能否超越iOS 5?
山寨医疗电子势不可挡,利弊权衡
乔布斯让贤、iPhone 5未出。小米加“大炮”能否扳回一局?
动车事故阴云笼罩!你对中国技术是否仍有信心?
 
本周人气热帖
为什么很多有才华的最终变成了愤...
工程师的工资,涨停涨停涨停
那一年,我被兄弟刷爆了信用卡
下辈子,你还做工程师吗?爆笑图!
电子工程师最关心的12个问题
 
本周热点文章
新唐推出內置2Vrms 驱动器的立体...
中国首个3D电视频道采用泰克公司...
欧胜推出其迄今最响亮和最小的音...
3D-MID技术--小型化技术的巨大突...
为抑制空腔谐振选择吸波材料
 
本周博文推荐
创芯工场---乔布斯理论在中国的另类应用
手机辐射致癌并非空穴来风:背后另有玄机
最理想的MCU+FPGA架构
DMA无处不在
我看电动汽车的技术发展之路
 
本月热贴排行
PCB走线宽度标准(美国军用)
教你U盘改造成强大路由器
小学文化农民自制直升机,试飞成功(...
5号电池续航15年的手机,hold住了吗?...
献计献策,建设一个靠谱的火车票网上...
富士康机器人上岗:每台成本14万 智...
一个有身份的电工名片应该是这样的
魅族MX对比小米 国产神器谁做工更精细...
水开了会自己发微博!看浙大实验室现...
手机掉水里怎么办?找姐妹花
 
返回论坛首页