USART串口外设

USART介绍

在这里插入图片描述

  • USART:另外我们经常还会遇到串口,叫UART,少了个S,就是通用异步收发器,一般我们串口很少使用这个同步功能,所以USART和UART使用起来,也没有什么区别。
    其实这个STM32的USART同步模式,只是多了个时钟输出而已,它只支持时钟输出,不支持时钟输入,所以这个同步模式更多的是为了,兼容别的协议或者特殊用途而设计的,并不支持两个USART之间进行同步通信。所以我们学习串口,主要还是异步通信。

  • 串口的协议,串口主要就是靠收发这样的、约定好的波形来进行通信的,那这个USART外设,就是串口通信的硬件支持电路。
    USART分为发送和接收两部分,发送是将数据寄存器的一个字节数据,自动生成协议规定的波形,从TX引脚发送出去。接收是自动接收RX引脚的波形,按照协议规定,解码为一个字节数据,存放在数据寄存器里,这就是USART电路功能。

  • 波特率发生器,就是用来配置波特率的,其实是一个分频器,比如我们APB2总线给个72MHZ的频率,然后波特器进行一个分频,得到我们想要的波特率时钟,最后在这个时钟下,进行收发,就是我们指定的通信波特率。

  • 停止位长度,在进行连续发送时,停止长度决定了帧的间隔,最常用的是1位停止位。

  • 同步模式,就是多了个时钟CLK的输出;硬件流控制,比如A设备的TX脚向B设备的RX脚发送数据,A设备一直在发,发的太快了,B处理不过来,如果没有硬件流控制,那B就只能抛弃新数据或者覆盖原数据了。如果有硬件流控制,在硬件电路上,会多出一根线,如果B没准备好接收,就置高电平,如果准备好了,就置低电平。A接收到了B反馈的准备信号,就只会在B准备好的时候,才发数据,如果B没准备好,那数据就不会发送出去,这就是硬件流控制,可以防止因为B处理慢而导致数据丢失的问题。

  • DMA,是这个串口支持DMA进行数据转运,可以使用DMA转运数据,减轻CPU的负担。

  • 最后,智能卡、IrDA(用于红外通信的)、LIN(局域网通信协议),这些是其他的一些协议。因为这些协议和串口是非常的像,所以STM32就对USART加了一些小改动,就能兼容这么多协议了,不过我们一般不用。

  • USART1是APB2总线上的设备,USART2、 USART3是APB1总线上的设备。

USART框图

在这里插入图片描述
引脚部分

在这里插入图片描述
TX: 发送数据输出引脚。
RX: 接收数据输入引脚。
SCLK: 发送器时钟输出引脚。这个引脚仅适用于同步模式。

在这里插入图片描述

USART_DR包含了已发送的数据或者接收到的数据。USART_DR实际是包含了两个寄存器,一个专门用于发送的可写TDR, 一个专门用于接收的可读RDR。
这两个寄存器占用同一个地址在程序上,只表现为一个寄存器。当进行发送操作时,往USART_DR写入数据会自动存储在TDR内;当进行读取操作时,向USART_DR读取数据会自动提取RDR数据。TDR和RDR都是介于系统总线和移位寄存器之间。串行通信是一个位一个位传输的,发送时把TDR内容转移到发送移位寄存器, 然后把移位寄存器数据每一位发送出去,接收时把接收到的每一位顺序保存在接收移位寄存器内然后才转移到RDR。

面是两个移位寄存器,一个用于发送,一个用于接收。发送移位寄存器的作用就是,把一个字节的数据一位一位地移出去,正好对应串口协议的波形的数据位。这两个寄存器是怎么工作的呢?

在这里插入图片描述

比如你在某时刻给TDR写入了0x55这个数据,在寄存器里就是二进制存储,0101 0101, 那么此时,硬件检测到你写入数据了,它就会检查当前移位寄存器不是有数据正在移位。
如果没有,这个0101 0101就会立刻全部移动到寄存器,准备发送,当数据从TDR移动到移位寄存器时,会置一个标志位,叫TXE (TX Empty),发送寄存器空,我们检查这个标志位,如果置1了,我们就可以在TDR写入下一个数据了。

