车载总线|FlexRay的详细介绍


关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

一、FlexRay简介

1.1FlexRay是什么?

FlexRay是一种用于汽车的高速、可确定性的,具备故障容错能力的总线技术,它将事件触发时间触发两种方式相结合,具有高效的网络利用率和系统灵活性的特点。能满足传统的CAN方案不能满足汽车线控系统(X-by-Wire)的要求。

1.2 FlexRay 总线的历史

2000年,宝马和戴姆勒克莱斯勒联合飞利浦和摩托罗拉成立了FlexRay联盟。该联盟致力于推广FlexRay通信系统在全球的采用,使其成为高级动力总成、底盘、线控系统的标准协议。

其具体任务为制定FlexRay需求定义、开发FlexRay协议、定义数据链路层、提供支持FlexRay的控制器、开发FlexRay物理层规范并实现基础解决方案。

主要用于线控操作,如线控操作转向、防抱死制动系统(ABS)包括车辆稳定控制(VSC)和车辆稳定助手(VSA)等。

FlexRay联盟在2013年发布了ISO 17458标准规范。

第一款采用FlexRay的量产车于2006年在BMW X5中推出,应用在电子控制减震系统中。

1.3FlexRay的特性

FlexRay提供了传统车内通信协议不具备的大量特性,包括以下六个方面:

1、高传输速率:FlexRay的每个信道具有10Mbps带宽。它不仅能像CAN和LIN网络这样的单信道系统一般运行,还能作为一个双信道系统运行,因此可以达到20Mbps的最大传输速率,是当前CAN最高运行速率的20倍

2、同步时基:FlexRay中使用的访问方法是基于同步时基的。该时基通过协议自动建立和同步,并提供给应用。时基的精确度介于0.5μs和10μs之间(通常为1~2μs);

3、确定性:通信是在不断循环的周期中进行的,特定消息在通信周期中拥有固定位置,因此接收器已经提前知道了消息到达的时间。到达时间的临时偏差幅度会非常小,并能得到保证;

4、高容错:强大的错误检测性能和容错功能是FlexRay设计时考虑的重要方面。FlexRay总线使用循环冗余校验CRC来检验通信中的差错。FlexRay总线通过双通道通信,能够提供冗余功能,并且使用星型拓扑可完全解决容错问题;

5、灵活性:在FlexRay协议的开发过程中,关注的主要问题是灵活性,反映在如下几个方面:

▶支持多种方式网络拓扑结构

▶消息长度可配置:可根据实际控制应用需求,为其设定相应的数据载荷长度

▶使用双通道拓扑时,既可用以增加带宽,也可用于传输冗余的消息

▶周期内静态、动态消息传输部分的时间都可随具体应用而定。

6、可靠性:为了在汽车环境下可靠工作,FlexRay满足以下要求:

▶可满足汽车使用温度环境要求,目前的标准是-40~125℃,对于一些特殊的应用,如制动执行器,温度要求还要高;

▶在不使用外部滤波器条件下,每个FlexRay产品满足汽车系统和法规要求的EMC指标;

▶在正常工作和低功耗模式下,系统功耗必须优化到最小

在空闲状态,总线驱动器和通信控制器的典型工作电流为10mA;

在忙状态,总线驱动器和通信控制器的典型工作电流为50mA;

关电时的总线驱动器电流(指汽车电压调节器关断后,总线驱动器监视器唤醒逻辑等消耗的电流)为10μA;

▶通信控制器供电电压适应的条件与汽车ECU(Electronic Control Unit)要求一致;

▶直接与线束相连的总线控制器和通信控制器的输入/输出,满足汽车上电器系统的要求。

二、FlexRay协议介绍

2.1结点基本结构

(1)在FlexRay网络中有3种基本类型的结点,即同步结点、冷启动结点和应用任务结点。

①同步结点在网络中提供时钟同步算法的支持,实现同步的功能。

②冷启动结点的特点是在网络尚未同步之前就可以发送启动帧,支持结点和网络通信的初始化过程。冷启动结点一定是一个同步结点。

③除这两种结点以外,网络中还有一些完成一定应用功能的结点,就是应用任务结点。

(2)结点的基本构成及接口信息

一个结点的基本结构一般由微控制器、通信控制器、总线管理逻辑、总线驱动逻辑(发送/接收驱动器)和电源系统5个部分组成。
通信功能主要由通信控制器、总线管理及驱动逻辑,以及这些部分与主机的接口组成。

