一种数据总线转换装置及其rs编译码器的制作方法

文档序号:7593860阅读:136来源:国知局
专利名称:一种数据总线转换装置及其rs编译码器的制作方法
技术领域
本发明涉及一种通信领域的数据总线转换装置以及其前向纠错装置,尤其涉及的是一种RS(Reed-Solomon)码的编译码装置。
背景技术
RS码是Reed-Solomon码的简称,由Reed和Solomon各自于1960年首先提出,是Galos域GF(2m)上的线性分组循环码。一个码组(也称码字)中包含n个码元,k个信息码元(称为信息组),n-k个校验码元(称为校验组),一般用RS[n,k]表示,可以检测n-k个错误,可以纠正 个错误,是一类有很强纠错能力的多进制码。在计算机纠错系统,特别是存储系统,如光盘、磁盘、磁带中用得很普遍,近年来在光传输系统也大量采用了RS码。
目前的RS编译码装置只针对一种RS码,输入输出总线宽度与码元的比特数相同,但在实际应用系统中,通常要求同时实现两种或多种RS码。其中一种是标准RS码或其缩短码,另一种或多种是多路交织的复合码。例如16路交织RS(255,239)和RS(2720,2550),8路交织RS(31,26)和RS(155,131),8路交织RS(15,11)和RS(80,59)等。在同一系统中同时实现的多种RS码码字的总比特数相同,但码元的比特数不一样,信息组的比特数也可能不一样。一般以信息组最少比特数为准,超过该值的用0填充。例如16路交织RS(255,239)与RS(2720,2550),两者的总比特数都为32640,但前者的信息组比特数为16*239*8=30592,后者的信息组比特数为2550*12=30600。为了实现两者兼容,规定RS(2720,2550)每个信息组的最后8比特固定为0。
在实际应用系统中,通常要求使用相同的输入输出接口。仍以16路交织RS(255,239)和RS(2720,2550)为例,目前,16路交织RS(255,239)已经得到广泛应用,实现时一般采用16*8=128bits数据总线,每8-bits一组,按顺序分别与一个RS(255,239)编码器或译码器对应。RS(255,239)编码器或译码器实际使用的是8-bits数据总线,每个时钟周期刚好输入输出一个码元。RS(2720,2550)要使用与16路交织RS(255,239)相同的接口,数据总线也必须是128比特的。但是,RS(2720,2550)的每个码元包含12比特,128不是12的整数倍,每时钟周期输入输出的128比特数据中必然包含不完整的码元,但现有RS编译码技术都是以码元为单位的,不能处理不完整码元。8路交织RS(31,26)和RS(155,131),8路交织RS(15,11)和RS(80,59)等具有与16路交织RS(255,239)和RS(2720,2550)同样的问题。
因此,现有技术存在缺陷,而有待于改进和发展。

