微机原理与接口技术朱红第10章8251串行接口.ppt

上传人:牧羊曲112 文档编号:6284438 上传时间:2023-10-13 格式:PPT 页数:66 大小:438KB
返回 下载 相关 举报
微机原理与接口技术朱红第10章8251串行接口.ppt_第1页
第1页 / 共66页
微机原理与接口技术朱红第10章8251串行接口.ppt_第2页
第2页 / 共66页
微机原理与接口技术朱红第10章8251串行接口.ppt_第3页
第3页 / 共66页
微机原理与接口技术朱红第10章8251串行接口.ppt_第4页
第4页 / 共66页
微机原理与接口技术朱红第10章8251串行接口.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《微机原理与接口技术朱红第10章8251串行接口.ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术朱红第10章8251串行接口.ppt(66页珍藏版)》请在三一办公上搜索。

1、串 行 通 信,第10章,串行通信的基本概念,(1)串行通信的特点并行通信中,传输线数目没有限制,除了数据线之外还应设置有通信联络控制线。但是,当多微机系统中的各台微机相距比较远时,一般不能使用并行通信,其原因是基于以下两点;1.是通信线路费用昂贵;2.容易发生线路干扰、故障,降低了整个通信系统的可靠性。,串行通信:传送的信息(数据信息和控制信息)按位逐位传送,我们将这种方式称为串行通信。显然,串行通信的速度要比并行通信慢得多,但在线路上的开销却省得多。一般来说,串行通信有以下一些特点;(1)既传输数据信息又传送控制联络信息,这就需要串行通信中的一系列约定(编码),从而来识别在一根线上传送的信

2、息流中,哪一部分是联络信号,哪一部分是数据信号。,(2)串行通信的信息格式有异步和同步信息格式,与此对应,有异步串行通信和同步串行通信两种方式。(3)串行通信中的信息逻辑定义与TTL(+5V等价于逻辑“1”,0V等价于逻辑“0”)不兼容,故需要逻辑电平转换。(4)利用现有的信道(如电话信道等),配备以适当的通信接口,便可在任何两点实现串行通信。,(2)线路传输方式,在串行通信中,数据通常是在两个站(如微机、终端等)之间进行传送,按照数据流的方向及对线路的使用方式可分为如下几种基本传输方式。单工传输方式在传输线路上,数据只能按一个固定的方向传送。其示意图如图所示。这种单向连接的用途较窄,仅适用于

3、一些简单的通信或数据传送的场合。,单工方式,半双工传输方式当使用同一根传输线既作输入又作输出时,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这种传输方式就是半双工传输方式,如图所示。通信系统的每一端的发送器和接收器,通过收发开关接到通信线上,利用收发切换开关进行通信方向的切换。,半双工方式,发送器,接收器,全双工传输方式当数据的发送和接收分别由两根不同的传输线传输时,通信双方都能在同一时刻进行发送和接收操作,即相当于将两个方向相反的单工传输方式组合在一起,这样的传输方式就是全双工传输方式,如图所示。,发送器,接收器,全双工方式,传输速率与传送距离,(l)波特率:衡量串行信号传输速

4、率的量度 单位1波特=1b/s,是发送到通信线路上的电脉冲速率。注意:在并行通信中,传输速率是以每秒传送多少字节(Bs)来表示。常用的标准波特率是110、300、1200、2400、4800、9600、19200波特等。CRT 终端能处理9600波特的传输,而点阵打印机通常以2400波特来接收信号。,(2)发送接收时钟:作用是控制 发送接收数据信号的每一位的时钟在串行通信中,二进制数据系列是以数字信号波形的形式出现的,对这些连续的数字波形的定时发送和接收是在发送接收时钟的控制下进行的。在发送数据时,发送器在发送时钟的有效沿(下降沿)作用下将移位寄存器的数据按位移位串行输出;在接收数据时,接收器

