中自网

热门搜索:PID  plc  传感器  电机  变频器  工业以太网  无线通讯  低压 

当前位置:首页>>应用案例首页>>基础教程>>正文

JTAG技术简介

发布日期:2011-10-20   浏览次数:49949
分享到:
【摘   要】:随着电路技术进入超大规模集成(VLSI)时代,VLSI 电路的高度复杂性以及多层印制板、表面贴装(SMT)、圆片规模集成(WSI)和多芯片模块(MCM)技术在电路系统中的应用,都使得电路节点的物理可访问性正逐步削弱以至于消失,电路和系统的可测试性急剧下降,测试开销在电路和系统总开销中所占的比例不断上升,常规的测试方法正面临着日趋严重的困难。测试算法的研究和测试实践证明了一个基本的事实:要对一个不具有可测试性的电路进行测试实徒劳的,只要提供电路的可测试性,才能使电路的测试问题得到简化并最终解决。

缩略语:
JTAG Joint Test Action Group
BS Boundary Scan 边界扫描
BSDL Boundary Scan Description Language 边界扫描描述语言
BST Boundary Scan Test 边界扫描测试
OBP On_Board Programming 在板编程
ICP In_Circuit Programming 在线编程
ISP In-System Programming 系统编程
引言:
随着电路技术进入超大规模集成(VLSI)时代,VLSI 电路的高度复杂性以及多层印制板、表面贴装(SMT)、圆片规模集成(WSI)和多芯片模块(MCM)技术在电路系统中的应用,都使得电路节点的物理可访问性正逐步削弱以至于消失,电路和系统的可测试性急剧下降,测试开销在电路和系统总开销中所占的比例不断上升,常规的测试方法正面临着日趋严重的困难。测试算法的研究和测试实践证明了一个基本的事实:要对一个不具有可测试性的电路进行测试实徒劳的,只要提供电路的可测试性,才能使电路的测试问题得到简化并最终解决。1985 年,由IBM、AT&T、Texas Instruments、Philips Electronics NV、Siemens、Alcatel 和Ericsson 等公司成立的JETAG(Joint European Test Action Group)提出了边界扫描 技术,它通过存在于元器件输入输出管脚与内核电路之间的BSC(边界扫描单元)对器件 及外围电路进行测试,从而提高器件的可控性和可观察性。1986 年由于其它地区的一些公司的加入,JETAG 改名为JTAG。1988 年JTAG 提出了标准的边界扫描体系结构,名称叫Boundary-Scan Architecture Proposal Version 2.0,最后目标是应用到芯片、印制板与完整系统上的一套完善的标准化技术。1990 年IEEE 正是承认了JTAG 标准,经过补充和修改后,命名为IEEE1149.1-90。同年,又提出了BSDL(Boundary Scan Description Language,边界扫描描述语言),后来成为IEEE1149.1-93 标准的一部分。IEEE1149.1 标准大大推动了边界扫描技术的发展和广泛应用。
JTAG 技术的主要应用
基础测试
基础测试是指扫描链路自测试,由于它是利用BS 器件进入CAPTURE-IR 状态时会自动装入CAPTURE 信号而实现扫描链自测试的目的,所以又称为CAPTURE 测试。基础测试是进行JTAG 其他任何测试加载任务之前首先进行的测试操作,以确保JTAG链能正常工作。
器件标志码IDCODE 测试
IDCODE 测试,也称为器件标志码测试,或器件型号测试,指令扫描送入IDCODE 指令, 然后通过数据扫描IDCODE 寄存器中的IDCODE 标志码,验证器件是否错装,器件的型号、版本号和生产厂商是否正确。器件标志码存放在器件标准寄存器中,器件标志寄存器是包含在集成电路IC 内部的一个可选寄存器,它由并行输入与串行输出的32 位移位寄存器组成,当器件标准寄存器在使用时,芯片IC 正常操作能继续进行。
USERCODE 测试
USERCODE 测试,也称为用户代码测试,可编程器件提供一个32 位的寄存器可以用来存放用户的任意信息。指令扫描送入USERCODE 指令,然后通过数据扫描USERCODE 寄存器中的标志代码,验证存放信息是否与用户信息一致。这些信息可以是软件的版本号、加密数据等。
互联测试
互连测试主要是指对电路板上器件之间互连线的测试,主要检测电路板级的开路、短路或呆滞型等故障。互联测试是引进边界扫描测试技术的一个主要原因,因此在IEEE1149.1 标准中,互连测试指令(EXTEST)是一条强制性指令,所有的BS 器件都支持互连测试。互连测试可以检测电路板上的开路故障,并能精确定位到具体的引脚;可以检测电路板上的桥接短路广州,并能精确定位到桥接的具体网络和引脚;可以检测呆滞型故障,并能精确定位到具体的引脚;检测其余不知名故障(测试响应与期望响应不一致,但不属于以上三类故障)
Cluster 测试
Cluster 测试的问题是由混合技术电路板引起的。目前,虽然BS 器件越来越多,但是非BS器件也仍然大量存在;而且在复杂电路设计中,VLSI 和ASIC(专用集成电路)虽然能够完成电路的许多功能,但并不是所有的逻辑功能都可以集成,相当多的功能仍需要采用分离器件或通用集成电路实现,而它们很少支持边界扫描。由边界扫描器件和非边界扫描器件组装的混合技术电路板是常见的情形。在一个电路板上,当BS 器件和非BS 器件混装的时候,非BS 器件就不能直接使用边界扫描的方法进行测试。这时如果非BS 器件的周围存在BS 器件,那么仍然可能通过BS 器件对非BS 器件进行测试。被BS 器件包围的非BS 器件可以不止一个,我们将有若干非BS 器件组成的逻辑簇称为一个Cluster,通过BS 器件对Cluster 进行的测试就称作Cluster 测试。Cluster 测试可以应用在任何场合,包括板级测试与系统级测试,包括开发调试、生产测试、用服测试和维修测试等过程。Cluster 测试对于提供电路板测试的故障覆盖率有重要的意义。
器件功能测试
在JTAG 测试仪中,功能测试分为两种:如果是内部带BIST 结构的芯片,可以通过测试仪运行RUNBIST 指令进行芯片自测试;如果芯片内部不带BIST 结构,可以通过施加INTEST指令和外部输入的测试矢量集,再回收测试响应和期望响应进行比较,对故障进行测试诊断。前者称为RunBIST 测试,后者称为INTEST 测试。进行RunBIST 测试的条件是芯片支持RunBIST 测试,并且提供RunBIST 指令;进行INTEST 测试的条件是芯片支持INTEST 测试,并提供INTEST 测试指令。INTEST 测试能够测试芯片的内部逻辑功能是否正常,但不是所以得JTAG 器件都支持
INTEST 测试。
存储器测试
如果能通过BS 器件访问存储器,那么通过BS 器件的扫描链一般也能够访问存储器,所以可以利用JTAG 测试存储器。运用三步法进行外部互联测试功能与上述的互联测试功能近似。按照九步棋盘法进行存储器的内部单元测试,能够检测到内部所以得固定逻辑故障;能够检测到内部所有的固定开路故障;能够检测到内部单元所有的状态转换故障;能够检测到内部单元所有的数据保持故障;能够检测到那单元所有的状态耦合故障;能够检测到内部单元所有的多重写入故障;如果发现故障,能够报告故障发生的具体单元。存储器测试可以应用在任何场合,包括板级测试与系统级测试,包括开发调试、用服测试和维修测试等。但是由于存储器内部单元测试消耗时间比较长,测试数据量比较大,所以在某
些场合(如生产测试)实用性不大。
FLASH 加载
利用JTAG 技术实现FLASH 加载是一种新的在板编程技术。一般而言,电路板上的FLASH芯片本身不带有边界扫描(BS)结构,但是FLASH 的周围存在BS 器件,从而可以利用周围的BS 器件(一般为CPU)实现FALSH 加载。利用BS 技术(也称为JTAG 技术)进行对是一种新的有效的编程方式。FLASH 器件的编程方式分为两大类:在板编程(OBP,On_Board Programming)和离板(Off_Board)编程。离板编程是指在FLASH 器件被安装到PCB 之前对其进行编程。这一般是采用编程器来完成的,常见的编程器有ALL-07、ALL-11 等。在板编程是指在FALSH器件被焊接到PCB 上以后对其进行编程。常见的方法有利用ICT 进行在线编程(ICP)、利用CPU进行的系统编程(ISP)、利用JTAG进行的在板编程(OBP)等。在线编程ICP(In_Circuit Programming)或ILDP(In_Line Device Programming)是指用夹具把ICT 设备的测试通道连接到PCB 上FLASH 器件的各个管脚,把PCB 上和FLASH 器件相连的其它器件进行电器隔离,直接对FLASH 器件进行编程。可以在ICT 测试的同时完成FLASH 器件的编程,但是在PCB 设计时必须保证FALSH 器件的每一个管脚设计ICT 测试点,而且需要占用单板的ICT 测试时间。ICT 加载FLASH 适宜在单板量产时采用,速度比较快,生产效率比较高。但是采用ICT 加载FLASH 需要占用昂贵的ICT 设备资源,而且在单板开发阶段单板没有ICT,测试时无法采用,也不适宜现场维护与升级。系统编程ISP(In-System Programming)是指通过系统上的CPU 来执行FLASH 器件的擦除和编程算法来实现FLASH 器件的编程。这种方式要求CPU 能够正常工作,并且需要提供额外的网口、串口等硬件接口进行软件下载。 利用BS 技术的在板编程既不需要占用额外的设备,也不需要产品增加额外的硬件,它只需 要将相关的BS 器件连成一条扫描链,并将边界扫描接口引出来即可。采用JTAG加载FLASH可以削减物料成本,从而又减少产品的不稳定因素。它能够支持产品整个生命周期的应用。
PLD 编程
很多公司生产的可编程器件都通过JTAG 接口进行程序加载,通过JTAG 进行PLD 编程,只需要单板上电即可完成,方便简单,也不需要开发任何程序。PLD 编程可以应用在任何场合,包括板级编程语系统级编程,包括开发调试、生产、用服和维修等过程,采用JTAG 可以方便的进行PLD 逻辑升级。
电路采样
电路采样是边界扫描测试系统提供的一项重要功能,它可以对与边界扫描单元相关的I/O 引脚进行采样,是用户进行原型设计的验证和测试的工具。可以直观的以图形界面为用户进行系统分析,类似一台成本很低的方便易用的“逻辑分析仪”。

