基于FPGA的车道识别硬件加速

FPGA开发实现车道检测实验步骤

一、原理

          本次实验需对图片进行进行灰度转换、高斯模糊、Sobel算子处理、非极大值抑制、滞后滤波、霍夫变换等步骤对车道进行识别。在此过程中,对像素矩阵的卷积占用了CPU的大量资源,而FPGA的并行特性可以加速这一处理,减轻CPU的负担,从而实现硬件加速。

二、操作步骤

2.1工具

          进行本次实验需要下载OpenCL SDK(OpenCL开发工具)、Intel SoC EDS(编译工具)、DE10-Nano OpenCL Board Support Package(板级支持包) 、diskimages(用于向sd卡传输linux镜像系统)、PuTTy(用于操作FPGA上的linux系统)。

OpenCL SDK下载如下:

Intel SoC EDS(编译工具)下载如下:

DE10-Nano OpenCL Board Support Package(板级支持包)

Diskimages

PuTTy

2.2环境配置

首先需要安装LICENSE文件,这里可以利用安装quatusII下的license.dat的环境变量

为了使操作系统正确找到 OpenCL 实用程序,用户需要创建一个名为 INTELFPGAOCLSDKROOT 的新环境变量,并将以下路径添加到 PATH 环境变量中:

添加成功后如下:

注意:这里要分行添加,不能全部放在一行否则不能正确加入

为了让 Intel OpenCL SDK 正确找到 DE10-Nano 的套件位置,用户需要创建一个环境变量 AOCL_BOARD_PACKAGE_ROOT 并将其值设置为:

设置成功后如下图所示:

2.3环境核对

为了验证我们配置的路径是否正确,我们可以再command shell窗口中输入acol version来看版本,如下图所示:

通过输入“aoc -list-boards”可以查看板子的信息,以及查看板级支持包的位置是否配对正确,如下图所示:

2.4编译并执行opencl程序

这里是将OpenCL生成的CL文件编译为FPGA的配置文件,在Command Shell中输入“aoc hough.cl -o bin\hough.aocx -board=de10_nano_sharedonly -v -report”,因为本次实验题目车道检测,所以使用的代码为hough.cl,需将其编译为hough.aocx,编译过程如下图所示:

注意:此处如果编译不成功,出现下面错误如下图所示

生成的aocx文件是即将配置到FPGA上的文件。

说明:此错误是由于某个目录没有权限,无法写入,解决方法有两个。

方法一:在一个较高的目录下,修改属性,加上直接去掉只读属性即可,选中包括子目录。

注意:此方法一定要选择最高路径,不然上层还会有有只读属性。

方法二:右键以管理员身份运行命令行窗口,这样就可以就可以以管理员的身份强行写入了。

2.5编译host文件夹生成linedetect

         打开embedded文件夹,启动Embedded_Command_Shell.bat文件,用“cd /cygdrive/D/QuartusII_18.1_Std/hld/board/de10_nano/test/Exercise_3/design_files/part2”转到有host的文件夹目录下,用“make”命令进行编译,在该目录下的bin文件夹中生成linedetect,如下图所示

2.6.用disk_image将linux系统镜像烧录到SD卡中

使用读卡器将sd卡插入电脑,打开disk_images软件,将镜像文件烧入卡中,如下图所示:

2.7将编译后的文件传入SD卡

在前面步骤中,make host文件夹生成了linedetect,编译hough.cl文件生成hough.aocx文件,将linedetect和hough.aocx文件以及test_images文件夹一起放入sd卡,供后续fpga处理。

2.8用PuTTy连接FPGA中的linux系统

连接方式选择serial,连接上FPGA的J4接口,在端口选项中选择COM5,波特率调至115200后启动该系统,如下图所示:

2.9在在PuTTy中完成实验

        在PuTTy中,先输入root登录,登录后输入“source ./init_opcl.sh”对OpenCL进行初始化,后建立boot文件夹,用“mount /dev/mmcblk0p1 boot”命令将该区挂在到boot上,输入“cd boot”,转入boot文件夹中,输入“ls”命令就可以看到该文件夹下的内容,包含hough.aocx、linedetect、test_images文件夹,后执行“./linedetect”,如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值