注意一下,当TXE标志位置1时,数据其实还没有发送出去,只要数据从TDR转移到发送移位寄存器了,TXE就会置1,我们就可以写入新的数据了。

然后发送移位寄存器就会在下面这里的发生器控制的驱动下,向右移位,然后一位一位地,把数据输出到TX引脚。这里是向右移位的,所以正好和串口协议规定的低位先行,是一致的,当数据移位完成后,新的数据就会再次自动地从TDR转移到发送移位去存器里来, 如果当前移位奇存器移位还没有完成,TDR的数据就会选行等待,但移位完成,就会立刻转移过来,有了TDR和移位寄存器的双重缓存,可以保证连续发送数据的时候,数据帧之间不会有空闲,提高了工作效率。

简单来说,就是数据一旦从TDR转移到移位寄存器了,管你有没有移位完成,就立刻把下一个数据放在TDR等着,一旦移完了,新的数据就会立刻跟上。

在这里插入图片描述
然后接收端,也是类似的。数据从RX引脚通向接收移位寄存器,在接收器控制的驱动下,一位一位地读取RX电平,先放在最高位,然后向右移,移位8次之后,就能接收一个字节了。 同样,因为串口协议规定是低位先行,所以接收移位寄存器是从高位往低位这个方向移动的。

之后,当一个字节移位完成之后,这一个字节的数据就会整体地,一下子转移到接收数据寄存器RDR里来,在转移的过程中,也会置一个标志位叫RXNE (RXNot Empty),接收数据寄存器非空,当我们检测到RXNE置1之后,就可以把数据读走了。同样,这里也是两个寄存器进行缓存,当数据从移位寄存器转移到RDR时,就可以直接移位接收下一帧数据了。这就是USART外设整个的工作流程。

控制部分和其他增强部分

下面这里是发送器控制,它就是用来控制发送移位寄存器的工作的;接收器控制,用来控制接收移位寄存器的工作;然后左边这里,有一个硬件数据流控,也就是硬件流控制,简称流控。
  这里流控有两个引脚,一个是nRTS,一个是nCTS。nRTS(Request To Send)是请求发送,是输出脚,也就是告诉别人,我当前能不能接收;nCTS (Clear To Send)是清除发送,是输入脚,也就是用于接收别人nRTS的信号的。这里前面加个n意思是低电平有效。

在这里插入图片描述

首先,我们需要找到一个支持流控的串口,并将它的TX连接到我们的RX。同时,我们的RTS需要输出一个接收反馈信号,并将其连接到对方的CTS。当我们可以接收数据时,RTS会置为低电平,请求对方发送。对方的CTS接收到信号后,就可以继续发送数据。如果处理不过来,比如接收数据寄存器未及时读取,导致新数据无法接收,此时RTS会置为高电平,对方的CTS接收到信号后,就会暂停发送,直到接收数据寄存器被读取,RTS重新置为低电平,数据才会继续发送。

当我们的TX向对方发送数据时,对方的RTS会连接到我们的CTS,用于判断对方是否可以接收数据。TX和CTS是一对对应的信号,RX和RTS也是一对对应的信号。此外,CTS和RTS之间也需要交叉连接,这就是流控的工作模式。然而,我们一般不使用流控,因此只需要了解一下即可。(少用原因应该是多消耗两根通信线)

在这里插入图片描述

接着继续看右边这个模块,这部分电路用于产生同步的时钟信号,它是配合发送移位寄存器输出的,发送寄存器每移位一次,同步时钟电平就跳变一个周期。时钟告诉对方,我移出去一位数据,你看要不要让我这个时钟信号来指导你接收一下?当然这个时钟只支持输出,不支持输入,所以两个USART之间,不能实现同步的串口通信。

那这个时钟信号的作用:
1.兼容别的协议。比如串口加上时钟之后,就跟SPI协议特别像,所以有了时钟输出的串口,就可以兼容SPI。
2.另外这个时钟也可以做自适应波特率,比如接收设备不确定发送设备给的什么波特率,然后再计算得到波特率,不过这就需要另外写程序来实现这个功能了。这个时钟功能,我们一般不用,所以也是了解一下就行。

在这里插入图片描述