边界扫描技术对产品质量、成本与服务的影响
由于边界扫描结构嵌入在IC 内部,具有边界扫描功能的元件的成本和设计费用成本有所增加,增加的成本需要由节省的测试开发成本、节约的测试仪成本和产品的全过程各阶段的综合成本来补偿。由于许多IC 制造商很快就接受了IEEE-1149.1 标准,近年来,增加边
界扫描逻辑的成本很快降低。
主要的IC 制造商,包括Motorola、Texas Instrument、Philips、Intel、IBM、Toshiba、NEC、National Semiconductor、Xilinx、Vantis、Altera 和Fujitsu 都能在IC 中提供边界扫描。同时大多数ASIC 厂商也支持ASIC 设计中自动加入标准的BST 扫描单元和TAP 控制器。 在产品的开发阶段使用边界扫描器件可以缩短产品的开发时间,由此而实现的成本效益和节省的测试成本远远高于元器件级增加的成本。采用边界扫描作为可测性设计的方法的公司能够得到如下几个方面的益处:
缩短产品面世时间
可以简单的以并行工程进行开发; 加快原型(第一板)调试时间,特别是复杂的系统; 方便在开发阶段的程序修改和反复加载;
由于测试程序可以直接从产品设计中转移而来,可以缩短产品后续阶段的时间
降低测试成本
投入的资本仅占常规ATE 设备的很小一部分; 简化测试准备过程,降低测试准备成本; 快速准确的定位故障; 具有较大的故障覆盖率
提高产品的质量和可靠性
可使产品在更接近实际的工作条件下进行测试;进行电路元件的彻底测试; 最终产品种可内建基于边界扫描的故障诊断; 提高了产品的可维护性
降低PCB 成
采用JTAG 加载FLASH,不需要CPU 工作,只需要PCB 上电就可进行,可以将Bootrom 和Flashrom 结合起来,统一烧制到Flashrom 中,这样可以在电路板上省去Bootrom 芯片及其PLCC 插座,不仅降低了物料成本,简化了生产工序,也优化了生产流程,减少了产品的 不稳定性。