5、在接收时钟的有效沿(上升沿)作用下对接收数据按位采样,并按位串行移入移位寄存器。而发送接收时钟的快慢将直接影响通信设备发送接收数据的速度。发送接收时钟频率与波特率的关系如下:发送接收时钟频率n发送接收波特率,发送接收时钟频率 发送接收波特率 n 表达式中的 n=1,16,64。例如,要求传输速率为1200波特,则:当 n=l时,发送接收时钟频率=l.2kHz。当选择 n=16时,发送接收时钟频率=19.2kHz。当选择 n=64时,发送接收时钟频率=76.8kHz。在应用中,可根据所要求传输波特率和所选择的倍数n来确定发送接收时钟频率。,(3)传输距离与传输速率的关系,传输距离与速率是反比关系

6、。,串行通信协议,所谓通信协议是指通信双方的一种约定。在约定中包括了数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等作出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISOS OSI(国际标准化组织提出的开放系统互连参考模型)七层参考模型中的数据链路层。,目前,采用的串行通信协议有两类:异步通信和同步通信。同步协议又有面向字符、面向比特和面向字节计数三种。由于面向字节计数的同步协议主要用于DEC公司的网络体系结构中,在此不作介绍。,异步通信协议,(1)特点及传输格式 异步传输格式亦称起止式异步协议,其特点是通信双方以一个字符(包括特定附加

7、位)作为数据传输单位,且发送方传送字符的间隔时间是不定的。在传输一个字符时总是以起始位开始,以停止位结束。异步通信传输格式如图所示。,异步通信字符传输帧格式,止,由图可知,一帧传送1个字符。(1)字符格式:1、1个起始位,低电平2、58个数据位(如:ASCII码,从低开始传送)3、1个奇偶校验位(用于检错)4、12个终止位(停止位)高电平异步通信协议还规定:信号1(低电压状态-3-15)称为传号(或称为标志状态MARK),信号0(高电平状态+3+15)为空号(或称间隔状态 SPACE)。,异步通信的一帧传输经历以下步骤:无传输发送方连续发送传号(低电压-3-15),处于信号1状态,表明通信双方

8、无数据传输。开始传输发送方在任何时刻将传号变为空号(由1变为0),并持续1位时间表明发送方开始传输。与此同时,接受方收到空号后,开始与发送方同步,并期望收到随后的数据。,数据传输 数据位的长度可由双方事先确定,可选择58位。数据传输规定最低位在前,最高位在后。奇偶校验 数据传输之后是可供选择的奇偶校验位发送和接收。奇偶位的状态取决于选择的奇偶校验类型。如果选择奇校验,则该字符数据中为1的位数与校验位相加,结果应为奇数。,停止传输 在奇偶位(选择有奇偶校验)或数据位(选择无奇偶校验)之后发送或接收的停止位,其状态恒为1。停止位的长度可在1,1.5或2位三者中选择。两种方式发送一帧字符:a.连续发

9、送 即在上一帧停止位之后立即发送下一帧的起始位。b.随机发送 即在上一帧停止位之后仍然保持传号(1)状态,直至开始发送下一帧时再变为空号。,例如,我们选择数据位长度为7位,选择奇校验,停止位为1位,采用连续发送方式,则传送一个字符E的ASCll码的波形如图所示。,字符E(45H)的传送波形,45H:100,0101B,同步通信协议,(1)面向字符的同步协议 特点与格式 它的特点是一次传送由若干个字符(多个位)组成的数据块,而不是只传送一个字符,并规定了10个特殊字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫通信控制字。由于被传送的数据块是由一序列字符组成的,故被称作面向

10、字符的协议。协议的一帧数据格式如下图所示。,图9-10 面向字符同步协议的帧格式,同步字符,序始字符,文始字符,组终/文终字符,数据帧,表9-1 通信控制字符,面向字符的同步通信有别于异步通信的特点 是,它允许连续发送一序列字符,而每个字符的数据位数都相同,且没有起始位和停止位。通常,一个数据帧内包含成百甚至上千个字符,而附加的控制信息仅几个字符。这样,使附加信息只占1。然而在异步传输中,一个字符帧内附加位约占 20,因此,面向字符的同步传输效率要比异步传输高得多。,由于在面向字符的同步通信协议中采用了一些传输控制字,从而增强了通信控制能力和校验功能,但也出现了一些问题,例如如何区别数据字符代