发明内容
本发明的目的在于提供一种数据总线转换装置及其RS编译码器,针对上述描述的不完整码元问题,通过比特0的插入和剔出,实现P*m1与T*m2比特总线之间的相互转换,避免不完整码元的产生,从而有效解决现有技术之难题。
本发明的技术方案为一种数据总线转换装置,其中,所述数据总线转换装置包括在系统中同时实现的两种RS编译码器,该两种RS编译码器为P路交织RS(n1,k1)复合码和RS(n2,k2)码,该两种RS编译码器都使用P*m1比特宽的数据总线,并且输入输出接口相同;一交织模块和一解交织模块,所述P路交织RS(n1,k1)复合码通过该交织模块和解交织模块把P*m1比特宽的数据总线分解成P路独立的具有m1比特宽的数据总线,分别提供给P个相互独立的RS(n1,k1)编译码器;
一总线转换模块,所述RS(n2,k2)编译码器通过该总线转换模块实现P*m1比特数据总线和T*m2比特数据总线之间的转换,提供T*m2比特宽数据总线给RS(n2,k2)半并行编译码器进行T路并行编译码;其中RS(n1,k1)表示信息码元数为k1,校验码元数为(n1-k1),每个码元包含m1比特的RS码;RS(n2,k2)表示信息码元数为k2,校验码元数为(n2-k2),每个码元包含m2比特的RS码;T是RS(n2,k2)半并行编译码器并行处理的码元数。
所述的数据总线转换装置,其中,所述总线转换模块包括P*m1到T*m2总线转换模块和T*m2到P*m1总线转换模块,所述P*m1到T*m2总线转换模块用于通过P*m1比特总线接收数据,存入一移位寄存器组,再通过T*m2比特数据总线输入到FIFO中缓存,然后用T*m2比特数据总线输出;一控制模块,用于控制所述移位寄存器组在帧头和帧尾插入适当比特的0,管理FIFO,同时将接收的与P*m1比特总线同步的帧定位信息转换成与输出的T*m2比特数据总线同步的帧定位信息。
所述的数据总线转换装置,其中,所述T*m2到P*m1总线转换模块用于通过T*m2比特总线接收数据,存入移位寄存器组,再通过P*m1比特数据总线输入到FIFO中缓存,然后用P*m1比特数据总线输出;所述控制模块控制移位寄存器组在帧头和帧尾插入适当比特的0,管理FIFO,同时将接收的与T*m2比特总线同步的帧定位信息转换成与输出的P*m1比特数据总线同步的帧定位信息。
一种使用所述的数据总线转换装置的RS编译码器,其中,所述RS编译码器包括同时实现的一P路交织RS(n1,k1)复合码和RS(n2,k2)码编译码功能的RS编译码器,所述P路交织RS(n1,k1)编码器和RS(n2,k2)编码器采用相同的输入输出接口,所述P路交织RS(n1,k1)译码器和RS(n2,k2)译码器采用相同的输入输出接口,总线宽度都为P*m1比特。
所述的RS编译码器,其中,所述P路交织RS(n1,k1)编译码器包括一交织模块及一解交织模块,该交织模块与解交织模块之间为P路RS编/译码器;对于编码器,输入数据进入系统后送到P路交织RS编码器进行编码,编码后的数据通过P*m1比特宽度的数据总线输出;对于译码器,输入数据进入系统后送到P路交织RS译码器进行译码,译码后的数据同样通过P*m1比特宽度的数据总线输出。
所述的RS编译码器,其中,所述RS(n2,k2)编译码器包括一P*m1到T*m2总线转换模块及一T*m2到P*m1总线转换模块,在该P*m1到T*m2总线转换模块与该T*m2到P*m1总线转换模块之间为RS(n2,k2)编/译码器;对于编码器,将待编码数据送到所述P*m1到T*m2总线转换模块,插入比特0进行填充,将P*m1比特宽度的数据总线转换成T*m2比特的数据总线,T*m2比特宽度数据输入RS(n2,k2)半并行编码器进行编码,编码后的数据首先输出到T*m2到P*m1总线转换模块,去除信息组中的插入比特0,将T*m2比特宽的数据总线转换成P*m1比特宽的数据总线输出;对于译码器,将待译码数据首先送到P*m1到T*m2总线转换模块,插入比特0进行填充,将P*m1比特宽的数据总线转换成T*m2比特宽的数据总线,T*m2比特宽度数据输入RS(n2,k2)半并行译码器进行译码,译码后的数据首先输出到T*m2到P*m1总线转换模块,去除信息组中的插入比特0,将T*m2比特宽的数据总线转换成P*m1比特宽的数据总线输出。
所述的RS编译码器,其中,所述P*m1比特宽总线和T*m2比特宽总线采用相同频率的时钟,同时用使能信号标示总线上的数据是否有效,如果使能信号不使能,总线上的P*m1或者T*m2比特数据无效,否则有效。
本发明所提供的一种数据总线转换装置及其RS编译码器,由于采用了RS(n1,k1)编译码器的输入输出总线宽度与码元宽度相同,RS(n2,k2)半并行编译码器的输入输出总线宽度是码元宽度的T倍,都不涉及不完整码元,可以用传统的RS编译码方法实现,有效解决了不完整码元无法应用于RS编译码器的问题,统一了不同RS编译码之间的输入输出接口。