这部分的作用是实现串口挂载多设备。我们之前说,串口一般是点对点的通信(只支持两个设备互相通信)。而多设备,在一条总线上,可以接多个从设备,每个设备分配一个地址,我想跟某个设备通信,就先进行寻址,确定通信对象,再进行数据收发。

那回到这里,这个唤醒单元就可以用来实现多设备的功能,在这里可以给串口分配一个地址,当你发送指定地址时,此设备唤醒开始工作,当你发送别的设备地址时,别的设备就唤醒工作,这个设备没收到地址,就会保持沉默。这样就可以实现多设备的串口通信了,这部分功能我们一般不用。

在这里插入图片描述

中断申请位,就是状态寄存器这里的各种标志位,状态寄存器这里,有两个标志位比较重要,一个是TXE发送寄存器空,另一个是RXNE接收寄存器非空,这两个是判断发送状态和接收状态的必要标志位,剩下的标志位,了解一下就行。中断输出控制这里,就是配置中断是不是能通向NVIC。

在这里插入图片描述

波特率发生器其实就是分频器,APB时钟进行分频,得到发送和接收移位的时钟。看一下,这里时钟输入是fPCLKx(x=1或2),(USART1挂载在APB2,所以就是PCLK2的时钟,一般是72M;其他的USART都挂载在APB1,所以是PCLK1的时钟,一般是36M)。

之后这个时钟进行一个分频,除一个USARTDIV的分频系数,并且分为了整数部分和小数部分,因为有些波特率,用72M除一个整数的话,可能除不尽,会有误差。所以这里分频系数是支持小数点后4位的,分频就更加精准,之后分频完之后,还要再除个16,得到发送器时钟和接收器时钟,通向控制部分。

然后右边这里,如果TE (TX Enable)为1,就是发送器使能了,发送部分的波特率就有效;如果RE(RX Enable)为1,就是接收器使能了,接收部分的波特率就有效。

串口引脚
在这里插入图片描述
这些引脚都必须按照引脚定义里的规定来,或者看一下重映射这里,有没有重映射,这里有USART1的重映射,所以有机会换一次口,剩下引脚,就没有机会作为USART1的接口了。

USART基本结构

在这里插入图片描述
最左边这里是波特率发生器,用于产生约定的通信速率,时钟来源是PCLK2/1,经过波特率发生器分频后,产生的时钟通向发送控制器和接收控制器。发送控制器和接收控制器,用来控制发送移位和接收移位。

之后,由发送教据寄存器和发送移位寄存器这两个寄存器的配合,将数据一位一位地移出去,通过GPIO的复用掩出,输出到TX引脚,产生串口协议规定的波形,这里画了几个右移的符号,就是代表这个移位寄存器是往右格的,是低位先行。
当数琚由数据寄存器转到移位寄存器时,会置一个TXE的标志位,我们判断这个标志位,就可以知道是不是可以写下一个数据。
在这里插入图片描述

然后接收部分也是类似的,RX引脚的波形,通过GPIO输入,在接收控制器的控制,下,一位一位地移入接收移位寄存器,这里画了右移的符号,也是右移的,因为是低位先行,所以要从左边开始移进来,移完一帧数据后, 数据就会统一转运到接收数据寄存器,在转移的同时,会置一个RXNE标志位,我们检查这个标志位,就可以知道是不是收到数据了。同时这个标志位也可以去申请中断,这样就可以在收到数据时,直接进入中断函数,然后快速地读取和保存数据。

那右边这实际上有四个寄存器,但在软件层面,只有一个DR寄存器可以供我们读写,写入DR时,数据走上面这条路,进行发送,读取DR时,数据走下面这条路,进行接收,这就是USART进行串口数据收发的过程。

数据帧

这个图,是在程序中配置8位字长和9位字长的波形对比。这里的字长,就是我们前面说的数据位长度。他这里的字长,是包含校验位的,是这种描述方式。

在这里插入图片描述
在这里插入图片描述

