自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

转载 SAR ADC (学习)

这时寄存器的状态QAQBQC=100加到DAC的输入端上,并在DAC的输出端得到相应的模拟电压Vo。现在与VI比较的量化电平每次由DAC输出给出,所以应将DAC输出的所有比较电平同时向负的方向偏移Δ/2。同时,由于Q5=0,门G6、G7、G8被封锁,转换输出信号随之消失。若原来的VB=1,则FFB被置为0;不相等,调整数字量即调整输出的模拟电压,直到相等,进而这个数字量等效于模拟信号。取数字量加到DAC,得到一个模拟电压,模拟电压与输入的模拟电压对比,电路:比较器,DAC,寄存器,时钟脉冲源,控制逻辑。

2025-02-20 19:21:26 62

原创 数字-竞争冒险

在数字电路中,当两个输入信号同时向相反方向变化(例如一个从0变为1,另一个从1变为0)时,会导致输出端可能出现尖峰脉冲,这种现象称为竞争冒险。

2025-02-17 15:09:37 196

原创 屏幕设计和显示

AA区(Active Area):指的是屏幕的有效显示区域,即实际用于显示图像的区域。VA区(View Area):指的是可视区域,即用户可以看到的屏幕发光区域,通常比AA区略大,以确保显示内容不会被边缘遮挡。

2025-02-14 15:56:15 427

原创 定时器中断实验【学习】

STM32的通用定时器是一个通过可编程预分频器( PSC)驱动的 16位自动装载计数器( CNT构成。STM32的通用定时器可以被用于:测量输入信号的脉冲长度 (输入捕获 )或者产生输出波形 (输出比较和 PWM)等。使用定时器预分频器和 RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32的每个通用定时器是完全独立的,没有互相共享的任何资源。

2025-02-11 10:47:49 875

原创 光感、滤波器

光感测试是通过模拟不同光照条件,检测光感传感器对光线强度变化的响应能力,包括光电流、暗电流、响应速度、线性度等参数的测试。光感传感器通常基于光电二极管、光敏电阻或光电晶体管等光敏元件,将光信号转换为电信号。FIR滤波器(Finite Impulse Response,有限冲激响应滤波器)定义:FIR滤波器是一种数字滤波器,其输出信号仅依赖于当前和过去有限数量的输入信号。其冲激响应是有限长的,因此得名。特点稳定性:FIR滤波器没有反馈回路,因此始终是稳定的。线性相位。

2025-02-06 15:50:21 799

原创 vscode中的编辑器、终端、输出、调试控制台(转载)

试代码,安装依赖包等。VSCode内置了一个终端窗口,你可以在其中使用shell(如Bash、powerShell等)或者直接运行命令。4.调试控制台(debug Console):调试控制台提供了一个交互式界面,用于在调试过程中查看和修改变量的值、执行表达式和命令。你可以在编辑器中打开、创建和保存代码文件,并进行代码的编写、当你在调试模式下运行代码时,调试控制台将显示程序的:状态和变量的值。你可以在调试控制台中输入和执行代码,以你更在调。你可以在输出窗口中查看和筛选输出结果,并进行必要的调试和排错。

2025-02-06 15:02:45 775

原创 芯片行业专业术语

CP:直接对晶圆进行测试,英文全称Circuit Probing、Chip Probing,也称为晶圆测试,测试对象是针对整片wafer中的每一个Die,目的是确保整片wafer中的每一个Die都能基本满足器件的特征或者设计规格书,通常包括电压、电流、时序和功能的验证。Wirebonding:打线也叫Wire Bonding(压焊,也称为绑定,键合,丝焊)是指使用金属丝(金线、铝线等),利用热压或超声能源,完成固态电路内部接线的连接,即芯片与电路或引线框架之间的连接。Chip:最后封装后的芯片。

2025-02-06 14:58:00 387

原创 窗口门狗实验(WWDG)实验【学习】

窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位 WWDG-->CR的第六位)变成 0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个 MCU复位。在递减计数器达到窗口 配置 寄存器 (WWDG-->CFR)数值之前,如果 7位的递减计数器数值 (在控制寄存器中 )被刷新, 那么也将产生一个 MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。

2025-01-17 11:33:29 893

原创 独立看门狗(IWDG)实验【学习记录】

