一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于SPI的通信系统的制作方法

2023-02-04 17:23:05 来源:中国专利 TAG:
基于spi的通信系统
技术领域
:1.本发明涉及通信
技术领域
:,尤其涉及一种基于spi的通信系统。
背景技术
::2.现有的很多信号处理设备基于特定的芯片来实现的,使得信号处理过程灵活性差、成本高,无法实现自主可控。3.例如卫星接收机,卫星接收机是一种接收卫星信号进行解扰解密后,进行线路转发的设备。卫星接收机中通常设置有用于对卫星信号进行解扰解密的模块,现有的卫星接收机结构通常需要采用cimax的接口芯片以及ti-dm642等特定芯片的emif接口机制实现,cimax芯片和ti-dm642芯片通过i2c接口连接,基于i2c接口进行初始化,初始化效率比较低,且只能从pcmcia接口获取的卫星信号,加扰解密后再输出,不能选择信号输入源,灵活性差,通信效率低。卫星接收机的输出部分通常基于特定的fpga结合对应的asi_ip核来实现异步串行输出。此外,cimax的接口芯片、ti-dm642芯片、基于特定的fpga结合对应的asi_ip核等特定芯片导致现有的卫星接收机具有限制性,成本高、且无法实现自主可控。4.卫星接收机可以输出asi信号,现有的其他信号处理设备也可以直接处理未加密未加扰的视频生成asi信号,但也是基于特定的fpga结合对应的asi_ip核来实现的,具有限制性,成本高、且无法实现自主可控,卫星接收机或者其他信号处理设备可以输出多路asi信号。5.多路asi信号输出之后,通过对asi的调制,生成无线电射频(rf)信号进行输出。随着现代通信技术的发展,特别是移动通信技术高速发展,新的需求层出不穷,促使新的业务不断产生,导致频率资源越来越紧张,在有限的带宽里要传输大量的多媒体数据,提高频谱利用率至关重要。由于具有高频谱利用率、高功率谱密度等优势,正交振幅调制(quadratureamplitudemodulation,简称qam)被广泛应用于高速数据传输系统。现有的对于多路asi信号的调制也是采用qam调制技术,但是现有的是通过特定的芯片,且只能对每一路asi信号单独调制后再合并,调制效率低,且采用特定芯片成本高,具有限制性,无法实现自主可控。技术实现要素:6.本发明目的在于,提供一种基于spi的通信系统,提高了第一fpga模块和第一arm模块之间的通信效率。7.本发明提供一种基于spi的通信系统,包括第一fpga模块、第一arm模块、安装在fpga上的处理模块、存储有计算机程序的存储器和处理器,所述第一fpga模块包括fpga寄存器;8.所述第一fpga模块与第一arm模块之间通过tsi接口以及spi接口相连接,所述tsi接口用于在所述第一fpga模块与第一arm模块之间传输数据,所述spi接口用于在所述第一fpga模块与第一arm模块之间传输控制命令,所述控制命令基于预设的spi数据结构生成;9.所述预设的spi数据结构包括读写标识数据段、读写目标数据段、读写类型数据段、目标地址数据段、目标信息数据段,所述读写标识数据段用于存储读或写的标识,其中,所述读写目标数据段用于存储读写目标标识,读写目标包括fpga寄存器或安装在fpga上的处理模块;所述读写类型包括处理模块通用存储读写标识、处理模块属性存储读写标识、处理模块io读写标识、空标识;所述目标地址数据段用于存储目标地址信,所述目标信息数据段用于存储目标信息;10.当所述处理器执行所述计算机程序时,实现以下步骤:11.步骤d1、所述第一arm模块基于所述预设的spi数据结构生成目标控制命令;12.步骤d2、所述第一arm模块将所述目标控制命令通过所述spi接口传输给fpga寄存器;13.步骤d3、所述第一fpga模块从所述fpga寄存器解析所述目标控制命令,获取读写标识、读写目标、读写类型、目标地址信息和目标信息,若读写标识为读,则执行步骤d4,若读写标识为写,则执行步骤d5;14.步骤d4、所述第一fpga模块按照读写类型从所述读写目标对应的目标地址信息中获取对应的目标读取数据,并将目标读取数据通过tsi接口返回给第一arm模块;15.步骤d5、所述第一fpga模块按照读写类型从将所述目标信息写入读写目标对应的目标地址信息中。16.本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于spi的通信系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:17.本发明通过预设的spi数据结构生成目标控制命令,发送给fpga寄存器,第一fpga模块通过读取解析fpga寄存器收到的目标控制命令执行相应的读写操作,可以根据具体控制需求灵活生成对应的目标控制命令,提高了第一fpga模块和第一arm模块之间的通信效率。18.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。附图说明19.图1为本发明实施例提供的卫星信号处理系统架构示意图;20.图2为本发明实施例提供的基于spi的通信系统架构示意图;21.图3为本发明实施例提供的卫星信号接收机架构意图;22.图4为本发明实施例提供的视频信号处理系统意图;23.图5为本发明实施例提供的多路asi信号处理流程图。具体实施方式24.为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明进行详细说明。25.为了避免信号处理系统中的核心芯片受限于特定芯片,本技术提出了多种基于通用的fpga(field-programmablegatearray)和arm处理器搭建的信号处理系统,来提高信号处理效率,降低信号处理成本,以下对本技术提出的每一信号处理系统进行详细说明。26.实施例一、27.实施例一提供了一种卫星信号处理系统,如图1所示,包括信号预处理模块、m个解密解扰模块{c1,c2,…,cm}、第一fpga模块、第一arm模块、第一信号输出模块、存储有计算机程序的存储器(图1中未示出)和处理器(图1中未示出)。其中,所述信号预处理模块、ci均与第一fpga模块相连接,所述第一fpga模块与第一arm模块相连接,所述第一信号输出模块设置在所述第一arm模块上。ci为第i个解密解扰模块,i的取值范围为1到m,m为解密加扰模块的数量,例如,m可以等于2。28.当所述计算机程序被所述处理器执行时,实现以下步骤:29.步骤s1、通过所述信号预处理模块获取待处理的卫星信号,并进行预处理生成第一ts(transportstream)流,所述待处理的卫星信号为加密加扰的卫星信号。30.其中,ts流指的是ts流文件,是一种dvd的文件格式。31.步骤s2、所述第一arm模块基于获取的第一路由配置信息生成第一目标路由控制命令,并将所述第一目标路由控制命令发送给所述第一fpga模块。32.需要说明的是,所述系统可以包括显示界面,通过显示界面接收用户输入的第一路由配置信息,第一路由配置信息可以根据具体应用需求灵活配置。33.步骤s3、所述第一fpga模块基于所述第一目标路由控制命令将所述第一ts流发送给至少一个第一目标ci、并直接或通过第一目标ci将所述第一ts流发送给所述第一arm模块。34.需要说明的是,基于第一目标路由控制命令将第一ts流发送给至少一个第一目标ci、并直接或通过第一目标ci将所述第一ts流发送给所述第一arm模块,可以先在系统中使第一ts流运转起来,但可以理解的是,这个阶段流转的第一ts流是加密加扰的,不可以直接播放的。35.步骤s4、所述第一arm模块从所述第一ts流提取第一目标节目信息,并生成第一ci协议栈,发送给所述第一fpga模块。36.需要说明的是,第一ts流中是包括多套节目的,但系统当前需要关注的可能仅是其中的一部分,并非全部,如果全部进行解密解扰,将耗费大量系统资源,降低系统的信号处理效率,因此,本技术基于ci协议栈来提取第一目标节目信息,提高信号处理效率。37.步骤s5、所述第一fpga模块将所述第一ci协议栈转发给至少一个第二目标ci,所述第二目标ci属于第一目标ci集合。38.需要说明的是,基于步骤s2和步骤s3灵活配置的路由信息,使得第一ts流可以灵活发送至多个第一目标ci中,步骤s5可以进一步灵活地从第一目标ci中选择一个或多个第二目标ci,来执行提取目标节目信息的操作。39.步骤s6、所述第二目标ci基于接收到的第一ci协议栈,从所述第一ts流中解析出目标清流,发送给第一fpga模块,所述目标清流为解密解扰的数据流。40.可以理解的是,第二目标ci可以为一个或多个,基于第一ci协议栈提取出目标清流。需要说明的是,现有的所有生成第一ci协议栈的方式全部落入本发明的保护范围之内,在此不再赘述。41.步骤s7、所述第一fpga模块将所述目标清流发送给所述第一arm模块的上第一信号输出模块进行输出。42.作为一种实施例,所述第一fpga模块与第一arm模块之间通过tsi(tsimpoart)接口以及串行外设接口(serialperipheralinterface,简称spi)接口相连接,所述tsi接口用于在所述第一fpga模块与第一arm模块之间传输数据,所述spi接口用于在所述第一fpga模块与第一arm模块之间传输命令。基于此,所述步骤s2中,所述第一arm模块通过所述spi接口将所述第一目标路由控制命令送给所述第一fpga模块。所述步骤s3中,所述第一fpga模块通过所述tsi接口将第一ts流发送给所述第一arm模块。所述步骤s5中,所述第一fpga模块通过所述spi接口将所述第一ci协议栈转发给至少一个第二目标ci。所述步骤s7中,所述第一fpga模块通过所述tsi接口将所述目标清流发送给所述第一arm模块的第一信号输出模块进行输出。43.作为一种实施例,所述步骤s2中,所述第一arm模块基于获取的第一路由配置信息生成第一目标路由控制命令包括:44.步骤s21、所述第一arm模块获取第一路由配置信息,所述第一路由配置信息中包括至少一个第一数据流向路径信息,所述第一数据流向路径信息包括第一数据发送模块和第一数据接收模块,所述第一数据发送模块为所述预处理模块或ci,所述第一数据接收模块为ci或第一arm模块。45.其中,第一数据流向路径信息可直接基于显示界面通过显示界面由用户输入。46.步骤s22、基于所述第一数据流向路径信息生成所述第一目标路由控制命令。47.作为一种实施例,所述第一ts流中包括n个节目信息、pat(programassociationtable)表和n个pmt(programmaptable)表,所述pat表为节目关联表,所述pmt表为节目信息表,每一节目信息对应一个pmt表,所述节目信息中包括每一节目信息对应的节目id、视频数据、音频数据,每一视频数据对应一个视频pid,每一音频数据对应一个音频pid,id、pid均为标识信息,所述步骤s4包括:48.步骤s41、获取第一目标节目信息提取指令,所述第一目标节目信息提取指令中包括第一目标节目id。49.其中,第一目标节目id也可以直接基于显示界面通过显示界面由用户输入,也可以由系统设置。50.步骤s42、基于所述第一目标节目id,从所述pat表中获取所有第一目标关联节目id以及对应的第一目标pmt表id。51.步骤s43、基于第一目标pmt表id从对应的pmt表中获取第一目标关联节目id对应的视频pid和音频pid。52.步骤s44、基于所述第一目标pmt表id、第一目标关联节目id以及对应的视频pid和音频pid生成所述第一ci协议栈。53.需要说明的是,ci协议栈中包括目标pmt表id数据段、目标关联节目id数据段、视频pid数据段和音频pid数据段,将所述第一目标pmt表id、第一目标关联节目id以及对应的视频pid和音频pid填入ci协议栈对应的数据段,即可生成所述第一ci协议栈。54.作为一种实施例,所述预处理模块包括依次连接的高频头、调谐芯片和解调芯片,所述解调芯片和所述第一fpga模块相连接,所述步骤s1包括:55.步骤s11、所述高频头获取待处理的卫星信号并发送给调谐芯片。56.步骤s12、所述调谐芯片将所述待处理的卫星信号进行调谐后发送给所述解调芯片。57.步骤s13、所述解调芯片将调谐后的待处理的卫星信号进行解调后生成所述第一ts流,所述第一ts流为所述第一fpga模块能够识别的流。58.需要说明的是,步骤s11-步骤s12中所涉及的调谐和解调技术直接采用现有的调谐和解调技术即可实现,在此不再赘述。59.现有技术中,是通过初始化i2c总线来初始化预处理模块和解密解扰模块,但是受限于i2c总线本身的传输速度为100k到400k,传输速度较慢,导致预处理模块和解密解扰模块的初始化过程慢,解密解扰模块的初始化甚至可达到1分钟,本技术中,所述第一fpga模块和所述第一arm模块之间还连接有i2c总线,当所述计算机程序被所述处理器执行时,还实现以下步骤:60.步骤s0、通过控制gpio并设置对应延时的方式模拟i2c总线的行为来初始化所述预处理模块和解密解扰模块。61.所述步骤s0通过gpio并设置对应延时的方式模拟i2c总线的行为初始化预处理模块和解密解扰模块,不用占据芯片资源,提高了初始化效率,与步骤s0能够使得解密解扰模块的初始化过程仅用20s,相较于原来的1分钟有很大的提升。62.作为一种实施例,ci包括cam卡和ca卡,cam卡和ca卡用于配合完成第一ts流的解密解扰,所述fpga上设置有对应的cam卡槽,ci的cam卡插接在所述cam卡槽上,所述cam卡和ca卡之间通过iso7816协议通信,所述cam卡与第一fpga模块之间通过en50221协议通信。其中,cam卡,它是一种数字视频条件接收模块,是一个连接电视机与外部信号源的设备,用于将压缩的数字信号转成电视内容。cam卡和智能卡(即ca卡)配合使用,iso7816协议和en50221协议为现有的通信协议,在此不再赘述。63.作为一种实施例,所述第一信号输出模块包括解复用模块和解码模块,所述解复用模块用于从所述清流中提取第一目标节目信息,将第一目标节目信息的视频数据和音频数据解复用;所述解码模块用于将第一目标节目信息的视频数据和音频数据分别进行解码后发送给对应的目标接收系统。所述解码模块具体可采用mpeg2解码方式进行解码,目标接收系统可以直接播放解码后的视频数据和音频数据64.实施例一基于fpga和arm相配合的架构,灵活配置路由信息,并结合ci协议栈,从ts流中提取目标清流信息,提高了卫星信号处理效率和灵活性,降低了卫星信号的处理成本。65.实施例一中,第一fpga模块和第一arm模块之间可以采用现有的spi通信协议进行通信,为了进一步提高第一fpga模块、第一arm模块之间通信的灵活性和效率,本技术进一步提出了实施例二。66.实施例二、67.实施例二提供了一种基于spi的通信系统,如图2所示,包括第一fpga模块、第一arm模块、安装在fpga上的处理模块、存储有计算机程序的存储器(图2中示出)和处理器(图2中示出),所述第一fpga模块包括fpga寄存器。fpga寄存器为设置在fpga模块中的寄存器,能够用于转存命令、转存数据等。68.所述第一fpga模块与第一arm模块之间通过tsi接口以及spi接口相连接,所述tsi接口用于在所述第一fpga模块与第一arm模块之间传输数据,所述spi接口用于在所述第一fpga模块与第一arm模块之间传输控制命令,所述控制命令基于所述预设的spi数据结构生成。69.所述预设的spi数据结构包括读写标识数据段、读写目标数据段、读写类型数据段、目标地址数据段、目标信息数据段,所述读写标识数据段用于存储读或写的标识,所述读写目标数据段用于存储读写目标标识,读写目标包括fpga寄存器或安装在fpga上的处理模块;所述读写类型包括处理模块通用存储读写标识、处理模块属性存储读写标识、处理模块io读写标识、空标识;所述目标地址数据段用于存储目标地址信,所述目标信息数据段用于存储目标信息。所述预设的spi数据结构还可以设置保留数据段,用于扩展所述预设的spi数据结构。作为一种实施例,spi接口可以设置为cpol=0,cpha=0的总线标准模式,数据在spi_cs低电平时发送,可以设置32位的spi数据结构,第31位设置为读写标识数据段,第[30,29]位设置为读写目标数据段,第[28,27]位设置为读写类型数据段,第[26,12]位设置为目标地址数据段,[11,8]设置保留数据段,[7,0]设置为目标信息数据段。需要说明的是,预设的spi数据结构并不限制于32位,可以根据应用需求设置其他数值。[0070]当所述处理器执行所述计算机程序时,实现以下步骤:[0071]步骤d1、所述第一arm模块基于所述预设的spi数据结构生成目标控制命令。[0072]其中,目标控制指令基于具体处理需求设定,以实施例一为例,当需要处理路由信息时(对应于实施例一中的步骤s2),生成第一目标路由控制命令,即目标控制命令为第一目标路由控制命令。需要生成ci协议栈时(对应与实施例一中的步骤s4),目标控制命令为第一ci协议栈。[0073]步骤d2、所述第一arm模块将所述目标控制命令通过所述spi接口传输给fpga寄存器。[0074]需要说明的是,所有的控制命令先发送给fpga寄存器,fpga通过读取解析fpga寄存器中的控制命令再执行对应的操作。[0075]步骤d3、所述第一fpga模块从所述fpga寄存器解析所述目标控制命令,获取读写标识、读写目标、读写类型、目标地址信息和目标信息,若读写标识为读,则执行步骤d4,若读写标识为写,则执行步骤d5。[0076]步骤d4、所述第一fpga模块按照读写类型从所述读写目标对应的目标地址信息中获取对应的目标读取数据,并将目标读取数据通过tsi接口返回给第一arm模块。[0077]步骤d5、所述第一fpga模块按照读写类型从将所述目标信息写入读写目标对应的目标地址信息中。[0078]作为一种实施例,所述系统包括m个安装在fpga上的处理模块{c1,c2,…,cm},ci为第i个处理模块,i的取值范围为1到m,所述读写目标标识为{c1,c2,…,cm}或fpga寄存器对应的标识中的任意一个,所述系统还包括输入模块和输出模块,所述输入模块设置在第一fpga模块或第一arm模块上,所述输出模块设置在第一fpga模块或第一arm模块上。[0079]作为一种实施例,当所述读写目标为fpga寄存器时,所述目标地址数据段设置为x种地址标识中的其中一个,x=2*m 6;所述目标信息数据段设置为y种目标信息标识中的其中一个,y=2*m 2。所述x种地址标识为{f1,f2,f3,f4,f5,f6,a1,a2,…,am,b1,b2,…bm};所述y种目标信息标识为{g1,g2,…gm,h1,h2,…hm,hm 1,hm 2}。其中,f1为读写fpga数据的标识。f2为读取fpga属性信息的标识。f3为读取所有处理模块状态的标识。f4为复位处理模块的标识,且当地址标识设置为f4时,目标信息标识设置为{g1,g2,…gm}中的其中一个,若目标信息标识设置为gi,表示复位ci。f5为输出模块作为数据流接收端的标识。f6为第一arm模块作为数据流接收端的标识。ai为ci作为数据流接收端的标识,且当地址标识为f5,f6,a1,a2,…或am时,目标信息标识设置为{h1,h2,…hm,hm 1,hm 2}中的任意一个。hi为将ci为数据流发送端的标识。hm 1为将输入模块作为数据流发送端的标识。hm 2为将第一arm模块作为数据流发送端的标识。bi为读取ci的数据的标识。通过上述结构可以实现spi指令的灵活配置,可以选择任何一个处理模块、fpga作为处理目标,提高了第一fpga模块和第一arm模块之间通信的灵活性和效率。[0080]以实施例一中的结构为例,所述输入模块为信号预处理模块,设置在第一fpga模块上,用于获取待处理的卫星信号,转换为第一ts流,所述待处理的卫星信号为加密加扰的卫星信号;所述处理模块为解密解扰模块,用于从所述第一ts流中解析出目标清流,发送给所述输出模块。当需要实现实施例一中的步骤s2时,所述步骤d1具体实现为:步骤d11、所述第一arm模块基于获取的第一路由配置信息,基于所述第一路由配置信息将预设的spi数据结构中的读写标识数据段设置为写标识,将读写目标数据段设置为fpga寄存器标识,读写类型数据段设置为空,目标地址数据段设置为f5、f6或ai,目标信息数据段设置为hm 1,生成第一目标路由控制命令;[0081]所述步骤d2具体实现为:步骤d21、所述第一arm模块将所述第一目标路由控制命令通过所述spi接口传输给所述第一fpga模块;[0082]所述步骤d3具体实现为:步骤d31、所述第一fpga模块从所述fpga寄存器解析所述第一目标路由控制命令,确定写标识、fpga寄存器标识、数据流发送端的标识和数据流接收端的标识,然后执行步骤d5。[0083]所述步骤d5具体实现为:步骤d51、基于所述第一目标路由控制命令将所述第一ts流分别发送给对应的ci、第一arm模块或输出模块。[0084]当需要实现实施例一中的步骤s4时,所述步骤d1具体实现为:步骤d12、所述第一arm模块从所述第一ts流提取第一目标节目信息,并生成第一ci协议栈,将预设的spi数据结构中的读写标识数据段设置为写标识,将读写目标数据段设置为目标ci标识,将读写类型数据段设置为处理模块io读写标识,目标地址数据段设置为目标ci对应的目标地址,目标信息数据段设置为第一ci协议栈,生成目标第一ci协议栈控制命令。[0085]所述步骤d2具体实现为:步骤d22、所述第一arm模块将所述目标第一ci协议栈控制命令通过所述spi接口传输给所述第一fpga模块。[0086]所述步骤d3具体实现为:步骤d32、所述第一fpga模块从所述fpga寄存器解析所述目标第一ci协议栈控制命令,确定写标识、目标ci标识、目标ci对应的目标地址、目标ci的io标识和第一ci协议栈,然后执行步骤d5。[0087]所述步骤d5具体实现为:步骤d52、基于所述目标第一ci协议栈控制命令,通过目标ci的io将所述第一ci协议栈发送给目标ci对应的目标地址。[0088]作为一种实施例,若需要读取ci的存储地址ad中的数据,执行以下步骤:[0089]步骤d10、所述第一arm模块将所述预设的spi数据结构中的读写标识数据段设置为读标识,读写目标数据段设置为ci标识,将读写类型数据段设置为通用存储读写标识,将目标地址数据段设置ad,将目标信息设置为“value”,生成第一读取ci指令。[0090]其中“value”为“值”的意思,用于获取和传输目标信息。[0091]步骤d20、所述第一arm模块将所述第一读取ci指令通过所述spi接口传输给fpga寄存器。[0092]步骤d30、所述第一fpga模块从所述fpga寄存器解析第一读取ci指令,基于所述第一读取ci指令从ci的ad中读取目标信息,存储至fpga寄存器中,且记录为“value”。[0093]步骤d40、所述第一arm模块将所述预设的spi数据结构中的读写标识数据段设置为读标识,读写目标数据段设置为fpga寄存器标识,将读写类型数据段设置为空,将目标地址数据段设置为bi,将目标信息设置为“value”,生成第二读取ci指令。[0094]步骤d50、所述第一arm模块将所述第二读取ci指令通过所述spi接口传输给fpga寄存器。[0095]步骤d60、所述第一fpga模块从所述fpga寄存器解析第二读取ci指令,基于所述第二读取ci指令从fpga寄存器中读取“value”通过tsi接口发送给第一arm模块。[0096]作为一种实施例,所述输入模块还可i可以设置在第一arm模块上,用于获取待处理的视频信号转换为第二ts流,所述待处理的视频信号为未加密未加扰的信号,通过第一fpga模块将所述第二ts流转发给所述输出模块。所述输出模块可以设置在第一fpga模块上,用于将获取的第二ts流或目标清流进行k倍编码,k为预设的编码倍数,并添加同步字,然后进行并串转换,得到码率维持在预设码率值的asi信号进行输出,k的值和同步字的字节数基于预设码率值和第二ts流的码率值确定。[0097]需要说明的是,还可以设置读取fpga属性信息、任何一个处理模块属性信息等命令,使得fpga执行对应的操作,在此不再一一列举。[0098]需要说明的是,实施例二所述的spi通信系统并不仅仅适用于实施例一,其他包括fpga模块和arm模块架构,设置fpga模块和arm模块之间的spi通信的场景同样也适用。[0099]实施例二通过预设的spi数据结构生成目标控制命令,发送给fpga寄存器,第一fpga模块通过读取解析fpga寄存器收到的目标控制命令执行相应的读写操作,可以根据具体控制需求灵活生成对应的目标控制命令,提高了第一fpga模块和第一arm模块之间的通信效率。[0100]实施例三、[0101]实施例三提供了一种卫星信号接收机,如图3所示,包括信号预处理模块、m个解密解扰模块{c1,c2,…,cm}、第一fpga模块、第一arm模块、asi输出模块、存储有计算机程序的存储器(图3中未示出)和处理器(图3中未示出),其中,所述信号预处理模块、ci均与第一fpga模块相连接,所述第一fpga模块与第一arm模块相连接,所述asi输出模块设置在所述第一arm模块上,ci为第i个解密解扰模块,i的取值范围为1到m。[0102]当所述计算机程序被所述处理器执行时,实现以下步骤:[0103]步骤f1、通过所述信号预处理模块获取待处理的卫星信号,并进行预处理生成第一ts流,所述待处理的卫星信号为加密加扰的卫星信号。[0104]其中,ts流指的是ts流文件,是一种dvd的文件格式。[0105]步骤f2、所述第一arm模块基于获取的第三路由配置信息生成第三目标路由控制命令,并将所述第三目标路由控制命令发送给所述第一fpga模块。[0106]需要说明的是,所述系统可以包括显示界面,通过显示界面接收用户输入的第三路由配置信息,第三路由配置信息可以根据具体应用需求灵活配置。[0107]步骤f3、所述第一fpga模块基于所述第三目标路由控制命令将所述第一ts流发送给至少一个第一目标ci、asi输出模块、直接或通过第一目标ci将所述第一ts流发送给所述第一arm模块。[0108]需要说明的是,基于第三目标路由控制命令将所述第一ts流发送给至少一个第一目标ci、asi输出模块、直接或通过第一目标ci将所述第一ts流发送给所述第一arm模块,可以先在系统中使第一ts流运转起来,但可以理解的是,这个阶段流转的第一ts流是加密加扰的,不可以直接播放的,需要说明的是,asi输出模块是可选择的,也即可以将第一ts流发送给asi输出模块,也可以不发送,具体在对应的路由信息中配置即可。[0109]步骤f4、所述第一arm模块从所述第一ts流提取第一目标节目信息,并生成第一ci协议栈,发送给所述第一fpga模块。[0110]需要说明的是,第一ts流中是包括多套节目的,但系统当前需要关注的可能仅是其中的一部分,并非全部,如果全部进行解密解扰,将耗费大量系统资源,降低系统的信号处理效率,因此,本技术基于ci协议栈来提取第一目标节目信息,提高信号处理效率。[0111]步骤f5、所述第一fpga模块将所述第一ci协议栈转发给至少一个第二目标ci,所述第二目标ci属于第一目标ci集合。[0112]需要说明的是,基于步骤f2和步骤f3灵活配置的路由信息,使得第一ts流可以灵活发送至多个第一目标ci中,步骤f5可以进一步灵活地从第一目标ci中选择一个或多个第二目标ci,来执行提取目标节目信息的操作。[0113]步骤f6、所述第二目标ci基于接收到的第一ci协议栈,从所述第一ts流中解析出目标清流,发送给asi输出模块,所述目标清流为解密解扰的数据流。[0114]可以理解的是,第二目标ci可以为一个或多个,基于第一ci协议栈提取出目标清流。需要说明的是,现有的所有生成第一ci协议栈的方式全部落入本发明的保护范围之内,在此不再赘述。[0115]步骤f7、所述asi输出模块将所述目标清流进行k倍编码,k为预设的编码倍数,并添加同步字,然后进行并串转换,得到码率维持在预设码率值的asi信号,k的值和同步字的字节数基于预设码率值和第一ts流的码率值确定。[0116]其中,同步字为一个字节、两个字节,也可能是多个字节的数字,用于在数据传输、处理过程中对齐数据,判断数据是否有效数据。步骤f7中无需采用特定的芯片,基于第一fpga模块和第一arm模块组成的架构,通过步骤f7的逻辑即可将目标清流转换为asi信号,提高了asi信号的生成效率。[0117]步骤f8、将所述asi信号通过所述asi输出模块输出。[0118]作为一种实施例,所述步骤f2中,所述第一arm模块基于获取的第三路由配置信息生成第三目标路由控制命令包括:[0119]步骤f21、所述第一arm模块获取第三路由配置信息,所述第三路由配置信息中包括至少一个第三数据流向路径信息,所述第三数据流向路径信息包括第三数据发送模块和第三数据接收模块,所述第三数据发送模块为所述预处理模块或ci,所述第三数据接收模块为ci、第一arm模块或asi输出模块,基于所述第三数据流向路径信息生成所述第三目标路由控制命令。[0120]作为一种实施例,所述第一ts流中包括pat表、n个节目信息和n个pmt表,所述pat表为节目关联表,所述pmt表为节目信息表,每一节目信息对应一个pmt表,所述节目信息中包括每一节目信息对应的节目id、视频数据、音频数据,每一视频数据对应一个视频pid,每一音频数据对应一个音频pid,id、pid均为标识信息,所述步骤f4包括:[0121]步骤f41、获取第一目标节目信息提取指令,所述第一目标节目信息提取指令中包括第一目标节目id。[0122]其中,第一目标节目id也可以直接基于显示界面通过显示界面由用户输入,也可以由系统设置。[0123]步骤f42、基于所述第一目标节目id,从所述pat表中获取所有第一目标关联节目id以及对应的第一目标pmt表id。[0124]步骤f43、基于第一目标pmt表id从对应的pmt表中获取第一目标关联节目id对应的视频pid和音频pid。[0125]步骤f44、基于所述第一目标pmt表id、第一目标关联节目id以及对应的视频pid和音频pid生成所述第一ci协议栈。[0126]需要说明的是,ci协议栈中包括目标pmt表id数据段、目标关联节目id数据段、视频pid数据段和音频pid数据段,将所述第一目标pmt表id、第一目标关联节目id以及对应的视频pid和音频pid填入ci协议栈对应的数据段,即可生成所述第一ci协议栈。[0127]第一fpga模块和第一arm模块之间的通信可以基于实施例二中的spi通信系统实现,具体的,作为一种实施例,所述第一fpga模块包括fpga寄存器,所述第一fpga模块与第一arm模块之间通过tsi接口以及spi接口相连接,所述tsi接口用于在所述第一fpga模块与第一arm模块之间传输数据,所述spi接口用于在所述第一fpga模块与第一arm模块之间传输控制命令,所述控制命令基于所述预设的spi数据结构生成。所述预设的spi数据结构具体实现细节实施例二中已描述,在此不再赘述。[0128]当所述读写目标为fpga寄存器时,所述目标地址数据段设置为x种地址标识中的其中一个,x=2*m 6;所述目标信息数据段设置为y种目标信息标识中的其中一个,y=2*m 2;x种地址标识、y种目标信息标识的具体细节已在实施例二中描述,在此不再赘述。[0129]基于实施例二中所定义的spi数据结构以及spi通信方式,所述步骤f21包括:[0130]步骤f211、所述第一arm模块基于获取的第三路由配置信息生成第三目标路由控制命令,基于所述第三目标路由控制命令将预设的spi数据结构中的读写标识数据段设置为写标识,将读写目标数据段设置为fpga寄存器标识,读写类型数据段设置为空,目标地址数据段设置为f5、f6或ai,目标信息数据段设置为hm 1,生成第三目标路由控制命令。[0131]步骤f212、所述第一arm模块将所述第三目标路由控制命令通过所述spi接口传输给所述第一fpga模块。[0132]作为一种实施例,所述步骤f3进一步包括:[0133]步骤f31、所述第一fpga模块从所述fpga寄存器解析所述第三目标路由控制命令,确定写标识、fpga寄存器标识、数据流发送端的标识和数据流接收端的标识。[0134]步骤f32、基于所述第三目标路由控制命令将所述第一ts流分别发送给至少一个第一目标ci、asi输出模块、直接或通过第一目标ci将所述第一ts流发送给所述第一arm模块。[0135]基于实施例二中所定义的spi数据结构以及spi通信方式,所述步骤f4包括:[0136]步骤f41、所述第一arm模块从所述第一ts流提取第一目标节目信息,并生成第一ci协议栈,将预设的spi数据结构中的读写标识数据段设置为写标识,将读写目标数据段设置为目标ci标识,将读写类型数据段设置为处理模块io读写标识,目标地址数据段设置为目标ci对应的目标地址,目标信息数据段设置为第一ci协议栈,生成目标第一ci协议栈控制命令。[0137]步骤f42、所述第一arm模块将所述目标第一ci协议栈控制命令通过所述spi接口传输给所述第一fpga模块。[0138]作为一种实施例,所述步骤f5进一步包括:[0139]步骤f51、所述第一fpga模块从所述fpga寄存器解析所述目标第一ci协议栈控制命令,确定写标识、目标ci标识、目标ci对应的目标地址、目标ci的io标识和第一ci协议栈。[0140]步骤f52、基于所述目标第一ci协议栈控制命令,通过目标ci的io将所述第一ci协议栈发送给目标ci对应的目标地址。[0141]需要说明的是,实施例一、实施例二中的其他相关技术细节也可适用于本实施例,或者与本实施例相结合,例如实施例一种的第一输出模块也可设置在实施例三所述系统中,在此不再一一赘述。[0142]实施例三基于fpga和arm相配合的架构,无需使用特定芯片,通过灵活配置路由信息,并结合ci协议栈,从ts流中提取目标清流信息,提高了卫星信号处理效率和灵活性,降低了卫星信号的处理成本,此外,基于fpga和arm相配合的架构,通过在fpga中设置asi信号的生成逻辑,无需特定芯片,即可生成asi信号,将目标清流转换为asi信号,提高了asi信号的生成效率,降低了asi信号的生成成本。[0143]asi信号不仅可以基于实施例三所述的系统生成,还可以基于未加密未加扰的视频信号生成,基于此,本技术进一步提出了实施例四。[0144]实施例四、[0145]实施例四提出了一种视频信号处理系统,如图4所示,包括第一arm模块、第一fpga模块、设置在所述第一arm模块上的视频信号输入模块、设置在所述第一fpga模块上的asi输出模块、存储有计算机程序的存储器(图4中未示出)和处理器(图4中未示出),所述第一arm模块和所述第一fpga模块相连接,当所述计算机程序被所述处理器执行时,实现以下步骤:[0146]步骤c1、通过所述视频输入模块获取待处理的视频信号,并转换为第二ts流,所述待处理的视频信号为未加密未加扰的信号。[0147]需要说明的是,待处理的视频信号可以为能够通过网络直接获取的视频信号等,具体可以通过网页、网口获取。现有的将待处理的视频信号转换为第二ts流的方式均落入本发明保护范围之内,在此不再赘述。[0148]步骤c2、将所述第二ts流发送给所述第一fpga模块。[0149]步骤c3、将所述第二ts流进行k倍编码,k为预设的编码倍数,并添加同步字,然后进行并串转换,得到码率维持在预设码率值的asi信号,k的值和同步字的字节数基于预设码率值和第二ts流的码率值确定。[0150]其中,同步字为一个字节、两个字节,也可能是多个字节的数字,用于在数据传输、处理过程中对齐数据,判断数据是否有效数据。步骤c3中无需采用特定的芯片,基于第一fpga模块和第一arm模块组成的架构,通过步骤c3的逻辑即可将第二ts流转换为asi信号,提高了asi信号的生成效率。[0151]步骤c4、将所述asi信号通过所述asi输出模块输出。[0152]作为一种实施例,所述第一fpga模块与第一arm模块之间通过tsi接口相连接,所述tsi接口用于在所述第一fpga模块与第一arm模块之间传输数据,所述步骤c2中,将所述第二ts流通过所述tsi接口发送给所述第一fpga模块。[0153]实施例四基于fpga和arm相配合的架构,通过在fpga中设置asi信号的生成逻辑,无需特定芯片,即可生成asi信号,将第二ts流转换为asi信号,提高了asi信号的生成效率,降低了asi信号的生成成本。[0154]基于实施例三和/或实施例四所述的系统可以输出多路asi信号,具体可以为设置多组实施例三和/或实施例四种对应的结构,或者是设置多个对应的asi输出模块,实施例五进一步提出了一种对多路asi信号的处理技术。[0155]实施例五、[0156]实施例五提供了一种多路asi信号处理系统,包括qam调制模块、存储有计算机程序的存储器和处理器,当所述处理器执行所述计算机程序,qam调制模块包括q个信号通道,每一信号通道配置对应的频段和qam调制方式。[0157]当所述处理器执行所述计算机程序来运行所述qam调制模块时,如图5所示,实现以下步骤:[0158]步骤e1、获取p个asi信号置于所述q个信号通道中,2≤p≤q/2,每一asi信号占用一个信号通道,任意两个asi信号所在的信号通道之间存在至少一个隔离信号通道。[0159]其中,p个asi信号可以基于多个实施例三和/或实施例四中的系统输出。每一信号通道配置的频段在45m至960m的范围内,每一信号通道配置qam调制方式为16qam、32qam、128qam或256qam等,可以覆盖45m-960m全频段,从而实现在全频段、任意带宽的任意调制,相比于现有的单一频段调制的方式更加灵活。具体可以采用通道隔离技术实现任意两个asi信号所在的信号通道之间存在至少一个隔离信号通道,在此不再赘述。[0160]步骤e2、对第q信号通道中的asi信号进行数据编码、串并转换和差分处理,得到每一通道的差分处理结果,q的取值范围为1到q。[0161]其中,步骤e2中是对每一第q信号通道中的asi信号独立并行进行数据编码、串并转换和差分处理,得到每一通道的差分处理结果。[0162]步骤e3、根据第q信号通道对应的频段和qam调制方式将q个信号通道中的p个asi信号进行傅里叶反变换,获取每一asi信号在每一频域的映射值,得到q维数组,每一维度的数组对应一个信号通道。[0163]需要说明的是,步骤e3具体可以通过星座映射的方式实现,现有技术中的星座映射是在时域内实现的,而步骤e3中是在频域内实现,此外,现有技术中只能对单个通道的asi信号进行星座映射,后续再为每一通道设置滤波器进行成形滤波,进而再通过设置乘法器进行合并,处理效率低,消耗资源多。而本技术通过设置q个信号通道,每一信号通道配置对应的频段和qam调制方式,在步骤e3中,在频域内对q个信号通道统一进行处理,得到q维数组。[0164]步骤e4、基于所述q维数组计算每一存在asi信号通道的补偿值,并通过预设的滤波器将所述q维数组中不存asi信号通道对应的值设置为0。[0165]需要说明的是,现有技术中所有相关计算补偿值的算法全部落入本发明保护范围之内,在此不再赘述。此外,理论上,q个信号通道中没有设置asi信号的通道对应的数组内的值应该为0,但是由于处理过程中其他通道的参与干扰,会对这些本应设置为0的通道产生附加值,使得这些值可能不为0,因此需要通过预设的滤波器将所述q维数组中不存asi信号通道对应的值设置为0,现有技术中,需要设置多个滤波器才能实现,而本技术只需要设置一个滤波器,对q维数组进行滤波即可,快速且准确。[0166]步骤e5、基于每一存在asi信号通道的补偿值将q维数组中对应通道的信号值进行补偿,得到补偿后的q维数组。[0167]需要说明的是,现有的所有基于补偿值进行补偿的处理方式全部落入本发明保护范围之内,在此不再赘述。[0168]步骤e6、将补偿后的q维数组进行滤波插值和da转换处理,生成rf信号进行输出。[0169]需要说明的是,da转换指的是将数字信号转换为模拟信号,现有的所有滤波插值和da转换处理的处理方式全部落入本发明保护范围之内,在此不再赘述。通过滤波插值能够使得da输出更加平滑。[0170]作为一种实施例,所述步骤e2中,采用rs编码的方式对第q信号通道中的asi信号进行数据编码。rs编码是一种前向纠错的信道编码,对由校正过采样数据所产生的多项式有效。[0171]作为一种实施例,所述系统还包括第二fpga模块和第二arm模块,所述第二fpga模块上设置有t个asi输入通道,可以与基于实施例三和/或实施例四所述的系统输出的多路asi信号对接,t≥p,所述qam调制模块设置在所述第二fpga模块上,所述t个asi输入通道用于获取p个asi信号;所述第二fpga模块和第二arm模块之间通过tsi接口以及spi接口相连接,所述tsi接口用于在所述第二fpga模块与第二arm模块之间传输数据,所述spi接口用于在所述第二fpga模块与第二arm模块之间传输命令。[0172]多个asi信号中是可能存在冲突信息的,即不同的asi信号中存在一些相同标识的信息,因此需要更新调整,避免信息冲突,作为一种实施例,所述步骤e1包括:[0173]步骤e11、所述第二arm模块基于获取的第四路由配置信息生成第四目标路由控制命令,并将所述第四目标路由控制命令发送给所述第二fpga模块。[0174]步骤e12、所述第二fpga模块基于所述第四目标路由控制命令将t个asi输入通道中的u个asi信号发送给所述第二arm模块,p≤u≤t。[0175]步骤e13、所述第二arm模块解析并更新u个asi信号中的节目描述信息,并回传给第一fpga模块,fpga更新对应的u个asi信号中的节目描述信息。[0176]步骤e14、所述第二arm模块从更新后的u个asi信号中提取第二目标节目信息,生成第三ci协议栈,发送给所述第一fpga模块。[0177]步骤e15、所述第二fpga模块基于所述第三ci协议栈从u个asi信号中提取p个asi信号置于预设的q个信号通道中。[0178]作为一种实施例,每一所述asi信号中包括f(x)个节目信息、pat表和f(x)个pmt表,所述pat表为节目关联表,f(x)为节目信息数量,不同的asi信号对应的f(x)值可能不同,所述pmt表为节目信息表,每一节目信息对应一个pmt表,所述节目信息中包括每一节目信息对应的节目id、视频数据、音频数据,每一视频数据对应一个视频pid,每一音频数据对应一个音频pid,id、pid均为标识信息,所述节目描述信息包括节目id、pmt表和pat表。所述步骤e11中,所述第二arm模块基于获取的第四路由配置信息生成第四目标路由控制命令包括:[0179]步骤e111、所述第二arm模块获取第四路由配置信息,所述第四路由配置信息中包括至少一个第四数据流向路径信息,所述第四数据流向路径信息包括第二数据发送模块和第二数据接收模块,所述第二数据发送模块至少两个asi输入通道,所述第二数据接收模块为第二arm模块。[0180]步骤e112、基于所述第四数据流向路径信息生成所述目标路由控制命令。[0181]结合实施例二中所述的预设的spi数据结构,本实施例中,对应的预设的spi数据结构具体可包括读写标识数据段、读写目标数据段、读写类型数据段、目标地址数据段、目标信息数据段,所述读写标识数据段用于存储读或写的标识,所述读写目标数据段用于存储读写目标标识,读写目标包括fpga寄存器或asi输入通道;所述读写类型包括asi输入通道通用存储读写标识、asi输入通道属性存储读写标识、asi输入通道io读写标识、空标识;所述目标地址数据段用于存储目标地址信,所述目标信息数据段用于存储目标信息。[0182]在进行spi通信的过程中,本实施例中,第二fpga模块对应于实施例二中的第一fpga模块,第二arm模块对应于实施例二中的第一arm模块,t个asi输入通道{asi1,asi2,…,asit}对应于实施例二中m个安装在fpga上的m个处理模块,asij为第j个asi输入通道,j的取值范围为1到t,qam模对应于实施例二中的输出模块。预设的spi数据结构的结构在此不再赘述。[0183]在本实施例中,基于实施例二中的预设的spi数据结构,当所述读写目标为fpga寄存器时,所述目标地址数据段设置为k种地址标识中的其中一个,k=2*t 6;所述目标信息数据段设置为l种目标信息标识中的其中一个,l=2*t 1。所述k种地址标识为{fs1,fs2,fs3,fs4,fs5,fs6,as1,as2,…,astbs1,bs2,…bst};所述l种目标信息标识为{gs1,gs2,…gst,hs1,hs2,…hst,hst 1}。其中,fs1为读写fpga数据的标识。fs2为读取fpga属性信息的标识。fs3为读取所有asi输入通道状态的标识。fs4为asi输入通道的标识,且当地址标识设置为fs4时,目标信息标识设置为{gs1,gs2,…gst}中的其中一个,若目标信息标识设置为gsj,表示复位asij。fs5为qam模块作为数据流接收端的标识。fs6为第二arm模块作为数据流接收端的标识。asj为asij作为数据流接收端的标识,且当地址标识为fs5,fs6,as1,as2,…或ast时,目标信息标识设置为{hs1,hs2,…hst,hst 1,hst 2}中的任意一个。hsj为将asij为数据流发送端的标识。hst 1为将将第二arm模块作为数据流发送端的标识。bsj为读取asij的数据的标识。通过上述结构可以实现spi指令的灵活配置,可以选择任何一个asi信号通道、fpga作为处理目标,提高了第二fpga模块和第二arm模块之间通信的灵活性和效率。[0184]基于上述结构,所述步骤e112包括:[0185]步骤e1121、基于所述第四数据流向路径信息将预设的spi数据结构中的读写标识数据段设置为写标识,将读写目标数据段设置为fpga寄存器标识,读写类型数据段设置为空,目标地址数据段设置为hst 1,目标信息数据段设置为hsj,生成所述第四目标路由控制命令。生成第一目标路由控制命令作为一种实施例,所述步骤e13包括:[0186]步骤e131、所述第二arm模块解析u个asi信号中每一asi信号对应的节目信息、pat表和pmt表,属于不同asi信号但具有相同节目id、视频pid、音频pid、pat表id和/或pmt表id进行更新,使得不同asi信号的节目id、视频pid、音频pid、pat表id、pmt表id均不相同。需要说明的是,更新过程进更新了标识信息,即id或pid,避免冲突,但原始的视频数据和音频数据保持不变。[0187]作为一种实施例,步骤e14包括:[0188]步骤e141、获取第二目标节目信息提取指令,所述第二目标节目信息提取指令中包括第二目标节目id。[0189]步骤e142、基于所述第二目标节目id,从所述pat表中获取所有第二目标关联节目id以及对应的第二目标pmt表id。[0190]步骤e143、基于第二目标pmt表id从对应的pmt表中获取第二目标关联节目id对应的视频pid和音频pid。[0191]步骤e144、基于所述第二目标pmt表id、第二目标关联节目id以及对应的视频pid和音频pid生成所述第三ci协议栈。[0192]所述步骤e14还包括:[0193]步骤e145、将预设的spi数据结构中的读写标识数据段设置为写标识,将读写目标数据段设置为目标asij标识,将读写类型数据段设置为处理模块io读写标识,目标地址数据段设置为目标asij对应的目标地址,目标信息数据段设置为第三ci协议栈,生成目标第三ci协议栈控制命令,发送给所述第一fpga模块。[0194]所述步骤e15包括:[0195]步骤e151、所述第二fpga模块从所述fpga寄存器解析目标第三ci协议栈控制命令,确定写标识、目标asij标识、目标asij对应的目标地址、目标asij的io标识和第三ci协议栈;[0196]步骤e152、基于所述目标第三ci协议栈控制命令,通过目标asij的io将所述第三ci协议栈发送给目标asij对应的目标地址;[0197]步骤e153、目标asij基于所述第三ci协议栈从asi信号中对应的asi信号置于预设的对应信号通道中。[0198]需要说明的是,实施例一、实施例二、实施例三、实施例四中的相关技术细节同样可可以应用于本实施例中,不再赘述。实施例五能够基于多信号通道实现对多路asi信号在频域内进行qam并行调制,不依赖与特定的芯片,提高了多路asi信号的qam的调制效率,降低了多路asi信号的调制成本。[0199]实施例六、[0200]基于实施例三所述系统向所述t个asi输入通道输入asi信号,采用实施例五中的系统对多路asi信号进行处理,具体实施细节在实施例三和实施例五中已描述,在此不再赘述。[0201]实施例七、[0202]基于实施例四所述系统向所述t个asi输入通道输入asi信号,采用实施例五中的系统对多路asi信号进行处理,具体实施细节在实施例四和实施例五中已描述,在此不再赘述。[0203]需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。[0204]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献