历史上的今天
返回首页

历史上的今天

今天是:2024年09月03日(星期二)

正在发生

2019年09月03日 | I2C SPI UART串行接口对比分析

2019-09-03 来源:eefocus

0 SPI

SPI:串行外转接口,允许以全双工方式实现数据与各种外围设备高速数据传输。由3根线组成,(串行时钟)SCLK、(串行数据输出)SDO和(串行数据输入)SDI组成,当然对于多个从设备而言,会添加一根SS片选信号。SDO和SDI都是基于时钟脉冲SCLK完成数据,且是一比特比特传输。而且SCLK只能由主设备控制。

       特点包括如下几点


  • l  采用主从方式,且由主设备控制SCLK。

  • l  全双工的同步方式传输数据,全双工就是指主设备发送数据时也会接收到从设备的数据。而之所以称为同步是因为传输数据必须严格根据时钟,以及时钟极性和时钟相位(CPHA)控制两个SPI设备间何时交换数据。

  • l  数据交换方式,之所以称为数据交换是因为在发送完一比特数据后也会接收到一比特数据。所以SPI没有读写区分,因为发送完一比特就会接收到一比特。

  • l  接收方式:只要发生了数据传输完成事件,都要去SPI设备相应的寄存器中读取数据,即使数据没有意义。


重点介绍下SPI的工作模式。虽然是依靠SCLK完成传输,但是由于时钟极性和时钟相位的不同衍生出了四种工作模式,传输时序。

CPOL: 时钟极性, 表示 SPI 在空闲时, 时钟信号是高电平还是低电平. 若 CPOL 被设为 1, 那么该设备在空闲时 SCK 管脚下的时钟信号为高电平。当 CPOL 被设为 0 时则正好相反。

CPHA: 时钟相位, 表示 SPI 设备是在 SCK 管脚上的时钟信号变为上升沿时触发数据采样, 还是在时钟信号变为下降沿时触发数据采样。若 CPHA 被设置为 1, 则 SPI 设备在时钟信号变为下降沿时触发数据采样, 在上升沿时发送数据。当 CPHA 被设为 0 时也正好相反。



写多个寄存器




读多个寄存器

       具体以AT24C02为例,讲解其传输逻辑,如下图所示。


 

2 UART

       通用异步传输协议,收发器。较为简单,由两线组成,TxD和RxD,设备交叉连接。由起始们、奇偶校验位、数据位、停止位组成。同时如果使用了RTS、CTS等流控信号线则更为复杂,有待补充。

       它使用的电平标准是TTL/CMOS逻辑电平标准,(0~5v、0~3.3v、0~2.5v或0~1.8v)来表示数据,高电平表示1,低电平表示0。为了增强数据的抗干扰能力、提高传输长度,通常将TTL/CMOD逻辑电平转换为RS-232逻辑电平,3~12v表示0,-3~-12v表示1。这也就是UART和RS232的区别和联系。数据传输流程如下:

(1)平时数据线处于空闲状态(1状态)

(2)当要发送数据时,UART改变TxD数据线的状态(变为0状态)并维持1位的时间,这样接收方检测到开始位后,在等待1.5位的时间就开始一位一位地检测数据线的状态得到所传输的数据。

(3)UART一帧中可以有5、6、7或8位的数据,发送方一位一位地改变数据线的状态将他们发送出去,首先发送最低位。

(4)如果使用校验功能,UART在发送完数据后,还要发送1位校验位。有两种校验方法:奇校验、偶校验——数据位连同校验位中,1的数据等于奇数或偶数。

(5)最后,发送停止位,数据线恢复到空闲状态(1状态)。停止位的长度有3种:1位、1.5位、2位。

3 对比

       如下表所示。


SPI

I2C

UART

电气信号线

4线:SS、SCLK、SDO和SDI

2线:SCL、SDA

2线:TXD、RXD

工作模式

全双工

半双工

