03原理图:接口、无线、电机、STM32主控、整体模块化设计总结

接口部分

一、TTL 转 USB 驱动电路设计

方案很多,本设计采用的芯片是 CH340E 。

该芯片内部已经集成了振荡器,不需要外部增加晶振。如果其他型号的芯片内部没有振荡器,则外面需要加一个晶振。

再看这篇笔记的时候,你可能有点懵圈,为什么很多资料说的都是 USB 转 串口,包括 CH340 数据手册,截图如下:

我想说的,什么口转什么口,看你从什么角度看这个问题。

  1. 数据手册里说的是USB 转 串口,在在 MCU 的角度,连接 USB 接口,并将 USB 的接口转换成了其他接口出去。
  2. 站在外部设备的角度,就是其他的接口转换成了 USB 接口输入到 MCU 内部。这里的标题保留了老师上课的原标题,方便后续对课程的复习。

1.1原理图

MCU→USB→TTL

可以通过该电路

  1. 芯片死锁时,可以通过该接口烧录程序进行恢复
  2. 打印程序运行状态信息

二、RS-485 接口设计

2.1原理图

  1. RS-485 为准双工通信,DE_nRE 用于切换接收还是发送的方向。
  2. 开始工作时,有瞬间电流,需要电容来蓄能
  3. AB口就是 RS-485 的总线
  4. TVS管
    起到一个保护的作用,样机可以不用焊接。如果是产品就要考虑到恶劣的环境,需要加上这些保护,甚至是更高级的保护。
  5. 阻抗匹配电阻R_{35}(下面专门开了特别栏目讲解)
    在调试的时候,传输距离很短不需要匹配电阻。
    但是在实际应用中,如通讯距离几百几千米,就需要匹配电阻来获得能量达到最佳的传输性能。
  6. RS485 空闲时为高电平,开始传输数据时拉低电平。R25,R27让总线空闲时处于高电平,避免RXD端出现 0x00乱码。

三、特别栏目-阻抗匹配

3.1引入实验

3.1.1产生信号

用信号发生器产生宽度大概是 50ns 的脉冲信号

3.1.2反射信号

实验:使用一个三通的接头,不仅仅输入到了示波器,同时在后面接一段 10 米长的同轴电缆,同轴电缆的另一端是悬空的,什么也没接,理论上说一段断头的导线应该是不会对信号产生什么影响的。

现象:但是在示波器上显示,在原来这个脉冲的右边出现了一个几乎一模一样的脉冲,如上图。

原因:

  1. 可以把这个脉冲信号类比为声音信号,原本在空气中好好的传播,结果遇到了一堵墙,传不过去了,所以也就被反射了回来。
  2. 那这个电信号也是一样的,原本它在电缆中传播,结果到这边到头了传不过去了,所以就只能反射回来,再一次被示波器捕捉到了。那显然我们可以认为这个反射波的存在让原本的信号严重失真了。
  3. 这个实验中的脉冲宽度是 50 个纳秒,换算出来等效为一个 20 兆比特率的信号,是一个比较低频的信号了,所以用了一根 10 米的走线去观察它的反射。
    那对于那些几百兆、几个 g 的高速信号来说,根本不需要 10 米的走线,只需要厘米级别的走线就有可能受到反射波的影响了。

3.1.3消除反射信号
  1. 那在刚才的实验中,同轴电缆的边上是断开的,可以看成是对地接了一个无穷大的电阻
  2. 把这个无穷大的电阻分别换成了50K、5K、 500 欧姆、 50 欧姆的电阻,再去测量波形
  3. 得到了下面几张图,可以看到电阻为50K、5K、 500 欧姆时,它的反射波形还是存在的
  4. 但是会随着电阻的减小而变小。到了 50 欧姆的时候,这个反射就突然消失了。

3.2进入正题-阻抗匹配

3.2.1标准的通信模型

上图是一个标准的通信模型,有信号源、传输线以及接收端。不管是USB、UART 还是PCIE、DDR,都是这样子的,信号从信号源出发,经过传输线进入到接收端。

3.2.2阻抗与信号反射

不管是信号源、传输线还是接收端,它内部都有一些寄生的电阻、电容以及电感,他们都会对高速信号的传输产生阻碍的作用,也就是所谓的阻抗。