边界扫描技术对产品全生命周期中应用的支持
边界扫描技术可以应用于产品生命周期的全过程,具体可以用于产品设计、硬件原型调试、生产测试、系统测试和现场安装服务等过程。在产品生命周期不同阶段的应用中,可以使用相同的边界扫描硬件控制器,使用同一个软件的框架,使用同样的产品描述文件和测试矢量,只是根据不同的应用阶段的不同认为,执行不同的操作。

边界扫描技术对产品生命周期的支持

在产品设计阶段的用途
在产品设计阶段,边界扫描测试系统可以在选择具有边界扫描的器件方面提供设计帮助。对于设计人员选用的BS 器件,系统可以对其BSDL 文件进行校验,确保正确的BSDL 文件被选用。边界扫描测试系统能够对PCB 设计网表进行故障覆盖的分析,为设计人员提供设计
参考,是否将非BS 器件替换成BS 器件以提高PCB 的可测性。
在产品的硬件调试阶段的用途
在首次投板的原型硬件调试中,只需要提供PCB 网表和BS 芯片的BSDL 文件,就可以使用边界扫描测试系统,进行原型电路板的调试,缩短复杂原型单板的调试时间,同时还可以进行Flash 加载和PLD 的在板编程。
在软件调试和系统集成阶段的用途
随着产品开发进入软件调试和系统集成阶段,边界扫描控制器可用于软件调试。可以通过JTAG 接口进行源代码级的调试,基于边界扫描的仿真器相对于其他类型的仿真器除了硬件成本较低外,边界扫描仿真器不占用目标系统的任何硬件资源,可以实现完全的透明仿真。在目标系统和仿真器之间只需要4 条连线连接边界扫描TAP 控制器。由于边界扫描控制器不是针对具体的处理器,同一个控制器硬件可用于任何支持边界扫描的处理器,仅是调试软件不同而已。
在产品生产测试阶段的用途
产品的生产测试是边界扫描应用的一个重要方面,仅仅使用边界扫描测试系统的自动测试生成程序(ATPG)和故障诊断功能,不需要任何夹具,就可以非常经济的完成整个诊断测试过程。边界扫描测试以极低的成本极大地提高PCB 的故障覆盖率。
在现场维护和安装阶段的应用
产品发货以后,可以使用边界扫描测试系统通过PCB 的边界扫描链在远端遥控进行软硬件升级,例如可以进行Flash 升级和可编程逻辑芯片的编程。用服中心不需要投资专门的维护设备,仅需要使用标准PC 或便携式计算机就可以进行边界扫描的测试和诊断以及进行程序的升级。
在维修中的应用
在生产或者市场返修中,边界扫描测试系统可以用来进行测试诊断,帮助分析和故障定位。同时也可以用力进行在线加载、交互调试和电路采样观察。在产品生命周期不同阶段的应用可以使用相同的硬件控制器模块,并可以在不同接到重复利用相同的测试向量,能够显著降低产品开发、测试和维护的总成本。

