AutoSar通信服务—车载LIN总线详解

news2024/10/3 17:04:31

文章目录

      • 诞生背景和应用场景
      • LIN总线硬件接口
      • LIN总线协议
        • 1. 架构
        • 2. 数据帧格式
        • 通信过程
        • 帧类型
        • 主节点的角色
        • 错误检测
      • LIN总线应用举例—获取四个车门状态
        • 1. 架构概述:
        • 2. 通信流程:
        • 3. 数据传输示例:
        • 4. 状态更新和处理:
        • 5. LIN通信调度:
      • LIN总线诊断应用流程
        • LIN诊断应用的关键要素
        • LIN诊断通信的工作流程
        • LIN诊断帧的构成
        • 诊断帧的两种类型
      • LIN诊断通信中LIN TP的作用
        • LIN TP的基本流程

诞生背景和应用场景

LIN总线(Local Interconnect Network)是一种低成本、低速率的串行通信总线,主要应用于汽车电子领域。它的诞生背景和应用场景如下:

  1. 背景:

    • 成本压力: 汽车制造商需要降低成本,特别是对于辅助功能和车内通讯系统。
    • 功能要求: 需要一种低复杂度、低功耗的通信解决方案,以满足车辆电子系统之间的基本通信需求。
  2. 应用场景:

    • 车身电子控制单元(ECU)通信: LIN总线通常用于连接车内各种辅助设备的控制单元,如窗户升降控制、座椅调节、天窗控制等。这些设备通常不需要高速率或复杂的通信协议,LIN提供了足够的带宽和简单的通信机制。
    • 门控系统: 控制车门锁、窗户升降等功能。
    • 照明系统: 控制车内和车外的照明设备。
    • 座椅控制: 调节座椅位置、加热、通风等功能。
    • 信息娱乐系统: 控制音响系统、显示屏等。
    • 车身控制模块: 管理车身上的各种传感器和执行器的通信。

LIN总线因其简单、低成本的特点,在车辆内部的辅助系统和控制单元中得到了广泛应用。它与其他高速率总线(如CAN总线)相比,不同点在于其通信速率低(通常在19.2 kbit/s到20 kbit/s之间),但适合于不需要高速率通信的应用场景,同时具备较低的功耗和成本优势。

在这里插入图片描述

LIN总线和CAN总线在汽车电子系统中常常一起配合工作,以实现不同功能需求的通信。这两者的结合通常体现在不同类型的控制单元中,它们各自负责不同的任务并通过特定的方式互联。以下是LIN和CAN配合工作的机制:

  1. 分层结构:

    • CAN总线: 主要负责高带宽、实时性强的通信需求,常用于动力总成控制系统、底盘控制系统、安全系统(如ABS、ESP)等重要模块之间的通信。
    • LIN总线: 通常用作CAN总线的补充,处理较低优先级和低带宽需求的通信。LIN总线主要用于车内非关键性设备的通信,如车窗、座椅、车灯等。
  2. 主从架构:

    LIN总线采用主从架构,而CAN总线是多主架构。它们之间的协作通常通过一个网关节点实现,这个节点既连接CAN总线又连接LIN总线,并负责在两者之间进行数据交换。

  3. 网关节点:

    网关节点是一个具有双总线接口的ECU,能够在LIN总线和CAN总线之间传递信息。它的作用包括:

    • 协议转换: CAN总线和LIN总线之间的通信协议不同,网关节点可以将CAN帧转换为LIN帧,反之亦然。
    • 数据管理和同步: 网关根据数据优先级、带宽需求和时序要求来调度LIN与CAN之间的数据传输。例如,从CAN总线上接收到的指令可能需要传递给LIN网络中的某个设备,网关将数据缓存在一定的时间窗口内,按照LIN的主从通信规则传送给相应的设备。
  4. 典型应用场景:

    • 车门模块: 车门模块可以通过LIN总线控制车窗、座椅、镜子等低速通信设备,而车门模块本身通过CAN总线与车辆的中央控制器通信。中央控制器接收到的CAN指令通过网关转换为LIN信号,再由LIN总线控制相关设备执行操作。
    • 空调系统: 中央空调控制模块通过CAN总线接收来自驾驶员控制面板的命令,然后通过LIN总线控制风扇、温度调节器等设备。
  5. 优点:

    • 优化资源使用: CAN总线负责高优先级、关键性的通信任务,而LIN总线则处理低优先级和低速通信任务,减少CAN总线的负载。
    • 降低成本: 通过LIN总线连接不需要高速通信的设备,可以减少对高速CAN节点的依赖,从而降低系统整体的成本。
    • 减少布线复杂度: 采用LIN总线可以减少系统的线缆