结点各个部分之间的信息接口关系如图所示。

2.2结点基本功能

(1)结点中,一个通信控制器连接一个或两个总线驱动器,即一个结点可以连接到一个或两个总线通道上;

(2)结点可以进入休眠态;

(3)处于休眠态的结点可以由总线事件唤醒;

(4)结点的总线活动可以由主控制器关闭;

(5)结点与电源常连接;

(6)结点的应用功能。

网络星结点是一个只有网络功能的结点,没有主控制器和通信控制器,一个星结点有1个以上总线驱动器,它可以由总线唤醒,由总线关闭。

2.3FlexRay物理结构

FlexRay总线和CAN 一样也是两根线,可采用屏蔽或不屏蔽的双绞线,每个通道有两根导线,即总线正(Bus-Plus,BP)和总线负(Bus-Minus,BM)组成。采用不归零法(NRZ,Non-Return to Zero)进行编码。

可通过测量BP和BM之间的电压差来判断总线状态,这样可减少外部干扰对总线信息的影响,因为当干扰同时作用在两根导线上时可相互抵消。

每个通道都需使用80~110欧的终端电阻。将不同的电压加载在一个通道的两根导线上,可使总线有四种状态:Idle_Lp(Low power)、IdleData_0Data_1

显性:差分电压不为0V(Data_0和Data_1);

隐性:差分电压为0V(Idle_Lp、Idle)。在静止状态,两条总线传输线为高欧姆值,约为2.5V。



2.4FlexRay拓扑结构

FlexRay的拓扑结构:线型(点对点、多节点)、星型和混合型三大类。

(1)总线型拓扑结构

FlexRay网络双总线型拓扑结构,每个结点可以连到两个总线上,也可以只连接到一个总线上。

(2)星型结构

FlexRay网络的星型拓扑结构有多种连接方式。

①一个双通道单星的结构,每个通道由一个星结点连接,一个结点可以连接到一个或两个通道上(星结点上)。

两个单通道星型结构级联的结构,每个通道由一个星结点连接,一个结点连接到一个通道上(星结点上),两个星结点之间互联。

③在FlexRay 网络星形双通道拓扑结构的基础上,也可以构建冗余通道的结构。

④星型结构的优势

  • 它在接收器和发送器之间提供点到点连接。该优势在高传输速率和长传输线路中尤为明显。
  • 另一个重要优势是错误分离功能。例如,如果信号传输使用的两条线路短路,总线系统在该信道不能进行进一步的通信。


(3)总线型与星型的混合结构

FlexRay网络除了可以使用总线型和星形结构外,只要级联的每一个子网不超过结点数的限制,还可以使用两种结构混合的网络拓扑结构。

如上图所示,一个星结点(2A)直接连接结点并连接到一个总线上,总线上又连接了一些其他结点;然后又与另外一个星结点(1A)相连,星结点(1A)也直接连接了一些结点,也可以再连接总线。

 

 一个星形拓扑结构与总线型结构构成的双通道结构。


2.5冗余数据传输

在容错性系统中,即使某一总线导线断路,也必须确保数据能继续可靠传输。这一要求可以通过在第二个数据信道上进行冗余数据传输来实现。具有冗余数据传输能力的总线系统使用两个相互独立的信道。每个信道都由一组双线导线组成。一个信道失灵时,该信道应传输的信息可在另外一条没有发生故障的信道上传输。


2.6FlexRay的传输过程

(1)FlexRay网络按周期循环组织信息的传送。在传送信息时,一个通信周期有静态的和动态的两个部分。动态段和静态段又由一些时间片构成,每个时间片传输一个FlexRay帧。FlexRay帧是一个有格式的位流。
(2)当前通信周期由通信周期计数器的值标识,这是一个只增计数器,对通信周期进行计数。通信控制器配置数据决定了通信周期的长度,可以由应用程序设置。只有总线处于允许状态下,通信控制器才可以启动一个通信周期。一个结点的信息内容可以在不同的通信周期的特定时间片上多重发送。静态部分和动态部分信息的传送方式是不同的。
①FlexRay通信周期
FlexRay的一个通信周期包含静态段(Static Segment)、动态段(Dynamic Segment)、符号窗(Symbol Window)和网络空闲向量(Network Idle Time)。

