自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(114)
  • 资源 (23)
  • 收藏
  • 关注

原创 输入偏置电流时钟馈通

零漂移放大器(如 OPAx189)在输入端使用开关来校正放大器的固有失调和漂移。来自输入端集成开关的电荷注 入可能会在放大器的输入偏置电流中引入短时瞬态。这些脉冲极短的持续时间可以防止放大,但是这些脉冲可通过 反馈网络与放大器的输出进行耦合。要防止输入偏置电流中的瞬态在放大器的输入端产生额外噪声,最有效方法是 使用低通滤波器(如 RC 网络)。...

2022-08-14 16:44:24 418 1

原创 斩波稳定(自稳零)精密运算放大器

斩波放大器要想获得最低的失调和漂移性能,斩波稳定(自稳零)放大器可能是唯一的解决方案。最好 的双极性放大器的失调电压为25 μV,漂移为0.1 μV/ºC。斩波放大器尽管存在一些不利影 响,但可提供低于5 μV的失调电压,而且不会出现明显的失调漂移,以下图1给出了基本的斩波放大器电路图。当开关处于“Z”(自稳零)位时,电容C2和C3将分 别充电至放大器输入和输出失调电压。当开关处于“S”(采样)位时,VIN通过R1、R2、C2、 放大器、C3和R3构成的路径连接至VOUT。......

2022-08-05 17:19:33 6814

原创 滤波电容阻抗随频率变化特性的分析

滤波电容的作用机制是为噪声等干扰提供一条低阻抗回路,在噪声频率点上,要求滤波电容的阻抗较小,即当噪声频率落在谐振点附近时,滤波效果最好。C和ESL越小,谐振频率越高,越适于滤除高频干扰。在电容分量和ESL分量的共同作用下,电容器件的整体阻抗表现为,随着频率的升高,首先是电容分量起主导作用,使阻抗逐步变小,器件表现为电容的阻抗特性,滤波效果渐强;在实际工作中,期望电路上每一处的噪声频带都得到准确定位并不现实,这就要求设计者在电路设计中,利用多种不同的电容构造一个比较宽的低阻抗频带,以尽可能地覆盖噪声频带。..

2022-08-02 11:18:52 1904 2

原创 高速设计-耦合电容

在高速电路中,应选用ESL值小的贴片电容,因此仅以小尺寸贴片式的陶瓷电容作为示例,对于插孔式电容,如铝电解电容,其ESL值将比表2.2所列出的值大得多。0612封装的电容,其长边为焊接边,连接PCB上的焊盘,相比1206封装,一方面可以有更大的、能直接和PCB焊盘贴合的面积;例,T=1.25ns,R=50Ω,根分析,应用中可能出现的最大连0或连1比特位的长度为85,因此设定NUM=86,则交流耦合电容的最小取值要求为Cmin=7.8X86X1.25ns/50Ω=0.01677μF。...

2022-08-02 11:07:55 1095

原创 高速电路设计-前言

高速电路路设计工程师常常困扰铃流、串扰和辐射噪音等问题。在我们大学的课程里面,这些内容都是没有相应课程的,因此,很多应用工程师在遇到这些问题的时候觉得很迷茫,不知该如何下手。对于低速数字电路设计,,'0'、'1'都是很干净的。但是在高速数字电路设计中,由于信号变化很快,这时候模拟电路中分析的那些影响会产生很大的作用,使得信号失真、变形,或者产生毛刺、串扰等,作为高速数字电路的设计者,必须知道这些原理。了解这些现象产生的原理以及他们在电路设计中的应用。...

2022-08-01 21:49:25 187

原创 运算放大器输入阻抗

电压反馈(VFB)运算放大器通常具有差模和共模两种指定的输入阻抗。电流反馈(CFB)运算放大器通常在每个输入端将阻抗接地。不同的模型可用于不同的电压反馈运算放大 器,在缺少其它信息时,使用如下图1的模型通常比较安全。该模型中,偏置电流从无限阻抗电流源流入输入端。...

2022-07-29 17:37:16 5739

原创 电源模块选型指导

1.电源模块选型指导首先确定电源的规格,按照需求的指标进行筛选,确定使用标准电源模块还是需要定制电源。第一步,选择电源模块的输入电压。第二步,选择电源模块的输出电压及功率。电源模块最好应用在标称满负荷的 30%-80%功率条件下,前提条件是在常温情况,如果设计 中考虑到高温环境和低温环境,还需要考虑到温度降额要求。选择合适的输出功率是设计成功的 关键因素之一,过大或过小的电流均会导致较低的可靠性和过高的成本。输出电压常见规格有 3.3V,5V,9V,12V,15V,24V,±5V,±12V,±15V 等。第

2022-06-28 13:47:42 1693 1

转载 对于基准电压源,是需不需要的问题吗?明明只有合不合适的问题

