讲师博文
UART和IrDA、LIN的关系 来源 : 华清远见     2023-11-01

UART(Universal Asynchronous Receiver/Transmitter)是一种通用的串行通信接口,常用于将数据以串行格式传输到外部设备或从外部设备接收串行数据。IrDA(Infrared Data Association)和LIN(Local Interconnect Network)是两种特定的通信协议,它们可以在UART硬件的基础上实现。

一、IRDA

IRDA红外通信是一种利用红外线传输信息的通信方式,可传输语言、文字、数据、图像等信息。

IrDA数据通信按发送速率分为三大类:SIR、MIR和FIR。串行红外(SIR)的速率覆盖了RS-232端口通常支持的速率(9600b/s~115.2kb/s)。MIR可支持0.576Mb/s和1.152Mb/s的速率;高速红外(FIR)通常用于4Mb/s的速率,有时也可用于高于S1R的所有速率。

IrDA即红外数据协会,全称The Infrared Data Association,是1993年6月成立的一个国际性组织,专司制订和推进能共同使用的低成本红外数据互连标准,支持点对点的工作模式。由于标准的统一和应用的广泛,更多的公司开始开发和生产IrDA模块,技术的进步也使得IrDA模块的集成越来越高,体积也越来越小。IrDA1.0可支持最高115.2kbps的通信速率,而IrDA1.1可以支持的通信速率达到4Mbps。

以STM32F7举例,只能支持IrDA1.0协议。控制器做的就是波形转换。如下图:

通过串口发送数据,控制器转换成IrDA相应的波形,再通过外接的驱动器、LED发射出去。接收也一样。接收信号,解码接收。

二、LIN

LIN(Local Interconnect Network)是一种串行通信协议,特别用于汽车和工业应用中的电子控制单元(ECU)之间的通信。LIN的设计目标是提供一种低成本、低带宽和低复杂度的通信解决方案,适用于车辆内部的各种控制和监视任务。

以下是关于LIN协议的一些关键特点和概念:

1、主从结构: LIN网络通常由一个主站和多个从站组成。主站通常是车辆上的主要控制单元,而从站可以是各种辅助设备或传感器。主站负责发送命令和请求,而从站响应并提供相应的数据。

2、低速通信: LIN通常以较低的数据传输速率进行通信,典型的速率为19.2 Kbps。这对于多数车辆内部的任务足够,而且有助于减少成本和功耗。

3、数据帧: LIN通信使用特定格式的数据帧,其中包括同步字段、标识符、数据和校验位。每个从站都有一个唯一的标识符,主站使用这些标识符来选择要与之通信的从站。

4、周期性通信: LIN通信通常是周期性的,用于传输控制命令和获取传感器数据。这对于实时控制和监测任务非常重要。

5、低成本: LIN设计用于降低成本。它通常使用单线物理层(单线通信总线),这有助于减少线束的复杂性和成本。

6、错误处理: LIN协议包括一些错误检测和纠正机制,以确保数据的可靠传输。这对于车辆内部通信非常重要,因为存在干扰和噪声。

7、应用领域: LIN通常用于车辆内部,用于控制车辆的许多不同方面,如窗户升降、灯光控制、座椅调节、空调控制等。它还在工业自动化等领域得到应用。

LIN是一种专门用于低成本、低速率、周期性通信的串行通信协议,特别适用于车辆内部的控制和监视任务。它的主要优势在于降低了系统成本、简化了线束布线,同时提供了足够的性能来满足这些应用领域的需求。

三、总结

UART:UART是一种通用的串行通信接口,通常用于在微控制器、计算机和外部设备之间传输数据。它使用异步通信,即发送和接收的数据不需要时钟同步。UART硬件提供了发送和接收数据的能力,通常包括一个发送缓冲区和一个接收缓冲区,以及波特率控制和数据位控制等功能。UART本身并不关心传输的数据内容,只提供物理层的串行通信。

IrDA:IrDA是一种红外线数据通信协议,用于通过红外线传输数据。它可以在UART硬件上实现,通常需要特定的硬件支持红外通信。IrDA定义了数据传输的物理层和数据链路层规范,以确保数据的可靠传输。通常,IrDA通信使用UART硬件进行物理层传输,然后使用IrDA协议处理数据。

LIN:LIN是一种局域网通信协议,专门用于在汽车和工业应用中的电子控制单元(ECU)之间进行通信。与UART不同,LIN是更高级别的协议,定义了数据帧结构、通信速率、错误处理等。通常,LIN通信可以在UART硬件的基础上实现,但需要特定的LIN传输协议栈来处理数据。

总结来说,UART是通用的串行通信接口,而IrDA和LIN是特定的通信协议,它们可以在UART硬件的基础上实现,但需要额外的协议处理来满足特定的通信需求。 IrDA用于红外通信,而LIN用于车辆和工业领域的局域网通信。UART可以作为底层物理层接口来支持这两种协议。

 

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:如何用好 C 语言函数的返回值

下一篇:C++程序的编辑、编译和运行(C语言的局限C++的特点C++ 程序特征)

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号