那看一下上面这个9位字长的波形,第一条时序很明显就是TX发送或者RX接收的数据帧格式。
空闲高电平,然后起始位0,然后根据写入的数据,置1或0,依次发送位0到位8,加起来就是9位,最后停止位1,数据帧结束。在这里位8,也就是第9个位置,是一个可能的奇偶校验位,通过配置寄存器就可以配置成奇校验、偶校验或者无校验,这里可以选择配置成8位有效载荷+1位校验位,也可以选择9位全都是有效载荷。不过既然你选择了9位字长,那一般都是要加上校验位的,因为8位有效载荷,正好对应一个字节。

然后下面这个时钟,就是我们之前说的同步时钟输出的功能,可以看到,这里在每个数据位的中
间,都有一个时钟上升沿,时钟的频率,和数据速率也是一样的,接收端可以在时钟上升沿进行采样,这样就可以精准定位每一位数据。这个时钟的最后位,可以通过这个LBCL位控制,要不要揄出。另外这个时钟的极性、相位什么的,也可以通过配置寄存器配置。
然后下面这两个波形,一个是空闲帧,就是从头到尾都是1;还有一个是断开帧,从头到尾都是0.这两个数据帧,是局域网协议用的,我们串口用不著,不用管的。

接下来是8位字长的波形,可以看到,这里的数据位是从位0一直到位7,总共是8位,比上面这个少了一个位8,同样这个最后一位位7,也是一个可能的奇偶校验位。还是同样,既然你选择了8位字长,那这里就最好选择无校验,要不然你校验位占1位,有效载荷就只剩7位了,一个字节都发不了。

不同停止位的波形变化
在这里插入图片描述
STM32的串口,可以配置停止位长度为0.5、1、1.5、2,这四种。

这四种参数的区别,就是停止位的时长不一样。第一个是1个停止位,这时停止位的时长就和数据位的一位,时长一样;然后是1.5个停止位,这时的停止位就是数据位一位,时长的1.5倍;2个停止位,那停止位时长就是2倍;0.5个停止位,时长就是0.5倍。这个也好理解,就是控制停止位时长的,一般选择1位停止位就行了,其他的参数不太常用。这个是停止位。

起始位侦测

那我们来看一下STM32是如何来设计输入电路的呢

在这里插入图片描述第一个图展示了USART的起始位侦测。当输入电路侦测到数据帧的起始位后,将以波特率的频率连续采样一帧数据。同时,从起始位开始,采样位置要对齐到位的正中间。只要第一位对齐了,后面就都是对齐的。

在这里插入图片描述

为了实现这些功能,输入电路对采样时钟进行了细分,以波特率的16倍频率进行采样。在一位的时间里,可以进行16次采样。比如最开始时,空闲状态为高电平,采样一直是1。在某个位置突然采到0,说明两次采样之间出现了下降沿,如果没有噪声,那之后就应该是起始位了。在起始位,会进行连续16次采样,没有噪声的话,这16次采样肯定都是0。但是实际电路还是会存在一些噪声,所以这里即使出现下降沿了,后续也要再采样几次以防万一。
  
  根据手册描述,接收电路在下降沿之后的第3次、5次、7次进行一批采样,在第8次、9次、10次再进行一批采样。这两批采样都要求每3位里面至少应有2个0。如果没有噪声,那肯定全是0,满足情况;如果有一些轻微的噪声导致3位里面只有两个0,另一个是1,那也算是检测到了起始位(但是在状态寄存器里会置一个NE(Noise Error),提醒你数据收到了但是有噪声,你悠着点用);如果3位里面只有1个0,那就不算检测到了起始位,可能前面那个下降沿是噪声导致的,这时电路就忽略前面的数据重新开始捕捉下降沿。
  
  这就是STM32的串口在接收过程中对噪声的处理。如果通过了这个起始位侦测那接收状态就由空闲变为接收起始位同时第8、9、10次采样的位置就正好是起始位的正中间。之后接收数据位时就在第8、9、10次进行采样这样就能保证采样位置在位的正中间了。这就是起始位侦测和采样位置对齐的策略。

数据采样

在这里插入图片描述
在这里插入图片描述

数据采样的流程:这里,从1到16,是一个数据位的时间长度,在一个数据位,有16个采样时钟,由于起始位侦测已经对齐了采样时钟,所以,这里就直接在第8、9、10次采样数据位。

