- 博客(17)
- 收藏
- 关注
原创 用FPGA设计超混沌数字电路
超混沌Lorenz系统是对经典Lorenz系统的扩展,它是由爱德华·诺伦·洛伦兹(Edward Norton Lorenz)发展而来的一种非线性动力学系统。目前有两种实现方法,一种是基于欧拉算法、龙格库塔的离散算法编写底层硬件代码实现混沌系统,另外一种是使用Matlab 的DSP BUILDER库搭建混沌数字电路,自动生成verilog代码。介绍:由于模拟电路元器件的参数会受温度、老化等环境原因影响,而混沌系统又是对初始值极度敏感的系统,因此使用模拟电路实现混沌系统的效果非常有限。
2025-02-27 13:42:32
374
原创 用FPGA设计HDMI
注意:ftf时钟与hdim传输时钟为10倍关系,在本实验中,ftf控制时钟为25Mhz,即像素时钟为25Mhz,根据计算公式 “单通道速率 = 像素时钟 × 10” 得到 hdim传输信号速率为250Mhz。数据1屏蔽 (TMDS Data1 Shield)数据2- ( TMDS Data2-)数据1- ( TMDS Data1-)数据0- ( TMDS Data0-)数据2+ (TMDS Data2+)数据1+ (TMDS Data1+)数据0+ (TMDS Data0+)
2025-02-24 17:19:14
495
原创 用FPGA驱动AD-TLC549芯片
片选信号CS置高,每次转换不超过17us,开始于CS拉低后的第八个I/O CLOCK的下降沿,没有转换完成标志,没有启动控制端,只要读取前一次数据后就马上可以开始新的AD转换,转换完成进入保持状态。当CS为低时,AD前一次转换的数据A的最高位A7立马出现在数据线DATA OUT上,其余七位在I/O CLOCK的下降沿依次由时钟同步输出,,所以可在I/O CLOCK的上升沿读取数据,从第8个 I/O CLOCK 信号的。转换,其转换速度小于 17us,最大转换速率为 40Khz,4MHZ典型内部。
2024-10-09 11:32:08
400
原创 用FPGA设计频率计
原理:运用等精度测量法进行测量,被测时钟信号的时钟频率fx的相对误差与被测时钟信号无关;增大“软件闸门”的有效范围或者提高“标准时钟信号”的时钟频率fs,可以减小误差,提高测量精度。介绍:频率测量在电子设计领域和测量领域经常被使用,相较于传统的模拟频率计,数字频率计具有更高的测量精度、更广的测量范围以及更强的抗干扰能力。运用:对实际闸门下被测时钟信号和标准时钟信号的时钟周期进行计数。实际闸门下被测时钟信号周期数为。实际闸门下标准时钟信号周期数为。,设被测信号时钟周期为。,设被测信号时钟周期为。
2024-05-25 11:20:26
1347
原创 用FPGA设计电压表
介绍:通过外部挂载的高速AD/DA板卡的A/D部分将输入其中的模拟信号转换为数字量,然后将数字量传入FPGA,FPGA通过计数转化为电压数值,然后通过数码管显示转化后的电压值,实现模拟信号的电压测量。当ADC芯片采集后的电压数值ad_data位于0 - 127范围内,表示测量电压位于-5V ~ 0V范围内,换算为电压值:Vin = - (运用:以AD9280芯片为例,芯片位宽为8位,模拟电压输入范围为-5v~+5v,即电压表测量范围,最大值和最小值压降为10v,分辨率为。101代表电压5≤V<6。
2024-05-24 10:45:36
1280
原创 用FPGA设计DDS信号发生器
DDS原理:当我们对正弦波形进行采样时,每个完整周期被均匀地划分为个采样点,这些点按顺序标记为1至。为了输出这样的波形,每当参考时钟产生一个脉冲时,就会输出一个采样点。完成一个完整的正弦波周期输出需要个时钟周期,因此输出的波形频率可以表示为除以,即在这个采样和输出过程中,相位累加器起着关键的作用。它类似于一个计数器,每当时钟脉冲到来时,相位累加器的值就会增加。在基础情况下,相位累加器的步进为1,并输出对应的采样点。当达到m时,相位累加器会回绕到1,并开始下一个周期的输出。
2024-05-21 20:55:59
5560
2
原创 用FPGA设计TFTLCD液晶屏幕
RGB接口TFT-LCD时序图:TFT-LCD显示屏时序参数:(本实验以RGB888接口进行设计)模块框图:(本实验参考了野火的TFT_LCD液晶屏驱动设计与验证)链接:6. TFT_LCD液晶屏驱动设计与验证 — [野火]FPGA Verilog开发实战指南——基于Altera EP4CE10 征途Mini开发板 文档 (embedfire.com)tft_ctrl模块代码tft_pic模块代码tft_colorbar模块代码
2024-05-20 01:07:31
1003
原创 用FPGA设计矩阵键盘
将P口的高四位(四个行)设置为低电平,将P口的低四位(四个列)设置为高电平。读取P口的低四位,检查哪一位从高电平变为低电平。是给某一行/某一列,高电平,其余七个全部为底电平,这时候读取电平变换,有电平变高表示按键按下,将P口的高四位(代表四个行)设置为高电平,将P口的低四位(代表四个列)设置为输入口;等待按键被按下,读取P1口的低四位,检查哪一位从低电平变为高电平。实验目的:设计一个可以读取按键按下数据的矩阵键盘。(本实验用的是逐行/逐列扫描方式)key4x4模块代码。
2024-05-15 22:49:57
1141
原创 用FPGA驱动HC-SR04超声波测距模块
HC-SR04 超声波测距模块是非接触式距离感测设备,具备2cm至400cm的测距范围。其测距精度高达3mm,使得在各种应用场景中都能实现精确的距离测量。模块由超声波发射器、接收器以及控制电路组成。确保IO 口 TRIG 信号的高电平持续时间至少为 10us模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。使用计时器或计数器来精确测量 ECHO 信号的高电平时间。
2024-05-14 22:03:52
763
2
原创 用FPGA设计8421BCD编码
运用介绍:8421BCD码中的“8421”表示从高到低各位二进制位对应的权值分别为8、4、2、1,将各二进制位与权值相乘,并将乘积相加就得相应的十进制数。例如,8421BCD码“0111”,0×8+1×4+1×2+1×1=7D,其中D表示十进制。bcd_8421模块代码(该代码参考了野火的8421bcd编码)
2024-05-14 20:36:45
1471
2
原创 用FPGA设计数码管
数码管显示原理:通过其内部的发光二极管被激活来发出光亮。根据公共端连接的是阳极还是阴极,可以进一步细分为共阴极数码管和共阳极数码管。共阳极数码管:在这种数码管中,所有发光二极管的阳极(正极)都连接在一起,并且通常连接到电源的正极(VCC,即高电平)。为了点亮数码管上的某个特定段(数字或字符的一部分),我们需要在该段的阴极(负极)上施加低电平信号,从而使该段的二极管导通并发光。共阴极数码管:与共阳极数码管相反,共阴极数码管的所有发光二极管的阴极(负极)都连接在一起,并通常接地(GND,即低电平)。
2024-05-09 15:12:11
1244
1
原创 用FPGA设计呼吸灯
通过脉冲宽度调制(PWM)实现,即通过调节占空比来对模拟信号电平进行数字编码,进而控制高电平时间。breath_led 模块代码 (该代码参考了野火的呼吸灯代码)实验目的:用一个按键可以开关控制流水灯的流动与停止。key_breath_led 模块代码。
2024-05-08 23:23:55
784
1
原创 用FPGA设计流水灯
控制led,依次让led进行亮灭,实现流水灯效果。实验目的:用一个按键可以开关控制流水灯的流动与停止。wat_led 模块代码。
2024-05-08 19:11:45
352
1
原创 用vscode辅助开发FPGA(Top-down设计)
在文件夹中创建一个.png格式的文件,Draw.io Integration 插件会自动启动。这样就可以开始绘制模块层次图形了进行 Top-down的图形设计了。Draw.io Integration 插件提供绘图环境。创建.json或.txt格式的文件后,在里面进行代码编辑。Waveform Render 插件提供波形绘制环境。可以在便笺本中添加常用的图型,方便快速的绘图。进入该绘图环境后,选择"+更多图形"也可以用该插件进行波形图的绘制。也可以用该插件生成电路图。,第一次打开时,要先按。
2024-05-06 15:47:09
642
原创 FPGA设计要点
例如,000,001,010,011,100,101,110,111。例如, 000,001,011,010,110,111,101,100。由于我知识有限,如果在表达或理解上存在一些错误或不足之处,我诚挚地希望大家能够不吝指出,让我们共同学习、共同进步。独热码:直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种。状态机 设计:明确需求和场景,合理的定义状态和触发事件,采用三段式的方法进行状态机代码编写。为:001,010,100。例如,有6个状态的独热码。
2024-05-06 09:47:06
992
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人