常见低速板级通信协议的异同点
2021-06-10

写在前文:

这似乎是一个更侧重于软件层面的话题,直到我多次在硬件方案选型、layout布线等场合下,才发现我需要考量的并不仅仅只是电路设计或工艺制程方面的内容。后来我才开始反思,虽说“术业有专攻”,但作为一名研发工程师,你所需要立项的新方案、你所碰到的问题并不会挑“你所认为的硬件或软件才需要懂的知识”来和你碰面。除非,你想做一个“只听人家吩咐而做事”的技术工。

I2C、SPI、UART都是常见的低速板级通信协议,目前主流的SoC都内置了这些通讯协议的控制器,同样,各种传感器、Touch控制器、指纹模块、蓝牙模块、WIFI模块也都兼容这三种通信方式的一种或几种。对于这三种通信协议的差别,可以区分到非常细,包括信号的单位、传输协议中的封包格式等。


UART一般由TXD、RXD、GND三根线组成,是一种异步传输协议。无论是主机还是从机,均可以自由发送数据,但是由于UART总线并没有时钟线,所以需要提前约定对应的波特率,这是一种很简单的传输协议,以此基础再搭电路可以实现RS-232、RS-242、RS-485等通信协议。过去老式电脑是具备RS-232接口的,但近10年的电脑都只具备USB,因此通常需要透过一个UART转USB的转接电路才能互相连接。UART比较简单,所以CPU输出log一般都是通过一个UART口来输出,是目前最常用的调试接口,其传输速度比较慢,传统的传输速度在115200bps或以下,不过现在大部分UART控制器也能支持到4Mbps或者8Mbps了





I2C是两根线,SDA(数据)和SCL(时钟),是一种半双工同步传输协议。主机在发送开始信号之后,先发送7个比特的地址位和1个比特的读写位,每个从机有自己的I2C地址,当发现该条指令是发给自己的时候,拉低SDA线(即回复ACK信号),然后主机发送或接收数据,完成传输。传输完成之后,主机发送停止位,完成该次传输。I2C最早是由PHILIPS提出来的,用于晶片间的传输,理论上可以连接128个从机(一般最多只接10个),原则上只能以PCB板上的铜箔线路来走,然而目前许多应用却是把I2C缆线化。另外,I2C总线的管脚都是开漏输出,必须外接上拉电阻,阻值可以根据总线速度来推算,一般我们常用400kbps传输速率(标准模式:100kbps,快速模式:400kbps,高速模式:3.4Mbps),上拉电阻选用2.2K。




SPI是四根线,分别是CS(片选)、MOSI(主发从收)、MISO(从发主收)、CLK(时钟),是一种全双工同步传输协议。主机送出CLK信号,主机到从机的数据在MOSI线上传输,从机到主机的数据在MISO线上传输。在启动传输之前,需要先拉低(一般是这样,也有各别芯片是CS高有效)对应从机的CS管脚,在传输完成之后,再拉高CS管脚,从机的SPI Slave模块进入休眠。SPI由Motorola发明,与I2C相同可以接多个从机,只是每增加一个从机,线路至少要增加一条,其发送与接收可以同时进行,传输速度可达到几Mbps水平,比I2C快