只包含静态段和动态段的通信周期示例图如下。

②通信周期的基本执行过程

除了启动阶段,FlexRay通信周期以一个固定的宏时钟数周期性地循环执行。通信周期依次从0到一个可设置的最大值依次计数。总线仲裁基于在静态段和动态段的帧标识符。帧标识符决定了其在通信周期的哪个段和这个段的哪个时间片发送。

静态段
一个FlexRay通信周期的静态段,按照配置值设置其时间片数。所有静态段中的时间片大小相同,由一个以宏时钟为单位的数给出。

每个时间片有一个序号,在静态段中将固定的时间片分配给各个结点,在一个通信周期的静态段中,每个结点在一个通道上只能在分配给它的时间片内发送数据帧,而在自己时间片之外的时间只能接收数据。在FlexRay网络运行的时候,这个时间片的分配情况是不允许动态发生改变的。

动态段
可以配置一个FlexRay通信周期动态段的微时间片数量,并且从1开始依次编号。所有微时间片的大小相同,也由一个以宏时钟为单位的数给出,不用动态段的时候可以设置微时间片数为0。


在一个通信周期的动态段中,结点如果要发送消息,要通过竞争获得总线使用权。在动态段部分,是按照发送数据的数据帧优先级分配带宽,优先级由帧的标识ID确定。

符号窗
一个FlexRay通信周期可以有一个符号窗。符号窗通过配置设定一定数量宏时钟的时间宽度,这个配置值为零,表示不用符号窗。在符号窗内的内容及功能由高层协议规定,FlexRay结点发送一个符号表示某种自定义的特殊用途。
符号类别:
Ⅰ冲突避免符号:用于冷启动节点的通讯启动
Ⅱ测试符号:用于总线的测试
Ⅲ唤醒符号:用于唤醒过程的初始化

⑥网络空闲向量
一个FlexRay通信周期的网络空闲向量用来对FlexRay网络进行调整,是不可缺少的部分。一个周期除去前面几个段使用的时间,余下的就是空闲段的长度。一个通信周期可以根据结点的实际需要,动态配置动态段和网络空闲向量各部分的带宽。在网络空闲向量时间范围内,FlexRay网络中的结点不进行任何通信。
(3)由于一个FlexRay通信周期的静态和动态部分可以是空的,所以,一个通信周期可以有3种形式:纯静态的(动态部分为空)、静态动态混合(既有静态部分又有动态部分)的和纯动态的(静态部分为空)。
FlexRay静态部分具有以下特性:
  • 一个通信周期的静态部分可以由程序设定它的时间片数;
  • 在一个通信周期内,一个结点可以由程序设定它可以使用的时间片;
  • 静态部分在每一个时间片内,最多只允许有一个结点向通道上发送一个帧信息,通信周期的静态部分按TDMA方式访问媒体;
  • 有静态部分时间片的长度相同,可以由程序设定;
  • 在一个通信周期第一个时间片之前是通信起始符。
    FlexRay动态部分具有以下特性:
  • 在一个通信周期内可以没有或有几个动态时间片;
  • 在一个通信周期内静态部分具有优先访问总线权;
  • 在通信周期的动态部分,采用最小时间片(Mini-Slotting Scheme)和标识符优先的仲裁策略,发送的信息标识符优先级高的结点获得仲裁;
  • 动态部分的信息长度在网络运行时是可变的。

三、FlexRay帧结构

在FlexRay网络中,结点把要发送的信息打包成帧在静态段或动态段的时间片发送。FlexRay帧由帧头、有效数据段和帧尾构成。每个字段又分成具有不同意义的位段。

3.1帧头段(起始段)

(1)起始段长5个字节(40位),包括:状态位(5位)、帧ID(11位)、有效数据段/有效载荷长度(7位)、头部CRC(11位)、循环记数(6位)。
①状态位:
保留位(1位):为以后的扩展使用
净荷指示位(1位):Payload Preamble Indicator 指明负载段的向量信息
空帧指示位(1位):Null Frame Indicator表示该帧是否为无效帧
同步帧指示位(1位):Sync Frame Indicator表示该帧是否为一个同步帧
起始帧指示位(1位):Startup Frame Indicator表示该帧是否为起始帧
②帧ID
数据标志符,每个通道数据标志符需唯一。用于对事件触发帧进行优先级排序
③有效载荷长度
表示一帧中能传输的有效数据长度。在每个Cycle下的静态区中,每帧的数据长度都是相同的,在动态区的长度则是不同的。
④头部CRC:用于起始段冗余校验,检查传输中的错误。
⑤周期记数:循环计数器,通信一开始,所有节点的周期计数器增1
3.2有效数据段(有效负载段)