那当信号在这三个部分中传输时,如果相邻部分的阻抗不一致,信号就会在接触点发生反射。
这个其实有点像是在光在不同介质中传播一样,当介质的折射率发生改变时,光就会在分界面上产生一部分的反射,折射率差的越多,反射也就越强烈。

3.2.3阻抗匹配

上面的实验中,信号发生器的阻抗是 50 欧姆,在它的说明页上有标注。
这根铜轴电缆它的阻抗也是 50 欧姆,这两者之间就不会产生反射。

最后这边的电阻可以看成是一个接收端,只要这个电阻不等于 50 欧姆,那么这个铜轴电缆跟电阻交界处就会产生反射。

所以为了避免反射的存在影响信号质量,就要确保信号源、传输线以及接收端的阻抗要基本一致,这就是所谓的阻抗匹配的意义。

3.2.4 PCB中实现

绝大部分情况下都需要在 PCB 上画走线,一般情况下信号源和接收端的阻抗芯片厂家都已经定义好了。比如说 USB 的话是差分 90 欧姆, SDIO 的话是单端 50 欧姆,只需要按照他们的要求画一根对应阻抗的走线,把发射端以及接收端连接起来就可以了。

问题就来了,如何在 PCB 上画一根任意阻抗的走线呢?

此时需要找到 PCB 板厂了。以大家熟悉的嘉立创为例,在他们的官网上有一个专门计算阻抗的页面,比如说我们要画一根 50 欧姆的走线。

根据这个结果,只需要在 top 层画一根宽度 60.5600mil 的走线,就可以得到一根阻抗为 50 欧姆的走线了。

注意点:

  1. 在这根走线的反面要画一个参考用的地平面。
  2. 阻抗跟走线的长度没有关系,但是和其他的参数都有关系。比如说你修改了 PCB 的厚度, PCB 的层数,铜厚都会影响到最终的计算结果

3.3总结

在一个通信系统中,信号源和接收端的阻抗一般都是确定的,我们要做的就是找一根阻抗和它们相等的走线,把它们连接起来,否则的话阻抗不匹配就会产生反射,影响信号质量。

参考:新手入门高速PCB?先搞清楚什么是阻抗匹配。_哔哩哔哩_bilibili


四、CAN接口设计

4.1原理图

  1. 5V 供电。
  2. 与单片机相连的管脚:发送、接收和使能。
    那你要自己独立思考到一个需要注意的点:该 CAN 芯片是 5V  供电,那它在手册中定义这些管脚的高低电平必然是与这个芯片本身的 VCC 相关,比如高电平是 2V~VCC+0.3V。这个问题需要认真阅读芯片手册。
    其中提到:单片机→芯片,单片机的高低电平都在该芯片的接受高低电平范围之内。
                      芯片→单片机,该芯片的高可能会有 5.3V ,单片机能接受吗?幸运的是,单片                      机为了可以兼容这中类型的芯片,有些管教有 FT 功能,可以兼容 5V。
  3. CAN 总线的输出。
  4. 为了降低工模干扰,设计直接参考芯片手册,输出电压是电源电压的一半。

五、TF 卡接口设计

5.1原理图

  1. 这是卡座自己的一个信号,不是标准信号。
    默认情况下是高电平,卡插入这一管教就和地相连接,产生低电平,下拉成低电平。
    单片机就可以通过该管教的信号来识别卡是否插入;也可以通过协议来判断卡是否插入。
  2. 是标准信号。

六、USB2.0接口设计

6.1原理图

这里是简化的设计,就只有电源、地、USB信号。环境恶劣需要加很多保护。

七、IIS 接口设计

7.1原理图

IIS 是多媒体传输接口,此处为备用接口,给需要时扩展数字音频。线有:时钟,信号、数据。

八、扩展

8.1GPIO口

在原理图中预留了 10 个 GPIO 口用于需要的时候扩展接口。

8.2其他扩展

原理图的中的截图

 无线部分

一、WIFI 模块电路设计

使用的芯片是ESP-12S,设计之前将手册完整、认真的看一遍。

1.1手册重要信息提炼