11、码和特定字符代码的问题,如果在数据块出现与特定的通信控制字符代码完全相同的数据字符,这就会发生误解。,为此,协议中设置了转义定符DLE(Data Link Escape)。当把一个字符看成是数据时,就要在它前面加一个DLE,每当接收器收到一个DLE就可预知下一个字符是数据字符。但是,由于DLE本身也是特定字符,当它出现在数据块时,也要在它前面再加上另一个DLE。这种方法称为字符填充,而字符的填充与字符的编码有关,故实现起来相当麻烦。为了克服以上的缺点,故又提出新的面向比特的同步协议。,(2)面向比特的同步协议(补充,自学),特点与格式面向比特的同步传输又称作二进制同步传输。协议的特点是所传输的

12、一帧数据可以是任意位,并且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束。这些协议的一帧格式如图9-11所示,该传输格式中不是以字符而是以二进制位为最小传输单位,故称为“面向比特”的协议。,图9-11 面向比特同步协议的帧格式,帧信息的分段SDLCHDLC(同步协议)的一帧信息包括以下几个场,所有场都是从最低有效位开始传送。a.同步数据链路控制规程SDLC,由 IBM公司制定。b.高级数据链路控制规程 HDLC,由国际标准化组织ISO制定。,SDLCHDLC的标志字符a.标志场:所有信息传输必须以一个标志符开始,且以同一个标志符结束。这个标志字符是01111110。从开始标志到结

13、束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形式传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索01111110来确定帧的开头和结束,以此建立帧同步。,b.地址场和控制场 在标志场之后,可以有一个地址场A(Address)和一个控制场C(Control)。地址场用来规定与之通信的次站(在一次通信中,呼叫建立数据链路的站为主站,被呼叫的站称为次站)的地址。控制场可规定若干个命令。HDLC允许A场可以为任意长度,C场可以为8或16位。接收方必须检查每个地址、控制字节的第一位,如果为0,那么后面一个字节还是地址或者控制字节,如果为1,该字节是最后一个字节。,d

14、.帧校验场 紧跟在信息场之后的是两字节的帧校验场,帧校验场称为 FC(Frame Check)或称为帧校验序列FCS(Frame Check Sequence)。SDLCHDLC均采用 16位循环冗余校验码CRC,其生成多项式为CCITT多项式+1。除了标志场和自动插入的“0”位外,所有的信息都参加CRC计算。,“0”位插入删除技术 由于 SDLCHDLC协议规定以 01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了能把它与标志区分开来,所以采取了“0”位插入和删除技术。具体作法是,在发送端发送所有信息(除标志字节外)时,只要遇到连续5个“1”,就自动插入一个“0”,

15、当接收端在接收数据时(除标志字节)如果连续收到5个“l”,就自动将其后的一个“0”删除,以恢复信息的原有形式。这种“0”位的插入和删除过程是由硬件自动完成的。,可编程串行接口芯片,2 5 l A,Intel 8251A 的基本性能,(1)可用于同步(面向字符协议)和异步(起止式)传送、接收;(2)同步:58 bit/字符,可内同步或外同步,能自动插入同步字符(只能面向字符);(3)异步:58 bit/字符,时钟速率为波特率的1、16、64倍;(4)可自动产生、检测和处理中止字符,可产生1、1.5或 2个位的停止位;,(5)波特率:DC19.2K(异步)DC64K(同步);(6)完全双工,双缓冲

16、发射/接收器;(7)错误检测:具有奇偶错、溢出和帧错的检测能力;(8)全部输入/输出与TTL兼容,+5V供电、28只引脚。,8251A的内部逻辑与外部引脚,A0,8251A引脚图,数据总线缓冲器它含有数据和命令缓冲器,是CPU与8251的数据接口传送I/O数据传送CPU对8251的控制命命(工作方式和工作命令字)传送8251给CPU的状态字 接收缓冲器和接收控制电路 P262在时钟脉冲控制下,接收RxD脚上的串行数据,把它转换为并行数据,存放在接收缓冲器。异步方式下,在CPU发出“允许接收数据命令”,“准备好接收数据”有效时,接收缓冲器监视RxD引脚,如果出现负脉冲,则认为是起始位。接收控制器