用JTAG 边界扫描测试电路板、BGA 和互连
当第一批电路板样板放在硬件工程师桌面的时候,在测试时他会感到非常困扰。工程师耗费几个星期的时间设计电路图和布板,现在电路板做出来了,上面也安装好了元器件并拿在手上,现在必须确定它能否工作。工程师插上板子,加电并观察。但没有办法检测BGA 下面微小到得用放大镜才能看清楚的芯片引脚,工程师应该怎么办?

BGA 因为具有很多优点,所以应用非常普遍。然而我们不能靠剥离器件来探测BGA 下面的连线。X 射线是一种可选的测试方案,但是,它们仅仅呈现焊点的静态图像,而不是提供确保连接性所需的动态电气报告,因而极难判断虚焊和可靠焊点之间的差异。人们总是希望一换掉BGA,问题就会消失。这通常是一种昂贵和耗时间的选择方案,并且生产率非常低。

传统的边界扫描是另一种选择方案,但是这通常需要一些昂贵的工具,并要创建测试向量和测试执行,整个过程要花很长时间。所花费的时间长短取决于设计文档的稳定性和精度。此外,测试结果不是动态的,它们通常是对电路板上所发现问题的汇总。 最佳测试方案是存在于现有设计中的快速、简单和廉价的方案。许多BGA 和大多数高端嵌入式处理器都支持通过IEEE 1149.1 JTAG 接口进行边界扫描。