LIN总线硬件接口

和大部分通讯总线一样,LIN总线也是由LIN控制器和收发器组成。LIN的控制器是基于UART数据格式,采用单主多从设备的模式。是 UART的一种特殊模式。一般控制器会集成在MCU内部,只需要配置寄存器就能使能LIN通信

在这里插入图片描述

LIN总线协议

LIN总线协议(Local Interconnect Network)是一种专为汽车电子系统设计的低成本、低速率的串行通信协议。它采用单主多从架构,主要用于车内非关键系统的通信,如车窗、座椅、车灯等控制。以下是LIN总线协议的主要组成部分和工作原理:

1. 架构

LIN协议采用主从架构,总线上的所有通信由主节点控制,主节点发起通信并调度从节点的响应。典型的架构包括一个主节点和多个从节点(最多16个从节点)。所有从节点都被动监听总线,只有在主节点发出请求时,指定的从节点才会进行数据传输。

2. 数据帧格式

LIN总线采用帧结构来传输数据,典型的LIN帧由报文头响应部分组成。一个完整的LIN帧包括以下几部分:

2.1 报文头(Header)

  • 同步间隔(Break Field): 用于标记数据帧的开始,长度一般为13位的低电平信号,确保所有从节点都能检测到即将到来的通信。
  • 同步字段(Sync Field): 一个固定的字节(0x55),用于同步从节点的时钟,使所有节点能够根据该同步信号调整它们的采样时间。
  • 标识符字段(Identifier Field): 用于标识当前帧的功能或目的,6位数据位加上2位奇偶校验位。标识符指定帧的类型,以及哪个从节点应该响应。

2.2 响应部分(Response)

  • 数据字段(Data Field): 实际的数据信息,由1到8个字节组成,可以是主节点或从节点发送。
  • 校验和字段(Checksum Field): 用于错误检测,计算方式可以是经典的LIN 1.3校验(仅基于数据字段),或LIN 2.0增强校验和(包括标识符)。

具体形式如下所示

  1. 通信过程
    • 主节点发起通信: LIN总线的通信完全由主节点控制。主节点周期性地向总线发送报文头,包括同步字段和标识符字段。

    • 从节点响应: 从节点根据接收到的标识符决定是否发送响应数据。如果报文头中指定了该从节点,它将在响应部分中发送数据。如果未指定该从节点,则保持监听状态。

      在这里插入图片描述

    • 数据传输: 传输的数据可以是主节点发送给从节点的,也可以是从节点发送给主节点的,具体取决于标识符。

  2. 帧类型

    LIN协议定义了几种不同类型的帧,用于不同的通信需求:

    • 无应答帧(Unconditional Frame): 主节点发出请求,从节点按预定协议响应。这种帧常用于固定周期的数据传输。
    • 事件触发帧(Event-Triggered Frame): 主节点发出包含一组标识符的帧,从节点只有在某个特定事件发生时才会发送响应。
    • 诊断帧(Diagnostic Frame): 用于传输诊断和配置信息。这种帧的标识符是保留的,用于专门的诊断通信。
  3. 主节点的角色

    主节点不仅仅负责发起通信,还需要管理整个总线的调度。主节点有一个调度表,规定在特定的时间间隔内发送哪些帧。通过调度表,主节点确保所有从节点的通信按时发生,避免总线冲突。

  4. 错误检测

    LIN协议提供了一些简单的错误检测机制,主要包括:

    • 校验和: 用于验证数据的完整性,如果校验和不匹配,接收方将丢弃数据。
    • 奇偶校验: 标识符字段中的两个校验位用于检测标识符传输中的错误。

LIN总线应用举例—获取四个车门状态

