FPGA
王慕葵
心之所向,素履以往。
展开
-
取经人在开始
辗转反侧很久,又是重新再来。一旦坏习惯的开始,就需要花很长时间慢慢的修正。—警言总结:1.集创赛:在集创赛中,自己做的是图像部分。在摄像头部分中,卡了半天。这由于正点原子官方中,他们家自己的摄像头是带有晶振,对于我们自己使用的摄像头,是需要我们FPGA给他输入一个晶振。在图像处理部分,一开始我们就需要分两帧图像做差,但是如何将两帧图像存储呢,于是在阅读一些代码后发现,我们可以关掉sdram乒乓操作后,就可以在一个bank的中存取,我们将高8位存入前一帧的灰度图像,低8位存入后一帧的灰度图像。这个高原创 2021-09-19 00:23:16 · 167 阅读 · 0 评论 -
ov5640摄像头
摄像头的信息对于摄像头的设置,就各种各样的,白平衡,分辨率。有效采样2592*1944=5038848像素点管脚作用类型pwdn掉电管脚,高有效inputreset低电平有效,复位inputsiocsccb时钟inputsiodsccb数据i/ovsyncdvp场同步信号i/oherfdvp摄像头输出的有效信号i/oxvclk系统时钟inputpclkdvp的像素时钟i/od*采集的数据i/o原创 2021-03-16 19:00:57 · 4149 阅读 · 3 评论 -
sdram总结
对于sdram,这是掉电会使数据消失的存储器。是通过电容来工作的。sdram里面会有几个bank,每次存储数据的时候,先选bank地址,在进行对其中的行,和列来选则。我们对于一个器件来说,了解使用说明手册,通过阅读,sdram需要设置初始化的,之后就是进行写,和读操作。但是对于这样掉电会消失的数据存储器,我们就需要对其中sdram,定时进行充电,这就是刷新。对其中sdram是一个器件,于是我们需要在fpga上弄出一个SDRAM控制,让控制器,对它进行初始化,刷新,读和写。要书写控制器,我们首先对它进行原创 2021-03-14 15:45:24 · 790 阅读 · 0 评论 -
ps2遥感使用
使用板子:安路开发板对其板子要求,不能够带满10v电压,采用遥感输入3.3v电压,pcf8591输入5v电压。首先要使用pcf8591,就需要看它使用手册,里面的芯片地址端为:1001+3位共地端+w/r,协议以iic主,采取读取pcf8591的数据,主机发送送器件地址后,之后一直采取遥感数据,不需要数据地址端。此次问题注意就是遥感带3.3v,pcf8591带5v,即可使用。观看数据方法,需要连接在led上,如果采取发送uart,会一直发送数据,不建议使用。module top( clk原创 2021-02-05 19:41:58 · 615 阅读 · 0 评论 -
FPGA图像采集
两个总线:DVP,SCCB总线DVP(传输数据流):是用于早期的图像采集,mipi这些都是应用手机,对于FPGA,DVP则是比较良好的传输协议。信号:PCLK,HREF,VSYNC,DATA(8位数据).与FPGA交互的信号,vsync,两个脉冲之间,产生hraf的高电平信号,则发送data数据,每一次hraf的高电平信号保持的时间,则是传输一行像素的颜色数据。对于色彩的识别,rgbg’rb这是四个像素块,一个像素只对一个颜色敏感,在4个像素块中进行运算,得出是那种颜色,原创 2021-01-30 19:06:28 · 1127 阅读 · 0 评论 -
FPGA竞赛了解
对于Robei杯,可重构机器人,以及robeiEDA软件的了解,设计流程大致是,在软件创建一个模块图形,给其声明管脚,对其模块在进行书写代码,但是对于输入输出信号就已经定死了,可自行进行仿真激励,对于模块引用,就是模块相连。很方便。过各种传感器,通信与控制,以及摄像头进行视觉识别,对于此次设计,协议则通过需要通过所学过uart,iic,spi协议进行传输,机器人的控制则是需要舵机,步进电机,还有一些很很多的传感器,温度,湿度,有了协议有了传感器,就有了FPGA与这些传感器的连接,处理很多事情。你有你想不到原创 2021-01-28 19:14:00 · 837 阅读 · 0 评论 -
数模转换了解
今天学习对于数模转换题目理解,AD,即为模拟信号转换为数字信号,DA,即为数字信号转为模拟信号,对于这次项目有pcf8591,和一个AD7705,都是AD,对于学习这些模块,都需要看学习手册,通过看一下管脚,对于spi协议理解,有四种协议状态。...原创 2021-01-27 22:51:15 · 180 阅读 · 0 评论 -
iic重新书写以及了解spi
此次iic,完全使用小梅哥的iic协议,对于iic仿真采用模拟EEPROM的存储器。与之前iic的写不一样的点。对其中,数据的采集,改变都是在稳定电平的中间。并在稳定的电平中间值的代码采用的,<<。always @(posedge clk_50m or negedge rst_n) begin if(!rst_n) begin scl_high <= 1'b0; scl_low <= 1'b0原创 2021-01-26 17:58:58 · 159 阅读 · 0 评论 -
iic理解修改
今天看了小梅哥的视频,对于iic的协议的重新认识,对于iic协议,在以前就是用在电视机上。可以通过调节,控制电子扫描范围等等一系列的。首先,对于协议来说,就是两个芯片相互交互的规则,无法修改,约定俗成。一个主控芯片,一个是从控芯片。需要定位好。对于昨天写的iic协议中,仅仅只有一个协议,自己连器件交流中,都没有区分开,昨天写的是一个对于eefrom,输入的scl,对于从机是输入,而对主机就是输出,需要好好理解,昨天写的从机的协议。对于传输协议,一定要最先理解,谁是发送,谁是接收,如何发送,发送的标记,原创 2021-01-25 20:24:20 · 248 阅读 · 0 评论 -
第十天 iic协议
今天学习的iic的协议,没用别的模块连接此iic协议,只有sda表示出的数据波形。module iic( clk, rst_n, key_wr, key_rd, data_in, scl, sda, data_out );input clk ;inpu原创 2021-01-24 20:05:01 · 204 阅读 · 0 评论 -
第九天 多字符的显示以及python条件判断
module vga_top( clk, rs232_rx, rst_n, key_1, key_2, vga_hs, vga_vs, vga_rgb, w_clk ); input clk ; input rs232_rx; input rst_n ; input key_1 ; input key_2 ; output vga_hs ; output vga_vs ; output [23:0] vga_rgb; output w_clk ;原创 2021-01-23 18:38:53 · 160 阅读 · 0 评论 -
第八天uart正确连接到vga多字符显示,问题总结
今天对于uart正确认识,对于安路的板子uart_rx,uart_tx端口反了,以及led灯是低电平有效。以后需要仔细观看板子的电路图,这次分模块进行的测试以及对于仿真图的好好使用。今天学习到,凡事都有有rst的引入,让它有初始值,如果没有初始值,对于一些位宽很长的数据,会在之后数据分赋值导致不可预估的后果。数据不稳定。所以需要我们很好的设计信号开始时候的数据。但是还有的一点是一些位数没有对齐,需要自己对其中条件修正。发送你好王鑫鑫FPGA!收到这样。module vga_display(原创 2021-01-22 19:43:36 · 471 阅读 · 3 评论 -
第七天 多字符显示对于uart识别连接
module vga_display( clk, data, vga_clk, rst_n, byte, done, state, x_pixel, y_pixel, pixel_data, add );input clk ;input [15:0] data ;input vga_clk ;input rst_n ;input [9:0] x_pixel ;input [9:0] y_pixe原创 2021-01-21 18:35:36 · 116 阅读 · 0 评论 -
第六天 多字符的全部显示,以及将屏幕分成两块,python学习
对于多字符全部显示对于昨天正确显示后,对其中代码进行扩充。reg [79:0] char [15:0];reg [79:0] char1 [15:0];reg [7:0] cnt ;reg [8:0] cnt2;reg [7:0] cnt3;reg [3:0] cnt4;wire [7:0] max;wire a;assign a= 'd1;assign max = 'd79;always@(posedge vga_clk or negedge rst_n) if(!原创 2021-01-20 19:44:27 · 263 阅读 · 0 评论 -
第五天 对于多字符的调整,以及coe文件创立,补充python
今天休息了。大致与学长研究了多字符显示,中字符从rom读取后显示问题。通过学习了ise仿真之后发现,只有当rom字符地址改变时,原地址的中第0位才会输出来data值。于是自己通过拓宽了状态机的一位,让它在第零位时不取data值,而在第一位取data值。module vga_display( data, vga_clk, rst_n, x_pixel, y_pixel, pixel_data, add );input [15:0] data ;input原创 2021-01-19 20:12:30 · 263 阅读 · 0 评论 -
第四天,对于PYNQ——Z2下板子,以及对于PYTHON理解
今天首先学习了,对于PYNQ板子的学习,下板子实验,对于pynq需要有以太网连接,和安装线的连接,以太网不需要网络也可以,有网络可以进行对安装包更新,完成对PYNQ的镜像,这次不同的是,不是以vivado驱动,是要以jupyter notebook 进行驱动。实验下板子实验出来流水灯,发现PYNQ是真的厉害,仅仅一个灯就可以闪亮不同的颜色,实在是太厉害了。对于让PYNQ上网让它ip和电脑ip在一个范围内还是出错的,以及让板子连接在路由器上,也是出错了。换另一种对路由器设置同一样的增加ip也是出错。vga原创 2021-01-18 19:26:53 · 424 阅读 · 1 评论 -
FPGA第三天
Anaconda(蟒蛇)介绍python3 会一直更新 python2 已经稳定不更新anaconda 一个具有很多库,并且带有python3,仅仅有python3是不够的,他是一个python大礼包,自带各种库,还不停更新,如果只有python那他就一个光杆司令,没有指挥的东西。还有在其他下载的地方在网页版可以写python的环境,蟒蛇anaconda安装此软件会惹乱别的python,需要卸载别的conda list 查看安装的库1.在anaconda prompt通过pip可以自己下载2原创 2021-01-17 19:30:23 · 245 阅读 · 2 评论 -
分享的第二天
对于多字节的uart接收多字节的数据,传送到rom,再将rom里面的数据给到vga。问题:通过串口接收,发送到板子的数据,在板子怎么能够取模。取模不是应该在电脑进行图形描述才可以生成对应的数据。总结:今天学习了,vga显示模块显示中的黑块移动https://blog.csdn.net/qq_41467882/article/details/87078721每次对于黑块的移动,使用了1秒计时器,每一秒,进行(左上角的)坐标点,加减,之后对于在一个规定的范围内显示黑色的区域,每一秒随着(左上角的)坐标原创 2021-01-16 20:24:06 · 164 阅读 · 0 评论 -
FPGA学会分享
1.启发与灵感2.方法与进度3.结果与心得4.管理与协作在学FPGA时,喜欢与坚持,面前有时容不了,划水,伸手党。对于这些导致自己对分享的模糊,开始讨厌分享一些自己学得的心得。当我不在跟别人分享的时候,慢慢地发现自己的编程能力下降了,不像之前之前思想很活跃,能够很独立的思考,自己慢慢的敲下。现在而是第一时间就去在csdn上找代码看代码,而不是自己写代码,自己去精进。在我看到了芯片工程师老石,介绍的《SHOW YOUR WORK》,对于这些慢慢很有深有体会,有时你不需要很厉害就可以分享,这不是不骄原创 2021-01-15 21:02:57 · 165 阅读 · 0 评论