核心问题在于:信号线是否被正确地连接到物理上无法用探头接触的BGA 器件的某一引脚?该信号线可能是时钟线、地址线、数据总线或任何感兴趣的信号线。关键是对其在电路中进行测试,以观察其状态是高、低或正发生状态跳变,以及信号线是否连通。

基于JTAG 的边界扫描能以非传统的方式获得这些信息。概念很简单,即IC 获取其所有引脚的状态并通过边界扫描链重复地把这些状态移出,并在个人电脑上同步显示结果。用户可以观察BGA 器件下面每一个可扫描引脚的动态行为指示。

从显示器可以实时观察振荡器是否连接到G17 脚或者地址或数据总线的行为,与此同时,电路板上的电路可以不受干扰而保持正常运行。该技术的最好之处在于电路不知道你在进行测试,测试对电路的工作是完全透明的。测试应用程序以全速运行,在JTAG 扫描链上的每一个器件都受到监测。

完成这类测试的工具非常依赖于图形用户接口(GUI)。一旦电路板被描述到应用软件中,屏幕上显示的芯片图就类似于电路版图中的封装。因为芯片的JTAG 接口可能以菊花链排列,版图可能仅包含一个处理器或一些BGA 器件,或者可能包含许多器件,诸如处理器、门阵列、输入/输出控制器等。引脚在屏幕上以彩色编码显示实时状况,如引脚现在的逻辑电平或是否在发生状态跳变。这就使测试非常直观。当测试目的
是简单的连通性和状态检查时,就消除了创建测试向量或测试执行的需要。

每一个器件都被发送JTAG 指令EXTEST,以容许对器件上的每一根引脚进行完全的控制。应用程序然后可以驱动地址总线或切换到一根到连接器或LED 的线,以检查整个电路的连通性,所有这一切只要点击鼠标就能完成。

所有具备JTAG 端口的集成电路都将内建边界扫描功能,其组成部分包括:围绕被扫描器件边界的较长的移位寄存器和控制移位寄存器行为的状态机。在边界寄存器中的每一个寄存器位捕获或控制器件上每一个引脚的某些方面。如果该位是缓冲器使能的,该寄存器位就可能控制若干引脚。

软件应用程序引导状态机把每一个引脚的状态捕获到边界寄存器之中,然后将其移出JTAG 端口。重复这个过程,并把结果显示在屏幕上,就可以实时显示在扫描链中的每一个器件的每一个引脚的行为。因为与测试向量法相比,通过显示图像可以做可视化分析,所以扫描速度不是问题。

对于典型的门阵列,一个这样的寄存器通常有300 到400 位;而对于处理器,最多有几千位。边界扫描描述语言文件(BSDL)定义了寄存器中每一位的含义。这些文件常见于IC 供应商的网站,它们非常详细、精确地描述了边界扫描链中每一个单元的含义以及它与物理引脚的关系。
在器件中与每一个引脚相关的典型扫描单元有三种:1. 捕获/控制进入器件的信号;2. 捕获/控制流出器件的信号;3. 捕获/控制输出缓冲器使能。如果引脚是一个专用的“输入”引脚,它通常具有单个扫描单元。

JTAG 接口只有4 条线:测试数据输入(TDI)、测试数据输出(TDO)、测试时钟(TCK)和测试模式选择(TMS)。TCK 是用于把数据读入TDI 引脚并把数据读出TDO 引脚的异步时钟。TMS 引脚被用于转换TAP 控制器的状态机。

BSDL 文件是免费的,边界扫描电路已经被构建在你的JTAG 器件之中,而JTAG 接头在你的目标板上。接下来做的事就是编制合适的诊断应用程序,并开始观察BGA 器件下面的情况。
Broadkey、ASSET-InterTech帮助硬件工程师最大限度地利用目标板内建的JTAG 功能。

无向量测试
结合BIST 与ATE 优势,无向量测试提供经济高效的高速I/O 接口测试大批量半导体芯片制造商必须解决以下这道难题,即如何经济高效地测试嵌入在大型数字系统级芯片设计中的多个多通道高速I/O 接口(如PCI Express、HyperTransport 和 Infiniband)。虽然结合了闭环操作的片上内置自测试(BIST)被广泛地用来替代昂贵的自动测试设备(ATE),但它仍具有高速模拟部分缺陷覆盖率不高的不足,而这将严重影响整体产品的质量。

