0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是MCU单片机的SPI、UART、I2C通讯接口

半导体行业相关 来源:半导体行业相关 作者:半导体行业相关 2022-10-11 17:24 次阅读

正如我们之前所了解的 ,MCU单片机是一个集成芯片 ,但这个集成芯片有一些特殊的功能 ,可以控制外部设备 ,处理外部设备收到的数据,就像人脑一样 ,可以控制手脚的运动 ,可以处理感官收到的信息,这就是独特的 MCU单片机 。

单片机的常用功能包括:定时器TImer)、I/O口、外部中断、通讯接口、A/D转换、PWM等。之前金誉半导体已经带大家重点了解过定时器(TImer)和I/O口这两个功能,那接下来我们了解一下通讯接口的功能是怎样的。

MCU单片机所提供的通讯接口一般包括SPI接口,UARTI2C接口等,它们的功能如下:

SPI接口:此类接口是绝大多数MCU都提供的一种最基本通讯方式,其数据传输采用同步时钟来控制,信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)及Ready信号;有些情况下则可能没有Ready信号;此类接口可以工作在Master方式或Slave方式下,通俗说法就是看谁提供时钟信号,提供时钟的一方为Master,相反的一方则为Slaver。

UART(Universal Asynchronous Receive Transmit):属于最基本的一种异步传输接口,工作原理是将传输数据的每个字符一位接一位地传输,这个特点使得UART只要2 根传输线就可以实现双向通信,一根线发送数据的同时用另一根线接收数据。那就是Rx和Tx两条,一根线发送数据的同时用另一根线接收数据。基本的数据格式为:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even,Odd or None) + Stop Bit(1~2Bit)。一位数据所占的时间称为Baud Rate(波特率)。

对于大多数的MCU来讲,数据位的长度、数据校验方式(奇校验、偶校验或无校验)、停止位(Stop Bit)的长度及Baud Rate是可以通过程序编程进行灵活设定。此类接口最常用的方式就是与PC机的串口进行数据通讯。

I2C接口:I2C是由Philips开发的一种数据传输协议,同样采用2根信号来实现:SDAT(串行数据输入输出)和SCLK(串行时钟),SCL线——负责产生同步时钟脉冲。SDA线——负责在设备间传输串行数据。其优势是可以在此总线上挂接多个设备,连接到I2C总线上的设备既可以用作主设备,也可以用作从设备,支持多个主设备的同时存在。I2C总线的一个最大的好处就是非常方便用软件通过IO口来实现,其传输的数据速率完全由SCLK来控制,可快可慢,不像UART接口,有严格的速率要求。

任何一款 MCU,其基本原理和功能都是大同小异,不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的,所以在编程时只要根据自己的逻辑和程序的逻辑要求来编写相关的指令即可。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6035

    文章

    44553

    浏览量

    634750
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17135

    浏览量

    351030
  • 接口
    +关注

    关注

    33

    文章

    8580

    浏览量

    151037