有效数据段包含帧传输的实际数据。FlexRay有效数据帧的长度最多为127个字(254字节),比CAN长30倍。
3.3帧尾段(结束段)

帧尾段包含3个用于检测错误的8位CRC,由起始段和有效负载段计算得出的CRC校验码,计算CRC时,根据网络传输顺序从保留位到有效数据段的最后一位放到CRC生成器中进行计算。

3.4帧位流的编解码
一个信息帧在物理层传输要进行编码。把一帧本身要传输的信息加上位置标识以及同步等需要的信息编码成一个二进制位流,每一帧以一组位流在物理层由发送结点发出;接收端接收到这些位流进行解码,分解出一帧的信息,提供给链路层。
编码的过程实际上是对要发送的数据进行相应的“打包”处理,比如加上各种校验位、ID等。
注:编码与解码主要发生在通讯控制器与总线驱动器之间


(1)编码插入序列

编码插入序列是对一帧进行编码时加到帧中的二进制序列,具体有以下几种:

①传输起始序列(Transmission Start Sequence,TSS):用于初始化节点和网络通信的对接, 为一小段低电平。发送结点在开始发送时,首先输出一个连续低位序列,长度可以通过配置设置,表示一个传输开始并建立发送与接收端的路径,接收端结点检测到这个状态,就判定总线由空闲进入忙状态,一个帧的传输过程开始。

②帧起始序列(Frame Start Sequence,FSS):在TSS之后加入的一个高位,以补偿TSS部分同步的量化误差。

③字节起始序列(Byte Start Sequence,BSS):给接受节点提供数据定时信息, 由一位高电平和一位低电平组成。BSS包含连续的一个高位和一个低位。发送结点在一帧每一个字节信息(每8位数据)前面都加上BSS,为接收端提供时间同步信息。

④帧结束序列(Frame End Sequence,FES):一帧所有的信息发出之后,发送结点紧接着发送的连续一个低位一个高位,表示一帧结束。

⑤动态段帧尾序列(Dynamic Trailing Sequence,DTS):用于动态段的帧尾,指示发送端微时间片工作点的准确时间。DTS包括先低后高两部分,低的部分可变长,至少保持一个位时间,在下一个微时间片的工作点变高,高的部分固定为一个位时间。发送结点在发送动态段的帧时,紧接FES之后发送DTS。

(2)静态帧编码与动态帧编码

①把一帧的所有信息分成字节;

②在位流的最前面加入一个TSS;

③在TSS后面加入FSS;

④在帧数据的每一个字节前面插入BSS得到扩展字节;

⑤按照原来帧信息的数据顺序排列所有扩展字节;

⑥计算帧的CRC校验码,并把校验码各个字节加BSS进行字节扩展;

⑦在如上形成的位流后面加上一个FES;

⑧如果是动态段的帧,再在后面加上一个DTS。


静态段帧的编码

动态段帧的编码


(3)帧位流解码

对于接收端,在总线空闲时监测到总线上的传输起始序列TSS,表示有帧将要启动传输,这时启动帧接收过程,按照同步机制定时,开始接收后续位流,并按照编码规则进行解码处理。当接收端结点检测到错误的时候,终止通信位流的解码过程,并一直等待总线回到空闲状态。
、总结
4.1FlexRay与CAN的异同

4.2常用车载总线对比

来源:河南中驰电子科技有限公司



-END-

关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

智能汽车电子与软件 专注于汽车电子领域的信息交融平台,涵盖汽车电子行业资讯、市场动态、技术干货、知识见解、行业趋势等资讯深度覆盖。
评论
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 128浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 88浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 103浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 184浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 90浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 205浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 92浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 113浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 117浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 150浏览
  • 本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。关闭selinux修改此文件("+"号为修改内容)device/rockchip/common/BoardConfig.mkBOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTB
    Industio_触觉智能 2025-01-08 00:06 75浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 105浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 152浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