verilog学习笔记7——PMOS和NMOS、TTL电路和CMOS电路


前言

2023.9.7


在这里插入图片描述

一、PMOS和NMOS

1、NMOS

截止区:VGS<VGS(th)
放大区、恒流区

在这里插入图片描述

在这里插入图片描述

2、PMOS

缺点:使用的是负电压电源,不便于和TTL电路连接,使用的少

在这里插入图片描述

3、增强型和耗尽型

耗尽型:在栅极下面的二氧化硅绝缘层里面掺杂了正离子(NMOS),使得正常情况下导电沟道已经存在,需要施加负电压使得导电沟道消失

在这里插入图片描述

4、两者面积大小

如果把MOS管的面积增加,那么流过mos管的电流更大,速度也更快,驱动电路更强

笔试题1:PMOS和NMOS哪个面积更大

二、CMOS门电路

1、非门

在这里插入图片描述

2、与非门

n输入的与非门:n个pmos并联 + n个nmos串联

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

3、或非门

n输入或非门:n个pmos串联 + n个nmos并联
在这里插入图片描述
在这里插入图片描述

4、线与逻辑

线与:多个信号相连实现与的功能
上拉电阻:防止电流过大
在这里插入图片描述

5、CMOS传输门

只用一个mos管:会存在压降
在这里插入图片描述

在这里插入图片描述

用非门和CMOS传输门实现异或电路
在这里插入图片描述

6、三态门

三态门:既不是0,也不是1,电阻很大,相当于开路

在这里插入图片描述

always@(din or en)begin
	if(en)
		dout = din;
	else
		dout = 1'bz;
end

//或者assign赋值
assign dout = en ? din : 1'bz;

三、TTL电路

CMOS输出接口可以直接连TTL电路
TTL电路需要加上拉电阻接到CMOS端口

在这里插入图片描述
放大区:ic随着iB正比增加,系数为放大因子
饱和区:ic不再随着ib比例增加,逐渐趋于饱和
截止区:ic几乎为零
在这里插入图片描述

四、TTL电路 VS CMOS电路

CMOSTTL
电压控器件电流控器件
功耗低功耗高
速度慢速度快
12V、5V0.3~3.6V

五、数字电平

Voh:保证输出为高电平的最小输出电压
Vih:保证输入为高电平的最小输入电压
Vil:保证输入为低电平的最大输入电压
Vol:保证输出为高电平的最小输出电压

大小关系:Voh > Vih > Vth > Vil > Vol

六、使用CMOS电路实现逻辑函数

参考链接:CMOS逻辑门电路

组成:NMOS下拉晶体管 + PMOS上拉晶体管组成
两个网络在变量的控制下做出相反的行为

1、上拉网络 PUN

可以等效为

Y = ~(A + B);
Y = ~(AB);
Y = ~(A + BC);

在这里插入图片描述

2、下拉网络 PDN

在这里插入图片描述

3、实现逻辑表达式

3.1 下面表达式是整体反相,因此可以用PDN来表示

在这里插入图片描述
PUN是变量反相
在这里插入图片描述

CMOS电路如下图所示:

在这里插入图片描述

3.2 异或门实现

分析:异或门中间既不是整体取反,也不是每个都是反变量,而是有原变量和反变量夹杂在一起
在这里插入图片描述
在这里插入图片描述

CMOS电路如下图所示:
有两个变量的输入需要增加非门,因此总共需要12个mos管实现
注意:下面的电路实现不再是对偶网络,网络对偶并不是必要条件
在这里插入图片描述

3.3 笔试题

Y = ~(D + A(B + C))     //这个和上面的3.1类似,属于整体反相的那种

在这里插入图片描述

Y = AB + ~(CD)

在这里插入图片描述

Y = AB + C

两种方式实现:
第一种当作整体取反,最后加个非门,这样实现门电路最少
在这里插入图片描述

第二种 直接根据表达式分别写出上拉和下拉网络
在这里插入图片描述

总结:除了同时包含原变量和反变量的时候,网络不是对称的,下面这几个都还是对偶网络