UART和后面两者最大的区别在于后面两者是同步的,要有统一的时钟线,而UART不需要,接线方便,但收发双方都需要配置相同的波特率,即设备要有自己的时钟源;I2C协议中是有地址规则的,因此在一对多通信的时候更有优势。常用来连接传感器;SPI编程简单,在设备不多,端口充足,对通信速度要求不高的场合可以应用,较常用来连接EEPROM、FLASH或液晶显示器。 

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
热门推荐
  • 相关技术文库
  • 工业
  • 安防
  • 航空
  • CAN
  • 风电风机故障诊断远程无线管理方案

    风电行业作为可再生能源领域中最具前景的发电方式之一,在全球范围内分布广泛。但是,在风机发生故障时,却总是措手不及。本文将提供可行的方案,能够为解决故障带来便利。   风电行业现状概述 随着“碳中和”和“碳达峰”的热度疯涨,新能源行业势必崛起。风

    04-27
  • 如何将CAN总线升级成CAN FD?

    如何快速升级到CAN FD? 小致百科课堂 · ▴ 点击视频,关注查看更多 ▴ 21世纪初,CAN总线技术迎来了CAN FD时代,数据传输的速率不断提高的同时,极大地缩短了数据传输,尤其是程序下载的时间。那么如何才能将手头的CAN总线升级成CAN FD呢? 致远电子为您提供3

    04-22
  • 一张表看电机的分类

    据说尼古拉·特斯拉(Nikola Tesla)于1888年发明了交流电机。从那时起,由于各种元素创新,例如电机的组成材料(磁铁、钢板等),半导体元器件的材料、部件技术和控制技术等,使电机有了长足发展。例如,在1900年代初期开发的输出功率为5马力的感应电机,在2

    04-21
  • 解析电机的旋转动作和发电作用

    电机的旋转原理 作为电机基础知识,我们将介绍电机原理相关的内容。 关于电流、磁场和力 首先,为了便于后续电机原理说明,我们来回顾一下有关电流、磁场和力的基本定律/法则。虽然有一种怀旧的感觉,但如果平时不常使用磁性元器件,就很容易忘记这些知识。

    04-14
  • 运动控制T型曲线速度规划的matlab、 C语言实现

    ★ 本文介绍了运动控制中常用的梯形速度曲线规划的原理和程序实现,最后给出了测试结果; ” 1 前言 2 理论分析 3 matlab 实现 4 测试结果 5 C语言实现 6 总结 1 前言 在伺服系统以及控制系统的加减速动作中,为了让速度更加平滑,可以引入T型速度曲线规划(T

    03-31
  • CAN总线和RS485总线应用概述

    CAN总线和RS485总线的定义 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为

    03-30
  • 传感器这么多种,你都知道怎么工作的吗

    布料张力测量及控制原理 ▼ 直滑式电位器控制气缸活塞行程 ▼ 压阻式传感器测量液位的工作原理 ▼ MQN型气敏电阻结构及测量电路 ▼ 气泡式水平仪的工作原理 ▼ 扩散硅式压力传感器 ▼ 应变加速度感应器 ▼ 称重式料位计 ▼ 电子皮带秤重示意图 ▼ 电子吊车秤

    03-26
  • 一文看懂I2C(FPGA实测I2C波形)

    据非官方统计,90%电子行业的公众号都介绍过3种串行通讯协议:UART、SPI和I2C。这3种串行协议也是电子开发行业最常用的协议。前面介绍了 及其 , 。本篇文章介绍I2C通讯协议及其FPGA实测波形。 文末有【I2C官方标准文档下载方法】。 有哪些内容 I2C是什么 5种

    03-25
  • 红电线,黄电线,绿电线,各种颜色电线都代表什么?

    1、依导线颜色标志电路 黑色——装置和设备的内部布线。 棕色——直流电路的正极。 红色——三相电路的C相; 半导体三极管的集电极; 半导体二极管、整流二极管或可控硅管的阴极。 黄色——三相电路的A相; 半导体三极管的基极; 可控硅管和双向可控硅管的控

    03-26
  • 总线隔离后接地出现通讯异常该如何改善?

    在已为大家介绍隔离后接地的ESD作用机理,那么面对总线隔离后由于接地而出现的通讯异常问题该如何改善,本文将为大家介绍对应的改善措施以及电路作用详解。    前言 为保证总线网络的通讯稳定性,通讯接口通常会做隔离,隔离的主要目的: 安规考虑:保护设备

    03-19
  • 常用的电气电路图集

    1 单相照明双路互备自投供电电路 2 双路三相电源自投电路 3 茶炉水加热自动控制电路 4 简单的温度控制器电路 5 简易晶闸管温度自动控制电路 6 用双向晶闸管控制温度电路 7 XCT-101动圈式温度调节仪控温电路 8 电接点压力式温度表控温电路 9 TDA-8601型温度指

    03-08
  • 常见CAN总线干扰现象

    CAN总线由其高可靠和实时性被广泛应用于新能源汽车、轨道交通、医疗、工程机械等行业,但是由于大部分行业工作环境都比较恶劣,所以提高总线抗干扰能力是目前行业用户最为关注的方向。   常见CAN总线干扰现象 如下为一条流水线有两路CAN总线,一条总线有22个

    03-11
下载排行榜
更多
广告
X
广告