17、的内部计数器对RxC/的时钟频率开始计数,把RxD线上的数据送至移位寄存器,奇偶校验后,去掉停止位,变成并行数据,送到接收数据缓冲器。同时发出RxRDY高电平信号通知CPU。BRKDET为异步工作方式下使用,当 8251从RxD引脚连续接收到两个全由0组成的字符时,BRKDET上输出高电平,表示当前无数据可读。内同步下,监视RxD线,每出现一个数据位就移动到移位寄存器。把移位寄存器中的值和同步字符相比较。若不符,则继续接收并比较。若相等,表明找到。在SYNDET上输出为高电平。利用接收时钟RxC,按规定的数据位装配成并行数据,再把它送到数据缓冲器。同时发出RxRDY信号通知CPU。外同步下,同

18、步字符不是由8251完成的,而是由外部电路来实现同步字符的检测的,检测到后,通过SYNDET引脚给8251输入高电平。,RxRDY:接收器准备好信号。状态线,发送到 CPU。当允许接收(RxE=1操作命令字中设置),当8251从外部输入端接收到一个字符,准备送到CPU时,此信号有效。当CPU读取完字符时,此信号复位0。查询方式中,CPU通过读取状态寄存器的D1位来查询这个信号。SYNDET/BRKDET:当工作在内同步状态下,为输出,当为高电平时,表明8251内部检测电路已经检测到同步字符,8251已经达到同步。当工作在外同步下,是输入。当外部检测电路,检测到同步字符,在这个引脚输入一个正跳变

19、,使8251在下一个RxC的下降沿开始拼装字符。在异步方式下,做间断信号检出BRKDET(break detect),输出。当检测到间断码时,输出高电平。RxC/:接收器 输入时钟。其频率规定和TxC一样。,发送缓冲器和控制电路当CPU向外设输出数据时,利用OUT指令把要发送的数据经8251的D7D0传入发送缓冲器,再由发送缓冲器的移位寄存器将并行数据转换成串行数据,然后经TxD端发送出去。异步方式下,发送控制器在发送数据前加上起始位,并按约定加上校验位和停止位,然后在发送时钟TxC/作用下,由TxD引脚一位一位的串行发送。TxC/上输入的频率可以是发送波特率的1、16、64倍。同步下,发送控

20、制器在准备发送的数据前先插入一个或两个同步字符,在数据中,插入校验位。由TxD引脚逐位发送。数据的传输率等于TxC/上输入的时钟频率。,引脚TxRDY:发送器准备好信号。状态线,发送到 CPU,表明8251已经准备好从CPU接收数据。Cpu写入一个字符后,自动复位。当8251允许发送(输入信号:允许传送CTS*为低;TxEN为高:命令字D0位设置),且数据缓冲器为空时,此信号为高。TxE:发送器空,高电平有效。发送器中的并行到串行转换器空,表明发送操作已经结束。8251从cpu接收待发的字符后,复位0。TxC*:发送器 输入时钟。异步下,可以是波特率的16倍或者64倍。,2)读写控制电路,RE

21、SET:复位,输入,高电平有效,有效时8251进入空闲状态,等待初始化。CLK:8251内部定时信号,比RxC/和TxC/的频率都大。RD/、WR/:读写控制信号,低电平有效。C/D*:控制/数据信号。通常连接低位地址。高电平为CPU对8251写控制字或者读状态字。对应控制口。低电平为CPU读写数据,对应数据口。所以8251占用两个端口地址。,3)调制控制,8251A提供了4个与MODEM相连的控制信号和数据发送以及数据接收信号线。它们的含义与RS232C标准规定相同。DTR(Data Terminal Ready)数据终端准备好。是输出信号,低电平有效,发送给调制器。它由命令字的D1置“1”

22、变为有效,用以表示825lA准备就绪。(收)DSR(DATA SET Ready)数据设备准备好。是输入信号,低电平有效。用以表示调制器已准备好。CPU通过读状态寄存器的D7位检测这个信号。(收)RTS(Request Send)请求发送,是输出信号,发送给调制器,低电平有效。用于通知MODEM,825lA要求发送。它由命令字的D5置“1”来使其有效。(发)CTS清除传送(即允许传送),是输入信号,低电平有效。是MODEM对8251A的RTS信号的响应,当其有效时825lA方可发送数据。(发),8251,MODEM,CPU,输入设备(收),输出设备(发),DTR 8251准备就绪,DSRM准备

