全高清实时视频显示嵌入式系统设计与调试

上传人:daj****de2 文档编号:178666295 上传时间:2022-12-29 格式:DOCX 页数:6 大小:205.96KB
收藏 版权申诉 举报 下载
全高清实时视频显示嵌入式系统设计与调试_第1页
第1页 / 共6页
全高清实时视频显示嵌入式系统设计与调试_第2页
第2页 / 共6页
全高清实时视频显示嵌入式系统设计与调试_第3页
第3页 / 共6页
资源描述:

《全高清实时视频显示嵌入式系统设计与调试》由会员分享,可在线阅读,更多相关《全高清实时视频显示嵌入式系统设计与调试(6页珍藏版)》请在装配图网上搜索。

1、沪/象实验名称全高清实时视频显示嵌入式系统设计与调试课程名称嵌入式系统设计姓名学号彭嘉乔年级专业大三电子信息工程所在学院电气工程学院全高清实时视频显示嵌入式系统设计与调试报告3130104084 彭嘉乔心得体会:我想了想,还是决定把心得体会放在这里。毕竟基础实验大家做的都是一样的内容,何 况我们做的水平也就那样,Phase5还没有做完。但我的感想是独一无二的,不如把最有价值 的部分排版到最前面。如果让我直观总结下这22 天小学期的感受,我会毫不犹豫地说:“累”。如果要具体点 的话,“真的很累”。这种累,不仅是身体上的累,更是心累,大部分时候是一种深深的绝望。我对这门课是有心理准备的。上课前我就

2、看过往届学生写的报告,无一例外充斥着“大 学最累的课”“大学生涯难度最高的课”“累得昏天黑地”这种话,然而我还是有着迷之自信。 其实如果我不是有着迷之自信的话我压根就不会选这门课,毕竟我之前没有上过数字系统设 计,没有任何与FPGA板开发有关的经验,对这门课的内容完全是两眼一抹黑。这门课一开始是早上八点开始,到下午五点结束,后来才改成了早上八点半开始。最初 我根本不适应这样的强度,而且由于这样改变了我睡午觉的习惯,导致我第一周每天回寝室 后都先补觉睡到九点,再起来继续白天的进度到凌晨三点再睡觉,作息严重混乱。后面稍微 调整过来了,回寝不需要补觉了,只是昏昏沉沉一晚上而已。从 Phase2 第一

3、次要求自己写代码开始我就感觉到了巨大的压力。因为没有上过数字系 统设计,我压根就不会Verilog语言,得拿着数设的书从零开始自学,以致于连写个激励源 文件都要折腾一天时间。这门课的玄学之处也从写这第一个testbench开始出现,我照着书 上的例子一模一样的形式写的都运行不了。当然这只算小儿科的,Phase2.3把之前的几个文件综合起来,本来分别检验都符合要求, 综合起来后出现了严重的bug,仿真显示scl的输出有一半是高阻态,sda的输出始终为高阻 态。即使将其强制赋值为1再输出仍然不行。我在i2c文件里通过注释掉其余语句逐句检验 也发现不了问题。偶然间我发现,当注释掉与sda有关的一切,

4、删掉sda的输出引脚后仿真 显示scl正常,注释掉scl后sda仍然全为高阻态。我开始猜测是不是sda引脚出现了干扰, 甚至去检查约束文件。为了这个 bug 我整整耽误了两天,最终在万念俱灰走投无路的情况下 我干脆重建了工程把代码原样复制了进去,结果仿真就正常了有趣的是重建工程前还可以生成bitstream文件,重建后就不行了。明明是一样的代码 啊再花半天终于生成了 bitstream 文件,我也不知道怎么弄好的,然后烧录上去果然不 能用,即使仿真波形和老师给的标准波形一模一样。干脆全部推倒重写吧。这样的玄学在之后的实验中会一而再再而三地发生。同样的代码,重建工程复制进去就 是截然不同的结果。

5、同一个工程没有任何改动,重启下电脑就不能用了。同样的bitstream文 件每次烧录显示都不同。一模一样的操作步骤在别人的电脑上行得通在自己电脑上就报错。不仅是我,其他同学也都发现了,人人都知道了重建大法好,出 bug 第一反应不再是去找原 因而是先重建试试。想想以后我用的电子产品可能就是这样一群人用这样的方式做出来的, 简直慌得要死。除了玄学,很多时候一点小问题也会耽误我们一整天的时间。或者是数百行代码里的一 句话,或者是软件的一个设置。在此不得不吐槽一下vivado和SDK都实在是太复杂太用户 不友好了,如果老师不多教教软件的使用,告诉我们软件各个部分各种功能都是做什么的, 只靠我们自己摸