现在,出现了一种新兴的被称为“无向量测试”的方法,它同时拥有BIST 和ATE 两种方法的优势:即片上I/O BIST 的经济高效性和基于ATE 的信号完整性测量。特别是,该理念将ATE 参数测试与片上测试内容生成和比较结合起来,从而形成了硅芯片与ATE 设备之间的良好协同,其结果是产生了一种嵌入在硅芯片中的可用于大批量制造测试的经济型优化解决方案。速率持续增加到超过每秒千兆位的门限,特别是对于高速I/O 接口,在ATE 上提供这一能力的成本在大批量制造环境中变得极具挑战性。

为了将对ATE 测试的依赖性减到最小,很多芯片制造商正在使用片上BIST 结构与闭环模式的组合。由于今天的硅工艺已达到很高的集成度,因此在硅片上适当占用一些面积是完全可以接受的。不幸的是,BIST 方法不能执行任务模式参数测试,而这对于高速I/O 接口的集成来说
却非常重要。在每秒几千兆位的速率上,不可能再将信号作为纯数字信号来处理。一些信号完整性参数(如时序抖动和噪声电平)都必须加以考虑以保持足够的缺陷覆盖率和满足所要求的质量水平。
融合两种方法的优势
无向量测试是一种利用ATE 和BIST 两种方法优势的更为协同的测试方法。借助这种方法,ATE 可有效地作为BIST/回环中的环路扩展,测试人员无需再提供任务模式向量和线速比较,而只需负责进行信号完整性验证。

由于向量生成和线速比较能力传统上抬高了ATE 测试通道的成本,因此这种双测试方法可为大批量制造提供一种更为经济的测试解决方案。
以下介绍其工作原理。片上BIST 电路在所需的数据速率上提供测试内容,然后再根据闭环模式下的标准协议来测试这些内容。ATE 则负责执行片上电路所难以完成的信号完整性测量。

参数测量的设置并不需要向量,因此这种测试方法被称为无向量参数测试。待测参数取决于应用,其范围可从简单的抖动生成、容限、接收灵敏度、直至像数据对时钟偏斜等更为复杂的参数。

那么这又对设计者产生那些影响呢?设计者现在只需在IC 上创建一种机制,这种机制用来为芯片的功能验证和在ATE 上进行的参数测试提供测试内容。设计者必须通过一种给锁相环施加最大压力的“杀手级”图案(pattern)来产生最坏情况下的信号完整性条件。这种方法具有一个明确的优势:即设计者可以利用与其用来设计SoC 测试电路相同的技术,而毋需等待开发新的ATE 技术。
闭环通道
对ATE 来说,闭环通道可通过ATE 中更为经济高效的回环通道卡来扩展,这可允许对所需的信号完整性参数实现独立向量测量,以及允许对直流测量资源进行随意访问。这种回环通道卡可被配置用来测量像抖动这样的信号完整性参数,并允许测试工程师将这些参数反馈给接收机。这允许利用同一块卡同时测量发射器信号完整性和接收器容限。对成本敏感度更高的应用,可以只提供一种通过/失败这样的简单二元测试,以进一步降低ATE 卡的成本。

实现低成本参数闭环测试解决方案的方式有多种,其中一些解决方案将抖动插入模块增加到“待测设计”(DUT)板中,但这些方法存在插入的抖动会随数据速率变化这种不利因素。一种更为灵活的方法包括一个可调“数据眼”调节器,它允许实现独立的抖动及信号电平调整。

由于这不能通过DUT 板上的无源器件来实现,因此ATE 中的专用回环卡不失为一种合适的选择,它使得用户能对利用软件打开的眼图进行编程。将片上BIST 与ATE 辅助的回环测试结合在一起的协同方法,可实现比以往任何一种测试方法都更为有效的高速I/O 接口测试解决方案。尽管它确实需要设计者去开发一些用来支持参数及逻辑测试的机制,但现有EDA 能力可以很容易支持这些机制的创建。BIST 与ATE 的结合可实现一种更为经济高效的大批量制造解决方案,这种方案可提供新型SoC 芯片模拟测试所需的高缺陷覆盖率及质量水平。
 
 
[ 应用案例搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]  [ 返回顶部 ]

0条 [查看全部]  网友评论