1.1.1管脚信息

  1. 1脚:复位管脚
  2. 3脚:使能管脚
  3. 8、9脚:控制电源,给芯片供电
  4. 15、16脚:串口通信管脚

其他管脚一般用于二次开发,比如 ADC 采集,或者 IO 口。

1.1.2引脚模式

下载模式和启动模式

1.1.3输入输出的逻辑电平

一定要注意电平匹配

1.1.4功耗

功耗和芯片工作模式、信号强度有关。在下表中最大功耗为 170mA ,设计时要确保能够提供一个最大的电流。

1.1.5内部电路图

  1. 复位信号:内部已经有上拉信号,外部不用再设计上拉电路
  2. 使能信号:内部已经有上拉信号,外部不用再设计上拉电路
  3. 供电电路
  4. 板载天线:为了方便可以直接使用

陈梦醒疑问?
复位和使能引脚在内部始终上拉,外部要怎么控制也改变不了它内部上拉的电路事实啊?

陈梦醒解答!内部的上拉电路只是默认情况下使芯片保持工作状态。例如,可以使用一个开关或者一个微控制器的输出来连接到复位或者使能引脚引脚,当按下开关或者微控制器输出信号时,它们会将复位引脚拉低,触发复位操作。这种外部控制机制会覆盖内部的默认上拉,因为电路总是采用最低电平的状态。

1.2设计电路

  1. 通过串口通信,连接单片机的 AT 串口
  2. 复位和使能:芯片内部已经有上拉,外部直接控制就可以。

二、GPRS 模块电路——电源部分设计

采用的芯片是SIM800C。

2.1手册

2.2设计

  1. 钽电容:耐压比较差,在选型的时候其耐压最好是其两端电压的两倍。
  2. 稳压管:当信号线上产生一个干扰的尖峰,起到保护的作用的,避免烧掉芯片。

三、GPRS 模块电路——开关机电路设计

3.1手册

3.2设计

四、GPRS 模块电路——SIM 卡电路设计

4.1手册

注意 RC 滤波电路和 TVS管稳压。

4.1设计

此处设计的尺寸是:弹片式的中卡。(卡是有不同的大小尺寸的)

五、GPRS 模块电路之天线口电路设计

5.1原理图

  1. π型网络:用于天线匹配。
    比如说板子已经做好了,去匹配天线,当参数不一致的时候,调整这里的参数来匹配。
  2. 天线的接口:到时候可以使用胶棒的天线
  3. 此处导线需要甄选一个 50 欧姆的电阻进行阻抗匹配,因为天线信号频率是比较高的,进行阻抗匹配才能保证信号地额稳定,PCB 时详解。

六、芯片的其他部分

  1. 串口控制:参考硬件设计手册。
  2. TCP 检测引脚:当 TCP 断开之后会反馈信号。
  3. 状态指示引脚
  4. 2.8V 输出引脚,将其引出
  5. 网络指示灯,也将其引出
  6. 未使用的音频功能
  7. 未使用的二次开发

电机部分

一、单极性步进电机 与 双极性步进电机 驱动设计

1.1电机的结构

左边单极性步进电机里面有两个大线圈,并在中间引出都引出抽头,将两个大线圈分成了四个小线圈,故又叫四相五线步进电机。又因为电流只有一个方向,又叫单向步进电机。

右边双极性步进电机里面就只有两个线圈,没有中间的抽头,所以又叫两相四线步进电机。该电机电流有两个方向,需要桥路来驱动,改变线圈电流的方向。

1.2原理图

1.2.1单极性步进电机

  1. 此处为四项五线,所以这里有五跟线。
    其中 1 线是公共端,可以接电源,称为 com 端。
    其他是电机的其他四相,只需要控制每一项的通断,用的是 ULN 2003A 来驱动。

  2. ULN 2003A 是一个反向器,输入 0 则输出 1 ,连接着上面所说的电机的其他四相。
    到时候,输入 1 → ULN 2003A  → 输出0 → 电机的其他四相就是0 → 公共端为1 就导通回路了。
    只需要改变供电的次序就可以控制电机的转向。

1.2.2双极性步进电机