为了保证数据的可靠性,这里是连续采样3次,没有噪声的理想情况下,这3次肯定全为1或者全为0,全为1,就认为收到了1,全为0,就认为收到了0;如果有噪声,导致3次采样不是全为1或者全为0,那它就按照2:1的规则来,2次为1,就认为收到了1,2次为0,就认为收到了0,在这种情况下,噪声标志位NE也会置1,告诉你,我收到数据了,但是有噪声,你悠着点用,这就是检测噪声的数据采样,可见STM32对这个电路的设计考虑还是很充分的。

波特率发生器

在这里插入图片描述

计算公式有个16,是因为它内部还有一个16倍波特率的采样时钟,所以这里输入时钟/DV要等于16倍的波特率,最终计算波特率,自然要多除一个16了。

在这里插入图片描述

举个例子,比如我要配置USART1为9600的波特率,那如何配置这个BRR寄存器呢。

我们代入公式,就是9600等于 USART1的时钟是72M 除 16倍的DIV,解得,DIV=72M/9600/16,最终等于468.75,则二进制数是11101 0100.11v。所以最终写到这个寄存器就是整数部分为11101 0100,前面多出来的补0,小数部分为11,后面多出来的补0。这就是根据波特率写BRR寄存器的方法,了解一下,不过,我们用库函数配置的话,就非常方便,需要多少波特率,直接写就行了,库函数会自动帮我们算。

USB转串口模块原理图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/675303.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

抖店入驻门槛,一降再降,2024年商家入驻抖店最佳的时机来了!

大家好,我是电商糖果 抖店已经发展有四年多的时间了,现在也算是比较成熟的电商平台. 这几年因为直播带货的火爆,再加上抖音的流量支撑,还有抖音在背后的扶持和推广。 让抖店成了电商行业的黑马项目,吸引了不少商家入…

融合通信项目中常见设备有哪些?

在信息化时代的今天,人们对于通讯的需求越来越大,而传统的单一通讯方式已经无法满足现代社会的需要。因此,融合通信系统的出现成为了必然趋势。 融合通信系统对行业发展的作用不仅仅是提高通信效率和降低通信成本,还可以提升管理效…

elementplu父级页面怎么使用封装子组件原组件的方法