每个车门可能都有一个独立的LIN从节点来监控门的状态(开关状态、锁定状态等),而车身控制单元(BCM, Body Control Module)作为LIN总线的主节点,负责与各个车门节点通信并获取它们的状态。LIN总线拓扑结构是主从结构的星型模型,所有传输都是Master发起,Slave不能主动发起请求,想要获取某个变量值,就需要不断轮询对应的状态。

1. 架构概述:
  • 主节点:车身控制单元(BCM)是LIN总线的主节点,它负责发起与四个车门LIN从节点的通信,周期性地查询各个车门的状态。
  • 从节点:每个车门上有一个LIN从节点,负责检测车门的状态(例如:车门是否关闭、是否锁定)并将其状态信息通过LIN总线返回给主节点。
2. 通信流程:
  1. **主节点发送报文头:**
     - BCM作为主节点,按照预设的调度表,定期向每个车门的LIN从节点发送报文头。每个报文头包含一个特定的标识符(ID),用于指定哪个从节点应响应。
     - 假设每个车门的状态使用不同的标识符,例如:
       - 标识符 0x01:请求左前门的状态
       - 标识符 0x02:请求右前门的状态
       - 标识符 0x03:请求左后门的状态
       - 标识符 0x04:请求右后门的状态

  2. 从节点响应:
     - 当某个车门的LIN从节点接收到匹配的标识符后,它会通过LIN总线返回数据。这个响应数据字段可能包括车门的当前状态,例如:
       - 位0:车门是否关闭(1表示关闭,0表示打开)
       - 位1:车门是否锁定(1表示锁定,0表示解锁)
     - 例如,假设响应数据为`0x03`,表示车门已关闭且已锁定。

  3. 数据传输顺序:
     - 主节点按照一定的时间表轮询每个车门的状态。通常,BCM会首先发送同步信号和标识符,然后各个车门的从节点在指定的时间窗口内发送响应数据。
3. 数据传输示例:
  1. 获取左前门状态:
     - 主节点发送报文头,包含标识符 0x01,表示查询左前门的状态。
     - 左前门从节点接收标识符 0x01,检测车门状态(假设车门已关闭且已锁定),并发送响应数据`0x03`。
     - 主节点接收到响应后,将解析数据,并更新车门状态信息。

  2. 获取右前门状态:
     - 主节点发送报文头,标识符 0x02,用于查询右前门的状态。
     - 右前门从节点返回数据`0x01`,表示车门打开,未锁定。

  3. 按顺序轮询其他车门状态:
     - 主节点继续按类似方式发送报文头,依次查询左后门和右后门的状态。
4. 状态更新和处理:
  • 当BCM轮询完所有车门的状态后,它将所有结果存储在内存中,以便车内其他系统(如中控锁、报警系统)根据车门的状态采取行动。如果某个车门未关好或者未锁定,可能会触发警告或安全锁定功能。
5. LIN通信调度:
  • 主节点通常有一个预先设定的调度表,定期轮询每个车门的状态。例如,车身控制单元每隔100毫秒查询一次四个车门的状态,以确保系统能快速响应用户的操作(如车门的开关或锁定)。

LIN总线诊断应用流程

在LIN(Local Interconnect Network)总线上,诊断应用主要用于检测、报告和处理车辆中的电子控制单元(ECU)的故障以及监控系统的状态。这种诊断功能在汽车中尤为重要,确保系统能够及时发现问题,保障安全性和稳定性。在AUTOSAR架构中,LIN诊断功能也是通信服务层的一部分,并与诊断通信协议(如UDS)结合使用。

LIN诊断应用的关键要素
  • 诊断服务:LIN网络中的诊断服务用于检查ECU的健康状态、读取错误码、清除错误码、监控系统运行状态等功能。这些服务通常依赖于诊断协议,如UDS(Unified Diagnostic Services)。
  • 诊断请求和响应帧:LIN网络上的诊断功能通过特定的诊断帧进行通信。诊断帧主要包括:
    • Master Request Frame(主节点请求帧):用于主节点发起诊断请求。
    • Slave Response Frame(从节点响应帧):从节点根据请求发送诊断响应。
  • 故障存储:每个从节点通常会具有故障存储功能,用于记录ECU的错误状态。在诊断时,主节点可以请求从节点读取这些故障存储中的数据,了解潜在问题。
  • 诊断会话:诊断会话是进行高级诊断操作的状态。例如,写入新配置参数或执行ECU重置等。这些会话通常需要认证或特定的安全解锁步骤。
