4403|13

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

i2c spi uart问题,大家指教。 [复制链接]

i2c spi uart都是做什么的?为什么会存在这么多串行总线?

最新回复

ENG
spi接口的驱动咋个整嗯?  详情 回复 发表于 2008-7-28 09:35
点赞 关注

回复
举报

92

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
他们各有各的用处
uart就是通常说的串口了,固定波特率通信,双方点对点固定的通信
spi是可以支持多个设备通信,但是需要有选择线(CS),两个设备之间互相通信的话至少要3根,如果1主2从就要5根线了(因为主设备要提供2根CS选择到底和哪个从设备通信,不过1根CS再加非门也可以),但是spi速度很快
i2c是根据特定的协议(时序)以及器件号来进行通信的,只使用两跟线就可以在总线上挂很多设备,这在I/O口资源不丰富的情况下很好用,我现在就在找I2C的器件,但是I2C速度慢,消耗CPU时间
总结,spi,i2c都能多对多双向通信,但是spi速度快,占用I/O口多,i2c速度慢,占用口少,uart的优缺点倒还真不知道,只是经常用来和PC通信
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
uart的优点应该就是能够异步吧,我也不是很清楚,等高人
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
嗯,谢谢1楼的老兄,哪位高人再解释解释吧。


谢谢了。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
其实2楼的解释的已经差不多了。

串口是异步串行通讯接口,全双工,2根信号线,1收1发。具体协议就不多说了。应用范围很广,GPS,GSM/GPRS,红外,蓝牙等都会用到。优点是信号线少,实现容易,适用范围广。缺点是不支持多机并联,抗干扰性差,而且由于是异步,通讯速率就上不去。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
学习了
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

7
 
spi大多用在什么情况?


i2c多用在cpu和外围的接口芯片之间,用于设置芯片,也就是寄存器,不知我理解的对不,有没有不全或不周到的地方,大家指教了。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
任何接口都适用在CPU和外围的芯片之间做接口,包括SPI/IIC/UART。
在低速领域(8位单片机极其周边设备),IIC/SPI/UART都可以用来作为配置(寄存器),也可以用来数据传输。
在高速领域(32位系统极其周边设备),IIC/SPI/UART一般只用来作为配置(寄存器),基本不会用来数据传输,因为速度慢,会严重影响传输效率。
针对这个情况,现在有高速的UART,特别适用在蓝牙的VOIP的大数据量传输。有高速SPI,适用在数字电视(DTV/DMB/CMMB,etc)模块的大数据量传输。

当然这些只是考虑了消费领域,如果考虑工业领域,那这几个就得分别考虑了,因为要牵涉到干扰、辐射、功率等因素了。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 
还想问一个问题,可以加分。



就是这些IIC/SPI/UART是不是就是所说的cpu的控制总线,而i/o口就是所说的数据总线,而地址总线有时也用i/o口的一部分做的,是不是这样的,高手指教。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

10
 
控制总线这个概念没听过,请问出处。

IIC/SPI/UART统称为通讯接口,一般CPU都是Master,发起方,外设都是slave,被动方。

CPU一般有地址总线、数据总线。而IO一般都会有一些复用功能,这些虽然是控制管脚,但不是“总线”的概念。

地址总线/数据总线很少和IO口复用,只有极少数的芯片会将A0地址线、D16以上的数据线和IO口复用。但是现在涉及到DDR SDRAM的cpu接口,绝对不会有这样的复用了。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

11
 
请问为什么控制不能叫做总线呢,从概念上理解有什么不同?



但是现在涉及到DDR SDRAM的cpu接口,绝对不会有这样的复用了。--------这个为什么不会这样用?
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 10 楼 unbutun 的回复:
请问为什么控制不能叫做总线呢,从概念上理解有什么不同?


但是现在涉及到DDR SDRAM的cpu接口,绝对不会有这样的复用了。--------这个为什么不会这样用?

总线的英文是bus,而bus在我们的学习体系中刚接触的翻译是:公交汽车,也就是一车带N多人的。所以,总线原本的含义是:N多线由控制器统一控制,设计者无法对其中某一个信号单独控制。这也是地址、数据总线的表现状态。
而控制信号就是反面表现了,分别独立,单独控制,互不影响等等。

倒不是说绝对不能叫“控制总线”,而是习惯不会这么说。你真要这么说,也不会有人拿枪逼着你改,放心。

目前嵌入式上用的DDR SDRAM的速率虽然不高(一般都是133MHz,也就是DDR 266的),但是DDR对于边沿的要求很高,稍微一些毛刺就直接over了。如果在这个控制器上贸然引入别的设备,很容易就将总线拉垮的。
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

13
 
谢谢大侠,受教了
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

14
 
spi接口的驱动咋个整嗯?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表