全双工

组网

规模有限

支持128个设备组成的网络(地址是7位)


寻址模式

通过片选信号

发送具体地址


传输速率2

几Mbps但是比I2C快

标准速度:100kbps

快速模式:400kbps

高速模式:3.4Mbps

RS232:<20kbps

RS422:最高10Mbps

RS485:最高10Mbps

注:关于传输速率,其实SPI应该根据Master芯片能发起的频率以及Slave能接受的频率,但是肯定的是它一般大于I2C传输频率。对于其它总线传输频率,如下。

l  USB总线

   USB1.1:

-------低速模式(low speed):1.5Mbps

-------全速模式(full speed): 12Mbps

USB2.0:向下兼容。增加了高速模式,最大速率480Mbps。

-------高速模式(high speed): 25~480Mbps 

USB3.0:向下兼容。

-------super speed :理论上最高达4.8Gbps,实际中,也就是highspeed 的10倍左右。

l Ethernet,也就是通常的网速。

--------早期的以太网传输速率只有10Mbps。

--------百兆网:理论上最大100Mbps。

--------千兆网:理论上最大1Gbps。

l  SD总线:最高能达10Mbps。

l  SATA接口:

--------SATA1.0:理论传输速度是150MB/s(或者1.5Gb/s),实际也就30MBps。

--------SATA2.0: 300MBps,即3Gbps。实际也就80MBps。

--------SATA3.0: 600MBps,即6Gbps。

--------eSATA:理论传输速度可达到1.5Gbps或3Gbps。

l  PCI总线

--------PCI:32位,33MHz时钟频率,速率是33*4 = 133MBps,即1Gbps。

-------- PCI 2.1:64位,66MHz时钟频率来说:速率是66*8 = 528MBps,即4Gbps。


推荐阅读

史海拾趣

Golledge Electronics公司的发展小趣事

Golledge Electronics公司的发展故事

故事一:石英晶体振荡器的创新起点

Golledge Electronics公司的起源可以追溯到对石英晶体振荡器技术的深入研究和创新。公司最初成立于英国水晶产区的中心,依托当地丰富的水晶资源,Golledge迅速成为石英晶体振荡器领域的佼佼者。公司创始人敏锐地意识到石英晶体的压电特性在电子系统中的重要应用价值,于是投入大量资源进行研发。通过不断优化晶体制造工艺和温度补偿技术,Golledge成功推出了高精度、高稳定性的石英晶体振荡器,为无线电通信、卫星通信等领域提供了关键技术支持。这一创新不仅奠定了Golledge在电子行业的基础,也为其后续发展铺平了道路。

故事二:微机电系统(MEMS)技术的突破

随着电子产品的不断小型化和便携化,Golledge Electronics公司紧跟时代步伐,将研发重点转向微机电系统(MEMS)技术。MEMS谐振器以其紧凑的尺寸和稳健的性能,成为便携式设备和可穿戴设备中的理想选择。Golledge通过自主研发和合作创新,成功将MEMS技术应用于频率控制产品中,推出了多款高性能、低功耗的MEMS谐振器。这些产品不仅满足了市场对小型化、轻量化的需求,还进一步提升了电子系统的整体性能和可靠性。Golledge在MEMS技术领域的突破,为其在电子行业中的领先地位增添了新的动力。

故事三:新材料应用的探索

为了不断提升产品的性能和质量,Golledge Electronics公司始终致力于新材料的研发和应用。公司研发团队通过深入研究石英晶体的物理特性和化学性质,成功开发出了一系列具有独特性能的石英晶体材料。这些新材料不仅具有更高的稳定性和频率精度,还能够在极端环境下保持优异的性能表现。Golledge将这些新材料应用于频率控制产品中,显著提升了产品的竞争力和市场占有率。同时,公司还积极探索其他新型材料的应用潜力,为未来的技术创新储备了丰富的资源。