STM32内部自带了 2个看门狗:独立看门狗( IWDG)和窗口看门狗 WWDG)。我们将通过按键 WK_UP来喂狗,然后通过 DS0提示复位状态。40KHZ低速时钟驱动,是一个内部RC时钟,看门狗对时间要求不精确库函数:stm32xxxx_hal_iwdg.c库函数配置:1.取消寄存器写保护:HAL_StatusTypeDef HAL_IWDG_Init( IWDG_HandleTypeDef *hiwdg ); HAL_IWDG_Init函数使用的一般方法为:

2025-01-15 16:54:23 775

原创 【面试学习】

2C是由Philips开发的简单的双向两线总线,在深入浅出理解SPI协议中,我们区分了单工,半双工,全双工协议数据流向的区别,根据特征,I2C协议属于半双工协议(即同一时刻,数据单向流动)。此外,I2C也是一种可以多主设备,多从设备的总线协议,通过地址索引,I2C可以使能所需从设备,I2C的出现主要是用来实现不同集成电路组件之间的控制功能,比如通过I2C协议,连接MCU与LCD驱动器,远程I/O口,RAM,EEPROM或数据转换器。:发射端和接收端,有两条数据通路,一条从TX到RX,另一条从RX到TX。

2025-01-08 16:43:26 826

转载 AXI协议学习

AXI协议有很多特性,比如说“高带宽”和“低延迟”,比如说向前兼容AHB与APB,比如说非三态实现数据传输等等等等,但是最核心最核心的内容无非是AXI协议的信号,清楚它所处哪个数据通路,写地址通路”“写数据通路”“写回复通路”“读地址通路”“读数据通路是最核心的五个数据通路,此外,AXI协议还有全局信号和低功耗数据接口,比如握手信号是AXI协议所必须要有的信号,是必选项,而低功耗接口的信号就是AXI协议的可选项。

2025-01-08 16:12:29 53

转载 EFT和CS干扰对TP的影响【转载】

CS传导骚扰抗扰度(Conducted Susceptibility)是指电子设备在受到通过电源线、信号线等连接线传导的外部电磁干扰时的抵抗能力TP上一般测试150kHz~80Mhz,也是通过电源(适配器)进入。主要是通过耦合到信号上对信号传输进行干扰。假设这是一个设备。设备通过适配器供电后,会通过内部PMU或者DCDC,BOOST等转为VDD,VCC,1V8等器件工作需要的电源电压。而CS和EFT干扰,是通过连接外部适配器或者其他电源接口。

2025-01-08 15:36:37 73

原创 干扰(共模差模)

这种噪声在两根信号线上产生的电压幅度相等、相位相同。共模噪声通常是由电源干扰、地线干扰、电磁辐射干扰等外部环境因素,以及设备内部的不平衡电路或接地问题所产生的。共模传导经由地线所保持负载的浮动静电容量泄露的电流所导致,然后经过地线回到噪声源(也可能是负载和噪声源之间的直接连接所导致而不经过地线)。线路中的噪声电流进入和流出,相同大小的电流以相反方向流动,总和始终为零,这种称之为。线路中的噪声电流以相同的方向流动,线路承受着相同的电压,这种称之为。

2025-01-08 14:55:02 432

原创 Ping-pong Buffer【转载知乎】

ping-pong buffer的作用:用作数据缓存,提高数据传输的效率。如整个系统中有相邻两级模块的运行速度不同,前级快后级慢,这会导致前级的结果不能立即被下一级使用,这时需要用buffer暂存前级的结果,使得这两级的运行速度可以互相独立,前级的运行不会受到后级的拖累。ping-pong buffer的基本思想:有两个缓存单元,交替进行读写。同一阶段一个读一个写,完成后再交换读写功能。2)DOUTMUX 输出数据多路选择器,用来将需要读出的SRAM的输出搬运到pingpong buffer的输出端;

2025-01-03 10:08:21 201

原创 python学习

是 pandas 库中的一个函数,用于将多个 pandas 对象(如 Series 或 DataFrame)沿一个轴合并。merged_df = pd.DataFrame() # 创建一个新的空的 DataFrame。当你在字符串中使用单个反斜杠时,Python会尝试将其解释为转义字符的开始。: 如果你想要为 DataFrame 创建一个新的从 0 开始的整数索引,可以使用。参数意味着不将旧的索引添加为 DataFrame 的一个列。方法默认返回前五行,你也可以指定你想要查看的行数,例如。

2024-12-05 14:25:42 373

原创 第一篇 硬件篇1[学习-来自 正点原子]

