CrazyBingo mini VIP 2.0 视频开发板 NIOS移植例程(原创)
|
创建一个NIOS环境 注意事项 前言:(先了解下硬件) 本板卡目前主要适合以下几类人: (1)对FPGA 逻辑开发有强烈的兴趣,并且有一定的HDL基础 (2)计划采用FPGA图像架构,学习并研究图像算法的朋友 (3)准备研究使用FPGA,掌握FPGA图像算法处理架构的朋友 (4)找不到方向,想学习新知识,掌握FPGA未来动向的朋友,有决心吃苦的朋友 IP_Board Mini板卡介绍: (1)VIP_Board Mini板卡由CrazyBingo本人开发,IC大小的板卡,麻雀虽小,五脏俱全。板卡采用Altera Cyclone IV FPGA, 以EP4CE10E22C8N为核心,实现VGA、USB、CMOS接口、SDRAM、按键、LED等资源的配置,实现基本的基于FPGA的视频图像架 构,奠定后期HDL-VIP的基础,可作为实现硬件加速视频图像VIP算法处理的工具。 板卡例程设计将在这FPGA的1W个LE的中,充分利用外围电路,榨干FPGA资源,最大程度的发挥其速度与性能,以实现最基本的视频图像VIP算法处理功能。独家编写教程:《基于VIP_Board Mini的HDL-VIP开发教程》,首先将通过例程来驱动、实现外驱动电路,简化FPGA HDL-VIP的门槛,由浅入深,逐步带领大家进入HDL-VIP开发之路。 关于VIP_Board Mini板卡的详细外设及功能介绍,如下表所示:
板卡集成VGA接口,继承了原先VIP_Board CMOS采集显示之路。不过为了解决使用VGA显示器的笨重繁琐的弊端,挣脱这原始的束缚,花了九牛二虎之力,终于设计并完善了VIP_Board的终端显示设备—通过USB传输,使用PC作为视频图像显示的终端。USB通过板载CY7C68013 USB IC链接实现,在不损失原有VGA接口的基础上,实现了基于USB2.0的视频图像传输。同时,为了降低USB视频图像算法开发的难度,加速VIP开发的进程,将重心转移到图像处理算法上,本人专门为此套件/为同类FPGA-VIP需求编写了USB_Cmmera_VIP_Panel上位机平台,软件包含了最基本的图像采集功能,主要如下: (1)软件接受图像分辨率为640*480,默认采集并实时显示8Bit灰度图像。 (2)支持Bayer阵列数据格式的图像采集,转为RGB888并实时显示,帧率在15FPS左右。 (3)支持8Bit灰度数据格式的图像采集,并实时显示,帧率能达到30FPS。 (4)按键触发Capture,开始采集并实时显示外部输入的视频图像。 (5)按键触发Save,保存触发瞬间的画面到本机桌面,以CB_年月日时分秒.bmp命名 (6)支持垂直镜像功能,选择/取消Flip Vertical实现。 (7)支持水平镜像功能,选择/取消Flip Horizontal实现。 (8)USB数据正常连接与否,将在Help左边实时显示相关Logo标志。 (9)未完待续…… 如下图为640*480分辨率、Bayer阵列的视频接收,并且竖直方向镜像模式的视频采集,当前为15FPS 板卡的FPGA代码例程,主要分为HDL-Logic,以及HDL-VIP2个部分,第一部分为HDL-Logi Examples,这部分例程主要基于Verilog HDL,实现基本的逻辑外设开发功能。这部分主要例程如下表所示:
第二部分为HDL-VIP Example,这部分例程主要基于Verilog HDL,实现基于HDL的Video Image Processor视频图像算法的硬件加速处理。这部分主要例程序如下表所示:
好了,大家可以看到CrazyBingo开发了众多核心算法,非常值得借鉴和学习,但是基于某种原因,我们不得不进行nios项目开发中,但是CrazyBingo开发板目前还未配相关例程,所以对此我们进行了一些简单的nios例程开发,方便大家。 使用软件:Quartus II 13.1 QSYS(建议大家使用12.0或13.1以上版本) FPGA:EP4CE10E22C8 开发板:视频图像算法处理开发板 mini VIP 2.0操作系统:xp 32bit 大家若环境一样,可以下载软件包使用。 更多相关细节请关注我的博客: http://blog.chinaaet.com/shenyae86 我的淘宝: 新建一个工程(文件目录:D:\altera\ext\qsys_cb 这个目录直接用) Clk:全部相连 Onchip_MM:指令和数据均需要链接 PIO:修改名字后,注意配置方向,数据长度等。引脚需要手动引出 Timer:若需要中断,还需要链接 中断线 NIOS,配置复位,中断向量 以上配置好后,重新分配基地址,直至没有错误,就可以生产nios了 此过程大约需要几分钟。 在我的系统下 也不过 1分钟。 直接拷贝此参考即可 qsys_ext3 u0 ( .clk_clk (<connected-to-clk_clk>), // clk.clk .sdram_wire_addr (<connected-to-sdram_wire_addr>), // sdram_wire.addr .sdram_wire_ba (<connected-to-sdram_wire_ba>), // .ba .sdram_wire_cas_n (<connected-to-sdram_wire_cas_n>), // .cas_n .sdram_wire_cke (<connected-to-sdram_wire_cke>), // .cke .sdram_wire_cs_n (<connected-to-sdram_wire_cs_n>), // .cs_n .sdram_wire_dq (<connected-to-sdram_wire_dq>), // .dq .sdram_wire_dqm (<connected-to-sdram_wire_dqm>), // .dqm .sdram_wire_ras_n (<connected-to-sdram_wire_ras_n>), // .ras_n .sdram_wire_we_n (<connected-to-sdram_wire_we_n>), // .we_n .led_external_connection_export (<connected-to-led_external_connection_export>), // led_external_connection.export .spcs_external_dclk (<connected-to-spcs_external_dclk>), // spcs_external.dclk .spcs_external_sce (<connected-to-spcs_external_sce>), // .sce .spcs_external_sdo (<connected-to-spcs_external_sdo>), // .sdo .spcs_external_data0 (<connected-to-spcs_external_data0>), // .data0 .altpll_0_c2_clk (<connected-to-altpll_0_c2_clk>), // altpll_0_c2.clk .reset_reset_n (<connected-to-reset_reset_n>) // reset.reset_n ); 添加nios文件,不然编译会出错。 编译完成后,开始进行软件设计 使用了EPCS、SDRAM、PIO、TIMER、PLL等等众多资源 选择空间目录(这样利于文件管理) 使用工程模版 自动生成 看到显示,说明nios已启动。 继续改进 增加:测试sdram #include <stdio.h> #include "system.h" #include "string.h" #define LEN (0x120000) unsigned int * ram = (unsigned int *)(SDRAM_BASE+0x10000); //SDRAM地址 int main() { unsigned int i=0; printf("Hello from Nios II,I'm CrazyBingo!\n"); //* //向ram中写数据,当ram写完以后,ram的地址已经变为(SDRAM_BASE+0x10100) for(i=0;i<LEN;i++){ ram[i] = i; } printf("wirte ok!\n"); //读取ram中的数据 for(i=0;i<LEN;i++){ if((i%(2560)==0) || i!=ram[i])printf("address:%08x-%08x\n",i,ram[i]); } printf("read ok!\n"); //*/ return 0; } 2015-3-25 由网友:奇迹再现 整理 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
图像处理、物联网、fpga、stm32研究 我的店铺:ccjt.taobao.com |
CrazyBingo mini VIP 2.0 视频开发板 NIOS移植例程(原创)的更多相关文章
- 【分享】iTOP4412开发板-Bluetooth移植文档
[分享]iTOP4412开发板-Bluetooth移植文档 最近须要把Bluetooth移植到iTOP-4412 开发平台.查阅了相关资料,经过一段时间的研究.调试,最终成功的将蓝牙功能移植到了开发板 ...
- 在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南
昨天在B站上突然看到了一个短视频,是在正点原子的战舰V3开发板上移植华为的Huawei LiteOS操作系统,就是这个视频:看完鸿蒙OS发布会,试用华为的物联网操作系统Lite OS(B站),于是呢, ...
- VIP 视频开发板 上位机 测试软件 下载地址,玩转各自分辨率(V201抢先版)
本上位机最高测试帧率 133fps 目前支持分辨率:更多分辨率支持,敬请期待或给我留言VGA:640*4801.3M:1280*10242M:1600*1200786p:1024*768 格式兼容:1 ...
- 最新设计打样制作完成的FPGA视频开发板VIP—V101
设计目的:1.摄像头驱动(30w-500w mipi接口)2.VGA显示器驱动3.USB2.0视频采集4.tft液晶接口(ttl.lvds驱动)5.视频.图像处理(算法验证)6.各种视频接口处理(av ...
- FPGA_VIP_V101 视频开发板 深入调试小结
FPGA_VIP_V101 推出已经有半年有余,各项功能例程已移植完毕,主要参考crazybingo例程进行移植和结合开发板设计了几个实例例程 主要包含: 硬件配置: FPGA:EP4CE6E22C8 ...
- 嵌入式开发 迅为4418开发板Qt移植移动4G模块第一部分
本文转自迅为论坛:http://topeetboard.com 了解更多:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-7744162139 ...
- [转载]迅为4418开发板Qt移植移动4G模块第一部分
本文转自迅为论坛:http://topeetboard.com 平台:iTOP-4418开发板 1.首先要配置内核,这个一步和Android系统移植3G或者4G模块是一样的.一般模块的 ...
- u-boot-2011.06在基于s3c2440开发板的移植之引导内核与加载根文件系统
http://www.linuxidc.com/Linux/2012-09/70510.htm 来源:Linux社区 作者:赵春江 uboot最主要的功能就是能够引导内核启动.本文就介绍如何实现该 ...
- s5pc100开发板uboot移植
相关软件下载地址:http://pan.baidu.com/s/16yo8Y 适用于fsc100开发板 交叉编译器arm-cortex_a8-linux-gnueabi-gcc u-boot-2010 ...
随机推荐
- LyX Error convert to loadable format - error handling
This question used to spend my half a day, and this time again, half a day. Here I write it down in ...
- bert+seq2seq 周公解梦,看AI如何解析你的梦境?【转】
介绍 在参与的项目和产品中,涉及到模型和算法的需求,主要以自然语言处理(NLP)和知识图谱(KG)为主.NLP涉及面太广,而聚焦在具体场景下,想要生产落地的还需要花很多功夫. 作为NLP的主要方向,情 ...
- python:利用celery分布任务
Celery是一个功能完备即插即用的任务队列.它使得我们不需要考虑复杂的问题,使用非常简单.celery看起来似乎很庞大.celery适用异步处理问题,当发送邮件.或者文件上传, 图像处理等等一些比较 ...
- MAC终端中tree命令
Mac没有自带的tree命令,需要额外安装才可以,操作方法有两种: 一.用find命令模拟tree效果 1.mac下默认是没有 tree命令的,不过我们可以使用find命令模拟出tree命令的效果,如 ...
- 扛把子组20191107-4 beta week 2/2 Scrum立会报告+燃尽图 03
此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9956 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩 ...
- 【Luogu P3388】割点模板
Luogu P3388 在一个无向图中,如果有一个顶点集合,删除这个顶点集合以及这个集合中所有顶点相关联的边以后,图的连通分量增多,就称这个点集为割点集合. 如果某个割点集合只含有一个顶点X(也即{X ...
- 仿微信 即时聊天工具 - SignalR (一)
话不多说,先上图 背景: 微信聊天,经常会遇见视频发不了,嗯,还有聊天不方便的问题,于是我就自己买了服务器,部署了一套可以直接在微信打开的网页进行聊天,这样只需要发送个url给朋友,就能聊天了! 由于 ...
- Singletone 析构函数调不到
<设计模式>定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该实例. 关键字:指向自己的静态指针私有,创建对象并赋值私有静态指针函数->公有, 构 ...
- 《Windows内核安全与驱动开发》 4.4 线程与事件
<Windows内核安全与驱动开发>阅读笔记 -- 索引目录 <Windows内核安全与驱动开发> 4.4 线程与事件 一.开辟一个线程,参数为(打印内容+打印次数),利用线程 ...
- 图库网站Unsplash高清原图爬虫【华为云技术分享】
[摘要] 写博客的好工具,快速获得高清图片 在百度图片爬虫小助手里,我开发了一个爬虫,来节约我写博客时搜集图片的时间. 但是,也出现了一些问题,主要有以下几点: 百度图片上的质量参差不齐,大部分图片质 ...