LIN诊断通信的工作流程

LIN诊断应用的工作流程通常如下:

  1. 主节点发起诊断请求:主节点通过发送“Master Request Frame”向从节点发起诊断请求,例如读取ECU的故障码或状态信息。
  2. 从节点处理诊断请求:从节点接收到诊断请求后,会根据请求类型执行相应的操作,例如从故障存储读取错误码,或执行特定的测试操作。
  3. 从节点发送响应帧:从节点完成诊断请求后,通过“Slave Response Frame”将诊断结果或数据返回给主节点。
  4. 主节点处理诊断数据:主节点接收到从节点的响应后,处理相关诊断信息,并在必要时执行后续的动作,比如清除错误码或发出进一步的诊断命令。
LIN诊断帧的构成

诊断通信是通过特定的 诊断帧(Diagnostic Frame) 来进行的。诊断帧的构成与普通的 LIN 数据帧略有不同,通常使用 0x3C 和 0x3D 的帧ID 来标识。诊断通信主要用于传输诊断请求和响应数据,比如读取故障码、ECU配置等。

诊断帧的两种类型
  1. 主节点请求帧(Master Request Frame,ID=0x3C)
  • 这是主节点向从节点发起诊断请求的帧。在数据域中,主节点可以请求从节点的诊断信息或发送控制命令。

结构

  • Frame ID: 0x3C
  • Data: 8字节的诊断请求数据
  • Checksum: 校验和

例子:主节点请求从节点提供ECU故障码。

  1. 从节点响应帧(Slave Response Frame,ID=0x3D)
  • 当从节点接收到主节点的诊断请求后,使用 0x3D ID 发送诊断响应帧。数据域中包含响应数据,如故障码或其他诊断信息。

结构

  • Frame ID: 0x3D
  • Data: 8字节的诊断响应数据
  • Checksum: 校验和

例子:从节点返回主节点请求的诊断数据,如故障码或传感器状态。

诊断请求帧通常由以下几部分构成:

  • NAD: 用于标识目标从节点。
  • PCI (Protocol Control Information): 用于描述数据传输的控制信息。
  • SID (Service Identifier): 表示具体的诊断服务,例如读DTC、发送数据等。
  • 数据字节: 具体的诊断数据。

根据官方文档来看

在这里插入图片描述

稍微翻译一下,其中NAD (Node Address Identifier) 代表了节点的地址,以便主节点能够在多从节点的网络中准确地与特定的从节点进行通信。

在这里插入图片描述

LIN诊断通信中LIN TP的作用

LIN TP(Transport Protocol) 是为了在 LIN总线 上支持大数据量的传输而设计的协议,因为标准的 LIN帧 每次最多只能传输 8字节 的数据。在某些应用场景下,特别是诊断服务或固件更新过程中,往往需要传输更大的数据量,因此引入了LIN TP来实现更大数据块的传输。

与CAN TP的功能类似—都是通过将大数据包分割成多个小帧,并通过帧序列的方式来逐个发送这些小帧。传输协议保证了各个帧的顺序以及整个数据块的完整性

LIN TP通常用于以下两类通信:

  • 单帧通信(Single Frame):适用于数据量小于或等于8字节的情况。一个帧就能完成数据传输,不需要进一步分割。
  • 多帧通信(Multi-Frame Transmission):当需要传输的数据大于8字节时,使用多帧传输,LIN TP将数据分成多个帧发送,并通过 分段和组装 来实现大数据包的完整传输。

在LIN TP中有两类主要的帧,用来支持多帧传输过程:

  • SF(Single Frame,单帧):用于小于或等于8字节的数据传输,一次性传输全部数据。
  • FF(First Frame,首帧):用于多帧传输的第一个帧,携带了要传输的总数据长度信息。首帧的前几字节包含数据长度,后面的字节则是实际的数据。
  • CF(Consecutive Frame,连续帧):在多帧传输中,首帧之后的后续帧,依次传输剩余的数据。
  • FC(Flow Control,流控制帧):接收方用来通知发送方是否可以继续发送连续帧,控制流的发送速度。
LIN TP的基本流程