单极性电机的控制方式不能控制双极性电机,双极性电机需要有桥路来控制,因为需要改变 1.1中右图中线圈的电流方向。

这里采用的控制芯片是 LV8548MC 芯片,该芯片可以控制两台直流电机驱动或者一台步进电机驱动(此处)。

控制一台步进电机驱动
控制两台直流电机驱动

原理图如下:

三、两路有刷直流电机驱动设计

3.1原理图

用的控制芯片还是上面的 LV8548MC 芯片,是该芯片控制两台直流电机驱动的使用方法。

四、无刷直流电机接口设计

是一个接口的设计,并没有设计驱动芯片

4.1无刷直流电机结构

无刷电机有三相,所以需要三个桥路,六路 PWM 波来控制。

下面还有三路A、B、C 用霍尔器件来感应的反馈电路,切换电流方向来改变电机的转向。

所以加一起要预留 六路 PWM 控制信号 + 三路输入信号。

4.2原理图

  1. 三路霍尔元件控制信号
  2. 六路 PWM 波

上面电路为接口设计,后续需要驱动无刷直流电机在设计驱动板和它对接,可以用高级定时器产生六路 pwm 控制驱动桥开关、霍尔信号切换相位。

五、旋转编码器接口设计

用于检测电机的转速和方向。

旋转编码器有一根轴,电机转动时,带动这根轴转动。
如果是输出两根线则只检测转速;如果是输出四根线则只检测转速和方向。

5.1原理图

下图是输出四根线则检测转速和方向。

六、电源滤波电路设计

电机转动产生低频干扰,可以使用 LC 滤波。

6.1原理图

后续真实连上电机后,观察它的纹波情况,来调整 L 和 C 的数值。


STM32主控部分

一、电源设计

1.1芯片上的电源设计

芯片功能比较强大,为了保证每一个模块可以正确可靠的运行,配了很多电源口。
第一,这些电源口比较分散,比较好走线;
第二,  这样耦合最短。

在这里模拟信号供 AD 采集用的,内部一般提供吧 AD 芯片。此处的电流都是非常小的,所以数字地和模拟地分不分开都无所谓。如果电源功率非常大,则数字地和模拟地需要分开,不要相互干扰

1.2单独电源设计

STM32 手册中每一部分的设计都有详细的参考说明,以下的部分也是,就不再重复了。

1.2.1数字电源

LC滤波

每一个电源都配一个电容进行滤波

1.2.2模拟电源

二、复位,BOOT 设计

2.1复位

2.2 BOOT电路

三、0SC 晶体电路设计

3.1主晶振

特别注意:匹配电容计算方法如下:

晶体负载电容=(C39*C52)/(C39+C52)+线上寄生电容 +芯片寄生电容|
匹配电容=(负载电容-几pF)*2

PCB 布局布线,走线尽量短,品体背面铺地

3.2副晶振

同上

四、SWD 调试接口设计

方便应用,提供了3种接口,分别为排针,XH座子,DC3牛角座

五、RTC 时钟超级电容供电设计

系统上电则是系统的 4V 进行供电,系统不上电就是超级电容进行供电,并且不供电的时候电路不能有较大的漏电。

RTC 时钟属于是典型的低功耗电路。

5.1原理图

  1. 断电后超级电容 C55 为 RTC 时钟供电,该电路在其他共同作用下,超级电容充电停止电压大概为3.3V。
  2. R14为充电限流电阻。
  3. 为了防止电流外泄增加二极管 D9 ,该 316 二极管反向漏电流必须非常的小,在做低功耗电路时一定要查看电路手册。
  4. 肖特基二极管,它的反向漏电流是比较大的。它存在的意义是分压,为了进一步降低充满后的电压。

六、Flash 芯片设计

就通过一个 SPI 接口就可以,该芯片可以用于存储一些图片等。

七、整体信号规划设计

7.1总览

  1. 简化应用,尽量少用针帽进行切换
  2. 调试串口与智能显示屏共用1个串口
  3. GPRS与WIFI 无线共用1个串口
  4. RS-485 单独使用一个串口
  5. 串口 3 与 4 被 SDIO 口占用
  6. 无刷电机与 IIS 共用 TFT 屏接口

7.2注意事项

7.2.1 事项1

