- 博客(22)
- 收藏
- 关注
原创 FPGA实现PID算法
PID 控制器表达式如下(引用某硕士论文 《基于FPGA的PID控制器研究与实现》): 其中,Kp为比例增益,Ti为积分时间常数,Td为微分时间常数,u(t)为控制量,e(t)为偏差。在数字控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。本文使用并行结构来实现。具有延时小,计算速度快的特点,但需要资源比较多。利用图3.2所示并行结构实现方法 ,进一步将3.8式分解:...
2020-06-28 16:11:03 11928
原创 基于硬件TCP/IP控制器(W5500)的高速采样及传输——MCU(STM32-DMA(SPI,AD))
到此为止,以太网外部平台搭建成功,剩下来的就是根据自己需求以及W5500手册更改野火提供程序。
2021-05-12 18:02:24 3245 1
原创 链表与链表项
逻辑结构上一个挨一个的数据,在实际存储时,并没有像顺序表那样也相互紧挨着。恰恰相反,数据随机分布在内存中的各个位置,这种存储结构称为线性表的链式存储。由于分散存储,为了能够体现出数据元素之间的逻辑关系,每个数据元素在存储的同时,要配备一个指针,用于指向它的直接后继元素,即每一个数据元素都指向下一个数据元素(最后一个指向NULL(空))。链表中数据元素的构成每个元素本身由两部分组成:1、本身的信息,称为“数据域”; 2 、指向直接后继的指针,称为“指针域”。这两部分信息组成数据元素的存储结构,称之..
2021-04-15 11:49:07 216
原创 DSP加密方式
一、显性加密1)选中“Debug”下拉菜单中“Debug Configurations”。2)依次选择“Program”—“Load symbols only”—“Apply”— “Debug”。3)选择“On-chip Flash”,在“Key 0 ~ Key 7”中写入密码。注意:密码如果都为“0”,则无法解密。如果密码都为“F”,则加密无效。4)点击“Program Passwrod”。CCS会提示如下窗口。5)点击“Lock”。CCS会提示如下窗口。此时加密成功。加密之后无法通过
2021-04-02 21:38:44 3676
原创 DSP与FPGA间SPI通信(DSP为主、FPGA为从)
DSP芯片(master):TMS320F28069FPGA芯片(slave):Spartan-xc6slx25-2ftg256SPI协议:SCK:5MHz数据长度:8ByteFalling Edge Without Delay.The SPI transmits data on the falling edge of the SPICLK and receivesdata on the rising edge of the SPICLK.由以上时序可以看出,由于DSP为SPI主机,FP
2021-04-02 21:08:48 2827 4
原创 LDO中输入、输出电容的重要性
首先LDO原理,以TPS76933为例,下面是一个PMOS LDO最基本结构框图。我们可以看到LDO主要由PMOS、运放、反馈电阻和基准参考电压构成。LDO主要工作流程是将输出电压通过分压电阻分压,Va和基准参考电压做比较,通过运放输出Vg来调节输出。当OUT由于负载变化或其他原因电压下降时,两个串联分压电阻两端的电压也会下降,进而A点电压下降,A点的电位和Vref电位相比较,误差放大器会减小它的输出,使得G电位下降,Vs电压不变,进而使得Vgs|的压差增加,输出电流Id会增加,输出电流Id增加就会使.
2021-03-16 18:22:15 5236
原创 Spartan6系列之SelectIO应用
selectIOn逻辑资源被组合在一个IO Tile内部,如下图所示,在单端模式中,master I/O buffer驱动P Pad,slave I/O buffer驱动N Pad;在差分模式中,master I/O buffer和slave I/O buffer组合起来使用,可以完成串并或者并串转换。
2021-01-21 11:43:09 524
原创 FPGA内部IP核DDS
项目当中需要正弦信号与余弦信号,首先想到了DDS芯片,例如AD9833、AD9834。由于还需要用FPGA 做一些数据处理,后来干脆直接用FPGA 内部的DDSIP核,同时根据IP核内部的相位累加端口,设置触发信号,使得触发信号更加准时,并且通过PSD 算法计算有效值,相位差更小,精度更高。首先了解DDS的原理...
2020-07-29 17:31:22 2205
原创 FPGA实现数字相敏检波(DPSD)
相敏检波利用互相关原理,能够十分有效地从噪声中提取出与参考信号具有相关性的待测信号的幅度和相位信息,同时忽略不相关的背景噪声的干扰。一、数字相敏检波原理待测信号:x(t)为待测信号s(t)与系统噪声n(t)的叠加,表达式为: r(t)为与待测信号s(t)同频率的参考信号,在r(t)与s(t)的相位关系不明确的情况下,欲测得s(t)的幅度A与相位差Θ,需要采用两组正交的参考信号r1(t)和r2(t)同时完成相敏检波流程。假设参考信号幅值为1,相位为0,既:经过运算:若认为噪声为随机噪声
2020-07-29 17:13:10 4412 5
原创 LM5088 输出不稳定 SS端(软启动),Css电容
如下图 ,在项目中使用LM5088,无论是否增加负载,输出都稳不住,输出电压一直为15V~35V(输出电压)锯齿波抖动,其中检查的地方有:1、输出电压是否超过输入电压。2、Comp的值,Romp的值。3、MOS管控制端频率。经过测试发现:MOS管控端频率与输出电压频率基本相同为8.2HZ。经过更改SS端电容,将10nf电容改为33nf,83nf,输出电压稳定。测试MOS管控制端电压如下图。...
2020-07-15 14:59:53 1637
原创 DC-DC 电源芯片的基本原理和组成
一、Buck变换器(降压型)CCM (ContinuousConduction Mode),连续导通模式:在一个开关周期内,电感电流从不会到0。或者说电感从不“复位”,意味着在开关周期内电感磁通从不回到0,功率管闭合时,线圈中还有电流流过。DCM,(Discontinuous Conduction Mode)非连续导通模式:在开关周期内,电感电流总会会到0,意味着电感被适当地“复位”,即功率开关闭合时,电感电流为零。BCM(Boundary Conduction Mode),边界或边界线导通模式
2020-07-09 15:18:39 11895
原创 PWM转 DA
pwm位宽是分辨率,也是理论上能趋近的精度。对于PWM外加RC滤波,实现D/A功能,PWM周期应该以短为好,周期长了,RC滤波很难滤干净,会有纹波存在。另外,周期长了,电容的漏电流将严重影响D/A转换精度,一般宜选用低漏电流的电容为好,如聚苯乙烯电容、钽电容。1阶RC滤波,幅频特性为:-10lg[1+(f/fp)^2]1,PWM频率为281.25Khz,那么一次谐波频率就是281.25Kh...
2020-04-26 16:02:37 2935
原创 带宽与频率关系
信号带宽:信号频谱的宽度,也就是信号的最高频率分量与最低频率分量之差。一个由数个正弦波叠加成的方波信号,其最低频率分量是其基频,假定为f=2kHz,其最高频率分量是其7次谐波频率,即7f =7×2=14kHz,因此该信号带宽为7f - f =14-2=12kHz。比如一个信道允许的通带为1.5kHz至15kHz,其带宽为13.5kHz,上面这个方波信号的所有频率成分当然能从该信道通过,如果不考...
2020-04-26 15:23:41 21296
原创 FPGA定点数运算及其解析及运算
FPGA内 CORDIC核计算ArcTan。 Xin、Yin输入为(integer width of 2bits(1QN format)): -1<= Xin<=1; -1<= Yin<=1;输出为(integer width of 3bits(2QN format)): -Pi <= Phase_out <=Pi。
2020-04-17 10:25:48 1829
原创 FPGA IP软核之Microblaze_SPI接口(AD9833)
由于要使用IP软核Microblaze的SPI接口驱动DDS芯片AD9833,系统自带SPI接口程序实在太乱了,使用的AX309开发板,开发板例程SPI接口是FLASH读写,改起来也很费劲,所以干脆自己根据Microblaze手册编写SPI驱动。
2020-03-31 22:13:38 3796 7
原创 FGPA_Microblaze UART中断
Microblaze之UART中断 FPGA自带Microblaze底层库函数位置:XX\Xilix\14.7\ISE_DS\EDK\sw\XilinxProcessorIPLib\drivers。由于底层所给函数发送与接收都采用中断,所用库函数比较复杂 ,有些更改涉及底层函数,涉及头文件:#include "xuratlite.h"#include "xuarttlite_...
2020-03-31 16:45:41 1852
原创 FPAG Microblaze PWM 定时器
FPGA_Microblaze PWM 驱动由于Xilinx底层库的定时器没有PWM例程,调试过程中费了不少劲。生产PWM需要两个定时器同时工作,一个控制频率,一个控制占空比,位数可通过硬件设置。#include "xtmrctr_l.h"#include "xparameters.h"#include "platform_config.h"void timer_init(void)...
2020-03-31 12:11:47 507
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人