DTR为高电平,则 DTR_N输出低电平, RTS维持高电平,则 RTS_N继续为低电平,此时 STM32的复位引脚,由于 Q1不再导通,变为高电平, STM32结束复位,但是 BOOT0还是维持为 1。而 5V部分的电源还是开启的。然后 RTS置高,则 RTS_N输出低,这样 Q2导通了, BOOT0被拉高,即实现设置 BOOT0为 1。从而进入 ISP模式,接着 mcuisp就可以开始连接 STM32,下载代码了,从而实现 一键下载。首先, mcuisp控制 DTR输出低电平,则 DTR_N输出高,

2024-11-01 15:54:19 418

原创 数字系统的RTL设计{2}

这张图提供了一个指令集的概览,展示了不同指令的操作码和执行的语义。这些指令涵盖了数据传输、算术运算、条件分支和程序控制等基本操作,是构成程序逻辑的基础。通过这些指令,可以构建更复杂的程序和算法。,其中包括了一组指令以及它们对应的操作码(Opcode)和语义(Semantics)。描述了一个简化的计算机指令集架构(ISA)

2024-11-01 10:53:50 390

原创 学习stm32

位带操作(Bitwise Operation)是指在计算机编程中对数据的二进制位进行直接操作的一类操作。这些操作通常用于处理整数类型的数据,包括按位与(AND)、按位或(OR)、按位异或(XOR)、按位取反(NOT)、左移和右移等。

2024-11-01 10:52:39 1006

原创 CPU中的主要寄存器:有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)

程序状态字寄存器用来保存由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容,如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等,这些标志位通常用1位触发器来保存。当执行指令时,CPU能自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址,为取下一条指令做好准备。在程序执行之前,首先必须将程序的首地址,即程序第一条指令所在主存单元的地址送入PC,因此PC的内容即是从主存提取的第一条指令的地址。

2024-10-31 18:04:51 964

原创 数字系统的RTL设计【1】

IR寄存器,全称为指令寄存器(Instruction Register),是CPU中用于暂时存储当前正在执行的一条指令的寄存器。微码的主要作用是将机器指令与相关的电路实现分离,这样一来机器指令可以更自由地进行设计与修改,而不用考虑到实际的电路架构。它是一种软件技术,用于实现硬件设计,通常存储在处理器的ROM中,实现了一系列底层硬件操作。为高电平时,表示读操作。简而言之,IR寄存器在CPU中扮演着指令的临时存储和解析的关键角色,确保CPU能够正确理解和执行程序中的每一条指令。运算单元,存储单元,有限状态机。

2024-10-31 14:24:53 691

原创 位同步/帧同步

位同步是正确取样判决的基础,只有数字通信才需要,所提取的位同步信息是频率等于码速率的定时脉冲,相位则根据判决时信号波形决定,可能在码元中间,也可能在码元终止时刻或其他时刻。外同步的方法是,发送端发送数据之前先发送同步时钟信号,接收方用这一同步信号来锁定自己的时钟脉冲频率,以此来达到收发双方位同步的目的。接收方利用包含有同步信号的特殊编码(如曼彻斯特编码)从信号自身提取同步信号来锁定自己的时钟脉冲频率,达到同步目的。位同步是数字信号码元时间对齐的过程。实现位同步的方法主要有外同步法和自同步法两种。

2024-10-30 14:36:50 440

原创 CAN(Controller Area Network)总线学习{1}

从线与逻辑的实现来看,结构上是多个晶体管的漏极输出接到一起(输出节点),再接上一个电阻到Vdd。那么输出节点能观察到的电压值就是上拉电阻和这些并联的晶体管的漏极到地的输出电阻的分压。CAN网络的消息是广播式的,即在同一时刻网络上所有节点侦测的数据是一致的,它是一种基于消息广播模式的串行通信总线。节点在发送数据时,要不停的检测发送的数据,确定是否与其他节点数据发送冲突,如果有冲突,则保证优先级高的报文先发送。连接在CAN总线上的设备叫做节点设备(CAN Node),CAN网络的拓扑一般为线型。

2024-10-30 11:30:38 744

原创 时钟信号学习【转载】

因此我们就可以通过设置一种电路,让门控使能信号在通过这个逻辑电路之后,仅仅在时钟低电平的时候进行翻转,而在时钟高电平的时候,不能翻转也就是保持。是固定的就可以算是同步电路,比如, 电路中用了10ns, 5ns, 2.5ns 三个时钟,这三个时钟不是由同一个时钟源分频来的,但是这三个时钟的周期有倍数关系并且相位关系固定:10ns是5ns的2倍,是2.5ns的两倍,之间是整数倍关系;从波形图中可以看到,门控使能信号如果在时钟的高电平的时候开启或者关闭,就会导致产生的门控时钟高电平被截断,变成毛刺;