在多帧通信中,LIN TP的传输流程通常如下:

  1. 发送首帧(FF)
    • 当发送的数据大于8字节时,发送方首先发送一个首帧(FF)。该帧包含了总的数据长度以及首部分数据。
  2. 流控制(FC)
    • 接收方在接收到首帧后,发送流控制帧(FC),通知发送方可以继续发送连续帧。
  3. 发送连续帧(CF)
    • 发送方收到流控制帧后,开始分段发送剩余的数据,直到所有数据发送完成。
  4. 接收与组装
    • 接收方根据帧序列号按顺序接收数据,并将所有的连续帧组装成一个完整的数据包。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2186567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MFC工控项目实例二十二主界面计数背景颜色改变

承接专栏《MFC工控项目实例二十一型号选择界面删除参数按钮禁用切换》 1、在SEAL_PRESSUREDlg.h文件中添加代码 class CSEAL_PRESSUREDlg : public CDialog { public: CBrush m_brush1;CBrush m_brush2;CBrush m_brush3;... } 2、在SEAL_PRESSUREDlg.cpp文件中添加代码 BO…

汇编语言知识(王爽第四版)

汇编语言,当然,我们学习是在c语言的基础上,那么,我们就先复习一下c语言的知识 C语言的基础,进制转换必不可少 数组,函数…… 接下来,我们学习了数据结构:顺序表,链表&…

【C++】——类和对象(上)

【C】——类和对象(上) 文章目录 【C】——类和对象(上)前言1. 类的定义1.1 类定义格式1.2 访问限定符1.3 类域 2. 实例化2.1 实例化概念2.2 对象的大小 3. this指针4. C和C语言实现Stack对比结语 前言 小伙伴们大家好呀,今天我们就开始学习C的重点及难点——类和对…

华为云+WordPress+Puock主题搭建个人博客

网站访问地址:qingxuly.cn 搭建网站 购买华为云服务器,购买域名,进行备案,配置域名解析等操作,请参考华为云文档。 安装Ubuntu系统 华为云控制台中给云服务器安装Ubuntu2204。 配置服务器安全组 华为云安全组中创建安…

用HTML CSS JS打造企业级官网-源码直接可用

页面效果&#xff1a;本前端网站应用多个JS特效 1.index.html&#xff1a; <!DOCTYPE html> <html lang"zxx"> <head><title>蓝网团队</title><meta name"viewport" content"widthdevice-width, initial-scale1&q…

C++之多线程

前言 多线程和多进程是并发编程的两个核心概念,它们在现代计算中都非常重要,尤其是在需要处理大量数据、提高程序性能和响应能力的场景中。 多线程的重要性: 资源利用率:多线程可以在单个进程中同时执行多个任务,这可以更有效地利用CPU资源,特别是在多核处理器上。 性…

量化交易backtrader实践(三)_指标与策略篇(2)_内置指标A开头

在第1节中&#xff0c;我们学习了移动平均线的原理&#xff0c;中位数以及正态分布的概念&#xff0c;并通过python手工做了一个双均线的策略回测。了解了怎么用pandas计算移动平均线&#xff08;rollingmean)&#xff0c;怎么得到某一列上1个的值&#xff08;shift)&#xff0…

DOM树(上) -- 第七课

文章目录 前言一、DOM是什么&#xff1f;二、基础用法1.DOM树2. 获取元素1. id2. 标签3. name4. HTMLS新增的获取的方法1. 根据类型获取2. 根据querySelector获取 3. 事件基础1. 概述2. 事件三要素3. 操作元素内容1. 操作内容2. 操作属性3. 案例 4. 操作元素样式5. 案例 -- 显示…

【JDK动态代理】JDK动态代理:为何只能代理接口和接口实现类

在Java开发中&#xff0c;JDK动态代理是一种非常有用的技术&#xff0c;它允许开发者在不修改目标类代码的情况下&#xff0c;为目标类添加额外的功能。然而&#xff0c;JDK动态代理的使用有一些限制&#xff0c;特别是它只能代理接口和接口实现类。本文将深入探讨这一限制的原…

​IAR全面支持国科环宇AS32X系列RISC-V车规MCU