为何需要基准电压源?这是一个模拟世界。无论汽车、微波炉还是手机,所有电子设备都必须以某种方式与“真实”世界交互。为此,电子设备必须能够将真实世界的测量结果(速度、压力、长度、温度)映射到电子世界中的可测的量(电压)。当然,要测量电压,您需要一个衡量标准,该标准就是基准电压。对系统设计人员而言,问题不在于是否需要基准电压源,而是使用何种基准电压源?基准电压源只是一个电路或电路元件,只要电路需要,它就能提供已知电位。这可能是几分钟、几小时或几年。如果产品需要采集真实世界的相关信息,例如电池电压或电流、功耗、信号

2022-06-18 15:48:31 604 1

转载 声短路的影响

声短路是指扬声器的振膜向前或向后运动时声波是反相的,导至声波互相抵消,所以声音也很轻。形象的理解就是:喇叭工作的时候靠音圈带动纸盆的震动来推动空气,空气的震动传到耳朵就是声音。当某一瞬间纸盆往前运动,则喇叭前方的空气密度大,后方的空气密度小,如果没有什么阻拦,前方的空气会绕到喇叭后方去“填空补缺”,就象站在水中央浇水一样,花再大的力气也很难让前面的水多起来。喇叭的这种情况称之为“声短路”,想象站在水中央浇水一样,许多“功”都白做了。声短路与频率有关,频率越低越明显。所以,“低音开大时,耳朵靠近低音喇叭最多只

2022-06-03 18:33:04 278

转载 音响喇叭尺寸越大,音质就越好吗?请大神指教?

1音响喇叭尺寸越大,音质就越好吗?对这个问题要一分为二看。对于小作坊音响产品,多使用几只彩灯,低廉大小喇叭做些廉价音响,外观花里胡哨,用低廉价格争抢音响市场。他们的喇叭虽大,但音箱内部无分频器或一二只电容,谈何音质。对于正规音响喇叭尺寸越大,音质越好!他们的售卖价格高些有能力有技术做好喇叭,做好音响。好音响就是有优质功率放大线路,还有至少5英寸以上中低音大喇叭,1英寸至4英寸高音喇叭。为了有足够的低音下潜,音响厂商在有利润的情况尽可能采用大尺寸中低音喇叭。大尺寸的喇叭低音较好,中高音频率范围变窄变低,就配合

2022-06-03 18:31:01 23465 1

原创 电流反馈型运放

电流反馈型运放是一种物理学名词,由R1、Rf和跨导gm共同决定。电压反馈放大器与电流反馈放大器的区别带宽VS增益电压反馈型放大器的-3DB带宽由R1、Rf和跨导gm共同决定,这就是所谓的增益帯宽积的概念,增益增大,带宽成比例下降。同时运放的稳定性有输入阻抗R1和反馈阻抗Rf共同决定。而对于电流反馈型运放,它的增益和带宽是相互独立的,其-3DB带宽仅由Rf决定,可以通过设定Rf得到不同的带宽。再设定R1得到不同的增益。同时,其稳定性也仅受Rf影响。反馈电阻的取值电流型运放的反馈电阻

2022-03-31 13:43:30 1575

原创 电流反馈运算放大器介绍及RF(反馈电阻)的作用