注意右边用红色标注的串口一部分。USB 一定接到该串口一才能烧录程序,不能随便接。

7.2.2 事项2

尽管所有的管脚,都支持一个外部中断,但是每一个管脚只能接一路中断。

比如说下图的按键就是外部中断,其中 EXTI-1, EXTI-2, EXTI-3, EXTI-4 都是外部中断,不能同时存在两路 EXTI-1,如果同时存在也只有一路可以起作用。

7.2.3事项3

在硬件设计的过程中一定要充分考虑软件设计。

有一些不能复用的口,只能用于特定功能;有一些可以复用的口,要考虑如何复用。

可以采用 stm32 cubemx 进行辅助。


整体模块化设计总结部分

本节课核心思想提炼如下:

无论是硬件设计还是软件设计,一定要注意模块化的设计。

  1. 比如将大的系统设计在原理图栏分成一个一个模块的原理图纸,而不是一整页原理图。
  2. 比如将一个大的系统设计提供一个原理图设计总览,可以一目了然的看清各个模块之间的联系。

模块化的设计方便阅读,方便修改,方便移植,方便日后维护。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯第十三届电子类单片机组决赛程序设计

前言 一、决赛题目 1.比赛题目 2.题目解读 二、功能实现 1.关于定时器资源 1)超声波和NE555需要的定时器资源 2)定时器2 2.单位切换 3.数据长度不足时,高位熄灭 4.AD/DA多通道的处理 5.PWM输出 6.长按功能的实现 三、完整代码演…

Qt C++ | Qt 元对象系统、信号和槽及事件(第一集)

01 元对象系统 一、元对象系统基本概念 1、Qt 的元对象系统提供的功能有:对象间通信的信号和槽机制、运行时类型信息和动态属性系统等。 2、元对象系统是 Qt 对原有的 C++进行的一些扩展,主要是为实现信号和槽机制而引入的, 信号和槽机制是 Qt 的核心特征。 3、要使用元…

三星加强Bixby智能:迈向生成式AI,抗衡谷歌Gemini

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

AI2.0时代如何快速落地AI智能应用开发,抓住时代机会

写在前面的话 当我们提到人工智能时也就是AI的时候呢,我们大多数人首先想到的可能就是像chatGPT这样的聊天机器人,这些聊天机器人通过理解,还有生成自然语言可以给我们提供一些信息,这个是AI最终的形态吗或者AI最终的形式吗&…

【STM32嵌入式系统设计与开发】——16InputCapture(输入捕获应用)

这里写目录标题 STM32资料包: 百度网盘下载链接:链接:https://pan.baidu.com/s/1mWx9Asaipk-2z9HY17wYXQ?pwd8888 提取码:8888 一、任务描述二、任务实施1、工程文件夹创建2、函数编辑(1)主函数编辑&#…

代码随想录阅读笔记-二叉树【合并二叉树】

题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节…

vue快速入门(四)v-html

注释很详细&#xff0c;直接上代码 上一篇 新增内容 使用v-html将文本以html的方式显示 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, …

【web】nginx+php-fpm云导航项目部署-(简版)

一、yum安装nginx yum -y install nginx 二、php环境安装 2.1 php安装 yum -y install php 2.2 php-fpm安装 yum -y install php-fpm 注&#xff1a;PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。 2.3 项目依赖的php-xml和php-xmlrpc安装 yum -y install php-…

开源模型应用落地-chatglm3-6b模型小试-入门篇(一)

一、前言 刚开始接触AI时&#xff0c;您可能会感到困惑&#xff0c;因为面对众多开源模型的选择&#xff0c;不知道应该选择哪个模型&#xff0c;也不知道如何调用最基本的模型。但是不用担心&#xff0c;我将陪伴您一起逐步入门&#xff0c;解决这些问题。 在信息时代&#xf…

LeetCode 第391场周赛个人题解

目录 哈沙德数 原题链接 思路分析 AC代码 换水问题 II 原题链接 思路分析 AC代码 交替子数组计数 原题链接 思路分析 AC代码 最小化曼哈顿距离 原题链接 思路分析 AC代码 哈沙德数 原题链接 思路分析 签到题&#xff0c;不说了 AC代码 class Solution:def s…