23、好,RTS 请求发送,CTS 允许发送,8251A的编程,(1)工作方式字 作用:对825lA工作方式进行选择,是异步方式还是同步方式,并按照其工作方式指定帧数据格式。,(同步)(异步)*0=内同步 00=不用*1=外同步 01=1位0*=双同步 10=1.5位1*=单同步 11=2位 停止位长度,*0=无01=奇11=偶,00=5位01=6位10=7位11=8位,(异步)(同步)00=同步01=1-10=16-11=64-波特率系数,例如,某异步通信中,其数据格式采用8位数据位,1 位起始位,2位停止位,奇校验,波特率系数是16,其工作方式字为11011110B=DEH。MOV DX,309

24、H;8251命令口 MOV AL,0DEH;异步工作方式字 OUT DX,AL;又如,同步通信中,若帧数据格式为:字符长度8位,双同步字符,内同步方式,奇校验,则工作字是00011100B=1CH。MOV DX,309H;8251命令日 MOV AL,1CH;同步工作方式字 OUT DX,AL;,(2)操作命令控制字 迫使8251进行某种操作或处于某种工作状态,以便发送或接受数据,D2 D0全双工:1 1单工、半双工:发 0 1 收 1 0,D0 允许发送 TxEN(Transmit Enable),只有D0为1,才允许发送器通过TxD引脚向外设发送数据。可作为发送中断屏 蔽位。D1 数据终端

25、准备就绪DTR:D1=1,强置DTR有效,表示8251已准备好。可以接收数据了。D1=0,置DTR无效。D2 允许接收 RxE(Receive Enable):D2=1,允许接收。D2=0,禁止接收。可作接收中断屏蔽位。D3 发中止字符SBRK(Send Break Character):D3=1,强迫TXD为“低”电平。D3=0,正常操作。D4 错误标志复位ER(Error Reset):D4=1,使错误标志(PEOEFE帧校验错)复位。D5 发送请求RTS(Request To Send):D5=l,强迫RTS为低电平,置发送请求RTS有效。D5=0,置RTS无效。,D6内部复位:D6=1

26、,使 8251A回到方式选择命令状态。D6=0,不回到方式命令。D7 进入搜索方式EH(Enter Hunt Mode):D7=1,启动搜索同步字符。D7=0,不搜索同步字符。,例如,若要使8251A内部复位,并且允许接收,又允许发送,则程序段为:MOV DX,309H;8251A命令口 MOV AL,00H 空操作,因写入8251中的第一个控OUT DX,AL;制字必须是工作方式字 MOV AL,01000000B;置 D6=1,使内部复位OUT DX,ALMOV AL,0DEH;工作方式字OUT DX,AL MOV AL,00000101B;置 D2=1,D0=1,允许接收和发送 OUT

27、DX,AL,(3)状态字 CPU读入状态字来分析、判断下一步工作,加三角符号的标志位:与引脚定义相同。TxRDY含义不同,只要发送缓冲器一空就置位1,而引脚还要满足CTS*、TxEN有效3个条件时才置位。,当C/D*=1、RD*=0 时读状态字,D0 位TXRDY 发送器准备好:D0=1时表示发送缓冲器为空。而与TxRDY引脚含义不同,D0只要发送缓冲器一空就置位1,而引脚还要满足CTS*、TxEN有效3个条件时才置位。D3 奇偶错标志位:D3=1,表示产生奇偶错D4 溢出错标志位:D4=1,溢出错,即CPU还没有将当前字符数据取走,下一个数据又来了D5 帧校验错:只对异步方式有效,D5=1表