收藏 人收藏

    评论

    相关推荐

    为什么嵌入式调试经常用UART,却很少用SPII2C或USRT?

    在嵌入式调试中经常使用 UART(通用异步收发传输器)而较少使用 SPI(串行外设接口)、I2C(集成电路总线)或 USRT(通用同步 / 异步收发传输器)主要有以下原因
    的头像 发表于 12-18 09:58 219次阅读
    为什么嵌入式调试经常用<b class='flag-5'>UART</b>,却很少用<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>或USRT?

    BTB扩展接口:LCD、Camera、UARTI2C等|详解篇

    今天我们来学习的是BTB扩展接口的LCD、Camera、UARTI2C详解,特别分享Air201硬件BTB扩展接口相关内容。
    的头像 发表于 11-30 09:39 297次阅读
    BTB扩展<b class='flag-5'>接口</b>:LCD、Camera、<b class='flag-5'>UART</b>、<b class='flag-5'>I2C</b>等|详解篇

    探索GPIO/ADC/LED/I2C/SPI/USB…的完整世界

    今天了解的是GPIO/ADC/LED/I2C/SPI/USB硬件接口设计及其注意事项,希望对大家有所帮助。
    的头像 发表于 11-17 09:59 325次阅读
    探索GPIO/ADC/LED/<b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b>/USB…的完整世界

    使用低内存MSP430™MCUUARTI2C桥应用说明

    电子发烧友网站提供《使用低内存MSP430™MCUUARTI2C桥应用说明.pdf》资料免费下载
    发表于 09-14 10:45 0次下载
    使用低内存MSP430™<b class='flag-5'>MCU</b>的<b class='flag-5'>UART</b>到<b class='flag-5'>I2C</b>桥应用说明

    I2CUART子系统设计

    电子发烧友网站提供《I2CUART子系统设计.pdf》资料免费下载
    发表于 08-28 10:27 2次下载
    <b class='flag-5'>I2C</b>转<b class='flag-5'>UART</b>子系统设计

    UARTI2C桥接器

    电子发烧友网站提供《UARTI2C桥接器.pdf》资料免费下载
    发表于 08-28 09:24 1次下载
    <b class='flag-5'>UART</b>转<b class='flag-5'>I2C</b>桥接器

    I2CSPIUART的通信过程还可以这样理解

    到目前为止,I2CSPIUART等仍然是电子嵌入式设备中最常用的通信协议,本文,我们将剖析这三种协议,让大家清楚、直观的了解它们的功能、优点和局限性,并辅以GIF动图展示。一、IIC协议I
    的头像 发表于 05-23 08:10 7141次阅读
    <b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>UART</b>的通信过程还可以这样理解

    SPII2C通信协议:应用与区别

    本文深入解析了SPII2C这两种通信协议的特点、工作原理和应用场景。SPI适用于高速数据传输,常用于存储器芯片和显示器驱动等领域;I2C适用于低速控制和传感器数据传输,常用于温度传感
    的头像 发表于 04-22 16:45 1809次阅读

    逼真动画展示I2CSPIUART的通信过程

    到目前为止,I2CSPIUART等仍然是电子嵌入式设备中最常用的通信协议,本文,我们将剖析这三种协议,让大家清楚、直观的了解它们的功能、优点和局限性,并辅以GIF动图展示。I2C
    的头像 发表于 04-12 08:27 980次阅读
    逼真动画展示<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>UART</b>的通信过程

    总结usart、uarti2cspi区别及相关知识

    USART、UARTI2CSPI是四种不同的串行通信协议,它们各自具有独特的特点和应用领域
    的头像 发表于 04-10 09:47 1767次阅读
    总结usart、<b class='flag-5'>uart</b>、<b class='flag-5'>i2c</b>、<b class='flag-5'>spi</b>区别及相关知识

    蓝牙串口通讯总线——I2C/SPI/UART

    嵌入式工程师在做串口通信调试工作的时候,会经常用到I2CSPIUART这3条总线,I2CSPIU
    的头像 发表于 01-22 09:41 1625次阅读
    蓝牙串口<b class='flag-5'>通讯</b>总线——<b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b>/<b class='flag-5'>UART</b>

    XV4001BC车载用SPI/I2C输出接口的数字输出

    XV4001BC车载用SPI/I2C输出接口的数字输出,可实现角速度输出和温度传感器输出,满足汽车导航和通讯系统的要求。SPI /
    发表于 01-02 16:33 0次下载

    最简单的总线通讯I2C通讯总线的原理原来这么好懂

    通讯I2C
    安泰仪器维修
    发布于 :2024年01月02日 11:16:31

    ADXL345运行时间长了i2c通讯不上怎么解决?

    stm32单片机通过i2c接口实时读取adxl345的三轴加速度数据,发现刚上电的时候正常工作。运行一段时间,大概几小时,i2c通讯失败。
    发表于 01-01 08:20

    i2c接口spi接口区别

    I2C(Inter-Integrated Circuit)和SPI(Serial Peripheral Interface)都是用于设备间通信的串行接口标准。它们在很多方面有着相似之处,但也有一些
    的头像 发表于 12-25 15:02 4005次阅读