电子线路与仿真技术课程设计说明书-用SPI接口控制多个开关量及8位模拟量输出.doc_第1页
电子线路与仿真技术课程设计说明书-用SPI接口控制多个开关量及8位模拟量输出.doc_第2页
电子线路与仿真技术课程设计说明书-用SPI接口控制多个开关量及8位模拟量输出.doc_第3页
电子线路与仿真技术课程设计说明书-用SPI接口控制多个开关量及8位模拟量输出.doc_第4页
电子线路与仿真技术课程设计说明书-用SPI接口控制多个开关量及8位模拟量输出.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

电子线路与仿真技术课程设计说明书电子线路与仿真技术课程设计说明书 题 目:用SPI接口控制多个开关量及8位模拟量输出 系 部: 专 业: 班 级: 学生姓名: 学 号: 指导教师: 2016年 5 月 25日电子线路与仿真技术课程设计说明书录 目 1设计任务与要求11.1 设计任务11.2 设计要求12 SPI知识简介22.2 SPI的基本原理22.3 SPI的应用特点63 设计方案74 SPI主机接口设计84.1 SPI总线标准84.2 SPI主机功能描述104.3 单片机扩展SPI总线的系统框图 104.4 单片机SPI总线的时序模拟115 从机的接口设计125.1从机设计原理125.2 74HC595资料125.3 74HC595的连接原理图165.4 从机原理图绘制176 设计心得19参考文献20电子线路与仿真技术课程设计说明书1设计任务与要求1.1 设计任务利用SPI接口控制多个开关量输出及多个8位模拟量输出。可以综合到各种FPGA的SPI主机的设计过程,并给出所有相关的Verilog HDL程序。SPI是一种全双工,同步的串行数据通信标准,主要用于微处理器、微控制器、外设之间的通信。采用SPI接口可以实现处理器和外设之间以及处理器内部的通信。SPI系统设计灵活,可以直接实现主机与许多的具有SPI接口的外设之间的通信。SPI主机可以为没有标准SPI接口的微处理器或者微控制器提供标准的SPI接口。本次设计主要是实现主机与许多的具有SPI接口的外设之间的通信出SPI主机在系统中的连接框图。注意:SPI主机设计提供标准的8051微处理器的总线读写周期,简单修改设计代码实现,可以是SPI主机支持其它微处理器接口。1.2 设计要求(1) 画出原理图,从板电路用74系列逻辑器件实现。(2) 仿真,记录仿真结果。(3) 分析结果,进行了哪些改进。(4) 结论,模拟量输出幅度实际是多少,是否是线性。2 SPI知识简介2.1 SPI的背景知识 SPI是英文Serial Peripheral Interface的缩写,中文意思是串行外围设备接口。SPI是Motorola公司推出的一种同步串行通讯方式,是一种标准的四线同步双向串行总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。SPI可以使微控制器(MCU)与各种外围设备(包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和微控制器等)以串行方式进行通信以交换信息。SPI总线使用同步协议传送数据,接收或发送数据时由主机产生的时钟信号控制。SPI接口可以连接多个SPI芯片或装置,主机通过选择它们的片选来分时访问不同的芯片。2.2 SPI的基本原理2.2.1 SPI的接口 SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,设备之间有4线模式(双向传输时)或3线模式(单向传输时)。在4线模式下,它们是 SDI(数据输入),SDO(数据输出),SCLK(时钟),CS(片选);在3线模式下,SDI 和 SDO并为一根,定义为SIO。(1)MOSISPI 总线主机输出/从机输入(SPI Bus Master Output/Slave Input)(2)MISOSPI 总线主机输入/从机输出(SPI Bus Master Input/Slave Output) (3)SCLK时钟信号,由主设备产生 (4)CS从设备使能信号,由主设备控制 如图 1所示为SPI总线接口信号线基本连接关系:图1 SPI总线接口信号基本连接关系 其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。 接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCLK时钟线存在的原因,由SCK提供时钟脉冲,SDI、SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。 SPI 总线系统有以下几种形式:1个主机和多个从机、多个从机相互连接构成多主机系统(分布式系统)、1个主机与1个或几个I/O设备构成的系统等。2.2.2 SPI的数据传输SPI主设各负责产生系统时钟,并决定整个SPI网络的通信速率。所有的SPI设各都采用相同的接口方式,可以通过调整处理器内部寄存器改变时钟的极性和相位。由于SPI器件并不一定遵循同一标准,比如EEPROM、DAC、ADC、实时时钟及温度传感器等器件的SPI接口的时序都有所不同,为了能够满足不同的接口需要,采用时钟的极性和相位可配就能够调整SPI的通信时序。SPI设各传输数据过程中总是先发送或接收高字节数据,每个时钟周期接收器或收发器左移1位数据。对于小于16位的数据在发送之前必须左对齐,如果接收的数据16位则采用小于软件将无效的数据位屏蔽,如图2所示:图2 两个移位寄存器形成一个内部芯片环形缓冲器在一个SPI时钟周期内,会完成如下操作:(1) 主机通过MOSI线发送1位数据,从机通过该线读取这1位数据;(2) 从机通过MISO线发送1位数据,主机通过该线读取这1位数据;这是通过移位寄存器来实现的。如上图3所示,主机和从机各有一个移位寄存器,且二者连接成环。随着时钟脉冲,数据按照从高位到低位的方式依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄存器中的内容全部移出是,相当于完成了两个寄存器内容的交换。 SPI接口有主和从两种操作模式,通过MASTERSLAVE位(SPICTL2)选择操作模式以及SPICLK信号的来源,如图3所示:图3 SPI主控制器和从控制器的连接2.2.3 SPI的时钟极性和时钟相位在数据交换之前,主节点和从节点使其内部移位寄存器加载存储器数据。产生时钟信号时,主节点会通过 MOSI 线同步输出其移位寄存器。同时,从节点在 SIMO 处从主节点读取第一位,并将其存储到存储器中,然后通过 SOMI 输出 MSB。主节点会在 MISO 处读取从节点的第一位,并将其存储到存储器中以待稍后处理。整个过程将一直持续,直至交换完所有数据位,然后主节点使时钟空闲并通过 /SS 禁用从节点。除设置时钟频率之外,主节点还会配置相对于数据的时钟极性和时钟相位。这两个选项分别称作 CPOL 和 CPHA,能够允许时钟信号实现 180 度相移且数据延迟半个时钟周期。图 4 显示了相应的时序图。图4 时钟极性和相位的时序图 CPOL = 0 时,时钟在逻辑 0 处空闲:如果 CPHA = 0,数据会在 SCK 的上升沿上读取,在下降沿上变化。如果 CPHA = 1,数据会在 SCK 的下降沿上读取,在上升沿上变化。 CPOL = 1时,时钟在逻辑高电平处空闲:如果 CPHA = 0,数据会在 SCK的下降沿上读取,在上升沿上变化。如果 CPHA = 1,数据会在 SCK 的上升沿上读取,在下降沿上变化。从节点独立寻址时,主节点必须提供多个从选择信号。该结构一般用在数据采集系统中,其中的多个模数转换器 (ADC) 和数模转换器 (DAC) 都必须单独接入。菊花链式从节点需要主节点提供唯一的从选择信号,因此该结构要求同时启用所有从节点,以确保菊花链内通过所有移位寄存器的数据流不会中断。典型的应用为工业级 I/O 模块中的级联多通道输入串行器和输出驱动器。见图下5主节点与独立从节点(左)以及菊花链式从节点(右)进行通信图 5 主节点与独立从节点(左)以及菊花链式从节点(右)进行通信在SPI操作中,最重要的两项设置就是时钟极性(CPOL或UCCKPL)和时钟相位(CPHA 或UCCKPH)。时钟极性设置时钟空闲时的电平,时钟相位设置读取数据和发送数据的时钟沿。主机和从机的发送数据是同时完成的,两者的接收数据也是同时完成的。所以为了保证主从机正确通信,应使得它们的SPI具有相同的时钟极性和时钟相位。2.3 SPI的应用特点应用:PI接口的全称是Serial Peripheral Interface,意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。特点:SPI一共有11位有用信号,每位信号差分成两个信号用来提高传输抗干扰性,在物理连接上用标准25芯D型插头座(DB25)传输,因此连线多且复杂,传输距离短,容易出现故障。而ASI(异步串行接口)用串行传输,只需要一根同轴电缆线,连线简单,传输距离长。缺点:没有指定的流控制,没有应答机制确认是否接收到数据。3 设计方案 主机只是仿真用的电路,是负责输出SPI的三个信号。从板电路图是实用的电路,或者说是被仿真的电路。 根据本次实验的设计要求,主机设计被分为两个主要模块:微控制器接口模块和SPI接口模块。微控制器接口模块负责与微控制器通信。SPI接口模块负责与SPI器件通信。系统采用模块化设计,设计中的微控制器接口采用独立的VerilogHDL模块,该模块通过一组寄存器与SPI接口连接模块连接。因此,可以非常容易地采用其它微处理器接口替代该模块。 从机的设计也被分为两个主要模块,分为16路开关量输出电路的设计和一路摸拟量输出电路的设计。所谓开关量就是只有高或低两个电平的数字信号,所谓模拟量是能连续变化的,这里具体来说是8位数字信号用简单的电阻转换得来的。4 SPI主机接口设计4.1 SPI总线标准SPI总线包括4根信号线,Serial Clock(SCK),Master Out Slave In(MOSI),Master In Slave Out(MISO)和Slave Selected(SS_N),负责在不同器件之间传递信息。 SCK信号由SPI主机驱动,管理数据传输过程。主机以不同的波特率传输数据,数据线每传输1bit的数据SCK切换1次状态(1-0或者0-1)。在面向字节的数据传输过程中,SPI Specification提供两种不同的时钟方案以及时钟极性选择,主机可以从四种不同的SCK传输速率中选择一种。数据位在SCK的某个时钟沿(上升沿或者下降沿)被移出,在另一个的时钟沿,数据信号稳定时被采样。 主机将输出数据发送到MOSI,MOSI信号作为输入数据移入被选择的从机。MISO数据线包含从机的输出数据,这些数据会被移入主机。SPI总线在同一时刻只能有一个从机传输数据。 在组成SPI系统时,所有SCK、MOSI和MISO引脚都会被连接在一起。系统中只能有1个器件被配置成主机,总线上的其它器件都被配置成从机。主机从SCK和MOSI引脚上输出数据到从机的SCK和MOSI引脚。被选择的从机可以从其MISO引脚输出数据到主机的MISO。 SS_N控制线通过系统硬件选择某个器件作为从机,SS_N控制线可以独立选择SPI从机器件。没有被选择的从机会将从总线上断开。如果器件的从机选择引脚不处于低电平,那么该器件会忽略SCK信号,并将MISO输出引脚与总线保持三态。 SS_IN_N控制线是SPI主机的输入信号,用于指示多主机总线冲突(总线上有多个器件希望成为主机)。如果主机的SS_IN_N信号被置位,表示总线上的其它器件正在尝试成为主机,而寻址该器件作为从机。如果总线上有多于1个器件尝试成为主机, SS_IN_N信号置位,自动禁止SPI主机向外输出信号。 SPI进行数据传输的时钟信号的极性和相位可以修改。SPI可以选择不同的时钟极性(CPOL),即可以选择在高电平或者低电平进行数据传输,时钟极性的选择对于数据传输格式没有任何影响。如果选择CPOL=“0”,表示空闲状态时SCL处于低电平,如果CPOL=“1”,空闲状态时SCK高电平。通过时钟相位选择(CPHA)可以从两种基本的传输格式中选择1种。如果CPHA=“0”,数据在SS_N置位后SCK的第1个跳变沿(上升沿或者下降沿)有效。如果CPHA=“1”,数据在SS_N置位后SCK的第2个跳变沿(上升沿或者下降沿)有效。SPI主机与其通信的从机在时钟的相位和极性上应该保持一致。图6 CPHA=0时SPI总线数据传输时序 图6给出的是CPHA=0时,SPI数据传输过程的时序图。图6给出了SCK选择正极性和负极性两种情况的波形。第一个时钟周期的前半个周期,SCK信号处于无效电平。这种传输格式下,SS_N的下降沿表示数据传输的开始。因此,完成1个字节的数据传输后,SS_N信号必须清零,在下一个字节开始传输时,SS_N重新置位。如果在SS_N信号有效期间(低电平),如果有SPI从机请求写数据到SPI数据寄存器,将导致出现写错误。图7 CPHA=1时SPI总线数据传输时序 图7给出的是CPHA=1时,SPI数据传输过程的时序图。这种情况下的数据传输以时钟的有效沿(无效电平到有效电平的跳变)作为开始标志。SCK的第一时钟沿表示数据传输的开始,在两次输出期间信号SS_N可能保持低电平。这种传输格式适合于只有单主机和单从机的情况。 SPI数据传输发生时,8bit一个字节的数据从一个接口引脚移出(Shiftout),同时不同的8bit的数据被移入另一个接口引脚。这可以理解为在SPI主机器件上有1个8位的移位寄存器,从机上器件上有一个8位的移位寄存器,两者连接在一起组成一个环形的16位的移位寄存器。数据传输发生时,16位的移位寄存器会移动8个位置,因此,可以实现在主机和从机器件之间交换8bit的数据。 SPISpecification详细地介绍了SPI总线上字节数据传输的时序和波形,但是SPISpecification并没有规定基于这种传输方式的数据通信协(dataprotocol),也就是说,SPISpecification并没有指定第1个字节包含的地址或者数据。当通过SPI总线进行通信时,首先需要确定通信协议,以使通信过程中的主机和器件可以正确判断当前数据是命令、地址,以及数据传送方向等。本设计实现的SPI主机并不要求具体的通信协议,只要求微控制器按照正确的顺序将需要传输的数据置于SPI总线。所有在SPI总线上接收的数据都会被存储到接收寄存器,已被用户逻辑使用。所有写入到发送寄存器的数据都会被发送到SPI总线。4.2 SPI主机功能描述本次设计的SPI主机特征如下: n (1) 微控制器接口; n (2) 多主机冲突检测和中断; n(3) 支持8个外部从机;(4) 支持四种传输协议,通过选择时钟极性和时钟相位; n(5) SPI传输完成可以向微处理器产生中断信号; n(6) 支持四种不同的传输速率;4.3 单片机扩展SPI总线的系统框图 对于一般51系列,常采用“主MCU+多个从器件”的主从模式,如下图8 单片机与外围器件在时钟线SCK、数据线MISO和MOSI都是同名端相连。 扩展多个外围器件时,SPI无法通过数据线译码选择,故接口的外围器件都有片选端。在扩展单个SPI器件时,外围器件的片选端可以接地或通过I/O口控制;在扩展多个SPI器件时,单片机应分别通过I/O口线来分时选通外围器件。 在SPI串行扩展系统中,如果某一从器件只作输入(如键盘)或只作输出(如显示器)时,可省去一条数据输出(MISO)或一条数据输入(MOSI),从而构成双线系统(接地)。SPI系统中从器件的选通依靠其引脚,数据传送软件十分简单,省去了传输时的地址选通字节。但在扩展器件较多时,连线较多。图8 单片机扩展SPI总线的系统结构 对于本次实验采用89C51当作主机,利用P0口产生控制信号,P0.0模拟MCU的数据输出端(MOSI),P0.1模拟SPI的SCK输出端,P1.2模拟SPI的从机选择端,P0.3模拟SPI的数据端(MISO)。仿真图见下图9图9 主机仿真结果图4.4 单片机SPI总线的时序模拟 单片机读(从器件输出)时,在选通有效的情况下,SCK的下降沿时从器件将数据放在MISO线上,单片机延时并采样MISO线,将数据位读入。然后将SCK置 为高电平形成上升沿,数据被锁存。单片机写(从器件输入)操作类似。见下图10数据线上输出数据的变化以及输入数据时的采样,都取决于SCK。但对于不同的外围芯片,有的可能是SCK的上升沿起作用,有的可能是SCK的下降沿起作用。图10 单片机SPI总线的时序模拟5 从机的接口设计5.1从机设计原理 基于主机已确定好数据传输模式及其时序,对于从机而言,采用FPGA实现SPI总线从机接口6,当从机要向主机传送数据时,先使/SW信号有效,通知主设备有数要发送,主设备收到信号后,就使/SS信号有效,使从设备端准备好发送数据,并产生时钟信号SCLK,在SCLK的上升沿,从设备将数据经过MISO端送出,最先发送最高位,最后发送最低位,同时,在时钟的下降沿,主设备收取数据。当从设备没有数据发送的时候,就使/SW无效,此时主设备不在产生同步时钟,也并不读取数据。如下图11所示为从机SPI总线接口工作时序。图11 从机SPI接口工作时序图5.2 74HC595资料5.2.1 74HC595管脚特点:8位串行输入 /8位串行或并行输出 存储状态寄存器,三种状态输出寄存器(三态输出:就是具有高电平、低电平和高阻抗三种输出状态的门电路。)可以直接清除 100MHz的移位频率。 图12 74HC595管脚Q0Q7 8位并行数据输出,其中Q0为第15脚GND 第8脚 地Q7 第9脚 串行数据输出MR 第10脚 主复位(低电平)SHCP 第11脚 移位寄存器时钟输入STCP 第12脚 存储寄存器时钟输入OE 第13脚 输出有效(低电平)DS 第14脚 串行数据输入VCC 第16脚 电源74595的数据端:QA-QH: 八位并行输出端,可以直接控制数码管的8个段。QH:级联输出端。将它接下一个595的SI端。SI:串行数据输入端。 74595的控制端说明/SCLR(10脚): 低电平时将移位寄存器的数据清零。通常我将它接Vcc。SCK(11脚):上升沿时数据寄存器的数据移位。QA-QB-QC-.-QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级)RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低点平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。/G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。(1)74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。(2)74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。(3)595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,在正常使用时SCLR为高电平, G为低电平。从SER每输入一位数据,串行输595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,如下面的真值表,在正常使用时SCLR为高电平, G为低电平。从SER每输入一位数据,串行输入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。5.2.2 74HC595具体使用的步骤第一步:目的:将要准备输入的位数据移入74HC595数据输入端上。方法:送位数据到_595。第二步:目的:将位数据逐位移入74HC595,即数据串入方法:SCK_595产生一上升沿,将PSI_595上的数据移入74HC595中.从低到高第三步:目的:并行输出数据。即数据并出方法:P1.1产生一上升沿,将由SI_595上已移入数据寄存器中的数据送入到输出锁存器。说明: 从上可分析:从SCK_595产生一上升沿(移入数据)和RCK_595产生一上升沿(输出数据)是二个独立过程,实际应用时互不干扰。即可输出数据的 同时移入数据。5.2.3 74HC595真值表表一 74HC595输入输出功能真值表SHCPSTCPOEMRDSQ7QnLLLNCMR为低电平时仅仅影响移位寄存器LLLL空移位寄存器到输出寄存器LLLZ清空移位寄存器,并行输出为高阻状态HHHQ6NC逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态 移入LHNCQn移位寄存器的内容到达保持寄存器并从并口输出LHQ6Qn移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并出注释:H=高电平状态L=低电平状态=上升沿=下降沿Z=高阻NC=无变化=无效当MR为高电平,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口,OE为使能端,低电平有效,当OE为低时,输出使能,为高关闭使能,并不影响其他输入端。5.2.4 74HC595框图图1374HC595功能框图图14 74HC595时序图图15 74HC595逻辑框图5.3 74HC595的连接原理图SPI是一个串行输入输出的接口,使用串转并的接口芯片可以实现扩展I/0口。74HC595芯片为一种常用的8位串转并移位寄存器芯片。本系统利用74HC595来驱动静态共银LED。74HC595的主要优点:具有数据存储寄存器。在移位过程中。输出端的数据可以保持不变。这在串行速度慢的场合很有用处,LED没有闪烁感。80C51作在SPI主模式下。图15为74HC595逻辑图。图中,SI为串行数据输入引脚,用来连接89C51的MOSI功能引脚;SCK为移位寄存器的时钟输入,连接89C51串行时钟线SCK; 为清移位寄存器引脚;RCK为锁寄存器锁存时钟引脚;即输出触发端与SSEL连接;为输出使能引脚;SQH为串行数据输出引脚,连接MISO;QAQH引脚为并行输出。当为高电平、使能接低时,SCK产生一个上升沿,SI引脚当前电平值将在移位寄存器中左移l位,在下一个上升沿到来时移位寄存器中的所有位都会向左移l位,同时SQH引脚也会串行输出移位寄存器中的高位的值。当RCK产生上升沿时,移位寄存器的值将会被锁存到锁存器里,并从QAQH引脚输出。图16为SPI接13与74HC595的连接原理图。其中QAQH分别连接共阳LED数码管的8个段。在SPI输出1个字节的数据时,SSEL产生1个低电平,SPI主机串行地发该字节的各个位,各个位都依次被锁存在74HC595的移位寄存器内,当1个字节的数据传输完成后,SSEL由

温馨提示

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

评论

0/150

提交评论