- 博客(7)
- 收藏
- 关注
原创 fft的FPGA实现
首先离散时间傅里叶变换的公式是令Wn=e^(-j2pi/N),则X[k]可以表示为按时间抽取基2的FFT算法的实现不多介绍,自己查资料。下面给出N=8点的示意图基于时间抽取的FFT算法和按频率抽取的FFT算法的输入数据的顺序是不同的,所以在一开始要在fpga中进行码位倒置。这里简单说一下,第一级的时候每组有2个数,一共有4组,每组要进行1次蝶形运算。第二级每组4个数,一共2组,每组进行...
2020-04-11 21:01:51 4954 2
原创 dds与fir低通滤波联合仿真
一.DDSDDS的原理就是把正弦波数据存在rom里,然后按照一定的速率输出。比如设定rom的宽度为8位,深度为256。时钟的采样速率为50M,则输出的正弦波频率为:f_out=50M/256=195KHZ实现调频就可以从中抽出数来输出,比如隔一个输出一次,一个周期只有128个点就可以把频率扩大一倍。或者一个数输出2次就可以把频率缩小一倍实现调频。所以定义一个16位的计数器,高八位为rom的...
2020-03-16 15:31:25 2743
原创 TLV1544驱动
TLV15444是十位,四通道ADC。使用SPI串行接口与控制器进行链接。芯片有一个器件选择脚CS(低电平有效),一个IO时钟管脚,数据输入管脚(DATA IN),数据输出管脚(DATA OUT),组成外设接口与微控制器进行通信。A0-A3为模拟输入脚,DATA IN为八位数据输入脚。IO CLK的频率最高可以达到10Mhz,在不同的工作电压和输入阻抗和输出阻抗的情况下,支持的最大时钟频率有差异。...
2020-02-26 08:31:01 624
原创 基于FPGA的dac控制
用TLC5620芯片,TLC5620内部有4个DAC,全部都是8位电压输出型。每个DAC有一个高输入阻抗的参考电压输入端口,每个DAC可以输出一倍或者两倍的参考电压与GND之间的电压值。TLC5620接受11位数据,2位的DAC选择位,8位的数据位,1位的电压倍增控制位。先有load控制将信号存储到latch中,再由ldac控制,将存储的信号交由DAC输出。clk是位串行接口时钟,每个时钟的...
2020-02-22 17:38:08 5870
原创 FPGA串口收发
基于FPGA串口发送与接收RS232协议的时序图如下在这里可以看到,以低电平为开始的起始位,高电平为截止位,中间传输八位的数据。传输的速率分为9600bps,19200bps与38400bps等,例如9600bps,系统时钟为1M用{(1/9600)x10^8}/2再减1,就可以得到9600的波特率。这里只列出几种,当系统复位时默认为9600bps,因为最为常用。从时序图上看,每一位数...
2020-02-22 14:13:07 905
原创 Moelsim中无法仿真的问题
Modelsim中没有自动显示出仿真波形最近在使用quartus编写verilog时发现编译通过了并且无报错的情况下,RTL仿真没有自动显示出波形。发现是testbench文件中文件名和module后的文件名不一致导致的,附上以led为例的解决办法。此时可以看到,文件通过了编译。但是当我点击RTL仿真之后却看不到仿真界面。可以看到,我的module名为verilog1,而testben...
2020-02-06 21:27:32 942
原创 串并联RC电路的频率响应
一、串联RC电路电容的阻抗为1/jwc,可以简单认为y(t)对应I/jwcx(t)对应为I*(R+1/jwc)H(jw)=(I/jwc)/(I*(R+1/jwc))=1/(1+jwRC)二、并联RC电路可简单认为y(t)为R2与C2的并联,y(t)对应为I/(1/R2+jwC2)x(t)对应为I/(1/R1+jwC1)+I/(1/R2+jwC2)H(jw)=(R2/(1+jwC2R...
2019-08-20 17:20:39 8068
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人