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

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

3天内不再提示

嵌入式常用总线有哪些

CHANBAEK 来源:网络整理 2024-09-10 11:34 次阅读

嵌入式系统中常用的总线种类繁多,它们各自具有不同的特点和应用场景。以下将详细介绍几种嵌入式开发中常用的总线,包括UARTI2C、SPI、RS-232、RS-485CAN以及USB等,每种总线将从其定义、特点、工作原理、应用场景等方面进行阐述。

1. UART(通用异步收发器

定义与特点

UART(Universal Asynchronous Receiver/Transmitter)是一种广泛使用的串行通信协议,通过两根数据线(Tx发送、Rx接收)实现全双工通信。UART通信是异步的,即通信双方不需要共同的时钟信号,而是通过约定好的波特率(每秒传输的比特数)来同步数据。UART通信简单、灵活,适用于短距离、低速率的通信场景。

工作原理

UART通信以帧为单位传输数据,每帧包括起始位、数据位、可选的校验位和停止位。起始位为低电平,用于通知接收方数据开始传输;数据位通常为5到8位,根据双方约定而定;校验位用于检查数据传输过程中的错误,可选奇校验、偶校验或无校验;停止位为高电平,用于表示一帧数据的结束。

应用场景

UART常用于嵌入式系统与外设之间的通信,如MCU与GPS模块、蓝牙模块、串口屏等设备的通信。此外,UART还广泛应用于计算机与外设之间的通信,如串口鼠标、串口键盘等。

2. I2C(Inter-Integrated Circuit)

定义与特点

I2C(Inter-Integrated Circuit)总线是一种由Philips公司推出的同步串行通信协议,具有接口线少、控制方式简化、通信速率较高等优点。I2C总线采用两根信号线(SDA数据线、SCL时钟线)进行通信,支持多主机多从机系统,通过地址识别通信对象。

工作原理

I2C通信过程包括起始信号、地址字节、数据字节和应答信号等。起始信号由主机发出,随后主机发送一个地址字节(包括7位从机地址和1位读写方向位),被寻址的从机发送应答信号回应主机。之后,主机和从机之间可以连续发送多个数据字节,每个数据字节后面都跟随一个应答信号。通信结束后,主机发送终止信号释放总线。

应用场景

I2C总线广泛应用于嵌入式系统中的各种传感器、EEPROM实时时钟等设备的通信。由于其接口线少、通信速率适中,非常适合于对引脚资源有严格要求的嵌入式系统。

3. SPI(Serial Peripheral Interface)

定义与特点

SPI(Serial Peripheral Interface)总线是一种高速、全双工、同步的串行外设接口,广泛应用于MCU与各种外设之间的通信。SPI总线采用主从模式架构,至少包括四根信号线(MISO、MOSI、SCLK、CS),其中MISO为主设备输入从设备输出线,MOSI为主设备输出从设备输入线,SCLK为时钟信号线,CS为片选信号线。

工作原理

SPI通信过程中,主设备通过控制时钟信号线SCLK来同步数据传输。在时钟信号的每个边沿(上升沿或下降沿),主设备和从设备之间可以交换一位数据。SPI通信没有起始信号和终止信号,数据以帧为单位连续传输。

应用场景

SPI总线广泛应用于需要高速通信的场合,如MCU与FLASH、ADC、LCD等设备之间的通信。由于其通信速率高、接口简单,SPI总线在嵌入式系统中得到了广泛应用。

4. RS-232

定义与特点

RS-232是美国电子工业协会(EIA)制定的一种串行物理接口标准,广泛应用于计算机与外设之间的通信。RS-232接口采用单端信号传输方式,存在共地噪声和不能抑制共模干扰等问题,因此通信距离较短(一般不超过15米)。

工作原理

RS-232接口通过三根信号线(TXD发送线、RXD接收线、GND地线)实现全双工通信。数据传输速率可根据双方约定而定,但受到接口电气特性的限制。

应用场景

RS-232接口常用于计算机与调制解调器、打印机等外设之间的通信。尽管其通信距离较短,但在一些特定场合下仍具有不可替代的作用。

5. RS-485

定义与特点

RS-485是一种基于差分信号传输的串行通信标准,具有通信距离远(可达数千米)、抗干扰能力强等优点。RS-485接口采用两线制(A线和B线),通过差分信号传输数据,有效抑制了共模干扰。

工作原理

RS-485通信过程中,发送器将TTL电平信号转换为差分信号后发送出去,接收器则将接收到的差分信号转换为TTL电平信号进行处理。RS-485接口支持多节点通信,可以方便地构建分布式系统。

应用场景

RS-485接口广泛应用于工业自动化智能仪表、远程监控等领域,特别是在需要长距离通信和多点互连的场合下具有显著优势。

6. CAN(Controller Area Network)

定义与特点

CAN总线是一种高度可靠的、多主机的消息广播系统,广泛应用于汽车和工业自动化领域进行设备之间的通信。CAN总线采用差分信号传输方式,具有通信距离远、抗干扰能力强、通信速率高等优点。

工作原理

CAN总线通信过程中,每个节点都可以作为发送器或接收器。发送器将待发送的数据打包成数据帧后发送到总线上,接收器则根据数据帧中的标识符来判断是否接收该数据帧。CAN总线还支持优先级控制功能,确保重要数据能够优先传输。

应用场景

CAN总线广泛应用于汽车控制系统、工业自动化控制系统等领域。在汽车控制系统中,CAN总线实现了ECU(电子控制单元)之间的高效通信;在工业自动化控制系统中,CAN总线则用于连接各种传感器、执行器等设备实现集中控制。

7. USB(Universal Serial Bus)

定义与特点

USB是一种由多家计算机和通信公司共同推出的新型接口标准,具有即插即用、传输速度快、支持热插拔等优点。USB接口采用四线制(Vcc电源线、GND地线、D+数据线、D-数据线),支持多种数据传输速率和多种设备类型。

工作原理

USB通信过程中,主机通过轮询方式检测连接到总线上的设备并与之进行通信。每个设备都有一个唯一的设备描述符用于标识自身信息。USB通信协议包括控制传输、批量传输、中断传输和同步传输等多种传输类型以满足不同应用场景的需求。

应用场景

USB接口广泛应用于计算机与外设之间的通信以及移动设备之间的数据传输。随着USB技术的不断发展和完善,USB接口已经成为计算机和移动设备中不可或缺的接口之一。

综上所述,嵌入式系统中常用的总线包括UART、I2C、SPI、RS-232、RS-485、CAN以及USB等。每种总线都具有其独特的特点和应用场景,在嵌入式系统设计中应根据具体需求选择合适的总线类型以实现高效、可靠的通信。

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

    关注

    40

    文章

    3519

    浏览量

    128796
  • 总线
    +关注

    关注

    10

    文章

    2815

    浏览量

    87696
  • uart
    +关注

    关注

    22

    文章

    1199

    浏览量

    100821
收藏 人收藏

    评论

    相关推荐

    嵌入式开发中常用总线与接口汇总

    盘点嵌入式开发中常用总线与接口
    发表于 02-01 07:25

    嵌入式开发常用的系统

    嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统μcos,vxworks,linux,android等。当然,对于嵌入式或单片机
    发表于 08-06 06:29

    嵌入式系统总线

    慕课电子科技大学.嵌入式系统.第二章.嵌入式硬件系统(第一部分.嵌入式系统总线0 目录2 嵌入式硬件系统(第一部分)2.4
    发表于 12-22 07:49

    常用嵌入式芯片哪些

    来具体聊一聊一些常用嵌入式芯片的优劣和适用场景。推荐一些特点优势的芯片给大家。首先还是先说说我们最喜欢的STM32系列。STM32到底
    发表于 12-23 06:01

    调试嵌入式处理器常用的方法哪些?

    调试嵌入式处理器常用的方法哪些?
    发表于 12-24 06:08

    嵌入式通信总线的相关资料分享

    一、嵌入式通信总线概述:①、嵌入式开发中常用的几种通信接口总结:https://mp.weixin.qq.com/s/8ffgJv6znNAAdCSsm5CpIQ②、UART、I2C、
    发表于 12-24 08:29

    嵌入式常用的开源库是什么

    阅读目录 linux/嵌入式常用开源库列表其他资料参考资料linux下/嵌入式常用的开源库名字及简介,使用文档和教程可以自己百度 (自己整理,不定时完善) linux/
    发表于 12-24 06:53

    嵌入式操作系统哪些?

    嵌入式操作系统哪些? 下面介绍国外和国内常用的实时操作系统。1. 国外著名的实时操作系统国
    发表于 06-17 00:32 1.3w次阅读

    基于CAN总线嵌入式汽车仪表设计

    基于CAN总线嵌入式汽车仪表设计
    发表于 09-23 17:35 258次下载

    基于CAN总线嵌入式汽车仪表设计

    基于CAN总线嵌入式汽车仪表设计
    发表于 01-24 16:54 16次下载

    示波器解决嵌入式系统中串行总线设计

    通信及与外部世界通信。然而今天,嵌入式系统设计中使用的越来越多的构件将用串行总线代替并行总线,这也给嵌入式系统设计人员带来了重大挑战。本文讨论了嵌入
    发表于 01-25 15:33 1次下载
    示波器解决<b class='flag-5'>嵌入式</b>系统中串行<b class='flag-5'>总线</b>设计

    嵌入式Linux下CAN接口调试

    CAN(Controller Area Network)总线嵌入式设备最为常用的接口之一,常用于汽车以及工业自动化等嵌入式领域,因此本文就
    发表于 04-29 16:40 3188次阅读

    嵌入式常用的开源库

    阅读目录linux/嵌入式常用开源库列表其他资料参考资料linux下/嵌入式常用的开源库名字及简介,使用文档和教程可以自己百度 (自己整理,不定时完善)linux/
    发表于 10-20 19:20 5次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>常用</b>的开源库

    嵌入式Linux常用GUI系统

    嵌入式Linux常用GUI系统【整理】嵌入式Linux中常用的GUI(图形用户界面)系统Embeddedcrifan7年前 (2012-08-31)1502浏览0评论网上找了一堆资料,
    发表于 11-01 16:31 4次下载
    <b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>常用</b>GUI系统

    嵌入式常用数据结构哪些

    嵌入式编程中,数据结构的选择和使用对于程序的性能、内存管理以及开发效率都具有重要影响。嵌入式系统由于资源受限(如处理器速度、内存大小等),因此对数据结构的选择和使用尤为关键。以下是嵌入式编程中
    的头像 发表于 09-02 15:25 215次阅读