2024-10-22 16:22:49 966

原创 打包python.py为exe

这将在dist目录中生成一个名为xxxx.exe的可执行文件。运行这个文件即可启动.exe工具。使用PyInstaller来打包。注意路径中不要用中文。

2024-10-16 17:28:35 114

原创 Python库下载常用国内镜像网站

https://pypi.mirrors.ustc.edu.cn/simple/ 中国科技大学。http://pypi.douban.com/simple/ 豆瓣。http://pypi.mirrors.opencas.cn/simple/ 中科院。https://pypi.tuna.tsinghua.edu.cn/simple/ 清华大学。

2024-10-16 16:32:31 1354

原创 Matplotlib图的Python代码【转载】

1.散点图large = 22;med = 16;small = 12# VersionScatteplot是用于研究两个变量之间关系的经典和基本图。如果数据中有多个组,则可能需要以不同颜色可视化每个组。在Matplotlib,你可以方便地使用。plt.show()有时,你希望在边界内显示一组点以强调其重要性。在此示例中,你将从应该被环绕的数据帧中获取记录,并将其传递给下面的代码中描述的记录。

2024-10-16 10:48:35 933

原创 pads 个人常用快捷键

ctrl+alt+c 勾选visible Only 既可以关闭不需要显示层,实现查看某一层的功能。显示所需要的层 z 1 ,z2 ,z1-2,z + enter 恢复所有层。查找并选中元件,如SS R10或SS R10.1。查找元件或元件管脚,如S U1或S U1.1。shift +滚轮 左右移动。ctrl+滚轮 缩放放大。置顶某层 L1,l2。

2024-10-15 17:39:57 1508

原创 【转载】keil写汇编程序

基于Keil 5编写汇编程序_嵌入式_不#曾&轻听-GitCode 开源社区 (youkuaiyun.com)

2024-10-14 16:31:47 291

转载 [转载]ARM Cortex-M0 启动过程分析

芯片上电或复位后,cpu首先从中断向量表中读出栈指针(MSP)和入口函数地址(复位向量,即程序执行的起始位置)。Bootloader是由芯片供应商预先编程,有时它位于片上Flash存储器并且与用户程序是分开的(这样用户更新程序也不会影响到Bootloader),而更多的时候它是位于和可编程程序存储器相互独立的ROM中。通常中断向量表会放在启动文件中,那么什么是启动文件呢?启动文件是使用汇编语言编写的,在堆栈建立之后才可以运行C代码,因为C函数调用需要把参数函数返回地址入栈,堆栈没有建立不能运行C代码。

2024-10-14 16:17:37 125

原创 嵌入式、硬件面试必背题(二)

使用自由运行的递减计数器,时钟由独立的 RC 振荡器提供(可在停止和待机模式下工作),看门狗被激活后,则在计数器计数至 0x000 时产生复位,所以在程序中使得该计数器计数到 0 之前进行看门狗复位,程序就可以正常运行)在 STM32 的时钟系统中,LSI 可以与 LSE(低速外部时钟)一起使用,LSE 是一个外部 32.768 kHz 的石英晶体,提供更高的精度,通常用于 RTC 功能。:硬件看门狗定时器可能需要额外的硬件支持,并且一旦触发,通常会导致系统重启,这可能不是在所有情况下都可取的。

2024-08-13 11:43:01 871

原创 RAM:位宽与深度是这样确定的

在ASIC设计中,我们使用FIFO或者RAM的时候经常会用到校验位,例如奇偶校验或者ECC(海明码)校验,当然,也有可能不使用任何校验位。那么我们需要一个深度为32,数据位宽为119bit的ram(cfg_32x119_ram_wrapper),那么实际底层的ram尺寸到底是多少呢?就是32x119 吗?大概率不是。

2024-08-13 11:42:38 779

原创 C位域(bit-field)

位域定义与结构定义相仿,其形式为:struct 位域结构名位域列表其中位域列表的形式为:例:素描述type只能为 int(整型),unsigned int(无符号整型),signed int(有符号整型) 三种类型,决定了如何解释位域的值。位域的名称。width位域中位的数量。宽度必须小于或等于指定类型的位宽度。带有预定义宽度的变量被称为位域。位域可以存储多于 1 位的数,例如,需要一个变量来存储从 0 到 7 的值,您可以定义一个宽度为 3 位的位域,如下:} Age。

2024-08-13 11:42:08 1117

原创 解决MLCC电容啸叫的四个解决方案[转载]