6、索实在是太难了。其实除了玄学问题我们真的没办法以外,大部分问题我们 最终发现都是很简单的小问题,如果经验丰富的话很快就能解决,可让我们这些新手来自己 解决的话往往无从下手,像无头苍蝇一样浪费非常多的时间。整个小学期,我们可能只有 5%的时间真正在写代码, 70%以上的时间双眼空洞地盯着 电脑屏幕,仰天长叹乞求上苍告诉自己究竟错在了哪里。当然上天不会回应,助教也不会。 当我发现无论我问什么助教都会回答:“讲义上有自己好好看看吧”而我确定一定以及肯定 我把讲义上的每一个字都看过了而且确实没有答案的时候,助教在我心中就已经不存在了。虽然我可以理解老师和助教希望我们自己解决问题以提升能力积累经验的苦心

7、,但是我 质疑这样是否有效率。让高中生提前接触微积分他或许会感受到数学的美和神奇进而爱上数 学,而换成个小学生只会感到枯燥厌烦。适当拔高确实可以考验打磨学生,拔得太高拔苗助 长只是种折磨。如果在好几个关键时刻有过来人抬我们一手,稍微指点一下,我们的进度起 码可以快一周, Phase5 可能就做出来了,攀登到高峰看到最美的风景,创新实验也能做得更 好。可实际上我们在很多没有意义的细节上浪费时间,向着看不见的敌人挥拳,收不到任何 正反馈,仿佛身体被掏空一般难受。我并不怕苦怕累,毕竟能考进浙江大学,吃不得苦高考就被淘汰掉了。可大多数时候我 知道自己吃苦能换来什么,知道自己忙得有意义能忙出成果,但在这

8、门课里大多数时候是“穷忙”结果每天在电脑前忙个不停,却可能一整天都找不出bug原地踏步,没有任何充 实的感觉,反而觉得异常空虚。或许是作学生太久了变得娇惯了吧,觉得世间万事都该让着自己。幸好在我最烦躁最愤 怒的时候被老师浇了一盆冷水,现在还记得特别深刻:“以后工作的时候,没人会问你遇到 了什么问题,只会问你做出来了没有。”这么一想大概也就释怀了吧。这个世界就是这么残酷啊,我确实可以找一万个理由来解 释我为什么做得这么差,可还是掩盖不掉一个现实就是别人做出来了可我没有。没做出来就 是没做出来,还是老实承认自己太菜吧。其实世间所有的不如意,都是自己不给力。毕竟学渣是原罪。以下是具体的实验过程。Ph

9、asel、基于Xilinx Vivado的嵌入式系统设计入门实验。Phase1 是整个实验的入门,与其他实验相比,实验很简单,不过因为没有指导,需要自己摸索,所以,也是花了我们半天的时间。这次实验是对 vivado 软件的初步认识,如建立 project,IP,sdk 等等。Phase2、设计 HDMI控制器。Phase2首先进行的是HDMI控制器的硬件设计,根据时序图得到hsync, vsync等信号 和clk信号的关系,实验需要进行720p和1080p的设计,程序编写并不困难,但是由于对 verilog 语言的陌生,我和队友在 testbench 的编写上花费了较多的时间,后来经过上网找例

10、 子教程才明白,弄懂之后发现并不难,主要包括复位信号,时钟信号和输入信号,这些语句 在不同的程序里大同小异,一次编写成功后,基本就掌握了testbench的编写。下一节进行的是I2C总线控制器设计,以前曾经学习过I2C,所以我先是找了以前的I2C 协议的程序,然后参考程序写出I2C协议,先是将频率转化为CLK_100K_A和CLK_100K_B, 再利用二者的|或者&得到CLK_100K_SDA和CLK_100K_SCL,在这两个时钟下进行 i2c_scl 和 i2c_sda 的计算,最后经过仿真观察波形确定程序的正确性。第三节是在前两节的基础上进行 HDMI 显示测试图硬件电路设计。首先接触

11、到的是 yuv422 编码方式,在理解这种编码方式上花费了一些时间,尽管如此,在之后还是出现了 反色的问题。反色问题的原因是因为技术行数据写入了偶数行,使得yuyv的排列变成了 yvyu, 解决方案是地址整体加1或者减1。实验还是分为720p和1080p两部分,但是其实两部分 差不多,所以我们为了节省时间,只做了和后面实验有关系的1080p部分。显示彩条和彩色 砖块都是对地址进行划分。之后的显示小飞机需要从rom中读取数据,这一部分的步骤按 照实验讲义进行,在rom的读取语句中有些困惑,经过询问同学,知道输入输出对应rom里 用到的引脚便可。在显示小飞机的实验中,图片出现了左右偏移的情况,最左