全球领先的嵌入式系统开发软件解决方案供应商IAR与北京国科环宇科技股份有限公司&#xff08;以下简称”国科环宇”&#xff09;联合宣布&#xff0c;最新版本IAR Embedded Workbench for RISC-V将全面支持国科环宇AS32X系列RISC-V MCU&#xff0c;双方将共同助力中国汽车行业开…

云原生(四十一) | 阿里云ECS服务器介绍

文章目录 阿里云ECS服务器介绍 一、云计算概述 二、什么是公有云 三、公有云优缺点 1、优点 2、缺点 四、公有云品牌 五、市场占有率 六、阿里云ECS概述 七、阿里云ECS特点 阿里云ECS服务器介绍 一、云计算概述 云计算是一种按使用量付费的模式&#xff0c;这种模式…

捕获Net-NTLM HASH 实验

1. Responder监听 sudo ./Responder.py -I eth0 -wv2. 触发NTLM请求 0x01. LLMNR && NBNS协议 winR : //asdasdasd0x02. 打印机漏洞 krbrelayx下的printerbug.py&#xff1a; 注意&#xff0c;这个凭据不是DC的&#xff0c;只要是个域用户都可以。后面是攻击目标&…

Linux中的进程间通信之管道

管道 管道是Unix中最古老的进程间通信的形式。 我们把从一个进程连接到另一个进程的一个数据流称为一个“管道” 匿名管道 #include <unistd.h> 功能:创建一无名管道 原型 int pipe(int fd[2]); 参数 fd&#xff1a;文件描述符数组,其中fd[0]表示读端, fd[1]表示写端 …

p2p、分布式,区块链笔记: Libp2p分散打孔 2022 IEEE 第 42 届分布式计算系统国际会议研讨会 (ICDCSW)

Decentralized Hole Punching 我们提出了一种内置于对等网络库 libp2p [1] 中的去中心化打洞机制。打洞对于对等网络至关重要&#xff0c;它使每个参与者能够直接与任何其他参与者通信&#xff0c;尽管被防火墙和 NAT 隔开。去中心化的 libp2p 打洞协议利用了类似于 STUN&…

Vivado - BD(差分时钟、简单分频、RESET、KEY)

目录 1. 简介 1.1 要点 1.2 buffer 介绍 2. vivado 工程 2.1 Block Design 2.2 IBUFDS 2.3 BUFGCE_DIV 2.4 Processor System Reset 2.5 key_mod 2.6 led_drv 3. 编译与调试 3.1 XDC 3.2 Debug 4. 总结 1. 简介 1.1 要点 了解 Utility Buffer v2.2 中的 Buffer…

关于HTML 案例_个人简历展示01

案例效果展示 代码 <!DOCTYPE html> <lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>个人简历信息</title> </he…

C语言高阶【1】--动态内存管理【1】(可以灵活的申请和使用内存,它不香吗?)

本章概述 为什么要有动态内存分配&#xff1f;malloc函数和free函数calloc函数和realloc函数常见的动态内存的错误彩蛋时刻&#xff01;&#xff01;&#xff01; 为什么要有动态内存分配&#xff1f; 情况描述&#xff1a;当我们创建一个变量时&#xff0c;比如&#xff0c;i…

《中安未来护照阅读器 —— 机场高效通行的智慧之选》

在机场&#xff0c;高效与准确的旅客信息处理至关重要。中安未来护照阅读器&#xff0c;为机场带来全新的智能化体验。它能够快速准确地读取护照信息&#xff0c;自动识别多种证件类型&#xff0c;极大提高了值机、安检等环节的效率。无论是繁忙的国际航站楼&#xff0c;还是国…

51单片机的串口

目录 一、串口的介绍 1、硬件电路 二、51单片机的UART 1、串口参数及时序图 2、串口模式图 3、串口和中断系统结构图 4、串口相关寄存器 三、串口向电脑发送数据 1、通过STC-ISP软件 四、电脑通过串口控制LED 1、主函数 2、 UART串口通信模块 一、串口的介绍 串口是一…

倒排索引是什么

倒排索引 简单了解&#xff1a; 什么是正向索引? 基于文档id创建索引。查询词条时必须先找到文档&#xff0c;而后判断是否包含词条 什么是倒排索引? 对文档内容分词&#xff0c;对词条创建索引&#xff0c;并记录词条所在文档的信息。查询时先根据词条查询到文档id&#…