图1是本发明的统一接口同时实现P路交织RS(n1,k1)复合码和RS(n2,k2)码的编译码器的系统结构图;图2是本发明的P路交织RS(n1,k1)编码器模块结构图;图3是本发明的P路交织RS(n1,k1)译码器模块结构图;图4是本发明的RS(n2,k2)编码器模块结构图;图5是本发明的RS(n2,k2)译码器模块结构图;图6是本发明的P*m1到T*m2总线转换模块结构图;图7是本发明的T*m2到P*m1总线转换模块结构图。
具体实施例方式下面结合附图对本发明的具体实施例加以详细描述。
本发明方法的其核心思想是在系统中同时实现的两种RS编译码器--P路交织RS(n1,k1)复合码和RS(n2,k2)码都使用P*m1比特宽的数据总线,输入输出接口相同。P路交织RS(n1,k1)复合码通过交织和解交织模块把P*m1比特宽的数据总线分解成P路独立的具有m1比特宽的数据总线,分别提供给P个相互独立的RS(n1,k1)编译码器。RS(n2,k2)编译码器通过总线转换模块实现P*m1比特数据总线和T*m2比特数据总线之间的转换,提供T*m2比特宽数据总线给RS(n2,k2)半并行编译码器进行T路并行编译码。
其中RS(n1,k1)表示信息码元数为k1,校验码元数为(n1-k1),每个码元包含m1比特的RS码;RS(n2,k2)表示信息码元数为k2,校验码元数为(n2-k2),每个码元包含m2比特的RS码;T是RS(n2,k2)半并行编译码器并行处理的码元数。一般地,m1小于m2,m1*k1小于等于m2*k2,P*m1小于等于T*m2。
如图1所示的,总线转换模块分P*m1到T*m2总线转换模块和T*m2到P*m1总线转换模块两部分,P*m1到T*m2总线转换模块通过P*m1比特总线接收数据,存入移位寄存器组,再通过T*m2比特数据总线输入到FIFO中缓存,然后用T*m2比特数据总线输出。控制模块控制移位寄存器组在帧头和帧尾插入适当比特的0,管理FIFO,同时将接收的与P*m1比特总线同步的帧定位信息转换成与输出的T*m2比特数据总线同步的帧定位信息。T*m2到P*m1总线转换模块与P*m1到T*m2总线转换模块相似,首先通过T*m2比特总线接收数据,存入移位寄存器组,再通过P*m1比特数据总线输入到FIFO中缓存,然后用P*m1比特数据总线输出。控制模块控制移位寄存器组在帧头和帧尾插入适当比特的0,管理FIFO,同时将接收的与T*m2比特总线同步的帧定位信息转换成与输出的P*m1比特数据总线同步的帧定位信息。
RS(n1,k1)编译码器的输入输出总线宽度与码元宽度相同,RS(n2,k2)半并行编译码器的输入输出总线宽度是码元宽度的T倍,都不涉及不完整码元,可以用传统的RS编译码方法实现,有效解决了不完整码元问题,统一了不同RS码之间的输入输出接口。
同时实现P路交织RS(n1,k1)复合码和RS(n2,k2)码编译码功能的RS编译码器的系统结构如图1所示,P路交织RS(n1,k1)编码器和RS(n2,k2)编码器采用相同的输入输出接口,P路交织RS(n1,k1)译码器和RS(n2,k2)译码器也采用相同的输入输出接口,总线宽度都为P*m1比特。对于编码器,输入数据进入系统后送到P路交织RS(n1,k1)编码器或者RS(n2,k2)编码器进行编码,编码后的数据通过P*m1比特宽度的数据总线输出。对于译码器,输入数据进入系统后送到P路交织RS(n1,k1)译码器或者RS(n2,k2)译码器进行译码,译码后的数据同样通过P*m1比特宽度的数据总线输出。
P路交织RS(n1,k1)编码器的结构如图2所示。待编码数据通过P*m1比特宽输入总线首先送到解交织模块210,解交织后通过P条m1比特宽度的数据总线分别送到P个相互独立的RS(n1,k1)编码器进行编码,编码后的数据送到交织模块220进行交织,然后通过P*m1比特宽度数据总线输出。P路交织RS(n1,k1)译码器的结构与编码器相似,如图3所示,待译码的数据通过P*m1比特宽度输入总线首先送到解交织模块210,解交织后通过P条m1比特宽度的数据总线分别送到P个独立的RS(n1,k1)译码器进行译码,译码后的数据送到交织模块220进行交织,然后通过P*m1比特宽度数据总线输出译码后数据。
RS(n2,k2)编码器结构如图4所示,待编码数据首先送到P*m1到T*m2总线转换模块410,插入比特0进行填充,将P*m1比特宽度的数据总线转换成T*m2比特的数据总线。T*m2比特宽度数据输入RS(n2,k2)半并行编码器进行编码,每时钟并行处理T个码元,每个码元包含m2比特,没有不完整码元出现,仍然采用常规RS编码器实现。编码后的数据首先输出到T*m2到P*m1总线转换模块420,去除信息组中的插入比特0,将T*m2比特宽的数据总线转换成P*m1比特宽的数据总线输出。RS(n2,k2)译码器的结构与RS(n2,k2)编码器的结构相似,如图4所示,待译码数据首先送到P*m1到T*m2总线转换模块410,插入比特0进行填充,将P*m1比特宽的数据总线转换成T*m2比特宽的数据总线。T*m2比特宽度数据输入RS(n2,k2)半并行译码器进行译码,每时钟并行处理T个码元,每个码元包含m2比特。译码后的数据首先输出到T*m2到P*m1总线转换模块420,去除信息组中的插入比特,将T*m2比特宽的数据总线转换成P*m1比特宽的数据总线输出。为便于硬件实现,P*m1比特宽总线和T*m2比特宽总线采用相同频率的时钟,同时用使能信号标示总线上的数据是否有效。如果使能信号不使能,总线上的P*m1或者T*m2比特数据无效,否则有效。
一般地,RS(n2,k2)编码器的总线宽度为 比特,实际输入的信息组长度为 个m2比特码元。因为在信息组前面插入码元比特0不会改变校验组的值,一般需要在信息组前插入 -k2个码元比特0,同时需要在信息组末尾插入k2*m2-P*k1*m1个比特0。以16路交织RS(255,239)和RS(2720,2550)为例,因为RS(2720,2550)编码器的接口要与16路交织RS(255,239)的相同,后者采用128-bits输入输出总线,输入239个128-bits信息组以后等待16个以上的时钟周期,输出校验码元,RS(2720,2550)编码模块必须在239个时钟周期内完成校验组的计算,每个时钟周期接收 个12-bits码元,编码模块每个时钟周期并行处理11个码元,一个码字需要 个时钟周期,实际处理232*11=2552个码元。不过一个码元实际的信息比特数为16*239*8=30592,加上固定填充的8比特,还需要填充2552*12-30592-8=24比特(即2个码元0)进行计算。将24个比特0插到码字前面,RS(2720,2550)码字就变成了RS(2722,2552)码字。为了与16路交织RS(255,239)一致,在编码器的输出端必须将插入到码字前面的24个填充比特去除,将RS(2722,2552)码字转换成RS(2720,2550)码字。RS(2720,2550)译码器的接口也要与16路交织RS(255,239)的相同,255个时钟周期接收完一个RS(2720,2550)码字,每个时钟周期需要并行处理 个码元,实际处理时间为 个时钟周期,实际处理了248*11=2728个码元。所以,在并行译码前,需要在接收到的RS(2720,2550)码字前面插入6*12=72比特的0(即6个码元0),将其转换成RS(2728,2558)码字。
图6为P*m1比特到T*m2比特总线转换模块结构图,FIFO为宽T*m2比特、深 的存储器。2*P*m1比特的移位寄存器组的寄存器从上到下编号依次为0,1,...,2*P*m1。指针pointer指向比特移位寄存器中当前有效填充数据的下一位置,编号小于pointer的寄存器内都有有效数据,编号大于等于pointer的寄存器为空。例如pointer=w,则寄存器0到寄存器w内都有有效数据。如果此时输入有效数据,输入的P*m1比特顺序放在原来剩余数据下面,即放在寄存器w到寄存器w+P*m1-1内,指针下移,指向寄存器w+P*m1。如果移位寄存器内的有效数据超过T*m2比特(指针pointer大于等于T*m2),将最上面的T*m2比特数据移出,同时将剩余数据上移T*m2比特,指针也上移T*m2比特。如果在移出数据的同时有数据输入,首先移出数据,调整剩余数据位置,然后将新输入的数据顺序放到剩余数据下面,根据新的数据位置调整指针。因为只要移位寄存器内有超过T*m2比特数据,就会将顶端数据移出,移位寄存器内的数据始终不会超过2*P*m1比特。
一个时钟周期输入转换模块的最多只有P*m1比特,输出转换模块的可能为T*m2比特,即使P*m1比特数据总线连续输入,T*m2比特数据输出也会有间隙(某些时钟周期数据不使能,表示没有输出)。如果在码字中间有间隙,会大大增加编码、译码的复杂度,故用FIFO对数据缓存,在一个码字开始以后先缓存足够的数据,再连续输出,从而去除码字中间的间隙。如果P*m1比特数据总线连续输入(一般情况下输入都是连续的),一个码字需要n1个时钟周期,连续以T*m2比特数据总线输出,需要 个时钟周期,要保证连续,需要先缓存 比特数据。在每个码字初始化时,将移位寄存器设为0,同时设置指针为 插入 个比特0到信息组前面;在输入P*k1*m1信息比特后,还需要添加k2*m2-k1*m1个比特0到移位寄存器。对于译码器的P*m1到T*m2转换模块,需要将移位寄存器设为0的同时设置指针为 插入 个比特0到信息组前面。控制模块通过对指针的控制完成比特0的插入,它同时还控制FIFO,对帧定位信息进行转换,将输入的与P*m1比特宽数据总线同步的帧定位信号转转成与T*m2比特宽数据总线同步的帧定位信号。
T*m2到P*m1总线转换模块与P*m1到T*m2转换模块类似,使用图7所示的结构。包含2*P*m1比特的移位寄存器组从上到下依次将各寄存器编号为0,1,...,2*P*m1-1。FIFO由宽度为T*m2比特、深度为 的存储器构成。指针pointer指向比特移位寄存器中当前有效填充数据的下一位置,编号小于pointer的寄存器内都有有效数据,编号大于等于pointer的寄存器为空。该模块首先通过T*m2比特数据总线从编码模块或译码模块接收数据,存入FIFO中。如果移位寄存器中有超过T*m2个寄存器为空(pointer小于2*P*m1-T*m2),从FIFO中读取T*m2比特数据,按顺序放在移位寄存器中已有数据下面,同时调整指针,指向存入数据后的相应位置。如果移位寄存器中有超过P*m1比特的有效数据,通过P*m1比特数据总线输出,同时将剩余数据移到移位寄存器顶部,调整指针。通常从FIFO读数据和从移位寄存器输出数据是同时发生的,这时首先输出P*m1比特数据,调整剩余数据位置,然后在剩余数据下面顺序存放从FIFO中读入的数据,调整指针。
对于编码器的P*m1到T*m2转换模块,需要丢掉每个码字最前面的 比特填充值;对于译码器的P*m1到T*m2转换模块,需要丢掉每个码字最前面的 比特填充值。
系统中的RS(n1,k1)和RS(n2,k2)编译码器每时钟周期处理一个或T个码元,不涉及不完整码元,是常规RS编译码器。
本发明通过比特0的插入和剔出,实现了P*m1与T*m2比特总线之间的相互转换,避免了不完整码元的产生,巧妙地解决了数据总线不一致引起的不完整码元问题,实现了接口完全相同的P路交织RS(n1,k1)复合码和RS(n2,k2)码的编译码器。
权利要求
1.一种数据总线转换装置,其特征在于,所述数据总线转换装置包括在系统中同时实现的两种RS编译码器,该两种RS编译码器为P路交织RS(n1,k1)复合码和RS(n2,k2)码,该两种RS编译码器都使用P*m1比特宽的数据总线,并且输入输出接口相同;一交织模块和一解交织模块,所述P路交织RS(n1,k1)复合码通过该交织模块和解交织模块把P*m1比特宽的数据总线分解成P路独立的具有m1比特宽的数据总线,分别提供给P个相互独立的RS(n1,k1)编译码器;一总线转换模块,所述RS(n2,k2)编译码器通过该总线转换模块实现P*m1比特数据总线和T*m2比特数据总线之间的转换,提供T*m2比特宽数据总线给RS(n2,k2)半并行编译码器进行T路并行编译码;其中RS(n1,k1)表示信息码元数为k1,校验码元数为(n1-k1),每个码元包含m1比特的RS码;RS(n2,k2)表示信息码元数为k2,校验码元数为(n2-k2),每个码元包含m2比特的RS码;T是RS(n2,k2)半并行编译码器并行处理的码元数。
2.根据权利要求1所述的数据总线转换装置,其特征在于,所述总线转换模块包括P*m1到T*m2总线转换模块和T*m2到P*m1总线转换模块,所述P*m1到T*m2总线转换模块用于通过P*m1比特总线接收数据,存入一移位寄存器组,再通过T*m2比特数据总线输入到FIFO中缓存,然后用T*m2比特数据总线输出;一控制模块,用于控制所述移位寄存器组在帧头和帧尾插入适当比特的0,管理FIFO,同时将接收的与P*m1比特总线同步的帧定位信息转换成与输出的T*m2比特数据总线同步的帧定位信息。
3.根据权利要求1所述的数据总线转换装置,其特征在于,所述T*m2到P*m1总线转换模块用于通过T*m2比特总线接收数据,存入移位寄存器组,再通过P*m1比特数据总线输入到FIFO中缓存,然后用P*m1比特数据总线输出;所述控制模块控制移位寄存器组在帧头和帧尾插入适当比特的0,管理FIFO,同时将接收的与T*m2比特总线同步的帧定位信息转换成与输出的P*m1比特数据总线同步的帧定位信息。
4.一种使用如权利要求1所述的数据总线转换装置的RS编译码器,其特征在于,所述RS编译码器包括同时实现的一P路交织RS(n1,k1)复合码和RS(n2,k2)码编译码功能的RS编译码器,所述P路交织RS(n1,k1)编码器和RS(n2,k2)编码器采用相同的输入输出接口,所述P路交织RS(n1,k1)译码器和RS(n2,k2)译码器采用相同的输入输出接口,总线宽度都为P*m1比特。
5.根据权利要求4所述的RS编译码器,其特征在于,所述P路交织RS(n1,k1)编译码器包括一交织模块及一解交织模块,该交织模块与解交织模块之间为P路RS编/译码器;对于编码器,输入数据进入系统后送到P路交织RS编码器进行编码,编码后的数据通过P*m1比特宽度的数据总线输出;对于译码器,输入数据进入系统后送到P路交织RS译码器进行译码,译码后的数据同样通过P*m1比特宽度的数据总线输出。
6.根据权利要求4或5所述的RS编译码器,其特征在于,所述RS(n2,k2)编译码器包括一P*m1到T*m2总线转换模块及一T*m2到P*m1总线转换模块,在该P*m1到T*m2总线转换模块与该T*m2到P*m1总线转换模块之间为RS(n2,k2)编/译码器;对于编码器,将待编码数据送到所述P*m1到T*m2总线转换模块,插入比特0进行填充,将P*m1比特宽度的数据总线转换成T*m2比特的数据总线,T*m2比特宽度数据输入RS(n2,k2)半并行编码器进行编码,编码后的数据首先输出到T*m2到P*m1总线转换模块,去除信息组中的插入比特0,将T*m2比特宽的数据总线转换成P*m1比特宽的数据总线输出;对于译码器,将待译码数据首先送到P*m1到T*m2总线转换模块,插入比特0进行填充,将P*m1比特宽的数据总线转换成T*m2比特宽的数据总线,T*m2比特宽度数据输入RS(n2,k2)半并行译码器进行译码,译码后的数据首先输出到T*m2到P*m1总线转换模块,去除信息组中的插入比特0,将T*m2比特宽的数据总线转换成P*m1比特宽的数据总线输出。
7.根据权利要求6所述的RS编译码器,其特征在于,所述P*m1比特宽总线和T*m2比特宽总线采用相同频率的时钟,同时用使能信号标示总线上的数据是否有效,如果使能信号不使能,总线上的P*m1或者T*m2比特数据无效,否则有效。
全文摘要
本发明的一种数据总线转换装置及其RS编译码器,其中,所述数据总线转换装置包括在系统中同时实现的两种RS编译码器,该两种RS编译码器为P路交织RS(n1,k1)复合码和RS(n2,k2)码,该两种RS编译码器都使用P*m1比特宽的数据总线,并且输入输出接口相同;通过比特0的插入和剔出,实现P*m1与T*m2比特总线之间的相互转换,避免不完整码元的产生,从而实现了传统的RS编译码器在通信领域的前向纠错装置中的应用。
文档编号H04L1/00GK1787385SQ20041005257
公开日2006年6月14日 申请日期2004年12月8日 优先权日2004年12月8日
发明者姜志强 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1