为什么调试接口要选择UART(串口)?
硬件十万个为什么 2024-08-07

UART(通用异步收发传输器)通常被选作调试接口有以下几个原因:

  1. 简单性:

  • 协议简单:UART的协议非常简单,只需设置波特率、数据位、停止位和校验位就可以进行通信。相比之下,I2C和SPI需要处理更多的通信协议和时序要求。

  • 硬件资源少:UART通信通常只需要两根线(TX和RX),而I2C需要两根线(SCL和SDA),SPI需要至少四根线(MISO、MOSI、SCLK和CS),这对引脚资源有限的微控制器尤其重要。


    SPI (Serial Peripheral Interface)

  • 多设备支持:SPI 通常用于主从通信,一个主设备可以与多个从设备通信。每个从设备需要一个单独的片选信号,这增加了硬件复杂性。

  • 时钟同步:SPI 使用时钟信号同步数据传输,不同设备间可能需要配置不同的时钟极性(CPOL)和相位(CPHA)。

  • 硬件连接:SPI 使用四条线(MISO、MOSI、SCLK 和 SS),比 UART 的两条线(TX、RX)多,需要更多的引脚。

  • 高速传输:SPI 支持较高的数据传输速率,但高速通信下电磁干扰和信号完整性问题变得更显著,需要仔细设计 PCB 布线。

    ②I2C (Inter-Integrated Circuit)

  • 多主多从:I2C 支持多主多从通信,需要管理总线仲裁和总线占用,这在硬件和软件设计上增加了复杂性。


  • 地址分配:每个从设备都有唯一的地址,主设备通过地址寻址从设备,涉及地址冲突和地址分配的问题。

  • 时钟同步:I2C 也使用时钟信号同步数据传输,但只有两条线(SDA 和 SCL),这些线需要上拉电阻以维持总线的高电平状态。

  • 位级握手:I2C 有位级的握手机制(如ACK/NACK信号),确保每个字节的传输成功,这需要额外的逻辑处理。

    ③CAN (Controller Area Network)

  • 多主多从:CAN 支持多主多从通信,使用基于优先级的仲裁机制,以确定哪个节点可以发送数据。这需要复杂的协议处理和硬件支持。

  • 错误检测与校正:CAN 协议内置了强大的错误检测和校正机制,如循环冗余校验(CRC)、位填充、确认应答等,提高了通信的可靠性,但也增加了协议的复杂性。

  • 消息过滤:CAN 节点可以基于消息 ID 对接收到的消息进行过滤,需要配置硬件滤波器或软件滤波器,增加了配置和编程的复杂性。

  • 高速通信:CAN 支持高速通信(如 CAN-FD),需要复杂的物理层和协议层设计,以保证在高噪声环境下的数据传输可靠性。

  • 相比 UART

  • 简单性:UART 是全双工通信,通常只需要两条线(TX、RX),硬件连接简单,无需时钟信号同步。

  • 没有从设备地址:UART 通信没有从设备地址和总线仲裁问题,通信协议和数据帧结构相对简单。

  • 软件实现简单:UART 的软件实现和配置相对简单,不需要处理复杂的握手、仲裁和错误检测机制


  • 独立性:

    • 主从关系灵活:UART通信没有主从设备的限制,设备之间可以自由地发送和接收数据。I2C和SPI都需要明确的主从关系,并且通常需要复杂的配置来处理多主多从环境。

    • 时钟独立:UART是异步通信,不需要共享时钟信号,而I2C和SPI都需要共享时钟信号,这对调试环境的灵活性有一定影响。


  • 广泛兼容性:

    • 通用性:几乎所有的微控制器和计算机都内置有UART接口,并且广泛支持串口通信软件,如PuTTY、Tera Term等,使得UART调试非常方便。

    • 常用工具支持:有大量的调试工具(如USB转串口适配器)支持UART,这些工具可以很方便地连接到PC进行调试。


  • 速度要求:

    • 适合调试速度:UART的速度通常能够满足调试需求,虽然I2C和SPI可以提供更高的速度,但对于大多数调试应用来说,UART的速度已经足够。


  • 软件支持:

    • 易于实现的驱动:UART驱动程序通常比I2C和SPI更容易实现,特别是在操作系统和嵌入式系统中,UART驱动程序更成熟、稳定。

    • 电脑上有各种串口助手可以使用,如果自己编程上位机,使用UART也非常方便


    总的来说,UART作为调试接口具有简单、灵活、兼容性好、资源占用少等优点,这使得它在许多调试场景中被广泛使用。


    声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
    0
    评论
    • 【7.24 深圳】2025国际AI+IoT生态发展大会/2025全球 MCU及嵌入式技术论坛


    • 相关技术文库
    • 工业
    • 安防
    • 航空
    • CAN
    • 单片机的I2C和SPI通信的含义

      I2C和SPI是两种不同的通信协议。 当我们听到这个协议时,它似乎是不可实现的。事实上,协议只是人们定义的一个标准。我们只需要按照这个标准去做。例如,如果公司说我们早上9点上班,我们9点上班,或者我们扣...

      昨天
    • 浅析基于MB86R01的汽车数字化虚拟仪表设计

      随着汽车、通信、信息电器、医疗、军事等行业的巨大的智能化需要,嵌入式软件及系统发展迅速。微处理器从8位到16位、32位甚至64位,从支持单一品种的CPU芯片到支持多品种的,从单一内核到除了内核外还提供其它功能...

      07-08
    • 基于蓝牙技术的汽车驾驶盘控制系统

      摘 要:介绍了一种基于蓝牙技术的方向盘控制系统设计方案。利用蓝牙传输技术实现汽车方向盘面板开关电子化优化设计,克服传统驾驶过程中需要低头找开关的弊端,使得大部分操作在方向盘上实现,汽车驾驶更便捷。控制...

      07-08
    • 逆变器有何注意事项?安装逆变器风扇有何要点?

      逆变器是一种转换器,在工业应用中,逆变器具有重要意义。对于逆变器,小编曾对逆变器的安装、离网逆变器等知识有所介绍。为增进大家对逆变器的认识,本文将对逆变器使用注意事项以及逆变器风扇安装注意事项予以解...

      07-07
    • 电气火灾监控系统

      电气火灾监控系统,特点在于漏电监控方面属于先期预报警系统。与传统火灾自动报警系统不同的是,电气火灾监控系统早期报警是为了避免损失,而传统火灾自动报警系统是为了减少损失。所以,这就是说为什么不管是新建...

      07-04
    • 基于C8051F500的数控恒流源设计

      本文给出了一种基于C8051F021和RA8835实现的低成本液晶显示方案。随着电子产品设计技术的不断发展,电子产品的设计,尤其是人机交互界面的设计日益趋向人性化。这其中的液晶显示屏以其具有能显示复杂文字及图形、显...

      07-02
    • 大佬带你谈谈步进电机,啥又是直流电机

      电机是诸多电子设备中都存在,由此可见电机的重要性。在往期文章中,小编对伺服电机、变频电机都有所介绍。为增进大家对电机的了解,本文将对步进电机和直流电机加以阐述。如果你对电机相关内容具有兴趣,不妨继续...

      06-27
    • 同步、异步电机有何区别?高、低速电机是什么?

      电机是工业设备中的重要存在之一,对于电机,大家应当有所了解。为增进大家对电机的了解,本文将对同步电机、异步电机、同步电机和异步电机的区别、高速电机和低速电机予以介绍。如果你对电机具有兴趣,不妨继续往...

      06-27
    • 步进电机知识详解,再不怕看不懂步进电机了!

      点击技成培训置顶,每日7:30准时为您推送

      06-26
    下载排行榜
    更多
    评测报告
    更多
    广告