电流反馈的结构与电压反馈大不相同。电流反馈非常适合用于高速信号,因为它没有基础增益带宽积的限制,同时也由于其固有的线性度。电流反馈运算放大器的带宽略微受到增益的约束,但不像电压反馈器件那么严重。再者,压摆率并非受到内部偏置电流的限制,而是受到晶体管自身速度的限制。这样在给定偏置电流的条件下可以使用更快的压摆率,而不必采用正反馈或其它压摆率提升技术。  电流反馈运算放大器有一个输入缓冲器,而不是一个差分线对。输入缓冲器一般是一个射极跟随器或其它类似的东西。非反相输入的阻抗很高,而缓冲器的输出(作为放大

2022-03-31 13:41:13 6845 2

原创 ​FIFO存储器​

 FIFO存储器即先进先出(First In First Out)存储器,在数字电路中,有利用移位寄存器实现FIFO的产品,这种电路的功能是通过移位来实现的。而FIFO存储器,是由若干存储单元构成的,数据写入之后就保持不动,而FIFO功能是利用芯片内部的地址指针的自动修改来实现的。主要参数  FIFO的宽度:也就是英文资料里常看到的THE WIDTH,它只的是FIFO一次读写操作的数据位,就像MCU有8位和16位,ARM 32位等等,FIFO的宽度在单片成品IC中是固定的,也有可选择的,如果

2022-03-27 12:38:45 1322 1

原创 TI运放命名规则

2021-06-15 20:12:38 1146

原创 外部电流感应放大器与集成式板载放大器用于电流感应时的比较

2021-05-17 16:41:38 204

原创 关于ADC输入前级的抗混叠滤波器问题以及驱动负载电容的电阻值选择建议

2021-04-22 23:18:18 1047

原创 ADC\adc.c(22): error: #20: identifier “ADC_InitTypeDef“ is undefined

..\MyCode\ADC\adc.c(22): error: #20: identifier "ADC_InitTypeDef" is undefined..\MyCode\ADC\adc.c(22): error: #20: identifier "ADC_InitTypeDef" is undefined..\MyCode\ADC\adc.c(22): error: #20: identifier "ADC_InitTypeDef" is undefined*************...

2021-03-19 15:21:58 4309 2

原创 #warning “Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)“

..\CMSIS\core_cm4.h(112): warning: #1215-D: #warning directive: "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)" #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PR...

2021-03-03 16:48:54 3994 3

转载 十年老工程师:浅谈学习单片机的职业规划

最近看了很多关于“类似单片机的出路”的帖子,也有很多人问我单片机未来的规划。今天我就给大家带来自己的一点心得体会。首先,单片机不是万能的,但没有单片机那是万万不能的。从NN年前的单片机,到现在的单片机,单片机只是单片机,其性质并没有太多的改变。只是从原来的“神秘”、“暴利”、“有趣”等等,回归了它原来的真实面目罢了。我自己在单片机和自己熟悉的行业上做了快10年了,不说自己的水平怎么样。说牛不牛,说不牛也牛,该骄傲的时候还是要骄傲的,那是对自己的肯定。该谦虚的时候也要谦虚学习,毕竟单片机是..

2021-01-10 15:36:14 1487

原创 为什么旁路电容都选用0.1uf

器件特性大电容滤去低频交流低频成分。小电容滤去高频交流成分,选择高频滤波电容的主要依据是频率特性,即阻抗-频率曲线。0.1uF瓷介电容(X7R)的谐振频率(阻抗曲线“谷”点频率)大约为10MHZ多,表贴的大约为16MHZ,而且阻抗也比较低(1欧姆以下量级),这对在大多数低频电路都是比较合适的。再大的容量,谐振频率偏低,再小的容量,谐振阻抗偏大。非技术因素电子器件的一个重要选用原则就是尽量“随大流”,大家都用的,供货容易,成本也低。经验法则这是经...

2021-01-05 09:37:30 5066

原创 为什么89C51的串口中断只能用T1

内部结构决定的。T0工作于方式3时,拆为两个独立的8位定时器,占用了TR1和TF1,而串口波特率发生器使用的定时器为方式2,自动重装初值模式,只要装了初值,启动了定时,就一直工作,其TR1和TF1就可以空出来给T0的方式3使用。...

2020-12-29 13:38:28 1250

原创 关于PCB焊盘是否能放置过孔的问题

手工焊就可以放。没有影响的。机器焊的话,锡膏会漏到孔里面,可能会虚焊。

2020-12-29 12:33:30 781

原创 error: #130: expected a “{“

..\HARDWARE\Time_1s\time_1s.c(4): error: #130: expected a "{"原因在头文件少了;

2020-12-27 14:32:26 1475

转载 理解频域、时域、FFT和加窗 加深对信号的认识

理解时域、频域、FFT傅立叶变换有助于理解常见的信号,以及如何辨别信号中的错误。尽管傅立叶变换是一个复杂的数学函数,但是通过一个测量信号来理解傅立叶变换的概念并不复杂。从根本上说,傅立叶变换将一个信号分解为不同幅值和频率的正弦波。我们继续来分析这句话的意义所在。所有信号都是若干正弦...

2020-12-24 15:28:41 3079 4

原创 指针星号*的理解

星号*的理解在C语言中, *的用途有两个,一个是用于表示乘号,第二个与指针有关。虽然这两种用途都会用到,但这两者没有任何关系。*在指针中的用途主要有两个方面,第一种是用在指针定义的时候,与前面的类型结合,用于表示被定义指针变量的类型, *的个数表明了定义的指针变量的级数,如下所示。int *p; int* p;*靠前靠后都没关系,这时的“与p是两个不同的东西,星号表明p是一个一级指针变量,用于存放一个一级地址。但是需要注意下面的情况。int *p1, *p2: // p1和p2都是in.

2020-12-23 14:15:59 12999 3

原创 指针使用之三部曲

定义(声明)int *p=NULL;//初始化一下,防止野指针关联int a= 10;p =&a;// a空间的首地址给了p,所以p里面的地址常量指向了a空间,因此简称p->a空间。引用读空间:读值操作,前提是里面存有数据才行。int b=*p; //等价于b = a;写空间:向空间写入新的值。*p =30;//等价于a=30;...

2020-12-23 14:09:13 120

原创 高级语言如Java,C#的指针到哪里去了

C++里面保留了指针的使用,初学Java,C#等高级语言的同学,都会因为里面没有指针而困惑,甚至在想,难道这些高级语言就不需要访问内存空间了吗?凡是遇到过Java异常处理的同学,都会发现Java中有一种空指针异常,大多是因为我们使用了没有实例化的对象名导致的,因为没有实例化就没有为对象分配内存空间。既然有空指针异常,就证明Java是使用了指针的,只是全部都由类的底层封装好了,不需要我们关心, 目的就是跳过指针这一难点,使得Java简单实用。但是由于不能直接操作指针,面对频繁使用指针的底层开发而言,.

2020-12-23 14:05:03 266

原创 为什么需要指针

不管多么"高大上”的程序,最终都是在硬件上运行的,所有对于硬件的设置和访问,全部都是通过对内存操作实现的。广义上的内存可以包括寄存器、缓存、常说的内存(内存条)等,这些内存空间都是由一个个的字节构成的,每个字节都有地址,对于这些空间的访问,大多都是通过地址实现的。只站在C语言自身的角度,也可以看到指针的好处。比如fun1函数有一个自动局部变量a,它的作用域被局限在fun1函数内部, fun2函数是无法访问的;如果fun2想要访问fun1中a的话,我们可以将a的地址传递给fun2函数,当然前提是fu.

2020-12-23 14:03:03 174

原创 程序运行的目的

我们知道,驱动程序的目的就是为了管理硬件,驱动程序管理硬件的媒介就是寄存器(一种特殊的内存) ,通过对寄存器这种特殊内存的读(取)写(存) ,从而实现对硬件的功能设置以及数据的存取。所有软件本质上都是基于这样的原理在硬件上运行的,从而达到了软件与硬件融为一体的目的。学习指针的过程: 佛家说, "参透前,看山是山,看水是水;参透时,看山不是山,看水不是水;参透后,看山还是山,看水还是水”。程序运行的目的就是处理数据。...

2020-12-23 13:58:39 495

原创 指针变量的类型作用

对于普通变量来说,其类型的作用主要有以下几个方面。程序员写代码时识别用:不涉及强制转换时,知道该变量中应该存放什么类型的数值。空间大小的说明:比如int为4个字节空间。存储结构说明: float和int虽然空间大小都是4个字节,但是其存储结构完全不同。对于指针变量来说,其类型的作用与上面基本一致,只是其类型是由普通类型+星号构成。星号的个数,表明了指针变量的级数,指针变量用来存放地址。当不涉及强制转换时,其对应关系如下。某类型一级指针变量=该类型一级地址某类型二级指针变量=&a.

2020-12-23 13:56:27 1337 2

原创 指针变量

指针变量广义上说,常说的“指针”隐含两个东西,一个是指针变量,另一个是指针常量。我们一般都是统称它们为指针,在大多数情况下,指针指的都是指针变量。如果指针用得很熟悉的话,没有必要对它们做严格区分。指针变量和普通变量一样,都是用于存放数据的,只是指针变量存放的数据很特殊,是为存地址。一般情况下,如果不考虑指针强制转换的话,我们要求某个类型地址必须放到对应类型的指针变量中,如下所示。int a=10;int *p=&a;// a空间的地址假设为0x07080345以上两句话,对于..

2020-12-23 13:50:02 4925

转载 高精度极限电阻的测试技巧

据是德科技大中国区电源和通用产品市场经理饶骞介绍,电路设计中会用到不同阻值的电阻,小到mΩ、μΩ的大电流分流器,大到GΩ、TΩ的绝缘材料。为了提升设计的可靠性,需要对这些器件做高精度验证和测量,但是这极具挑战性。饶骞分析了传统的极限电阻测试中存在的问题,提出了针对不同阻值的极限电阻的精确测量手段和方法,包括三个部分:小电阻的高精度测量、超高电阻测量、材料漏电流或绝缘阻抗测量。小电阻的高精度测量他介绍说,众所周知的电阻测量方法是采用数字万用表(根据欧姆定律),2线法比较常用,但是要..

2020-12-23 13:28:22 4083

转载 放大器电路的大信号带宽,压摆率是瓶颈

笔者在技术支持过程中,常常遇到工程师质疑放大器的增益带宽积参数“掺水”啦!!!设计中明明预留很大余量,但是电路的输出波形依然出现失真的情况。其实,在交流信号调理电路的带宽评估中,应该区分对待输入信号是小信号,还是大信号。如果输入信号是小信号使用增益带宽积参数是合理的,而当输入信号为大信号时,还使用增益带宽积参数进行评将会导致设计缺陷。本篇将通过一个实例分析,压摆率与大信号带宽(满功率带宽)的关系,以及一种快捷仿真满功率带宽的方式。01、压摆率定义压摆率(Slew Rate,SR)定义为由..

2020-12-23 13:19:28 2138 4

原创 用精妙方案解决按键端口太少问题

外部扩展芯片 这种算是最容易想到的一种IO扩展的方案,通过串行线与扩展芯片通信,从而控制扩展芯片多个输入输出口。 比如远程IO扩展芯片CH423,该芯片可以支持8 个双向输入输出引脚和 16 个通用输出引脚,并且还支持输入电平变化中断。此图源于CH423 中文手册 我们只需要通过MCU的IIC外设或者模拟IIC与CH423进行通信,从而对该芯片进行写入与读取即可完成IO口的读写,实现了IO的扩展需求。 使用CH423外扩主要的缺点是成本...

2020-12-23 12:29:57 487

原创 在C语言中,定义局部变量时如果未初始化,则值是随机的。为什么?

分析一个细节:在C语言中,定义局部变量时如果未初始化,则值是随机的。为什么?定义局部变量,其实就是在栈中通过移动栈指针,来给程序提供一个内存空间和这个局部变量名绑定。因为这段内存空间在栈上,而栈内存是反复使用的(脏的,上次用完没清零的) ,所以说使用栈来实现的局部变量定义时如果不初始化,里面的值就是一个垃圾值。由此我们扩展一下,其实不仅仅是局部变量,所有的变量在定义时只是在内存中分配一块空间,并没有对这块空间进行任何的初始化。如果这块内存以前被用过,里面的数据还在,那它对于我们来说是没有任何意义的垃圾值

2020-12-17 14:55:49 2444

原创 结合内存来解析C语言语句的本质

下面结合内存来解析C语言语句的本质:int a:编译器帮我们申请了一个int类型的内存格子(长度是4字节,地址是确定的,但是只有编译器知道,我们是不知道的,也不需要知道) ,并且把符号a和这个格子绑定。a=5:编译器发现我们要给a赋值,就会把这个值5丢到符号a绑定的那个内存格子中a+=4:编译器发现我们要给a加值, a += 4等效于a=a +4,编译器会先把a原来的值读出来,然后给这个值加4,再把加之后的和写入a里面去,最后这个格子里面存储的内容就是9。C语言中数据类型的本质含义,是表示一

2020-12-17 14:17:49 167

原创 指针是什么?

指针是什么?我们的回答是指针就是地址。说得再全面一点,指针是一个变量,且这个变量是专门用来存放地址的。这就好比你想给A打电话,但你不知道A的电话号码,但你知道C有A的电话号码,而且你也有C的电话,这样你就可以间接地通过C来找到A,指针也是如此。通过下面的例子我们就可以看出用指针变量p来间接地获取了变量a的内容。...

2020-12-17 14:12:30 551

原创 指针类型的含义

C语言中的指针,全名叫指针变量,指针变量其实和普通变量没有任何区别(不管intloat等,还是指针类型int "或者float *等) 。只要记住:类型只是对其所修饰的数字或者符号所代表内存空间的长度和解析方法的规定。如int a和int "p其实没有任何区别, a和p都代表一个内存地址(如0x20000000) ,但是这个内存地址0x20000000的长度和解析方法不同。a和b的空间大小虽然都是4个字节(碰I5) ,但是解析方法是截然不同的,前者解析方法是按照int的规定来的;后者按照int *方式解析。

2020-12-15 22:13:41 3085

原创 谈谈C语言中的函数

不知道你是否思考过C语言中函数调用是如何实现的,主调函数是如何找到那些被调函数的。在C语言中,函数就是一段代码的封装。函数名的实质就是这一段代码的首地址,所以说函数名的本质也是一个内存地址。有了函数名(指针) ,也就是有了地址,我们才实现了函数的调用。...

2020-12-15 22:08:24 79

原创 实际编程时,节省内存和提高效率到底谁重要?

在32位系统中定义变量最好用int,这样效率高,因为32位系统中很多硬件本身都是32位的,配合定义的int型变量在内存中恰好分配4个字节,使得软件和硬件对于数据的处理非常契合,这样的工作效率自然就高。32位的硬件配置天生就适合定义32位的int型变量。千万不要单纯地认为定义char型变量由于分配了更少的内存空间,所以效率就更高,因此我们一直强调写程序时要尽量配合硬件特点。在很多32位系统环境下,当定义bool类型变量时,我们基本都是用int来替代。虽然bool型只需要一个位,但是我们定义一个整型替代时,

2020-12-15 22:06:18 402

声源定位跟踪系统设计装置

基于TDOA的声源定位算法具有运算量小、算法简单易实现、定位精度较高、硬件成本低的特点,使得该算法在实际中的应用非常广泛,而且可以实现实时定位。基于 TDOA 的声音定位算法实现原理简单,一般分为延时估计和声源定位两个部分,时延估计的精确度直接决定了声源定位的精度,所以时延估计精度是该算法的核心部分

2022-07-28

FPGA学习推荐:《HELLO FPGA》v3.0.zip

为什么要学学习指导篇: 对于FPGA初学者来说,什么是FPGA?为什么要学习FPGA?怎么学习FPGA?这三个是我们最先会面对的大问题,我们只有搞明白、弄清楚了这三个问题,才能有目的、有计划的去掌握这门技术,否则,我们学习FPGA的愿望只是空中楼阁而已。学习指导篇包含哪些内容:该篇以什么是FPGA、为什么要学习FPGA、怎么学习FPGA为主线,详细的讲解了FPGA是什么、FPGA有什么用, FPGA发展前景,以及FPGA职业待遇,并且在该基础上,我们还进一步详细讲解了如何从一个什么都不会的FPGA初学者成长到无所不知、无所不能的一个FPGA工程师。 为什么要学数字电路篇: 数字电路是FPGA的敲门砖、垫脚石,为什么这样说呢,因为数字电路主要的内容就是逻辑和时序,而逻辑与时序就是FPGA设计的核心。逻辑无非就是与门、或门、非门 ,时序无非就是锁存器、触发器、寄存器等等,再复杂的设计也就是用这些基本电路搭起来的,那么我们只有知道了这些基本电路的功能才能搭建出想要的电路。数字电路篇包含了哪些内容:该篇是从数字逻辑最基础的0和1入手,以逻辑代数为基础详细来讲解与门、或门、非门等基本门电路的功能,又以基本的门电路为基础,进一步学习了组合逻辑电路,其中不同的与或非门组合,可构造出不同的组合逻辑电路,例如编码器、译码器、数据选择器等。接下来在组合逻辑电路的基础上,我们又进一步了解学习时序逻辑电路,时序逻辑电路不同于组合逻辑电路,时序逻辑电路能做到组合电路做不到的事情,那就是让电路具有“记忆”功能,如寄存器、计数器等。最后,我们深入探讨读者最为关心的可编程器件的内部结构和原理,为进一步学习FPGA原理打下了基础。 为什么要学硬件语法篇: 大家都知道软件设计使用软件编程语言,例如我们熟知的C、 Java等等,而FPGA设计使用的是HDL语言,例如VHDL和Verilog HDL,说的直白点, FPGA的设计就是逻辑电路的实现,就是把我们从数字电路中学到的逻辑电路功能,使用硬件描述语言Verilog/NHDL)描述出来,这需要设计人员能够用硬件编程思维来编写代码,以及拥有扎实的数字电路功底。硬件语法篇包含了哪些内容:该篇不仅仅是介绍了Verilog HDL基本概念和语法,更着重讲解了Verilog HDL的基本设计思想及优良的代码书写规范和风格。 为什么要学软件工具篇: Altera的开发环境为Quartus ll, xilinx的开发环境为ISE( IntegratedSoftware Environment ),这里我们选择的是Altera的器件,所以开发环境为Quartus ll, Quartus11开发软件是Altera公司为其FPGA芯片设计的集成化专用开发工具,是Altera最新一代功能更强的集成EDA开发软件,使用Quartus 1l可完成从设计输入,综合适配,仿真验证到下载调试的整个设计过程。Quartus 11集成了Modelsim-Altera, SignalTap工具,可以直接调用来完成设计任务的仿真及调试。软件工具篇包含了哪些内容:该篇不仅讲解了如何使用Quartus 1l软件、ModelSim和SignalTapll软件,还讲解了PLL. ROM,RAM,FIFO、 DDRIP核的使用。从第一个新工程建立,管脚分配,程序下载及工程仿真,工程调试等一系列图文操作手把手带领读者掌握软件的操作,更进一步铺开来详细讲解软件的操作界面及菜单说明,功能使用。解决读者在学习上遇到的最棘手的“软”问题,为进一步学习实战篇奠定了基础。 为什么要学项目实战篇: 前面的篇章多为理论知识,而这一篇是结合开发板实物,从理论上升到实践,将前面的基础知识运用到实际的工程项目当中。项目实战篇包含哪些内容:我们例举三人表决器、数字时钟、多终端点歌系统、数字示波器、数码相框、USB2.0摄像头和千兆网络摄像头这七个实际的工程项目,手把手带领大家从分析工程、分解工程、到最终实现工程。通过逐个解决工程中的实际问题,来学习原汁原味的FPGA设计。本篇一改传统教程里逐个讲解外设的方法,巧妙的将所有外设功能放在实际项目当中讲解,使读者1意X上做到了现现,活学活用。

2021-11-11

数字信号示波器.zip

数字示波器因具有波形触发、存储、显示、测量、波形数据分析处理等独特优点,数字示波器是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器。 数字示波器的工作方式是通过模拟转换器(ADC)把被测电压转换为数字信息。数字示波器捕获的是波形的一系列样值,并对样值进行存储,存储限度是判断累计的样值是否能描绘出波形为止,随后,数字示波器重构波形。数字示波器可以分为数字存储示波器(DSO),数字荧光示波器(DPO)和采样示波器。 通过数字示波器的原理框图可以知道,模拟信号必须先经过信号调理电路,将模拟信号进行适当的衰减或者放大,使信号能够较理想的输入到 ADC 中进行模数转换。经过调理的信号送到 ADC 中,经过控制器控制 ADC 进行信号的采样,同时经过调理的信号可以送到触发电路。经过 ADC 转换后的信号为数字信号,保存到存储器中,随后利用软件对这些数据进行处理,比如采用正弦内插算法进行波形的重建,重建后的波形可以进行各种各样的参数测量、信号运算和分析等,最终的结果可以直接显示到屏幕上。 本资料资料齐全,包括全部设计工程源码,原理图PCB设计,给出不同示波器的设计方案,以及放大器和数据转换器的指南,内有混合信号示波器方案,数字信号示波器方案,简易逻辑分析仪制作,可方便移植或进行二次开发。 设计任务:设计制作一台实时采集的模拟通道数字信号示波器。 1、基本要求 (1) 输入电压量程:0~±50V,电压测量精度≤±5%; (2) 输入信号频率:0~1MHz,频率测量精度≤±5% 。 (3) 输入阻抗≥1MΩ,显示屏的刻度为 8div×10div,垂直分辨≥8bits。 (4) 最高实时采样速率≥10MSa/s,扫描速度包含1s/div-1us/div等水平档位,波形周期测量误差≤±5%。 (5) 支持自动、边沿、电平、单次四种触发方式,触发位置显示,触发电平可调,可选触发类型。 (6) 垂直灵敏度为 5V/div -10mV/div档,按1-2-5步进,电压测量误差≤5%。 (7) 输入耦合方式可选:直流、交流和接地(DC、AC或GND)。 (8) 无需手动拨档,具有自动档位自动量程切换功能。 (9) 内置输入保护,自动滚轮设计,辅助快速完成波形调整与测量。 (10) 支持波形的运行和暂停,波形显示参考位置调节,波形放大,缩放。 (11)可选测量参数,包括频率、占空比、脉宽、上升沿、下降沿脉冲数、幅值、峰峰值、最大最小值、上升时间、下降时间等。 (12)可一键AUTO设置所有参数,秒出波形。 (13)可一键居中设置波形和触发位置居中,快速归位波形。 (14) 可手动移动的幅度和时间标志线,可利用标志线完成幅度和时间的测量。 (15)可选带宽范围(低频,高频抑制) 2、可选部分 (1)支持浮点FFT计算的幅频显示。 (2)支持各通道波形显示和测量值窗口的隐藏。 (3) 提高输入信号频率范围至10MHz (4) 进一步提高测量范围与精度。 (5) 可保存波形原始数据,方便电脑分析。 (6) 可简单给出当前测量数据的与实际值的符合度分析(比如:输入信号频率超出能测的范围给出提示)。

2021-11-10

信号失真度测量装置.zip

任何连续测量的时域信号都可以表示为不同频率的正弦波信号的无限叠加。以累加的方式来计算该信号中不同信号的频率、振幅和相位。所以本次测量就必须要使用FFT算法。总谐波失真表明功放工作时,由于电路不可避免的振荡或其他谐振产生的二次,三次谐波与实际输入信号叠加,在输出端输出的信号就不单纯是与输入信号完全相同的成分,而是包括了谐波成分的信号,这些多余出来的谐波成分与实际输入信号的对比,用百分比来表示就称为总谐波失真。所以在进行测试前我们就要先有个概念; 对于信号源输出的1k的正弦信号,总谐波失真的近似值越小,表示程序更精准,基本在1.0%以内。 对于信号源输出的1k的方波信号,总谐波失真的近似值大约是0.3887(前5次谐波计算的近似值)。 本资料有两套测量方案提供,一个是由输入衰减电路,陷波器,检波电路,单片机系统与LCD等组成,实现对信号的失真度的测量。陷波采用文氏桥有源陷波电路,使陷波深度大,结构简单,调试方便;检波电路采用专用集成电路,误差小,实现简单;单片机控制使测试过程简单方便,体现智能化;LCD与LED显示界面直观,友好等优点。 一套是以fft为核心的高精度测量信号失真度方案,本资料提供了fft的c语言算法,可以方便的移植调用就行。

2021-11-04

信号失真度测量装置.zip

任何连续测量的时域信号都可以表示为不同频率的正弦波信号的无限叠加。以累加的方式来计算该信号中不同信号的频率、振幅和相位。所以本次测量就必须要使用FFT算法。总谐波失真表明功放工作时,由于电路不可避免的振荡或其他谐振产生的二次,三次谐波与实际输入信号叠加,在输出端输出的信号就不单纯是与输入信号完全相同的成分,而是包括了谐波成分的信号,这些多余出来的谐波成分与实际输入信号的对比,用百分比来表示就称为总谐波失真。所以在进行测试前我们就要先有个概念; 对于信号源输出的1k的正弦信号,总谐波失真的近似值越小,表示程序更精准,基本在1.0%以内。 对于信号源输出的1k的方波信号,总谐波失真的近似值大约是0.3887(前5次谐波计算的近似值),本资料有两套测量方案提供,一个是由输入衰减电路,陷波器,检波电路,单片机系统与LCD等组成,实现对信号的失真度的测量。陷波采用文氏桥有源陷波电路,使陷波深度大,结构简单,调试方便;检波电路采用专用集成电路,误差小,实现简单;单片机控制使测试过程简单方便,体现智能化;LCD与LED显示界面直观,友好等优点。 一套是以fft为核心的高精度测量信号失真度方案,本资料提供了fft的c语言算法,可以方便的移植调用就行。

2021-11-04

DDS驱动板 PDF 信号发生器.zip

波形信号发生器,能产生某些特定的周期性时间函数波形(正弦波、方波、三角波、锯齿波和脉冲波等)信号,频率范围可从几个微Hz到几十兆Hz函数信号发生器在电路实验和设备检测中具有十分广泛的用途。本设计可以最高可实现30MHz频率输出。

2021-08-29

水位监测系统设计资料.zip

利用微处理器,设计并制作一个水位监测系统,用于水位监测等场合,实现水位的实时监测。水位测量精度0.5cm;(经过实物实测,精度在0.2cm),可自行设置水位报警的上下限,当水位达到报警上下限时进行报警;下位机可以显示水位测量值和水位报警上下限;设计能和计算机进行通信的标准接口。实现语音播报实时水位测量结果。

2021-08-29

极其优秀的元件库和封装库.zip

原理图库AD精品库Altium库PCB封装库3D库STM32AD封装库单片机库,包含各类芯片封装,在电子设计竞赛中必须使用,帮助设计。

2021-08-29

要想精通java必须看的经典书籍(强顶).zip

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

2021-04-22

stm32手写绘图板资料.zip

本手写绘图板系统以单片机控制为核心,系统由电源模块、电压信号采样模块、数据采集模块、数据处理模块、精密毫伏电压放大模块、检测电路模块、液晶显示模块等模块构成。系统基本原理是:覆铜板上变化的电压通过精密放大器放大后送给A/D转换电路进行数据采集, 根据AD采集的数据单片机对采集的数据处理计算出触点的坐标,并在液晶上显示。系统使用通用元器件较好的实现了题目要求的各项指标。并较好的实现表笔接触点坐标显示,图形显示,轨迹显示等功能。该系统具有可靠性好,性能稳定,精度较高等优点。

2021-04-22

stm32103c8t6核心板.zip

资料包含原理图,pcb文件,可直接打板使用。

2021-04-22

Keil黑色主题.zip

Keil的黑色背景主题字体颜色看起来比较舒服,喜欢的可以下载体验,包含替换主题教程。

2021-04-22

stm32抢答器制作资料.zip

基于嵌入式STM32单片机的4路抢答器系统设计,本系统设计主要分为硬件设 备和软件控制两大部分。外部硬件使用STM32单片机作为控制中心,用4个按键作为抢答输入,抢答开始后,抢答成功者的编号标识显示在屏幕上。资料包含原理图,pcb文件,程序源码。

2021-04-22

(2017年用电器识别装置国赛题)基于stm32_CS5463用电器电流电压功率检测.zip

本系统先将220V交流电通过电流电压互感器处理成几百毫伏的交流信号,然后由芯片CS5463转换成数字信号并通过串口通信发送给stm32单片机,可精密测量用电器电压,电流,电能,功率,频率参数最后由单片机处理并显示在LCD12864上。代码上可增加用电器设别功能判断,资料齐全,内含原理图,程序源码,pcb,芯片手册,视频演示。

2021-04-22

stm32F4_4.3寸频谱分析仪 - lib库.zip

基于快速傅里叶变换(FFT)的现代频谱分析仪,通过傅里叶运算将被测信号分解成分立的频率分量,达到与传统频谱分析仪同样的结果。这种新型的频谱分析仪采用数字方法直接由模拟/数字转换器(ADC)对输入信号取样,再经FFT处理后获得频谱分布图。在这种频谱分析仪中,为获得良好的仪器线性度和高分辨率,对信号进行数据采集时 ADC的取样率最少等于输入信号最高频率的两倍,亦即频率上限是100MHz的实时频谱分析仪需要ADC有200MS/S的取样率。

2021-03-08

VCA810程控自动增益AGC.zip

VCA810程控自动增益电路,原理图pcb文件,供参考。

2021-01-07

TLV3501-comparator.zip

具有关断模式的 4.5ns 轨到轨高速比较器,原理图文件和pcb,提供参考

2021-01-07

FPGA_STM32_spi.zip

基于状态机的FPGA与stm32进行spi通信,另包含32-32主从机通信。供参考

2021-01-07

FPGA_32测频.zip

基于FPGA的等精度频率采集,相较于stm32测频的基础上,实现测量频率的更高精度,通过串口与stm32进行数据传输,FPGA作为频率的测量工具,通过串口发送给stm32,在显示屏上显示。

2021-01-07

stm32F4示波器.zip

数字存储示波器的工作原理:输入的电压信号经耦合电路后送至前端放大器,前端放大器将信号放大,以提高示波器的灵敏度和动态范围。放大器输出的信号由取样/保持电路进行取样,并由A/D转换器数字化,经过A/D转换后,信号变成了数字形式存入存储器中,微处理器对存储器中的数字化信号波形进行相应的处理,并显示在显示屏上。

2021-01-07

F1双机spi通信.zip

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线。支持全双工通信 通信简单,数据传输速率块,SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。本设计提供详细stm32源码,需要自取。

2021-01-07

stm32等精度频率计

等精度测量的核心思想在于如何保证在实际测量门闸内被测信号为整数个周期,这就需要在设计中让实际测量门闸信号与被测信号建立一定的关系。基于这种思想,设计中以被测信号的上升沿作为开启门闸和关闭门闸的驱动信号,只有在被测信号的上升沿才将图1中预置的“软件闸门”的状态锁存,因此在“实际闸门”Tx内被测信号的个数就能保证整数个周期,这样就避免普通测量方法中被测信号的±1的误差,但会产生高频的标准频率信号的±l周期误差,由于标准频率f0的频率远高于被测信号,因此它产生的±1周期误差对测量精度的影响十分有限相较于传统的频率测量和周期测量方法,极大提高测量精度。本设计包含设计源码和原理图pcb文件,注释详细。

2021-01-07

多样式酷炫全彩爱心灯.zip

多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯多样式酷炫爱心灯

2020-03-14

空空如也

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

TA关注的人

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