28、示未校验到停止位。其他的RXRDY、TXE、SYNDET/BRKDET、DSR与芯片相应引脚的含义相同,例如,若要查询8251A接收器是否准备好,则用下列程序段:MOV DX,309H;状态口 L:IN AL,DX;读状态字 AND AL,02H;查D1=1?(RXRDY=l?)JZ L;RXRDY=0,未准备好,则等待 MOV DX,308H;数据口 IN AL,DX;已准备好,则读数若要检查出错信息,则用下列程序段:MOV DX,309H;状态口 IN AL,DX;检查D5 D4 D3三位 TEST AL,38H;(001 11000 FE、OE、PE)JNZ ERROR;若其中有一位为1

29、,则出错,向8251A命令口写入的顺序-芯片复位后,首先往控制口,写入方式字,方式字约定了双方通信方式、数据格式以及传送速率-如果是同步工作方式,则接下来往控制端口写入1个或2个同步字符-然后是往控制端口,写入操作命令控制字。P267 例子10.4,下面以图所示的两台微机之间进行双机串行通信为例来说明825lA在实际中是如何应用的。要求:在甲乙两台微机之间进行串行通信。甲机发送,乙机接收。要求把甲机上开发的应用程序(其长度为2DH)传送到乙机中去。采用起止式异步方式,字符长度为8位,2位停止位,波特率因子为 64,无校验,波特率为 4800。CPU与8251A之间用查询方式交换数据。口地址分配

30、是:309H为命令状态口,308H为数据口。由于是近距离传输,可以不设MODEM,而直接互连,同时是采用查询IO方式,故收发程序中只需检查发收准备好的状态是否置位,即可收发1个字节。,如果有时间可以讲一下P267 8251的应用举例,下例自学,甲乙两台微机之间的硬件连接只需TXD、RxD和SG三根线连接就能通信。采用8251A作为接口的主芯片再配置少量附加电路,如波特率发生器、RS232C与TTL电平转换电路、地址译码电路等就可构成一个串行通信接口。软件编程:接收和发送程序分开编写,每个程序段中包括8251A初始化,状态查询和输入输出几部分。,图9-13 微机间串行通信接口连接,发送程序(略去

31、STACK和DATA段)CSEG SEGMENT ASSUME CS:CSEG TRA PROC FAR START:MOV DX,309H;控制口 MOV AL,00H;空操作 OUT DX,AL;MOV AL,40H;内部复位 D6 OUT DX,AL;NOP,MOV AL,0CFH;方式字(异步,2位;停止位,字符长度为8位,;无校验,波特率因子为64)OUT DX,AL;MOV AL,37H;命令字(RTS、ER、;RxE、DTR和 TxEN均置位)OUT DX,AL;MOV CX,2DH;传送字节数 MOV SI,300H;发送区首址,L1:MOV DX,309H;状态口 IN AL

32、,DX;查状态位D0(TxRDY)=1?AND AL,01H;JZ L1;发送未准备好,则等待 MOV DX,308H;数据口 MOV AL,SI;发送准备好,则从发送区取;1字节发送 OUT DX,AL;INC SI;修改内存地址 DEC CX;字书数减1 JNZ L1;未发送完,继续,ERR:(略)MOV AX,4C00H;已送完,回 DOS INT 21H;TRA ENDPCSEG ENDS END START,接收程序(略去STACK和 DATA段)SCEG SEGMENT ASSUME CS:RECREC PROC FARBEGIN:MOV DX,309H;控制口 MOV AL,0A

33、AH;空操作 OUT DX,AL MOV AL,50H;内部复位 OUT DX,AL,NOP MOV AL,0CFH;方式字 OUT DX,AL MOV AL,14H;命令字(ER、RxE置 1)OUT DX,AL;MOV CX,2DH;传送字节数 MOV DI,400H;接收区首址L2:MOV DX,309H;状态口 IN AL,DX;查状态位D2(RxRDY)=1?TEST AL,38H;查错误 JNZ ERR;转出错处理 AND AL,02H;JZ L2;接收未准备好,则等待,MOV DX,308H;数据口 IN AL,DX;接收准备好,则接收1字节 MOV DI,AL;并存入接收区 INC DI;修改内存 LOOP L2;未接收完,继续ERR:(略)MOV AX,4C00H;已接收完,程序结束,退出 INT 21H;返回DOSREC ENDPCSEG ENDS END BEGIN,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号