GBT 41588.1-2022 道路车辆 控制器局域网(CAN) 第1部分:数据链路层和物理信令_第1页
GBT 41588.1-2022 道路车辆 控制器局域网(CAN) 第1部分:数据链路层和物理信令_第2页
GBT 41588.1-2022 道路车辆 控制器局域网(CAN) 第1部分:数据链路层和物理信令_第3页
GBT 41588.1-2022 道路车辆 控制器局域网(CAN) 第1部分:数据链路层和物理信令_第4页
GBT 41588.1-2022 道路车辆 控制器局域网(CAN) 第1部分:数据链路层和物理信令_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

道路车辆控制器局域网(CAN)国家市场监督管理总局国家标准化管理委员会IGB/T41588.1—2022/ISO11898-1:2015 Ⅲ 1 1 2 5 7 7 75.3总线访问方法 7 75.5网络灵活性 75.6数据一致性 75.7远程数据请求 75.8错误检测 85.9错误标识和恢复时间 85.10应答 85.11自动重发 85.12故障界定 85.13主动错误 85.14被动错误 85.15总线关闭 86CAN的层级架构 9 9 96.3服务格式定义 7LLC子层描述 7.2LLC子层的服务 7.3LLC子层的功能 8.1服务 8.2时间和时间触发 Ⅱ8.3禁止自动重发 8.4报文的时间戳 23 259.5帧编码 329.6帧应答 329.7帧的有效性 9.8位发送顺序 9.9媒介访问方法 9.10MAC数据的一致性 9.11错误检测 9.12错误标识 9.13过载标识 10PL定义 10.2PL服务 40 47 48 48 附录A(资料性)补充信息 54A.1传统帧和FD帧的差异 54A.2可选型要求的实现特性 A.3实现提示 57Ⅲ本文件是GB/T41588《道路车辆控制器局域网(CAN)》的第1部分。GB/T41588已经发布了VGB/T41588.3范围1本文件规定了传统CAN和可变数据速率CAN帧格式。传统CAN帧格式比特率可达1Mbit/s,每帧有效负载可达8字节,可变数据速率帧格式比特率高于1Mbit/s,每帧有效负载超过8字节。本文件根据ISO/IEC7498-1开放系统互连(OSI)的ISO参考本文件包含以下方面的详细规范(见图2):下列文件中的内容通过文中的规范性引用而ISO/IEC7498-1信息处理系统开放系统互连第1部分:基本参考模式(Informationtechnol-ogy—OpensystemsinterconnectionISO/IEC8802-2信息技术系统间远程通信和信息交换局域网和城域网特定要求第2部systems—LocalandmetropolitanareanISO/IEC8802-3信息技术系统间远程通信和信息交换局域网和城域网特定需求第3部2tems—Localandmetropolitanareanetworks—Spec位填充bitstuffing将来自通信媒介的物理信号转换成逻辑信息或者数据传统标准帧格式classicalbaseframeformat使用11位ID,传输时只用1种位速率,一帧最多包含8个数据字节的数据帧或者远程帧格式。使用29位ID,传输时只用1种位速率,一帧最多包含8个数据字节的数据帧或者远程帧格式。34标识符identifier检测到连续11个隐性位的情形。整合integrating5BCH:BCH码(bose-chaudhuri-hocquenghem)6PCI:协议控制信息(protocolcontSJW:同步跳转宽度(synchronizationjumpw7通过发送RF,节点请求数据可以请求另一个节点发送相应的DF。RF和相应DF有相同的标8的FD帧的21位CRC;96.1参考OSI模型根据OSI参考模型(见ISO/IEC——DLL;7498-1),本文件的CAN架构分为两层(见图2):LSDULSDU接口帧编码(位填充,去填充)位编码同步监控器根据ISO/IEC8802-2和ISO/IEC8802-3,DLL被进一步划分为:——LLC; ——PMA;—--MDI。一个第N层的PDU(PDUN)由第N层的协议特定控制信息(PCIn)和N层的用户数据组成。PDUN应通过SAPN-1传递到N-1层实体。PDUN作为SDUN-1传递给N-1层,该服务用于传送的DLL不应将一个SDU映射到多个PDU,或者将多个SDU映射到单个PDU,即一个PDUN直接由相关的SDUN和层特定的控制信息PCIn组成。图3展示了数据链路子层的交互。)信息信息 表3LLC服务概览L_Data.AbortRequest(可选)L_Remote.AbortRequest(可选)帧格式(CBFF、CEFF、FBFF、FEFF,指定可选的ESI和BRS位)Handle(可选)7.2.2.2L_Data.Request)送(见表6)。如果在此期间没有错误帧出现,那么任何L_Data.Request应在不迟于第二个SOF前7.2.2.3L_Data.indic)该服务原语用于本地LLC子层向LLC用户反馈前一个L_Data.Request的结果。该服务)borted。7.2.2.5L_Data.AbortRequest(可选)该服务原语用于LLC用户向LLC子层发送请求,放弃之前请求的某个LSDU的传送。)要放弃的用于传送的硬件元素(信息存储单元)以上都会使得LSDU等待下一次的传送。因为Handle指定的被请求硬件元素的优先级别不同,LLC子层不会立刻放弃已经传递给MAC子层的传送请求。如果在此期间没有错误帧出现,那么任何L_Data.AbortRequest应在优先于第二个该服务原语用于LLC用户向LLC子层请求由一个远程LLC实体发生某个LSDU。)DLC的值即被请求的DF的数据场长度。由Handle指定用于传送的硬件元素(信息存储单元)。中的LSDU的传送(见表6)。7.2.2.7L_Remote.Indic功能)影响功能该服务原语用于LLC子层向LLC用户传达先前L_Remote.Request的结果。该服务是一个本地)——由前一个L_Remote.Request引起的进程(如果没有可选的Handle),或者Transfer_Status应用于指示前一个L_Remote.Request的完成情况。Transfer_Status:[Complete,Not_Compl_Complete”。如果支持和提供可选服务L_Remote.AbortRequest,则传输状态中的Aborted有效。影响7.2.2.9L_Remote.AbortRequest(可选)功能该服务原语用于LLC用户向LLC子层发送请求,放弃之前的向远程用户请求LSDU的传送请求。)要放弃的用于传送的硬件元素(信息存储单元)由Handle标识。影响接收到该请求后,LLC子层会放弃传送指定的信息存储单元中的LLC远程帧。已经传递给MAC帧类型00000000110010200113010040101501106011171000810或10或181001101010111100110111101111——对LLC帧的MAC应答;用于建立全网时基的硬件应包含在LLC和MAC任何支持时间和时间触发选项的节点应提供时基。时基是一个至少长16位的循环计数器,通过内任何接收或者发送的报文都应调用所捕获的时基,时基取自各自报文的SOF或者EOF最后一位从上述的时基中,应至少能产生一个可编程的事件触发。该触发应能被CPU在0至(2¹⁶-1)个时可以禁止自动重发(见5.11)。时间戳长度为8位、16位或者32位。时基的时钟源应由节点内部产生,或者应由LLC用户提供。时基计数器对LLC用户在任意时间可读。时基的值应在每一个数据帧的参考点获取。对于传统帧,参考点是各自帧SOF的采样点,或者是帧被认为是有效时的时间点(根据9.7)。对于FD帧,当为是有效时的时间点(根据9.7)。MAC子层描述了OSIDLL的低层部分。它为LLC子层和PL层提供服务接口,有以下功能MAC子层提供的服务应允许本地LLC子层实体和同级LLC子层实体间交换MSDU,其服务者RF。MAC子层向LLC子层提供的服务原语见表6。带应答的数据传送服务带应答的远程数据请求服务)收到该请求后,MAC子层会为来自LLC子层的MSDU增加MAC特定控制信息[SOF,SRR,该服务原语用于MAC子层向LLC子层指示MSDU的到来。)如果相关MAC数据帧的数据长度为0,则参数“Data”可忽略。仅当MSDU正确接收后,方可向LLC子层发送该服务。该服务原语用于本地MAC子层向LLC子层传达前一个MA_Data.Request服务的处理结果。该)Transmission_Status用于指示前一个MA_Data.Request是否成功。Transmission_Status:[Success,影响9.2.2.5MA_Remote.Requ功能该服务原语用于本地LLC子层向MAC子层发送请求,请求某个远程MAC实体发送指定的MS-)))Transmission_Status:[Success,该服务原语用于LLC子层向MAC子层请求发送MACOVLD帧。该帧有固定格式,且完全由)该服务原语用于MAC子层向LLC子层指示OF的到来(见9.4.5)。)影响该服务原语用于本地MAC子层向LLC子层告知,已发送了一个OF。该服务不能说明同级的远程实体已正确接收了OF。)Transmission_Status:[Success,MAC子层的功能参考ISO/IEC8802-3中的功能模型定义。该模型中,MAC子层被划分为2个——MAC帧的构建。在LLC帧(有限定范围的LLC子层可能不会请求发送ID或者数 ——发送ACK;——创建EF帧并启动发送——向LLC子层传递LLC帧和接口控制信息(对于有限定范围的LLC子层,仅范围内的-—传统标准格式的DF;—FD标准格式的DF;——FD扩展格式的DF。CAN上有2种远程帧:9.4.2MACDF定义——SOF; IDE位 FDF位FDF位相当于旧版本文件中的r0位(11位标识符的帧)和r1位(29位标识符的帧)。不兼容FDESI位MAC帧中该部分与LLC帧中一致(见7.4.2.5)。填充计数FD帧中,填充计数位于CRC场的最前端。它包含3位格雷码表示的8模数,和一位奇偶校验位,见表7。表7填充计数编码01234567带奇偶校验位的格雷码序列前,以填充计数编码的形式发送其位填充数量。接收方应检查接收到的填充计数是否与自己计算CRC序列帧检查序列应采用CRC序列(BCH-code)。一个CAN节点应能为不同格式的帧使用不同的CRC生成多项式。第一种多项式为CRC_15,用于传统帧。第二种多项式为CRC_17,用于数据长度不大于16字节的FD帧。第三种多项式为CRC_21,用于数据长度大于16字节的FD帧。每个多项式的汉明距离为6。在帧开始部分,所有3种CRC序列应在所有节点,包括发送方中正确算出。仲裁成功的节点根据FDF值和DLC值选择发送哪种CRC序列。接收方应使用被选中的CRC多项式去检验CRC错误。CRC序列的长度(ncac是生成多项式的阶),对CRC_15为15位,对CRC_17为17位,对CRC_21为21位。二(x¹⁷+x¹⁶+x¹⁴+x¹³+x¹¹+(x+1)×(x¹⁶+x¹³+x¹⁰+x⁹+x⁸=(x+1)×(x¹⁰+x³+1)×(x¹CRC_INIT_VECTOR对于CRC_15为(0,…,0),对于CRC_17和CRC_21为(1,0,…,0),其中,用于计算CRC的位流包含SOF、仲裁场、控制场、数据场(如果有),并在其后扩充ncRc个0。传统为了计算CRC,被除的多项式根据相关位流的长度决定。用生成多项式去除以多项式(模2除寄存器CRC_RG(ncc-1:0)。每个CRC序列在一个单独的变化寄存器块中计算。如果NXTBIT用CRCNXT=NXTBITEXORCRC_RG(ncrc—1);CRC_RG(ncRc-1:1)=CRC_CRC_RG(ncRc-1:0)=CRCUNTIL(NXTBIT=[ENDofbitstre9.4.2.7ACK场所有接收到匹配的CRC序列的节点(对于FD帧,填充计数也应匹配),应在ACK间隙处发送—-主动错误标志由6个连续的显性位组成;可能从最小6位到最长12位变化。情形发生时,应总是等待随后的6个等值位的出现。当这6个等值位被检——对应OF总线空闲间歇场帧帧帧帧 “0","o"=显性填充位;"1","i”=隐性填充位。图11位填充帧的有效性,即使是显性,也无需认为是格式错误。一个接收方检测到EOF最后一位为显性时,用OF回应(见9.13)。发送方如果直到EOF也没有发生错误,则发送方认为帧有效。如果帧损坏,应按照9.9.6启动恢复进程。9.8位发送顺序DF和RF应从SOF的显性位开始按位场来传送。在一个场中,MSB应先传。在数据场中(任意大小),字节从0到n(n+1是如表5定义的数据字节的数量)的顺序传送。对每一个字节,位按7到0的顺序传送。在图12到图17中,底部加粗的线表示该位为显性位,顶部加粗的线表示该位为隐性位。图中不包含填充位。MSB(第一个被发送的位)图12CBFF的位发送顺序,最大8字密CRC界定符MSB(第一个被发送的位)图13FBFF的位发送顺序,最大16字节此条款描述了CAN媒介访问方法相关的功能和特性。9.9.1概述图17FEFF的位发送顺序,20~64字节9此条款描述了CAN媒介访问方法相关的功能和特性。9.9.1概述图17FEFF的位发送顺序,20~64字节9.9媒介访问方法图16FEFF的位发送顺序,最大16字节如果DLC-0,则没有数据场。图15CEFF的位发送顺序,最大8字节如果DLC-0或者RTR-隐性,则没有数据场。图14FBFF的位发送顺序,20~64字节CRC序列CRC界定符CRC序列当多个节点同时开始传送,其中优先级最高的节协议外状态之后(仅对CANFD节点或者CANFD兼容节点)。当检测到空闲情形(见3.28),CAN节当总线在采样点处检测为隐性时,位计数器应加1。当位计数器的值达到11时,意味着检测到空闲情形。对于总线关闭恢复情形的检测(见11.1.4.4),应设置第二个计数器,每检测到一次总线空闲情形对于FD兼容节点或者CANFD节点,位计数器应有第三个重时,位计数器应重置。当同步发生时,应重新开始对连续11个隐性位的情形进行检测。可选的边沿过CANFD节点和FD兼容节点会检测如9.4.2.4定义9.9.6MAC帧的传送程到RTR位或者FD帧的RRS位结束。 ——15位、17位或者21位CRC;如果在位填充相关的帧位场中检测到连续6个相同的位,应视为填充错误。如果FD帧的e)ACK错误送方),应按图19切换位时间。图18和图19的阴影部分展示了如图22所示的位时间部分。TPT(例如2个1个标称时额)1个数据时第二采采样点采样点(检(错误点)IPT(例如2个数据时间份额)采样点(检测到错误)CRC错误,应在CRC界定符后3个位时间之ACKslotAACKslotA采样点采样点图20传统帧中出现了CRC错误采样点采样点采样点采样点采样点X图21FD帧中出现了CRC错误a)LLC请求的OF(由LLC子层发起):接收方的内部情形,需要延迟下一个MACDF或者10.1概述和功能模型PL实现将CAN节点连接到总线上。节点数量受总线的电气负载和CAN数据链路层协议限定。b)PMA子层由总线发送/接收的功能电路组成。该层不包含在本文件中。c)PMD子层由物理媒介和PMA子层的机械电子接口组成。该层不包含在本文件中。10.2PL服务PL服务允许本地MAC子层和同级MAC子层实体间交换位信息。 对于支持CANFD的实现中,还有另外2种可选的服务原语:——PCS_Status.Transmitte 该服务原语用于MAC子层向PL层请求发送一个显性或隐性位。参数如下:)参数“Output_Unit”值为显性或者隐性中的一该服务原语用于PL向MAC子层通知一个显性或者隐性位的到来。参)该服务原语用于MAC子层向PL层通知,MAC子层向PL层发送FD帧的数据段。参数如下:该服务原语用于MAC子层向PL层通知,MAC子层接收到FD帧的数据段。参数如下:)参数“FD_Receiver”取值如下:当MAC子层接收的是FD帧的数据段时,该参数值为有效;当MAC子层接收的不是FD帧的数据段时,该参数值为无效。10.3.1位编码/解码总线管理功能在位时间帧里执行,如CAN节点同步行为、网络发送延迟补偿和采样点位置都应由CAN实现的可编程位定时逻辑来指定。支持CANFD的实现应支持两种位速率:标称位速率和数据位速率。不支持FD的实现中,只有传统CAN的标称位速率。第二种位速率的定义,即数据位时间的数据位速率,需要单独的寄存器组。数据位时间应小于或者等于标称位时间。数据位时间应只能在FD帧的数据段使用。如果BRS为隐性的话,数据段开始于BRS的采样点,结束于CRC界定符的第一个采样点,或者结束于当发现了导致EF发送的错误情形。数据段之外的都是仲裁段。所有的传统帧、EF、OF,空闲时间和BRS位为显性的FD帧的所有部分,都是仲裁段。仲裁段中使用标称位时间。如果BRS位为隐性,则在BRS的采样点处,位速率由标称位速率切换到数据位速率。在CRC界定符的第一个采样点处,或者检测到错误情形时,位速率由数据位速率切换到标称位速率。当位速率由于检测到错误情形而切换时,应在采样点后少于或等于2个时间份额切换,见图18和图19。时间份额时间份额是取自节点时钟周期的一个固定的时间长度单元。应至少存在一个可编程的预分频,其值为整数,范围至少从1~32。最小的时间份额长度是一个节点时钟的周期长度。对于位时间不同段来说,时间份额应有如下不同长度:m(N)和m(D)是预分频的值。有两种可选的实现方式,两者选其一: 两个不同的预分频,标称位时间的为m(N),——相同的预分频,m(N)=m(D)。最小时间份额;最小时间份额。数据位时间的为m(D),或者;两种不同的预分频,使得单个时间份额(N)和(D)的长度不同。如果是相同的预分频,则单个时间份额(N)的长度=单个时间份额(D)长度。单个位时间的长度,取决于位的单个时间份额长度和时间份额的数量。如果不同的参数组合得到了相同的位时间长度,则应使用其中单个时间份额长度更短的组合。不支持FD的实现只能使用基于单个时间份额(N)的标称位时间。两种位时间都应由不重叠的位时间段组成。如图22所示。图22标称位时间和数据位时间的分段该段用于补偿网络上的物理延迟时间。该延迟时间包含总线上的信号传播时间和CAN节点内部相位缓冲段1和相位缓冲段2相位缓冲段1和2用于补偿边沿相位错误。该段可因重同步而变长或者变短。该点为读取总线电平的时间点,并将该值视为相应的位值。它位于相位缓冲段1的末尾。IPT是指用于计算随后的位电平所需的时间份额数目。计算开始于采样点,且应小于或等于相位缓冲段2(见10.3.2.1查看其他限制)。由于重同步,相位缓冲段1可能变长,相位缓冲段2可能变短。由SJW限制相位缓冲段总体变长CAN节点的内部延迟时间tnods,是在发送和接收过程中产生的所有非同步延迟的总和,它和CAN实现的位时间逻辑单元有关。见图23。图23相关解释:——CAN节点的输出和输入延迟的总和只与标称位时间的配置有关。公式(1)为CAN节点的重 (1) (2)——通过用于CAN同步的发送位定时逻辑,节点A应能知情形下可能的位定时。BitBitnBitn图23CAN节点A和节点B在仲裁段的延迟时间和位时间段之间的关系所有段均为整数倍的时间份额,时间份额取决于最小时间份额长度和预分频m的值。对于支持CAN对于支持和不支持CANFD的实现,其位时间段的配置范围应是不同的。其中,除同步段在两者中均为1个时间份额外,实现上可以允许其他位时间段超过表8定义的配置范围变化。表8时间段的最小配置范围预分频不同预分频相同预分频相同/不同标称位时间标称位时间标称位时间数据位时间同步段1×时间份额(N)1×时间份额(N)1×时间份额(N)1×时间份额(D)1~8个时间份额(N)1~48个时间份额(N)1~96个时间份额(N)0~8个时间份额(D)相位缓冲段11~8个时间份额(N)1~16个时间份额(N)1~32个时间份额(N)1~8个时间份额(D)预分频不同预分频相同预分频相同/不同标称位时间标称位时间标称位时间数据位时间2~8个时间份额(N)2~16个时间份额(N)2~32个时间份额(N)2~8个时间份额(D)1~4个时间份额(N)1~16个时间份额(N)1~32个时间份额(N)1~8个时间份额(D)—-IPT应小于或等于2个时间份额;BRS和CRC如图22所示。×fmom]给出。容差df取决于时间份额的长度、位时间段、以及SJW。任意两个节点间的时钟震荡最foc的最大容差df应满足以下条件: (3) (4) (5)CAN节点是通过电路连接到CAN网络,收发器不可避免的会在协议控制器输出信号和输入到协议控制器的时间点之间引起时延。如果没有发送延迟补偿,FD帧的数据段的能用于发送方在FD帧的数据段,且BRS为隐性位。应可以对该机制是否使用进行编程。当使用了该机制,数据时间份额的预分频m(D)的值应为1或者2,实现上应能补偿发送延迟至少2个数据位时间。发送延迟补偿机制定义了第二采样点SSP。如果使用该机制,发送方应忽略在采样点检测到的位在随后的采样点对该位错误进行处理。对于数据段的末尾处的位,如果它们的SSP处于随后的仲裁SSP的位置应定义为离位时间起始处一段距离的点。SSP位置的配置范围为0~63个最小时间份在每一个发送帧的FDF位和res位的隐性到显性的边沿进行。SSP位置测得值会应用在相同帧的数据段。当发送方在开始发送显性res位时,应启动一个计数器。该计数器应每次增加一个最小时间份额,直到接收输入检测到显性信号,计数器停止计数。计数器的值即测得的发送延迟时间。当SGB/T41588.1—2022/ISO1189图24中的位流[A,B,…,K]示例显示了发送延迟和SSP位置的关系。此示例中,发送延迟将近有2个位时间长度。因此,SSP处于起始位到发送延迟3个位时间的范围内,在此处输入信号可能比较稳定。在此种情况下,接收位流中的位应和延迟了2个数据位时间的发送位流的位相比较,例如,在SSPA,接收到的位Ar与延迟了的A₂比较,依次类推。图24SSP的位置置除2,并向下取整得到。SSP序列已发送的位接收到的位SSP序列已发送的位延迟2位图26可选的SSP序列10.4AUI定义连接单元接口是PCS和PMA之间的接口。其中,PCS在本文件的本部分中定义,PMA在当PCS收到MAC子层的Output_Unit时,PCS应向PMA发送一个输出信息。该输出信息使得当从监控器(见11.1)收到一个Bus_off_release请求时,PCS应向PMA子层发送Bus_off_release信息对支持CANFD的实现时为可选项。当从MAC子层收到一个FD_Receive时,PCS应向PMA子层发送一个FD_Receive信息。该信息对支持CANFD的实现时为可选项。当从媒介收到一个位时,PMA子层应向PCS发送一个输入信息。该输入Node_statusBus_offNomal_mode_requestEroractiveresponse实体BusoffresponseBusoffreleaserespons图27故障界定接口11.1.3.2LLC子层/FCE接口FCE和LLC子层之间交互的信息见表9和表10。信息将FCE重置为初始状态(当FCE进入初始状态,TEC和REC值置0)信息FCE和MAC子层之间交互的信息见表11和表12。信息表明MAC子层检测到了一个错误(位错误,填充错误,CRC错误,错误)说明MAC子层在发送错误标志之后检测到一个显性位(表明MAC子层检测到一个自身错误,而不是由其他节点的错误帧引起的错误)表明FCE计数器不变(特定情况,见11.1.4.2的规则c)表明MAC子层对错误界定符的等待时间过长。该信号在每次表12FCE到MAC信息信息11.1.3.4PL/FCE接口FCE和PL子层之间交互的信息见表13和表14。信息Bus_off_release_req请求将节点置为正常发送/接收节点Bus_off_release_resp对Bus_off_release_resp(见5.13和5.15):例外1:例外2:g)成功发送一个帧后(收到ACK,并且直到EOF结束也没有错误发生),除非已经

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论