历史上的今天
返回首页

历史上的今天

今天是:2025年04月22日(星期二)

正在发生

2019年04月22日 | UART SPI I²C对比总结

2019-04-22 来源:eefocus

UART、SPI、IIC是经常用到的几个数据传输标准,下面就分别总结一下:


UART(Universal Asynchronous Receive Transmitter):也就是我们经常所说的串口,基本都用于调试。


主机和从机至少要接三根线,RX、TX和GND。TX用于发送数据,RX用于接受数据(收发不是一根线,所以是全双工方式)。注意A和B通信A.TX要接B.RX,A.RX要接B.TX(A用TX发B当然要用RX来收了!)


如果A是PC机,B是单片机,A和B之间还要接一块电平转换芯片,用于将TTL/CMOS(单片机电平)转换为RS232(PC机电平)。因为TTL/CMOS电平范围是0~1.8/2.5/3.3/5V(不同单片机范围不同),高电压表示1,低电压表示0。而RS232逻辑电平范围-12V~12V,-5~-12表示高电平,+5~+12V表示低电平(对!你没有听错)。为什么这么设置?这就要追溯到调制解调器出生时代了,有兴趣自己去查资料!


数据协议:以PC机A给单片机B发数据为例(1为高电平,0为低电平):A.TX to B.RX。刚开始B.RX的端口保持1,当A.TX发来一个0作为起始位告诉B我要发数据了!然后就开始发数据,发多少呢?通常一次是5位、6位、7位、8位,这个双方事先要用软件设置好。PC机一般会用串口助手设置,单片机会在uart的驱动中设置。一小帧数据发送完了以后,A.TX给个高电平告诉B.RX我发完了一帧。如果还有数据,就再给个0然后重复上一步。如果双方约定由校验位,还要在发停止位1之前发送个校验位,不过现在一般都不需要校验位了,因为出错的概率太小了,而且一般用于调试,所以...呵呵呵!


一般在串口助手上还有个RTS/CTS流控选项,也叫握手,我从来没用过。搬一段我能理解的介绍:RTS(请求发送),CTS(清除发送)。如果要用这两个功能,那就至少要接5根线:RX+TX+GND+RTS+CTS。当A要发送数据时,置RTS有效(可能是置1),告诉B我要发送数据了。当B准备好接受数据后,置CTS有效,告诉A你可以发了。然后他们就实现了两次握手!挺耽误时间是不是?这个RTS还可以当电源使用,如果你不用它的握手功能,且电源电流在50mA以下时,就可以把它置为高电平可以当电源用喔~!


IIC(Inter Integrated Circuit):两根线:一个时钟线SCL和一个数据线SDA。只有一根数据线,所以是半双工通信。接线不难,而且两根线上也可以挂很多设备(每个设备的IIC地址不同),数据协议比较麻烦:


还是假设A给B发数据(这里A.SCL接B.SCL, A.SDA接B.SDA)。起初SDA和SCL上的电平都为高电平。然后A先把SDA拉低,等SDA变为低电平后再把SCL拉低(以上两个动作构成了iic的起始位),此时SDA就可以发送数据了,与此同时,SCL发送一定周期的脉冲(周期和PCLK有关,一般会在IIC的控制寄存器中设置)。SDA发送数据和SCL发送脉冲的要符合的关系是:SDA必须在SCL是高电平是保持有效,在SCL是低电平时发送下一位(SCL会在上升沿对SDA进行采样)。规定一次必须传8位数据,8位数据传输结束后A释放SDA,但SCL再发一个脉冲(这是第九个脉冲),这会触发B通过将SDA置为低电平表示确认(该低电平称为ACK)。最后SCL先变为高电平,SDA再变为高电平(以上两个动作称为结束标志)如果B没有将SDA置为0,则A停止发送下一帧数据。IIC总线(即SDA和SCL)上的每个设备都有唯一地址,数据包传输时先发送地址位,接着才是数据。一个地址字节由7个地址位(可以挂128个设备)和1个指示位组成(7位寻址模式)。指示位是0表示写,1表示读。还有10位寻址模式,使用两个字节来保存地址,第一个字节的最低两位和第二个字节的8位合起来构成10位地址。




SPI(Serial Peripheral Interface, SPI):4条线:MOSI(master output and slave input),MISO,SCLK(时钟),CS(片选)。片选信号低电平有效。SPI有四种模式


区别和联系:

UART一帧可以传5/6/7/8位,IIC必须是8位。IIC和SPI都从最高位开始传。

SPI用片选信号选择从机,IIC用地址选择从机。


推荐阅读

史海拾趣

Datasensor公司的发展小趣事

为了进一步扩大市场份额和增强技术实力,DATASENSOR公司积极进行收购和扩张。2004年,公司成功收购INFRA和SPECIALVIDEO公司,这两家公司在工业自动化领域拥有丰富的经验和先进的技术,为DATASENSOR公司带来了更多的市场机会和技术优势。此外,公司还在法国、德国、英国和西班牙等国家和地区设立了子公司,实现了全球化的战略布局。

ADI(亚德诺半导体)公司的发展小趣事