Firefox 关键词高亮插件的简单实现

目录 1、配置 manifest.json 文件 2、编写侧边栏结构 3、查找关键词并高亮的方法 3-1&#xff09; 如果直接使用 innerHTML 进行替换 4、清除关键词高亮 5、页面脚本代码 6、参考 1、配置 manifest.json 文件 {"manifest_version": 2,"name": &quo…

ES6展开运算符

1.展开可迭代对象&#xff08;简单理解为数组和伪数组&#xff09;&#xff0c;如数组、 NodeList 、arguments。 可以通过展开运算符把一个伪数组转换为数组 const a [...document.body.children]; console.log(a); console.log(Array.isArray(a));2.实现数组的浅拷贝 cons…

wireshark解析grpc/protobuf的方法

1&#xff0c;wireshark需要安装3.20以上 下载地址&#xff1a;https://www.wireshark.org/ 2&#xff0c;如果版本不对&#xff0c;需要卸载&#xff0c;卸载方法&#xff1a; sudo rm -rf /Applications/Wireshark.app sudo rm -rf $HOME/.config/wireshark sudo rm -rf /…

Linux笔记之制作基于ubuntu20.4的最小OpenGL C++开发docker镜像

Linux笔记之制作基于ubuntu20.4的最小OpenGL C开发docker镜像 —— 2024-04-03 夜 code review! 文章目录 Linux笔记之制作基于ubuntu20.4的最小OpenGL C开发docker镜像1.这里把这本书的例程代码放在了Dockerfile所在的文件夹内以使镜像预装例程代码2.创建Dockerfile3.构建Do…

【前端面试3+1】10 npm run dev 发生了什么、vue的自定义指令如何实现、js的数据类型有哪些及其不同、【最长公共前缀】

一、npm run dev发生了什么 运行npm run dev时&#xff0c;通常是在一个基于Node.js的项目中&#xff0c;用来启动开发服务器或者执行一些开发环境相关的任务。下面是一般情况下npm run dev会执行的步骤&#xff1a; 1. 查找package.json中的scripts字段&#xff1a; npm会在项…

redis之主从复制、哨兵模式

一 redis群集有三种模式 主从复制&#xff1a; 主从复制是高可用Redis的基础&#xff0c;哨兵和集群都是在主从复制基础上实现高可用的。 主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简单的故障恢复。 缺陷&#xff1a; 故障恢复无法自动化&…

VSCode安装及Python、Jupyter插件安装使用

VSCode 介绍 Visual Studio Code&#xff08;简称VSCode&#xff09;是一个由微软开发的免费、开源的代码编辑器。VSCode是一个轻量级但是非常强大的代码编辑器&#xff0c;它支持多种编程语言&#xff08;如C,C#&#xff0c;Java&#xff0c;Python&#xff0c;PHP&#xff0…

Redis的值有5种数据结构,不同数据结构的使用场景是什么?

文章目录 字符串缓存计数共享Session限速 哈希缓存 列表消息队列文章列表栈队列有限集合 集合标签抽奖社交需求 有序集合排行榜系统 字符串 缓存 &#xff08;1&#xff09;使用原生字符类型缓存 优点&#xff1a;简单直观&#xff0c;每个属性都支持更新操作 缺点&#xff1…

如何在本地搭建集成大语言模型Llama 2的聊天机器人并实现无公网IP远程访问

文章目录 1. 拉取相关的Docker镜像2. 运行Ollama 镜像3. 运行Chatbot Ollama镜像4. 本地访问5. 群晖安装Cpolar6. 配置公网地址7. 公网访问8. 固定公网地址 随着ChatGPT 和open Sora 的热度剧增,大语言模型时代,开启了AI新篇章,大语言模型的应用非常广泛&#xff0c;包括聊天机…

JAVAEE之Cookie/Session

1.Cookie HTTP 协议自身是属于 "无状态" 协议. "无状态" 的含义指的是: 默认情况下 HTTP 协议的客户端和服务器之间的这次通信, 和下次通信之间没有直接的联系. 但是实际开发中, 我们很多时候是需要知道请求之间的关联关系的. 例如登陆网站成功后, 第二…