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

审核编辑 黄昊宇

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

    关注

    6074

    文章

    45340

    浏览量

    663550
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18605

    浏览量

    387042
  • 接口
    +关注

    关注

    33

    文章

    9444

    浏览量

    156143
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    UARTSPII2C 实战对比:哪个更适合你的项目?

    在嵌入式开发中,设备之间的通信是绕不开的话题。常见的三种总线接口——UARTSPII2C——各有优缺点。不同项目需求决定了选择哪一种协议最合适。本文结合实战经验,逐项对比三者,并附
    的头像 发表于 11-24 19:04 307次阅读
    <b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b> 实战对比:哪个更适合你的项目?

    SPII2CUART三种串行总线的区别与对比

    1)概念定义 SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS:意为IC之间总线) UART(Universa
    发表于 11-20 07:19

    SPII2CI2S、UART:通信协议解释

            在嵌入式开发中,最常用的几种通信接口无非就是SPII2CI2S、UART。名字看起来差不多,但应用场景和特性却大不相同。
    的头像 发表于 11-18 10:53 204次阅读

    SPII2CI2S、UART:通信协议对比表

    在嵌入式开发中,最常用的几种通信接口无非就是SPII2CI2S、UART。名字看起来差不多,但应用场景和特性却大不相同。很多初学者容易混
    的头像 发表于 11-17 10:53 1168次阅读
    <b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>、<b class='flag-5'>I2</b>S、<b class='flag-5'>UART</b>:通信协议对比表

    32位MCU芯片国产品牌(32系列单片机常用型号有哪些)

    、RAM及多种通信模块(如UARTSPII2C、USB等),在实时控制、复杂运算和多任务处理方面优势显著,尤其适用于需要高性能和低功耗并重的场景,例如智能家居、电机驱动、穿戴设备及工业自动化系统。
    的头像 发表于 11-13 16:31 671次阅读

    深入剖析I2C协议

    I2C是由Philips开发的简单的双向两线总线,在深入浅出理解SPI协议中,我们区分了单工,半双工,全双工协议数据流向的区别,根据特征,I2C协议属于半双工协议(即同一时刻,数据单向流动)。此外
    的头像 发表于 08-21 15:10 3274次阅读
    深入剖析<b class='flag-5'>I2C</b>协议

    简单了解I2C接口

    在电子电路的复杂世界里,各种电路模块设备需要相互通信才能协同工作 ,I2C接口就像是电路模块设备间的沟通桥梁,今天就带大家深入了解它。
    的头像 发表于 05-08 14:15 2057次阅读
    简单了解<b class='flag-5'>I2C</b><b class='flag-5'>接口</b>

    【干货】带你了解各类串口:I2CSPI、RS232、RS485、USB等

    SPI、RS232、RS422、RS485及USB。1I2C接口I2C接口是一种主要应用于集成电路芯片间的通信的
    的头像 发表于 02-20 19:31 2338次阅读
    【干货】带你了解各类串口:<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、RS232、RS485、USB等

    单片机I/O接口的传输方式

    单片机(Microcontroller Unit,MCU)作为嵌入式系统的核心部件,其输入输出(Input/Output,I/O)接口是实现与外部设备数据交换的关键。
    的头像 发表于 02-02 15:56 1640次阅读

    I2C总线与Arduino的接口示例

    在现代电子设计中,I2C总线因其简单性和灵活性而广受欢迎。它允许多个设备共享同一通信线路,从而节省空间和成本。Arduino,作为一个多功能的微控制器平台,自然也支持I2C通信。 I2C总线
    的头像 发表于 01-17 15:34 2359次阅读

    I2C总线与单片机的连接

    在现代电子系统中,单片机MCU)是核心控制单元,而I2C总线作为一种多主机、多从的串行通信协议,因其简单、高效和节省引脚的特性而被广泛应用于各种电子设备中。
    的头像 发表于 01-17 15:18 1970次阅读

    I2C总线与SPI总线的比较

    在现代电子系统中,微控制器与各种外设之间的通信是必不可少的。I2CSPI是两种流行的串行通信协议,它们各自具有独特的特点和应用场景。 I2C总线 I2C是一种多主机、多从
    的头像 发表于 01-17 15:08 1714次阅读

    AN-840: 通过I2C接口更新代码

    电子发烧友网站提供《AN-840: 通过I2C接口更新代码.pdf》资料免费下载
    发表于 01-15 16:04 0次下载
    AN-840: 通过<b class='flag-5'>I2C</b><b class='flag-5'>接口</b>更新代码

    UC-001:MicroConverter I2C兼容接口

    电子发烧友网站提供《UC-001:MicroConverter I2C兼容接口.pdf》资料免费下载
    发表于 01-15 15:51 0次下载
    UC-001:MicroConverter <b class='flag-5'>I2C</b>兼容<b class='flag-5'>接口</b>

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

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