故事四:机器学习集成的创新实践

随着人工智能技术的快速发展,Golledge Electronics公司敏锐地捕捉到这一趋势,并积极探索机器学习在频率控制领域的应用。公司研发团队通过集成机器学习算法,使频率控制系统能够动态地适应和优化频率设置。这一创新实践不仅确保了频率控制系统的持续准确性,还为其赋予了自我学习和自我优化的能力。Golledge的这一创新成果,不仅提升了产品的智能化水平,也为电子行业的未来发展提供了新的思路和方向。

故事五:超微型SMD晶体的商用化

为了满足市场对更小、更轻、更高效的电子产品的需求,Golledge Electronics公司推出了超微型1610mm封装SMD晶体,并成功实现商用化。这款晶体以其极小的尺寸和优异的性能,迅速赢得了市场的青睐。Golledge通过不断优化生产工艺和质量控制体系,确保了超微型SMD晶体的稳定供应和高质量表现。这款产品的成功商用,不仅进一步巩固了Golledge在电子行业中的地位,也为其在小型化、便携化电子产品领域的发展开辟了新的市场空间。

COMPUTAR公司的发展小趣事

进入90年代,电动变焦镜头逐渐成为市场的新宠。CBC株式会社紧跟时代潮流,于1992年成功推出电动6倍系列镜头。这款镜头采用电动变焦设计,操作简便、速度快捷,极大地提高了拍摄效率。电动6倍系列镜头的全球上市,不仅进一步扩大了CBC的市场影响力,也为公司的未来发展奠定了坚实的基础。

通过以上五个故事,我们可以看到COMPUTAR公司(前身为CBC株式会社)在电子行业中的发展历程。从创立之初的艰苦创业,到逐步拓展国际市场;从手动变焦镜头的研制成功,到非球面高速镜头和电动6倍系列镜头的诞生与上市,每一步都凝聚着COMPUTAR人的智慧和汗水。正是这些不懈的努力和持续的创新,使得COMPUTAR在电子行业中脱颖而出,成为一家备受尊敬的企业。

静芯微电子(ElecSuper)公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,静芯微电子开始拓展产品线。公司不仅继续深耕ESD/TVS领域,还逐渐涉足了RS485、HALL、电源、接口等芯片的研发和生产。这些新产品的推出不仅丰富了公司的产品线,还进一步扩大了静芯微电子在电子行业的应用范围。目前,静芯微电子的产品已经广泛应用于汽车电子、工业控制、消费电子等领域,并与多家知名品牌建立了深度合作。

BeagleBoard公司的发展小趣事

作为一家以开源硬件为核心的公司,BeagleBoard深知教育和人才培养的重要性。他们积极与学校、教育机构合作,提供教育支持和培训服务,帮助更多的学生了解嵌入式系统开发的魅力。同时,公司还设立了奖学金和竞赛项目,鼓励年轻开发者积极参与创新实践,为行业培养了一批批优秀的人才。

DPA Components International公司的发展小趣事

作为一家具有社会责任感的企业,DPA Components International公司始终关注社会公益事业。公司积极参与各种公益活动,如扶贫助学、环保行动等,为社会做出了积极贡献。此外,DPA还关注行业发展和社会进步,积极参与行业交流和合作,推动整个电子行业的健康发展。通过担当社会责任,DPA不仅提升了企业的社会形象,也为社会的进步和发展做出了积极贡献。

FLIR公司的发展小趣事

随着业务规模的不断扩大,FLIR逐渐将目光投向全球市场。公司在全球范围内建立了多个生产基地和销售服务网络,包括在美国本土的波特兰、波士顿、圣巴巴拉和波兹曼等城市设立的工厂,以及在瑞典斯德哥尔摩和爱沙尼亚塔林等海外地区设立的分支机构。这些生产基地和销售服务网络为FLIR在全球市场的拓展提供了有力支持,使得公司能够更好地服务于全球客户,满足他们多样化的需求。

