FPGA
文章平均质量分 77
不想秃发
这个作者很懒,什么都没留下…
展开
-
基于OV7670摄像头的实时边缘检测系统
边沿检测系统系统介绍摄像头复位引脚保持至少3ms时间的低电平后拉高使得摄像头处于硬件复位状态,同时SDRAM模块初始化完成,在摄像头复位引脚保持2ms高电平后开始通过SCCB或IIC通信协议写入115个不同的寄存器地址数据,写入数据成功后摄像头初始化模块产生初始化完成信号传入SDRAM模块中读缓存模块并保持高电平表示SDRAM模块可读状态。初始化完成之后在DVP摄像头传输模块产生的24Mhz频率时钟驱动下摄像头产生PCLK时钟信号通过DVP通信协议传输16位图像,每生成一个16位图像数据,DVP摄像头传原创 2022-05-21 16:23:23 · 693 阅读 · 0 评论 -
基于OV7670摄像头视频传输
系统总设计图系统组成部分摄像头初始化模块摄像头初始化通过IIC协议或者SCCB协议写入寄存器改写数据。初始化之前满足的条件如图所示。IIC初始化模块代码module OV7670_INIT_IIC( Clk, Rst_n, Start, Iic_clk, Sda, Init_done);input Clk;input Rst_n;input Start; output Iic_clk;inout Sda;output reg Init_done;reg [7原创 2022-04-30 18:55:57 · 2184 阅读 · 0 评论 -
串口传图显示
串口传图使用串口通信协议传输一张图像到SDRAM存储后VGA协议显示到屏幕。工程设计图片生成 使用小梅哥资源中的Picture2Hex软件生成任意分辨率的图片(我这里选择640*480)。matlab将得到合适分辨率的照片使用matlab软件分析为文本便于串口发送(图片中每一个像素点都有具体的数值)。这里有两种方法:1 将图片转为RGB332 使用野火提供视频资源基于RS232的VGA显示中的matlab代码,一个像素点为8位数据使用串口发送。clc;原创 2022-03-07 16:08:31 · 3177 阅读 · 0 评论 -
VGA协议显示
基于VGA协议色彩显示原创 2021-12-24 15:47:46 · 1979 阅读 · 5 评论 -
串口读写SDRAM存储器
串口读写SDRAM同步动态随机存储器原创 2021-12-17 20:45:48 · 958 阅读 · 0 评论 -
FPGA SCCB协议
FPGA数据采集系统原创 2021-10-28 20:10:01 · 455 阅读 · 0 评论 -
FPGA IIC 协议 UART读写EEPROM存储器系统
FPGA IIC 协议原创 2021-10-27 21:43:18 · 1350 阅读 · 0 评论 -
FPGA入门红外遥控解码
FPGA -HT6221红外遥控解码编码协议中“1”和“0”的编码波形:(红外遥控发射头发出的波形)原创 2020-11-19 21:45:24 · 1181 阅读 · 2 评论 -
FPGA入门线性序列机与串行接口DAC驱动设计
FPGA入门线性序列机与串行接口DAC驱动设计电压跟随器:输入阻抗高输出阻抗低。TLC5620型DAC芯片内部结构当LOAD为高电平时,在每个CLK的下降沿,数据被移入DAC的移位寄存器中。当所有的数据位被移入完成后,LOAD被拉低,数据传输到第一级锁存器,由于LOAC一直为低电平不变,数据直接从第一级锁存器传输到第二级锁存器,第二级锁存器转入选中的DAC中。...原创 2020-11-19 21:44:59 · 933 阅读 · 0 评论 -
FPGA_SPI驱动设计
ADC驱动原理原创 2020-11-19 21:43:20 · 4915 阅读 · 0 评论 -
PFGA PLL(锁相环)
PFGA PLL(锁相环)将较低频率的片外芯片倍频得到较高的频率时钟信号。锁相环的一大作用就是对输入时钟进行分频和倍频,以得到更高或更低频率的时钟信号,以供逻辑电路使用。还可以对同一PLL生成的多个时钟的相位进行控制,以保证两个时钟域的逻辑工作时有确定的时间差。(两个或多个时钟的上升沿有时间差)PLL内部电路N:预分频单元,产生FREF参考时钟传输到频率检测电路PFD,PFD产生的信号传输到ChargePump产生电压信号,控制VCO压控振荡器产生时钟信号FVCO经过M倍频传回到PFD中。环路不断原创 2020-10-14 19:23:05 · 880 阅读 · 0 评论 -
FPGA入门嵌入式块RAM使用FIOF
FPGA入门嵌入式块RAM使用为FIOF(First In First Out)单时钟FIOF、双时钟FIOF(普通双时钟和混合宽度双时钟)由于单时钟FIOF只有一个时钟信号,所以可以在FPGA内部中使用单时钟FIOF用以其他模块数据的缓存。...原创 2020-10-13 22:01:37 · 522 阅读 · 0 评论 -
FPGA入门嵌入式块ram使用rom
嵌入式块ram使用为rom(只读存储器)使用PC端的signaltap ii软件与FPGA内部搭建的片上逻辑分析仪连接,时刻查看FPGA内部的信号。使用Quartus II软件中提供的In-System Memory Content Editor工具在线更改ROM中的数据为正弦波,然后用signaltap 软件进行查看。...原创 2020-10-12 21:38:24 · 848 阅读 · 0 评论 -
FPGA入门嵌入式 块RAM双口RAM使用
嵌入式 块RAM双口RAM使用对RAM(随机存储器)进行读和写操作。原创 2020-10-11 23:51:19 · 934 阅读 · 0 评论 -
FPGA入门串口接收
FPGA串口接收在Quartus II中,使用In system sources and probes editor工具,查看由PC端发送到UART接收模块接收到的数据.原创 2020-10-08 21:16:15 · 828 阅读 · 0 评论 -
FPGA入门——串口发送模块与验证
ISSP调试工具原创 2020-09-30 19:38:58 · 545 阅读 · 1 评论 -
FPGA入门——数码管
数码管显示1.查找表:4位输入选择确定状态,输出确定状态的8位数码管值段码。分频:从系统时钟分频控制sel信号2. 8选1多路器:(数据选择器)每一个数码管都给4位状态输入数据data_in,8个数码管共32位输入数据[31:0]data_in ,假如8个数码管显示12345678,则data_in[3:0]中的状态值为1,数码管0显示data_in[3:0]的状态值;data_in[7:4]中的状态值为2,数码管1显示data_in[7:4],中的状态值;等等。使用sel信号通过左移移位每1ms选原创 2020-09-24 22:33:24 · 2761 阅读 · 0 评论 -
FPGA入门五按键消抖
按键消抖实验按键消抖四种状态:1.高脉冲稳定状态 2.按下消抖状态 3.低电平稳定状态 4.键起消抖状态边沿检测电路:两个寄存器原创 2020-08-23 17:39:21 · 862 阅读 · 0 评论 -
FPGA入门四简单状态机
状态机初步verilong文件module Hello(Clk,Rst_n,data,led); input Clk; input Rst_n; input [7:0]data; //判断输入的字符字母ascall码 8位 output reg led; //定义状态 localparam Scan_H = 5'b0_0001, Scan_e = 5'b0_0010, Scan_la = 5'b0_0100, Scan_lb原创 2020-08-19 16:21:12 · 349 阅读 · 0 评论 -
FPGA入门三BCD计数器
BCD计数器编写4位计数器module BCD_counter(Clk,Rst_n,Cin,q,count); input Clk;//时钟基准端口 input Rst_n;//复位端口 input Cin; //脉冲一次计数一次 计数器进位输入 output [3:0]q;//计数器计数值输出 output reg count;//计数器进位输出 reg [3:0] cnt; //定义计数器寄存器 always @(posedge Clk or ne原创 2020-08-15 17:13:15 · 1602 阅读 · 0 评论 -
FPGA入门二 3—8译码器
3—8译码器1.逻辑文件module third_eighth_class(a,b,c,out); input a; input b; input c; output reg [7:0]out; always @(a,b,c)begin //当a,b,c信号变化时,always语句触发 case({a,b,c}) //位拼接 {} 3'b000: out = 8'b0000_0001; 3'b001: out = 8'b0000_001原创 2020-08-13 17:45:00 · 735 阅读 · 0 评论 -
FPGA入门——蜂鸣器
定时器计数器定时器:设置定时值,开始定时器之后,计数器开始计数,计数达到定时值后产生计数满标志信号,提示设定的时间到达。计数器:计数时钟脉冲的上升沿或者下降沿的次数,或等待指定次数的脉冲波形信号出现后,产生响应信号。...原创 2020-08-06 22:55:56 · 3991 阅读 · 0 评论 -
FPGA入门——纯组合逻辑电路
FPGA纯时序逻辑电路1 .二选一选择器module ux2( //所有的verilog都是从module开始的 module 模块名 (端口名1,端口名2) a, b, //端口名 sel, out);//端口定义 input a; input b; //这里只用输入 输出端口 无inout输入输出端口 input sel; output out;//端口功能 //assign out = (sel == 1)? b:a; //assig原创 2020-08-02 10:43:46 · 1514 阅读 · 0 评论