在PCB板中,由于在MLCC两端的电极为焊接,电极间的长度方向的变形(图中蓝色的双箭头)使PCB板表面(图中黄绿色的双箭头)变形,如此反复导致振动。该振动通过PCB板的传导被放大,成为人耳能听到的程度的音压是啸叫。通过缩短电极间的长度,可减轻导致PCB板振动的电极间的变形。如图所示,准备了宽度较电极间宽的类型的MLCC。考虑,输出电压是DC,包括开关频率引起的纹波电压。上图是更具体的示意图,表示施加电压与MLCC变形的关系。电压,则仅产生相应的失真,而如果是有振幅的电压,则使。器的MLCC的振动。

2024-06-06 17:20:31 660

原创 打拍优化时序{转载}

其实master本身也会遵循valid-ready协议,payload_src和valid_src做同样处理就行,即也可以在(valid_src == 1‘d1 && ready_src == 1’d0)时进行赋值,因为此时payload_src输入应该约束保持原始数据。valid_dst:在master发请求(拉高valid_src)时拉高valid_dst,直到当前master没有valid请求并且slave可以接收请求(拉高ready_dst)时拉低valid_dst,表示一次传输完成。

2024-06-06 15:58:27 1401

原创 嵌入式、硬件面试必背题(三)

电阻抽头(Resistor Tapping)是一种在电阻器上设置不同点的接触或抽头,以便可以选择不同的电阻值的技术。这种设计允许一个单一的电阻器用于多种不同的电阻设置,通过改变连接到不同抽头上的点来实现不同的电阻输出。电阻抽头在多种电子应用中都非常有用,特别是在需要调整或变化电阻值的场合。以下是电阻抽头的一些常见用途和特点:可变电阻:通过选择不同的抽头,可以得到一系列不同的电阻值,这在需要微调电阻以匹配电路参数时非常有用。电压分压:在电压分压电路中,可以使用电阻抽头来获得不同的输出电压。通过改变抽头的连接点

2024-05-17 17:47:01 1710

原创 硬件、嵌入式 面试必背题(1)

DMA(Direct Memory Access)是一种硬件特性,它允许某些硬件子系统(如SPI)直接向内存传输数据,而无需CPU的介入,从而减轻CPU的负担并提高数据传输效率。开漏输出(Open-Drain)和推挽输出(Push-Pull)是两种常见的数字电路输出配置,它们在集成电路(IC)设计中用于驱动外部负载或进行双向通信。(两者对于低电平的输出相同,对于高电平的输出不同。:即使数据传输是自动的,DMA通常也会在传输完成时生成中断,通知CPU进行下一步操作,如处理新接收的数据或准备下一次传输。

2024-05-09 20:57:15 1266 1

原创 Altium Designer中比较常用的快捷键

5、对于电源稳定性有要求的,电源线最好能够粗一点,最起码要1.5mm以上,尤其是一些通讯模块的电源。1、画板子之前最好能建立一个工程,把原理图和pcb放到同一个工程里,方便修正原理图导入pcb。4、需要板子切割的一定要在机械层操作,否则加工的时候是识别不出来的,到时候哭都来不及。3、画平常不之前一定要设定规则,否则容易出现一些问题,最后检查的时候也检查不出来。2、一定要养好ctrl+s保存的习惯,否则很难受,别问我怎么知道的。接下来是在画pcb中需要注意的问题。

2024-03-14 11:01:33 589

原创 走线不小于35mil

在电路设计中,"mil" 是千分之一英寸的单位,通常用于表示线宽、间距或其他尺寸。隐形车衣的厚度单位为:mil,英式发音为:[ml],美式发音为:[ml],中文音译过来发音为‘密耳’,是一种非常小的长度单位,意思是‘千分之一英寸’。官方定义,1mil就是千分之一英寸,换算过来,就是0.0254mm(毫米),非常的细(或者说‘薄’),差不多40mil才是1毫米。隐形车衣的mil,是一个非常小的长度(或说‘厚度’)度量单位,即千分之一英寸,一般用来标明丝、线的直径或一些薄片材料的厚度。

2024-03-06 10:14:41 775 1

原创 布尔型变量?

Boolean Variable (布尔变量)是具有两种逻辑状态的变量。它包含两个值:true和false。如果在表达式中使用布尔变量,则基于变量值的真值给出1或0的整数值。若要将整变量转换为布尔变量,如果整数值为0,则布尔值错误;否则,如果整数值不是0,则布尔值为真。

2024-01-02 20:07:12 594

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除