1978年,DATALOGIC公司成功研制出欧洲第一台条码扫描器,并将此产品应用于商业领域。这一创新不仅展示了公司在光电技术领域的实力,也为其在工业自动化领域赢得了良好的声誉。条码扫描器的成功推出,为公司带来了可观的收益,也为公司后续的技术研发和市场拓展提供了强有力的支持。

Atlanta Micro公司的发展小趣事

近年来,电子行业经历了快速的发展和变革,新技术、新产品层出不穷。面对这一形势,Atlanta Micro积极应对挑战,不断调整战略和业务模式。公司加强了与产业链上下游企业的合作,共同应对市场变化;同时,也加大了对新兴技术的研发投入,力求在新技术领域取得突破。这些努力使得Atlanta Micro在激烈的市场竞争中保持了稳健的发展态势。

以上便是关于Atlanta Micro在电子行业发展的5个故事。这些故事展示了公司从创业初期到逐渐发展壮大的过程,以及面对挑战和变革时所采取的应对策略。虽然这些故事只是公司发展历程中的一部分,但它们足以体现出Atlanta Micro在电子行业中的坚韧和拼搏精神。

上海晶丰明源(BPS)公司的发展小趣事

作为一家有社会责任感的企业,晶丰明源始终注重可持续发展。公司积极履行环保责任,采用环保材料和工艺,减少生产过程中的污染排放。同时,公司还关注员工福利和社区建设,为员工提供良好的工作环境和福利待遇,积极参与社会公益活动,为社区的和谐发展做出了贡献。

这五个故事从不同角度展现了上海晶丰明源(BPS)公司在电子行业中的发展历程和成就。从创立到上市、从技术突破到市场拓展、从应对挑战到履行社会责任,晶丰明源始终坚持以市场为导向、以技术为核心的发展理念,不断追求卓越和创新,为电子行业的发展做出了重要贡献。

ZTE高新兴(Gosuncn)公司的发展小趣事

近年来,电子行业面临着诸多挑战,如市场竞争加剧、技术更新换代迅速等。然而,晶丰明源凭借强大的研发实力和敏锐的市场洞察力,成功应对了这些挑战。公司不仅加大了研发投入,加强了与高校、科研机构的合作,还积极引进和培养人才,为公司的发展注入了新的活力。同时,公司还注重产品创新和品牌建设,不断提升产品的附加值和竞争力。

Hantronix公司的发展小趣事

面对电子行业的快速变化,HANBIT Electronics始终保持敏锐的市场洞察力。2025年,公司宣布与一家领先的物联网技术公司达成战略合作,共同开发智能家居解决方案。这一跨界合作不仅为HANBIT Electronics带来了新的增长点,也使其能够借助物联网技术的力量,进一步拓展在智能家居、智慧城市等新兴领域的应用。通过不断探索和尝试,HANBIT Electronics在保持传统业务优势的同时,也为公司的未来发展开辟了新的道路。

问答坊 | AI 解惑

Via孔的作用及原理

本文讲解了过孔的作用及原理,以及PCB设计中如何使用过孔…

查看全部问答>

wince中如何定时重启??

各位大侠,我想让系统在每天的某个时间重启,环境是wince。不知道如何实现??…

查看全部问答>

RFID天天谈

本人不才,搞销售的,略懂技术。 近年,关于无线传输的技术虽多,但谈不上突飞猛进,希望通过我们的互动,共同促进。每天一论,大家要鼓励呀! 我们先从挑错开始把!大家看看,下面这句话有什莫毛病(不是广告): 速联科技超级Zigbee无线模块, ...…

查看全部问答>

12864液晶屏的串行、并行口驱动程序(已验证),注:晶振为7.3728MHz

 //********************************************************** //*  文件名:   12864.c   // //*  液晶屏:   128*64    // //*  设计者:    ...…

查看全部问答>

【转】冀勇庆:华为老员工看华为(四):手机的来龙去脉

本帖最后由 jameswangsynnex 于 2015-3-3 20:05 编辑 看到@it老记冀勇庆 转过来的网友评论,说我在炒作,这让我感到很吃惊。虽然我本人根本无意炒作,但是这样写下去肯定也难免有炒作的嫌疑。这是最后一篇了,以后我不会再写华为的文章了。 华为 ...…

查看全部问答>

C51计时器相关

求大家帮忙在我这个程序上给加个暂停和清零的功能…

查看全部问答>

PCA捕获

void PCA_Init(void) {         CCON = 0x00;             //初始化PCA控制寄存器                     & ...…

查看全部问答>

51单片机的串口现时代有意义吗?

现在的电脑主板几乎都没有了 串口  现在下载程序都是用USB的 那单片机的串口应用还有意义吗?IC与IC 不是有I平方2总线? 求高手解答  小弟新手自学 买的2007年 郭天祥的实验板 可以现在的电脑都没有有串口 这个问题很郁闷啊? ...…

查看全部问答>

【新生求助】头文件自定义问题

今天老师给了一个示例自定义程序,但是其中有很多疑问,麻烦各位知道的能解答下嘛,万分感谢!其中一开始是这么定义的 ram定义和rom定义的主要区别在哪里呢? ;---------------------------------------- #define rom_reg_adr     ...…

查看全部问答>