一、使用原因: 封装了el-table,表格中有多选,父级要根据指定状态,让其选择不上,需要用到elementplus中table原方法toggleRowSelection 附加小知识点:(el-tree刷新树后之前选中的保持高亮setCurr…

COMPUTEX 2024 国际电脑展即将举行,英伟达宣布将Copilot+引入RTX系列设备,赋能游戏本AI助理

COMPUTEX 2024 国际电脑展即将于2024年6月4日至7日在台北南港展览馆1馆及2馆盛大举行。作为业界瞩目的盛会,本次展会不仅吸引了全球各地的科技爱好者,更迎来了AMD CEO苏姿丰博士和NVIDIA首席执行官黄仁勋的精彩演讲。 在展会的开幕之际,图形…

LLM基础知识

LLM背景知识介绍 1 大语言模型 (LLM) 背景 大语言模型 (英文:Large Language Model,缩写LLM) 是一种人工智能模型, 旨在理解和生成人类语言. 大语言模型可以处理多种自然语言任务,如文本分类、问答、翻译、对话等等。 💥通常&…

【距离四六级只剩一个星期!】刘晓艳四级保命班课程笔记(2)(可分享治资料~)

这一节是专门的听力课程,众所周知,咱们刘晓艳刘老师的口语不是特别的突出,当然口才是一流的☝️。 文章目录 听力预判听前预判 听力过程八大出题关键点视听一致同义转换 听完一道题后平时练习精听步骤 听力预判 听前预判 画关键词&#xff…

【C、C++编译工具】CLion工具介绍与安装

一、问题 最近突发奇想想学学最开始接触的语言C,之前大学的时候用的更多的工具还是VC,工作后慢慢接触了CLion,跟pycharm其实差不多,都是集成开发环境(IDE) 解释:什么是 IDE? 根据计…

MySQL表的增删改查初阶(上篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

【uniapp】uniapp页面介绍

目录 开发工具:HBuilderX介绍特点和功能 页面简介页面管理新建页面删除页面页面改名pages.json 设置应用首页 页面内容构成template模板区script 脚本区export default 外的代码export default 里的代码 style样式区 页面生命周期Vue2 页面及组件生命周期流程图Vue3…

项目管理软件是什么?五大常用项目管理软件介绍

第一款, 奥博思 PowerProject 项目管理软件 PowerProject 项目管理软件是由国内老牌软件开发商“北京奥博思软件技术有限公司”出品。PowerProject 是一款集项目管理、项目集管理、项目组合管理三位一体的一站式数字化项目管理平台。 官网(提供软件免费…

研学活动是什么意思,一看就懂!

可能有很多人不了解研学活动是什么意思,其实研学活动一般是由学校组织的,不仅仅是一场简单的旅行,更是一种教育的延伸,一种知识的实践,一种能力的培养。它让学生走出课堂,走进社会,接触自然&…

AzSubEnum:针对Azure服务的子域名枚举查询工具

关于AzSubEnum AzSubEnum是一款专门为Azure服务量身定制的子域名枚举查询工具,该工具旨在帮助广大研究人员仔细搜索和识别与各种Azure服务相关的子域名信息。 通过结合查询技术和语句,AzSubEnum能够深入分析Azure的域名架构,并系统地探测和收…

亚信安全正式推出5G专网安全测试服务 圆满完成核电客户5G项目落地

近日,亚信安全联合北京触点互动信息技术有限公司成功完成某核电客户5G专网项目,从终端安全,基站,核心网网元,切片安全以及接口安全等重点存在安全风险点进行测试,发现潜藏的安全隐患漏洞,为客户…

【vue】@、@/、../和./的区别

:表示vue语法中v-on的简写;绑定事件的专用格式。当事件触发的时候,函数才会来调用; /:在build文件夹下webpack.base.conf.js找到,便能知道代表什么了; 这里指向src文件夹 . /:表示当前目录下&…

ESP8266在阿里云上线(arduino)

电脑连接上ESP8266的板子 在arduino编写代码(arduino按照之前的配置,已安装好esp的开发板和几个库ArduinoJson我选了5.的版本,PubSubclient,Crypto,AliyunIoTSDK并且修改pubsubclient的参数) 在项目,加载库&#xff0c…

一个通道,用友BIP获取全量九类电子凭证

在数字化时代,企业运营的效率和准确性已成为衡量竞争力的关键指标。用友BIP电子凭证3.0,作为企业数字化转型的得力助手,以其独特的全通道能力,为企业提供了一站式的电子凭证获取和管理解决方案。这一创新技术不仅简化了繁琐的凭证…

Linux【安全 02】OpenSSH漏洞修复(离线升级最新版本流程)网盘分享3个安装包+26个离线依赖

OpenSSH离线升级最新版本流程 1. 漏洞信息2. 环境说明3.依赖安装3.1 在线安装3.2 离线安装 4.备份卸载4.1 备份4.2 卸载旧版本 5.安装5.1 zlib5.2 ssl5.3 openssh5.3.1 安装5.3.2 配置 6.脚本整理7.文件资源 本文仅针对CentOS7.8版本,其他版本未测试,安装…

电脑的kernelbase.dll故障怎么处理?kernelbase.dll是什么文件

遇到由于“kernelbase.dll”文件出错导致的应用程序崩溃或系统不稳定的问题。这种情况不仅会影响工作效率,还可能导致数据损失或更严重的系统问题。kernelbase.dll是Windows操作系统中的一个关键系统文件,它包含了多个执行基础系统功能的程序代码。因此&…

千锋教育大优惠

IT全学科自学至尊卡(3年卡) Linux云计算运维、Python全栈、数据分析、人工智能、Java、大前端、网络安全、物联网、全媒体、影视剪辑等14大主流方向,300精品视频课程免费学。课程持续更新,电脑端手机APP小程序多平台无忧畅学&…

认购期权是什么?与认沽期权有何区别

期权就是股票,唯一区别标的物上证指数,会看大盘吧,交易两个方向认购期权做多,认沽期权做空,双向t0交易没了,跟期货一样,对的,玩的也是合约,唯一区别没有保证金不会爆仓&a…