- 博客(81)
- 收藏
- 关注
转载 为什么现在的CMOS工艺一般都是用P衬底而不是N衬底
第一种解释为什么CMOS工艺采用P衬底,而不用N衬底?这主要从两个方面来考虑:一个是材料和工艺问题;另一个是电气性能问题。 P型半导体是在单晶硅(或锗)中参入微量的三价元素,如:硼、铟、镓或铝等;N型半导体是在单晶硅(或锗)中参入微量的五价元素,如:磷、锑、砷等。P型半导体与N型半导体,在材料成本方面应该差别不是很大,但要把它做成一个电子产品,在生产工艺方面会存在很大的差异。例如,用本征锗材料制作PNP晶体管相对于用本征锗材料制作NPN晶体管容易很多,因为铟与锗比较容易结合(扩散);同样,用本征
2021-10-25 10:44:26
16302
3
转载 always @(*) 中‘*’所代表的意思
结论①在always块中建立组合逻辑模型时,如果敏感列表没有完成,在仿真中将会以锁存器的形式出现,但是在综合中将列出所有的敏感信号列表,从而建立相应的组合逻辑(可能也是有锁存器的)。②@*只能对always块中的信号 敏感,对外部always块中的函数引用的信号不敏感。③组合逻辑中要对RAM中的每个元素都敏感时,可以使用@*,也可以用@(addr,men[addr])④敏感列表中存在有操作时,对于操作项而言,不会对操作数敏感,而是对操作后的结果敏感,所以不在敏感列表中进行操作。实验在绝大多数变成
2021-10-14 22:30:42
10126
转载 怎么独立使用Modelsim进行工程仿真
https://www.cnblogs.com/yuphone/archive/2010/08/30/1812932.htmlhttps://blog.csdn.net/hucc0706/article/details/79273788
2021-10-14 22:20:08
281
转载 理解图像处理中的 双线性内插法(图文说明)
1 . 为什么要用图像的插值?在图像的放大和缩小的过程中,需要计算新图像像素点在原图的位置,如果计算的位置不是整数,就需要用到图像的内插,我们需要寻找在原图中最近得像素点赋值给新的像素点,这种方法很简单是最近邻插法,这种方法好理解、简单,但是不实用,会产生是真现象,产生棋盘格效应,更实用的方法就是双线性内插,作为最基本的图像处理算法之一,这些算法在Photoshop中都可以设置。要用此法,线要理解,才能用得得心应手。2. 从最基本的基础立即开始:一维线型插值法如下图所示,我们最了解的直线之间从插值示
2021-10-11 15:31:06
3113
转载 什么是I帧,P帧,B帧
视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他们都是基于I帧来压缩数据。I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画
2021-10-10 15:59:57
1495
转载 Visio中实现任意两点之间的连线
在Visio中有时候很难实现两点之间的连线,往往连线会胡乱跳转到其他位置,本人在网上查找了各种方法,网上提到最多的方法是取消自动连接,然而本人实验上百次也没什么卵用,连线还是会自动跳转到其他位置。比如图1,我想表示两幅图像做差的一个框图,正确的框图应该是左图,但是实际操作中,从图像开始的连线无法选中中间那个减号框,导致连线的时候箭头总是指向不正确的位置,形成了右图所示的错误框图;图2中,我希望画出来是左边的效果,但是实际中因为圆圈右边的连线很难选中正确的连接点,而画成了右边的图形。为了圆满解决这个问题
2021-10-05 10:12:19
5146
转载 深入浅出解释FFT(四)——fft分析信号频率和相位
很基础的问题往往很重要,做仿真时候有一个点的差错都会导致结果的错误。在网上找了前人写的东东,总结下希望对大家有帮助,让大家少走一些弯路。信号的时域采样点N和频域采样点数相同%##################################################################clear all; close all;Adc =1.25; %直流分量幅度A1 =1; %频率F1信号的幅度A
2021-10-04 21:22:59
12791
1
转载 频域补零上采样_关于FFT的一些细节之补零操作
在做信号处理的过程中,常遇到将信号补零后再做FFT等操作,比如频域脉冲压缩算法中,一般距离维PRT数据和脉压系数需要填零使长度相等且满足2的N次方,但是填零操作能做什么,不能做什么呢?先说结论:补零不会改变频谱的样子(轮廓),也就是不会改变频率分辨率,但会减弱栅栏效应,提高频谱分辨率,也就是频谱采样点会增加,导致频谱采样间隔减小。注意,频谱分辨率和频率分辨率的区别。示例中使用100Hz采样率产生两个单频点正弦信号,频率分别为11、12Hz;接着两者分别做FFT运算,以及两信号叠加后做FFT;
2021-10-04 20:33:13
3524
原创 全国大学生电子设计竞赛2017年E题 自适应滤波器
本题拟采用实时采样的方式来进行自适应滤波。学过数字信号处理都知道,频率分辨率是采样率除以采样点数,而这道题提高部分要求10Hz的分辨率,经过前期的分析,我们采用采样率为4MHz,那么就是说我们需要采样到至少400k个点才能进行一次自适应,而采样这么多点需要的时间是1/10 = 0.1s,所以每进行一次自适应就需要花费0.1s的时间。而提高部分又要求要在1s内完成,所以我们大概可以进行7到8次的滤波。经过matlab仿真不断移相噪声相减得到的相减波形能量如下结果噪声是正弦波时,移相的能量变化图噪
2021-09-30 10:13:45
5838
3
原创 频谱混叠详解
定义:在对信号进行采样时,采样频率fc不满足奈奎斯特采样定理:fc>=2*fmax当我们用冲激函数对信号进行采样时,如下图上图的ws就是我们的冲激函数频率,也即是采样频率。A:这就开始纠结上面说的冲激函数时频域上都是一条线,但是线的意义不一样,间隔的意义也不一样。理论计算下,得到a图,合理的获取时频域信号,完美。补充理论:冲激函数的频谱,以fc等间隔的离散频谱,这也就是为什么时域离散采样,频域上是周期延拓。现在来考虑奈奎斯特采样定理fc>=2*fmax。我们从频域分析。就是频域
2021-09-23 23:43:44
6574
原创 STM32 FreeRTOS系列教程(五)FreeRTOS队列
队列又称消息队列,是一种常用于任务间通信的数据结构,队列可以在任务与任务间、中断和任务间传递信息,实现了任务接收来自其他任务或中断的不固定长度的消息,任务能够从队列里面读取消息,当队列中的消息是空时,读取消息的任务将被阻塞,用户还可以指定阻塞的任务时间xTicksToWait,在这段时间中,如果队列为空,该任务将保持阻塞状态以等待队列数据有效。当队列中有新消息时,被阻塞的任务会被唤醒并处理新消息;当等待的时间超过了指定的阻塞时间,即使队列中尚无有效数据,任务也会自动从阻塞态转为就绪态。消息队列是
2021-09-16 11:50:18
2192
原创 STM32 FreeRTOS系列教程(四)任务相关API函数
上面的表格都是FreeRTOS内提供的源码,而在CubeMX生成的工程中我们只需要配置下面的东西就可以完成配置任务的目的。Task Name 任务的名字Priority是这个任务的优先级(CMSIS-V1版本支持7个优先级,而CMSIS-V2版本支持56个优先级,在此处我选择V2版本,因为V1版本不支持事件组的CubeMX配置,V2才支持)Stack Size这里分配128words 也就是128x32 bits也就是512B(其实空闲任务可以分配更少的RAM空间,但是由于)Entry Func.
2021-09-16 11:36:13
535
原创 Verilog状态机
什么是状态机我个人认为状态机就是为了解决FPGA顺序执行任务这个问题而产生的,每一步设置成一个状态,满足条件就进行下一步。一般状态机写成三段比较好理解,所以这里我就不讨论一段式和二段式了,只讨论三段式。第一段状态机用来描述状态跳转到下一步(-----------------------------同步时序电路-----------------------------)always @(posedge clk or negedge rst_n) begin if(!rst_n
2021-09-08 20:56:26
567
原创 STM32 FreeRTOS系列教程(三)FreeRTOS多任务系统
参考资料:《正点原子STM32F4 FreeRTOS开发手册_V1.1》《野火FreeRTOS 内核实现与应用开发实战—基于STM32》裸机系统(前后台系统)轮询操作:写一个大的while,然后各种各样的任务都放在里面,来了中断就处理中断,处理完所有任务重新开始新的while优点:逻辑写起来简单,且代码量小缺点:实时性较差,比如我执行上图中的任务4突然要执行任务3,如果是裸机系统需要等待一个轮回才行多任务系统正常情况下是有多个任务存在的,然后每个任务都有一个优先级,先是任务列表中最高优先级的任
2021-09-04 21:32:13
603
原创 STM32 FreeRTOS系列教程(二)FreeRTOS中断配置和临界段
介绍FreeRTOS中断以及其与Cortex-M中断的区别,以及临界段的设置
2021-09-04 20:48:44
1060
原创 STM32 FreeRTOS系列教程(一)FreeRTOS简介
参考资料:《正点原子STM32F4 FreeRTOS开发手册_V1.1》《野火FreeRTOS 内核实现与应用开发实战—基于STM32》学习RTOS的意义当我们进入嵌入式这个领域的时候,往往首先接触的都是单片机编程,单片机编程又首选51 单片机来入门。这里面说的单片机编程通常都是指裸机编程,即不加入任何RTOS(Real Time Operating System 实时操作系统)的程序。常用的RTOS 有国外的FreeRTOS、μC/OS、RTX和国内的FreeRTOS、Huawei LiteOS
2021-08-30 22:16:16
1749
原创 陶晶驰串口屏使用总结
屏幕型号:TJC1060X570_011FLASH:128MRAM:32KBFrequency:200M1、关于图层显示问题,陶晶驰的page界面是最底层的,控件是第二层的,图片是最上层的,新的图片会覆盖老的图片
2021-08-30 10:01:58
6544
原创 SPI代码详解FPGA-verilog部分(FPGA+STM32)(三)
声明:本篇文章面向在已对SPI的四种时序有所了解的人我们采用SPI3模式以及将FPGA作从机,STM32作主机的方式讲解,在STM32控制部分采用的是半双工模式,但其实半双工与全双工区别不大,稍加修改即可本文是FPGA通过SPI接收的数据做出应答的模块,比如改变ADC采样率,将ADC采集的数据放在RAM中和从RAM中取出再发送给单片机module samplingCtrl ( input clk, input rstn, input [31:0]
2021-08-28 15:10:52
1574
1
原创 SPI代码详解FPGA-verilog部分(FPGA+STM32)(二)
声明:本篇文章面向在已对SPI的四种时序有所了解的人我们采用SPI3模式以及将FPGA作从机,STM32作主机的方式讲解,在STM32控制部分采用的是半双工模式,但其实半双工与全双工区别不大,稍加修改即可本片文章是接续上篇文章的,如果未浏览上一篇文章的,可以在此跳转SPI代码详解FPGA-verilog部分(FPGA+STM32)(一)本部分代码相当于对SPI模块的一个驱动,从SPI模块中进出的数据都要经过spi_mp 这个模块这一层壳模块工作流程:单片机先拉低cs_cmd,发送的命令dcmd
2021-08-28 11:24:23
1422
原创 SPI代码详解FPGA-verilog部分(FPGA+STM32)(一)
声明:本篇文章面向在已对SPI的四种时序有所了解的人我们采用SPI3模式以及将FPGA作从机,STM32作主机的方式讲解,在STM32控制部分采用的是半双工模式,但其实半双工与全双工区别不大,稍加修改即可本文章属于SPI的升级版,将原本的片选线CS_N再多加一根,变成spi_cs_cmd和spi_cs_data,当spi_cs_cmd拉低的时候表示传送的是命令(命令只由单片机发送),当cs_data拉低的时候表示传送的是数据(数据可以是FPGA传给单片机的,也可以是单片机传给FPGA的)mo
2021-08-28 11:02:34
1699
原创 STM32-GPIO详解
STM32-GPIO配置介绍typedef struct { uint32_t GPIO_Pin; GPIOMode_TypeDef GPIO_Mode; GPIOSpeed_TypeDef GPIO_Speed; GPIOOType_TypeDef GPIO_OType; GPIOPuPd_TypeDef GPIO_PuPd; }GPIO_InitTypeDef;结构体成员解释GPIO_Pin :直观点说就是针对每个IO口的,对这个成员的配置相当于一
2021-03-19 20:02:50
4553
6
原创 示波器
存储深度 采样率 采样时间的相爱相杀首先我们应该知道一个公式 存储深度(N) = 采样率(f)*采样时间(t)其次我们应该分清存储深度的最大存储深度的区别
2020-10-24 21:54:54
290
原创 示波器存储深度解读
存储深度(Record Length)也称记录长度,它表示示波器可以保存的采样点的个数。存储深度如果为“20000个采样点”则一般在技术指标中会写作“2Mpts”(这里的pts可以理解为“points”的缩写)或2MS(这里的S也可以理解为“samples”的意思)。存储深度表现在物理介质上其实是某种存储器的容量,存储器容量的大小也就是存储深度。示波器采集的样点存入到存储器里面,当存储器保存满了,老的采样点会自动溢出,示波器不断采样得到的新的采样点又会填充进来,就这样周而复始,直到示波器被触发信号“叫停”
2020-08-31 20:21:41
4828
1
原创 示波器常用的13个概念
1、 带宽指的是正弦输入信号衰减到其实际幅度的70.7%时的频率值,即-3dB点(基于对数标度)。 本规范指出示波器所能准确测量的频率范围。 带宽决定示波器对信号的基本测量能力。随着信号频率的增加,示波器对信号准确显示能力将下降。 如果没有足够的带宽,示波器将无法分辨高频变化。 幅度将出现失真,边缘将会消失,细节数具将被丢失。 如果没有足够的带宽,得到的关于信号的所有特性、响铃和振鸣等都毫无意义。5倍准则 5倍准则(示波器所需带宽=被测信号的最高频率成分Х 5)使用5倍准则选定的示波器的测量误差将不会
2020-08-31 20:02:47
3528
转载 Quartus使用Testbench方法(自动生成模板后的操作)
Quartus ii版本是13.01,原工程文件名为ex,Quartus要求最顶层.v文件名要与工程名相同,因此顶层.v文件名为ex.v==== Step1 ====Processing -> Start -> Start Testbench Template Writer生成针对工程的Testbench模板文件。使用File -> Open打开在工程的simulation目录下的Testbench文件ex.vt,其内容如下:`timescale 1 ps/ 1 psmodule
2020-08-28 15:16:07
11696
原创 Verilog初学者小圣经
虽然有些杂,但是非常好1、不使用初始化语句;2、不使用延时语句;3、不使用循环次数不确定的语句,如:forever,while等;4、尽量采用同步方式设计电路;5、尽量采用行为语句完成设计;6、always过程块描述组合逻辑,应在敏感信号表中列出所有的输入信号;7、所有的内部寄存器都应该可以被复位;8、用户自定义原件(UDP元件)是不能被综合的。一:基本Verilog中的变量有线网类型和寄存器类型。线网型变量综合成wire,而寄存器可能综合成WIRE,锁存器和触发器,还有可能被优化掉。
2020-08-24 11:39:03
2054
原创 HDLBits——Module add
这道题难在调用它给我们的模块,属实把我给坑惨了,其实题目本身不难,理解题目意思才是关键,如果硬说哪里要注意,就是我们使用名称关联例化模块的时候,可以把不使用的管脚不进行例化,下面我把我的代码贴出来。module top_module( input [31:0] a, input [31:0] b, output [31:0] sum); wire[15:0] hi; wire[15:0] lo; wire temp; add16 instance.
2020-08-23 17:34:54
1055
原创 HDLBits——Module shift8(Module and Vectors)端口为多位的元件例化过程
正确解答如下module top_module ( input clk, input [7:0] d, input [1:0] sel, output [7:0] q ); wire[7:0] wir1,wir2,wir3; my_dff8 instance1(.d(d),.clk(clk),.q(wir1)); my_dff8 instance2(.d(wir1),.clk(clk),.q(wir2)); my_dff8 ins.
2020-08-23 16:23:56
1592
原创 HDLBits——Module shift
module top_module ( input clk, input d, output q ); reg my_dff; wire wir1,wir2; my_dff instance1(.clk(clk),.d(d),.q(wir1)); my_dff instance2(.clk(clk),.d(wir1),.q(wir2)); my_dff instance3(.clk(clk),.d(wir2),.q(q));endmodule本题关键在于建立.
2020-08-23 10:55:38
1200
2
原创 HDLBits——Module name(根据名称例化模块)
正确解答如下module top_module ( input a, input b, input c, input d, output out1, output out2); mod_a instance1(.out1(out1),.out2(out2),.in1(a),.in2(b),.in3(c),.in4(d));endmodule
2020-08-23 09:35:01
526
1
原创 HDLBits——Module position(根据位置来例化)
本题是为前一篇博文里Module的其中一种方法单独出的一道题目正确解法如下:module top_module ( input a, input b, input c, input d, output out1, output out2); mod_a instance1(out1,out2,a,b,c,d);endmodule错误解法如下module top_module ( input a, input b.
2020-08-23 09:28:32
393
原创 HDLBits——Module
本人持续更新HDLBits其他题目,详细讲解我们编程时会遇到的各种错误,若有兴趣可以移步我的博客中心浏览本人的其他文章,感谢赏光!原题如下这道题的本质就是内部的module 和top_module的连接问题。众所周知,信号连接有两种方式,一种是根据位置来摆放,一种是根据名称来直接连接而与位置无关,接下来我就用代码来帮大家解释解释。假如我们有一个模块(instance) mod_a(output out,input a,input b) 而我有一个顶层文件top(input in1,inpu
2020-08-22 21:46:42
712
原创 HDLBits——Vecotor Reversal
这道题有两种解法1、module top_module( input [7:0] in, output [7:0] out);assign out = {in[0],in[1],in[2],in[3],in[4],in[5],in[6],in[7]};endmodule2、module top_module( input [7:0] in, output [7:0] out); always@* begin integer i; for(i.
2020-08-22 18:34:45
242
原创 HDLBits——Replication operator位扩展 (非常有用的一道题目)
A Bit of PracticeOne common place to see a replication operator is when sign-extending a smaller number to a larger one, while preserving its signed value. This is done by replicating the sign bit (the most significant bit) of the smaller number to the le
2020-08-22 11:33:21
1845
原创 HDLBits——Vectorgates(总线门的处理)
Build a circuit that has two 3-bit inputs that computes the bitwise-OR of the two vectors, the logical-OR of the two vectors, and the inverse (NOT) of both vectors. Place the inverse of b in the upper half of out_not (i.e., bits [5:3]), and the inverse of
2020-08-21 21:09:33
1453
2
原创 HDLBits——Vectors
Vectors are used to group related signals using one name to make it more convenient to manipulate. For example, wire [7:0] w; declares an 8-bit vector named w that is equivalent to having 8 separate wires.Contents1 Declaring Vectors1.1 Implicit nets1.2
2020-08-21 12:53:23
1308
原创 HDLBits刷题网站错误总结(持续更新)
1、assign 语句是不能用非阻塞语句赋值的 ,只有reg才可以用非阻塞语句赋值,但是assign既可以给wire型变量赋值也可以给reg型变量赋值2、异或和同或的一个简单辨析方法,一般我们都是先学习异或,而且异或用的比较多,所以异或是^,同或是异或的非,所以同或是~ ^。...
2020-08-20 20:26:29
3186
原创 2003年电设国赛D题 简单逻辑分析仪(未完待续)
基于MCU(STM32F407ZGT6)+FPGA (cyclone 10LP)的简单逻辑分析仪有关ADC的一些概念LSB:least significant bit (最低有效位)APB2 84MHzADC 要求36M以内该款STM32芯片内置ADC为主次逼近型(12bit):分为16个外部通道,2个内部源,一个Vbat关于ADC单次、连续、扫描的问题解释比如说ADC1有通道CH0、CH1、CH2、CH3。不开启扫描(scan)模式单次转换 1、开启ADC1。 2、对CH0中
2020-08-20 16:41:15
513
原创 STM32F407 SPI配置(普中开发板)
声明:文章部分图片引自网络,如若侵权立即删帖致歉SPI简单介绍SPI全称是“Serial Peripheral Interface”,意为串行外围接口。主要应用在E²PROM、FLASH、实时时钟、AD转换器,数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,在芯片管脚上只占四根线。通常, SPI 通过 4 个引脚与外部器件连接:● MISO:主输入/从输出数据。此引脚可用于在从模式下发送数据和在主模式下接收数据。● MOSI:主输出/从输入数据。此引脚可用于在主模
2020-08-20 16:07:31
3787
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