12、侧一列为绿色,按照我们的 想法,将loc_x地址加2进行调整,如果不够,再加2,然而加到8后最右侧一列已经出现 明显偏移,而最左侧一列仍然是绿色,这让我们意识到,最左侧一列可能根本没有显示信号。 进过检查代码,enable信号响应需要时间,由于在读取像素点信息时引入了 enable信号, 当扫到第一列的时候enable仍为0,导致第一列没有获得像素点信息。进行相应的更改,显 示器上得以在每一处均有显示。最后经过合适的调整,使得显示不偏不倚。Phase3、AXI-Lite 接口的设计。Phase3 是从软件给出的 AXI-Lite 协议修改得到自己要用的 AXI-Lite 协议,封装成 IP 核

13、添加到Block design中,利用cpu提供的150Mclk执行。这是我第一次接触到AXI协议, 为了弄懂AXI-Lite协议,我阅读了讲义上提供的英文参考资料,因为对AXI协议没有基础, 所以在阅读过程中比较吃力。在通读一遍后,对AXI协议有了简单的了解。从phase4.1中 得到了 zju_ip的AXI_Lite协议,尝试着去理解这个协议。AXI_Lite协议包括端口定义,各 种信号和对 register 或者 rom 的调用。我们主要做的内容就是讲 zju_ip 中的 register 调用改 为rom调用。在调用之前的I2C程序时,需要注意输入输出的匹配。IP封装时,选择packa

14、ge current resource,完成封装后,就可以在Block design中直接 调用创建的IP,选择自动连接,然后将输入输出引脚引出。Block design完成后,有时会发 现IP核中的错误,需要对IP进行修改,可以直接找到IP的程序文件用记事本或其他阅读 软件打开修改保存,然后在upgrade IP,然后generate outputs得到更新后的IP。直接在已创 建好的IP上进行修改更新,比重新封装一个新的IP要简单快捷。搭建好block design后,生成比特流文件并打开sdk,在sdk中编写软件,用cpu通过 axi协议访问rom,对rom进行读写的操作。Phase4、

15、AXI-Full 接口的设计。Phase3中用到的是axi slave,在phase4中用到的是axi master, master的程序代码与 slave相比更加繁杂。在4.1提供了一份波形图供参考,我们通过波形图分析各个信号之间的 关系。在信号的关系中,txn_request信号和axi总线的关系最为复杂,也最为重要txn_request 信号sdk写完后进行烧录,出现了绿屏的现象,这是因为没有在sdk中写入elf文件,写入 elf文件后在显示器上显示花屏,这是因为airbus.h文件没有正确的放入sdk中。在修改了一 些错误后,终于在显示器上有了显示。示器上显示出的大飞机图片出现了左右偏

16、移的情况,且偏移的幅度很大。我们又开始进 行漫长的debug过程。先是修改了地址位,结果大飞机却出现了雪花,急忙将地址为修改回 来。后来,听从同学的意见,我们将fpga板子重启,重新烧录,在显示器上得到了正确的显 示。全高清数码相框的实验中,短学期已经将要结束,我们直接应用了老师提供的bmp.c和 main.c代码,不过直接用这写代码在编译时不通过,问题出现在“f_mount(0,&fs)J一句,报 错的原因是因为参数不够,打开“ff.h”文件查看匚mount的用法,并进行修改,编译得以通 过。向 sd 卡里复制 bmp 图片,然后查到板子上,烧录后在显示器上没有显示图片,而在 sdk 中显示

17、“airbusl open success5和“It is not a bmp file,出现这个问题的原因是因为main.c中的 “sprintf(filename,0:/bmpl080p/airbus%d.bmp,j);语句与 sd 卡中的 bmp 文件名 airbus_1 不匹 配所导致,修改语句为“sprintf(filename,0:/bmp1080p/airbus_%d.bmp,j);”bmp 文件能够在显示屏上正常显示。这是 出现的又一个问题只能显示前airbus_1.bmp至airbus_9.bmp这9张图片,这是因为文件名不 能超过8个字符,我的解决办法是直接删掉airbus_9之后的图片并修改main.c中的for循环 语句的循环次数,使得能够在显示器上循环显示9 张图片。Phase5 全高清摄像头视频采集在完成phase4之后,已经到了短学期的末尾,所以整个phase5我们只是进行了 GPIO 口的实验部分。GPIO 口在block design中添加,与scl和sda总线进行连接。GPIO引出的 引脚可以自己设定如 FPGA 板子上的开关按钮,只要在 xdc 中进行标注,在 sdk 中说明即 可。这样就可以实现硬件和软件的综合。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!