<think>好的,我现在要解决用户的问题:OpenMV连接电脑时,在设备管理器中找不到设备。用户还提到了驱动安装故障排查。首先,我需要回顾一下相关的知识,尤其是用户提供的引用内容,看看有没有直接相关的信息。 根据引用[2],用户提到使用STM32CubeProgrammer来下载固件,因为OpenMV IDE自带的DFU软件不稳定,很多电脑无法工作。这可能意味着当OpenMV处于DFU模式时,可能需要特定的驱动才能被识别。因此,当设备管理器里找不到OpenMV时,可能是驱动未正确安装,或者设备没有进入正确的模式。 首先,我应该分步骤来排查问题。常见的步骤包括检查物理连接、设备状态、驱动安装、尝试不同的USB端口线缆、检查设备管理器中的隐藏设备,以及可能的固件问题。 第一步,检查物理连接。用户可能使用了损坏的USB线或者接触不良的端口。建议更换线缆端口,确认设备是否通电。如果OpenMV的LED灯没有亮,说明没有供电,这时候可能是线缆或端口的问题。 第二步,确认设备模式。OpenMV有两种模式:正常运行模式DFU模式。如果在DFU模式下,设备管理器可能显示为STM32 BOOTLOADER或者其他名称。用户可能需要手动进入DFU模式,比如通过按住复位按钮再连接USB,然后检查设备管理器中是否有新的设备出现。 第三步,安装驱动程序。根据引用[2],可能需要安装STM32的驱动,尤其是DFU模式的驱动。用户需要去ST的官网下载STM32 VCP驱动程序,安装后重新连接设备,看看是否被识别。此外,可能还需要在设备管理器中手动更新驱动,指向驱动程序的位置。 第四步,检查设备管理器中的隐藏设备。有时候设备可能被识别为未知设备或者有问题的设备,但被隐藏了。显示隐藏设备后,用户可以查看是否有带有感叹号的设备,尝试更新驱动。 第五步,固件恢复。如果设备无法被识别,可能需要使用STM32CubeProgrammer来重新烧录固件,如引用[2]中提到的。这时候需要让设备进入DFU模式,然后使用该软件进行固件下载。 此外,用户可能还需要排除操作系统兼容性问题,比如尝试在其他电脑上连接,或者以管理员权限运行IDE。同时,确保使用的OpenMV IDE版本是最新的,避免已知的兼容性问题。 在回答时,需要将这些步骤结构化,逐步引导用户排查问题,并引用相关的参考资料,尤其是引用[2]中提到的STM32CubeProgrammer的使用驱动问题。同时,生成的相关问题应该围绕OpenMV的连接问题、驱动安装、固件恢复等方向展开。</think>### OpenMV无法在设备管理器中找到的解决方案 #### 步骤1:检查物理连接 1. **更换USB线/端口**:使用可靠的USB线并尝试不同USB端口,观察OpenMV指示灯是否亮起(红色电源灯+绿色脚本运行灯)[^2] 2. **验证供电状态**:若指示灯不亮,可能为设备供电异常,需检查USB接口供电能力(建议使用电脑主板原生USB接口) #### 步骤2:确认设备模式 1. **进入DFU模式**: - 断开USB连接 - 按住电路板上的**复位按钮**不松开 - 连接USB后保持按住2秒 - 设备管理器应出现`STM32 BOOTLOADER`设备[^2] $$ \text{设备状态} = \begin{cases} \text{DFU模式} & \rightarrow \text{STM32驱动安装} \\ \text{无反应} & \rightarrow \text{硬件故障排查} \end{cases} $$ #### 步骤3:安装驱动程序 1. **安装STM32 VCP驱动**: - 访问[ST官网](https://www.st.com)下载`STSW-STM32102`软件包 - 运行安装程序后重新插拔设备 ```python # 驱动安装验证代码示例 import serial.tools.list_ports print([port.device for port in serial.tools.list_ports.comports()]) # 查看识别到的串口设备 ``` 2. **手动指定驱动**(适用于Win10/11): - 设备管理器 → 右键未知设备 → 更新驱动 → 浏览本地驱动 → 选择`STM32 Virtual COM Port Driver` #### 步骤4:深度排查 | 现象 | 处理方案 | |-------|----------| | 设备管理器出现黄色感叹号 | 右键卸载设备 → 重新插拔自动安装驱动 | | 仅显示为"USB输入设备" | 使用`Zadig工具`强制安装`WinUSB`驱动 | | 设备短暂出现后消失 | 检查USB线屏蔽性能,排除电磁干扰 | #### 步骤5:固件恢复操作 1. 通过DFU模式使用`STM32CubeProgrammer`烧录固件: - 下载最新`.dfu`格式固件文件 - 选择"USB"连接方式 → 全片擦除 → 写入固件[^2] $$ \text{烧录成功率} \propto \frac{1}{\text{USB线质量}} \times \text{驱动程序完整性} $$ #### 步骤6:系统级排查 - 禁用第三方杀毒软件/防火墙 - 尝试Linux Live系统(如Ubuntu)验证是否硬件损坏 - 更新主板USB控制器驱动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值