FPGA&&图像处理
libing64
知乎主页 https://www.zhihu.com/people/qing-feng-77-90/
github主页 https://github.com/libing64
展开
-
基于FPGA的图像处理(一)--System Generator介绍
计算机视觉系统通常需要进行大量的信息处理才能够得到所需要的信息。目前主要有CPU、GPU、ASIC、DSP、FPGA等计算平台。常用的计算机视觉系统通过通用计算机进行视觉信息处理,但是,由于CPU的计算能力有限,对于一些计算复杂度很高的视觉算法,其处理速度常常难以满足系统的实时性需要。GPU具有高度的并行计算能力,可以较好地解决计算速度的问题,然而,基于GPU的计算机视觉系统存在着功耗较高原创 2012-11-03 17:21:44 · 13345 阅读 · 8 评论 -
ZedBoard学习(6)-System Generator实现串口通信(一行HDL代码都不用写)
一直都在System Generator下做图像处理相关的算法,感觉SysGen挺强大的,前几天突发奇想,能否直接用SysGen实现数据的通信呢,毕竟一句HDL代码都不写对于做FPGA的人来说却是很有吸引力的。 串口通信协议比较简单,发送的时候,8位数据的前面加上1位起始位0,在8位数据后加上停止位1,这样8位数字扩展成10位的数字,再将并行转化为串行就可以从GPIO送出。原创 2012-12-02 12:55:52 · 2712 阅读 · 1 评论 -
ZedBoard学习(1)Ubutun下进行串口通信
windows下进行串口通信,如果是笔记本的话一般需要安装PL2303的驱动,win7的话经常会无法识别,非常烦人。其实linux下也有串口的驱动,默认已经安装.本人使的是ubuntu10.04,选择的串口终端软件是minicom一、安装minicom控制台指令:# sudo apt-get install minicom自动完成部分:***原创 2012-12-01 08:16:18 · 3767 阅读 · 1 评论 -
ZedBoard学习(2)-FTP文件传输
这几天在Ubuntu上建立了Xilinx-Linux的交叉编译环境,基本步骤网上有很多,重新写一遍也没有意义。http://www.eefocus.com/nightseas/blog/12-10/287208_5ceaa.html 来自懒兔子http://www.61ic.com/FPGA/Xilinx/201210/45064.html 来自Parallel只是要注意一原创 2012-12-01 08:15:31 · 2594 阅读 · 1 评论 -
ZedBoard学习(3)U盘读写
今天在Linux下操作U盘时才发现,以前对Linux的理解太浅了,对ARM Linux的理解有太浅了,因为需要进行数据的存储,最初的想法移植停留在怎么写U盘的驱动,其实Linux里U盘的驱动都已经写好了,那么U盘就更PC上的存储器是一样的,直接进行文件的读写就可以了。写一段简单的读写文件的代码,进行测试,从file1中拷贝内容到file2。 #include int原创 2012-12-01 08:14:33 · 3410 阅读 · 0 评论 -
Zedboard学习(四)硬件协仿真co-simulation
之前进行FPGA图像处理,一直在ML605上进行硬件协仿真,拿到ZedBoard之后当然也希望能够继续这么干,进行了很多次的尝试。 经过多次尝试在ZedBoard上进行硬件协仿真,多次失败之后,得出一个结论,"xc7z020-1clg484" is not supported for JTAG co-simulation. 以下内容是SysGen中进行硬件协仿真时,出错后e原创 2012-12-01 08:11:17 · 2673 阅读 · 0 评论 -
ZedBoard学习(5)-ZedBoard和System Generator
Zynq中包含了一个FPGA内核和两个Cortex-A9内核,尽管功能十分的强大,又非常的时髦,但是本质上讲和之前Xilinx的FPGA 硬核PowerPC没什么区别,无非是PowerPC换成了更加有前景的ARM,因此我很自然的想法是以前在ARM上、在FPGA上做过的东西那个再Zynq上必然也是可以上实现的。 因为之前一直在跟图像处理算法有关的学习,从Matlab到OpenC原创 2012-12-01 08:00:53 · 2998 阅读 · 0 评论 -
基于FPGA的图像处理(六)--Shared Memory
在FPGA的设计中,当不同速率的模块之间进行高速的数据传输时,共享存储器是一个很好的解决方案,在一个模块中将数据写入Shared Memory,在另一个模块中将其读出,Shared Memory使用name作为标识,同名的Shared Memory使用的是相同的内存区域。上面的模块将数据写入,下面的模块将数据读出。两个Shared Memory模块分别是名字相同,使用时相同的存储原创 2012-11-30 09:31:16 · 3560 阅读 · 0 评论 -
基于FPGA的图像处理(五)--状态机
使用FPGA实现各种算法时,状态机是很常用的方法,在SysGen中有两种非常简便的方法构建状态机,一是使用Mcode,以switch-case语句轻松实现,二是使用SysGen自带状态机模块。 状态机假设我们要从01序列中检测出1011序列,则状态机模型如下Next State Matrix:[0 1; 2 1; 0 3; 2 1]Output Matrix : [0原创 2012-11-29 22:14:52 · 4540 阅读 · 1 评论 -
基于FPGA的图像处理(四)--Matlab Language supported by Mcode
在进行FPGA图像处理时,如果使用System Generator构建模型,有时有些算法不能实现时可以考虑Mcode来实现,但是其实在SysGen中Mcode是很弱的,因此需要了解它的能力有多大,才能更好的操作。The MCode block supports the following MATLAB language constructs:• Assignment stateme原创 2012-11-28 21:49:40 · 3398 阅读 · 1 评论 -
基于FPGA的图像处理(三)--图像融合
System Generator安装之后可以在Simulink中调用相应的模块进行视觉算法的搭建,我两台电脑上分别是ISE12.3+matlab2010a, ISE10.1+Matlab2010a。需要注意的是ISE和Matlab之间是有型号匹配的。 首先要打开FPGA,打开Simulink,新建一个Model。 在Xilinx Blockset中拖取需原创 2012-11-03 19:22:14 · 18950 阅读 · 16 评论 -
基于FPGA的图像处理(二)--System Generator入门
System generator 安装之后会在Simulin模块库中添加一些Xilinx FPGA专用的模块库,包括Basic Element,Communication,Control Logic,DataTypes,DSP,Math,Memory,Shared Momory,Tool等模块库,只有使用这里的模块才能进行FPGA算法的仿真以及进行综合等等。 使用这些模块就可以原创 2012-11-03 17:49:11 · 11053 阅读 · 2 评论 -
Zedboard学习(7)PS下第一个裸奔程序
一、打开PlanAhead创建工程 1、选择Create New Project新建工程Project name:hello一路默认,只有Board项需要选择ZedBoard Zynq Evaluation and Development KitFinish创建工程之后的界面二、添加资源1.Click Add So原创 2012-12-03 13:21:41 · 2077 阅读 · 0 评论