问答坊 | AI 解惑

从哪开始学单片机与ARM7

公司现在有2个产品一个是ARM7的还有个是SyncMOS sm8958A的板子上还有个Atmel ATF1508AS,现在要我接手,我该从哪学起呢?我以前是做Windows下软件开发的会Java和C#,C也会,但很久没用了,重新上手的话,估计时间不长。还望各位解答,谢谢。…

查看全部问答>

Win CE6.0定制出现错误1033,1041

最近我在eBox4300上定制了几次WIN CE6.0 操作系统,总是出现错误,错误如下: 错误        1        Catalog Id \"StringTable:MS:Cepc:1041\" duplicated in files \"D:\\WINCE600\\platform\\CEPC\\cat ...…

查看全部问答>

vs2005(c++)

ListCtrlUseDlg.obj : error LNK2005: \"private: void __cdecl CListCtrlUseDlg::FillListCtrl(void)\" (?FillListCtrl@CListCtrlUseDlg@@AAAXXZ) 已经在 ListCtrlUse.obj 中定义 1>ListCtrlUseDlg.obj : error LNK2005: \"private: void __cdecl ...…

查看全部问答>

请教大侠:wavecom CDMA Modem收到的中文短信内容如何解析成真正的中文?

    请教各位大侠,我手头有个wavecom CDMA Modem现在想做个短信接收程序。当用手机发送短信内容为“测试。”给Modem后,用AT+CMGR取得的短信内容是“mK嬚0”,我用Hex(Ascw(\"m\"))+Hex(Ascw(\"K\"))=6D4B这个结果刚好和“测”的Unicode ...…

查看全部问答>

另类烤鸡蛋方法!标题要有吸引力,其实是altera CIII starter板的问题

首先要说的是这块板非常漂亮,由于外部接口比较少,而之前对FPGA(ALTERA和XILINX)这块用得比较熟悉,没有拿到板之后没有做什么实验!最近用来调试示波器V2.0,发现板子上主FPGA芯片非常烫(没有上扩展板,关于这个问题之前发过帖子),但是JTAG能 ...…

查看全部问答>

dBm等的概念辨析

1、dBmdBm是一个考征功率绝对值的值,计算公式为:10lgP(功率值/1mw)。[例1] 如果发射功率P为1mw,折算为dBm后为0dBm。[例2] 对于40W的功率,按dBm单位进行折算后的值应为:10lg(40W/1mw)=10lg(40000)=10lg4+10lg10+10lg1000=46dBm。2、dBi 和 ...…

查看全部问答>

出现 Segment CSTART must be defined ,怎么处理?

出错信息如下: Fatal Error[e72]: Segment CSTART must be defined in a segment definition option (-Z, -b or -P) 该怎么处理呢?是新版的带WorkSpace的IAR编译环境。…

查看全部问答>

高频RFID射频电路原理

高频RFID频率是13.56MHz的,以最常用的RC500为例,射频输出两个脚TX1,TX2,接收一个脚RX,另外一个是RX的偏置电压VMID,让RX信号偏置到1/2电源电压位置,保证接收性能最好。 电路如下:   TX1和TX2输出13.56MHz的方波,分别通过L200、C2 ...…

查看全部问答>

M4如何通过3601在Kell4.22下仿真

最近拿到TI M4开发板,发现只能在CCS下使用,不知道用Keil的话 还是否需要装什么东西?…

查看全部问答>

spi_loopback_interrupts例子中的中断断过程

1、点我也不清楚,在初始化SPIFFRX时,bit12~8(RXFFST)=0,bit4~0(RXFFIL)=8,而按资料上说,当RXFFST 》=RXFFIL时发生接收中断,而又是在接收中断服务程序中接收数据,那岂不是不发生中断就接收不了数据,不接收数据,RXFFST 就不会大于RXFFIL,同 ...…

查看全部问答>