毕业设计基于FPGA 的倒车雷达系统/基于FPGA 的倒车影像系统/基于FPGA 的毫米波雷达安全监测系统/基于FPGA的XW-HLR26雷达设计


首先先声明一下,本项目已经结题,可以放心根据我的设计进行二次开发和直接套用!!!

完整工程文件下载:基于FPGA的倒车雷达系统   提取码:8l29


引言:

        本文详细阐述了基于FPGA的毫米波雷达安全监测系统的设计方案,包括硬件架以及软件编程等方面。在硬件架构方面,采用了高性能的FPGA芯片、摄像头和毫米波雷达传感器,实现了系统的快速响应和高效处理。在软件编程方面,利用FPGA的可编程性,实现了系统的灵活配置和功能扩展。适用于大学生FPGA课题设计,FPGA毕业设计,FPGA项目设计。

一、设计背景

        随着科技的不断进步,新能源汽车的崛起,毫米波雷达技术在安全监测领域的应用逐渐广泛。毫米波雷达具有波长短、频带宽、穿透能力强、抗干扰性能好等优点,能够实现对目标的精确测量和定位,因此在汽车防撞、无人机避障、人员监测等多个领域具有广阔的应用前景。

        然而,传统的毫米波雷达信号处理系统往往存在处理速度慢、功耗高、灵活性差等问题,难以满足现代安全监测系统对实时性、准确性和可靠性的要求。因此,研究基于FPGA(现场可编程门阵列)的毫米波雷达安全监测系统具有重要的现实意义和应用价值。

        FPGA作为一种可编程逻辑器件,具有高速、灵活、低功耗等优点,能够实现对毫米波雷达信号的高效处理。通过将FPGA应用于毫米波雷达信号处理系统,可以大幅度提高系统的处理速度和准确性,降低功耗,增强系统的灵活性和可重构性。

二、设计实现功能

(1)毫米波雷达测距功能,数码管显示

(2)毫米波雷达测速度功能,数码管显示

(3)实时显示摄像头图像,HDMI显示

(4)最小距离警报系统,蜂鸣器+LED

三、设计选型

(1)FPGA芯片:Inter 公司 EP4CE10F17C8N 主芯片

(2)雷达模块:毫米波雷达 XW-HLR26-24G 

(3)摄像头模块:CMOS 图像传感器OV5640

四、设计方案

本系统利用FPGA对毫米波雷达传感器和摄像头进行数据处理,存储在SDRAM存储器中,将摄像头采集图像数据通过HDMI显示在显示模块上;毫米波雷达传感器可通过上位机进行展示距离、速度,也可通过FPGA进行数据处理后,通过LED灯,数码管,蜂鸣器的形式展示。如下图系统设计框图。

五、硬件介绍

1、开发板介绍

        本设计FPGA部分没有进行硬件画板子设计,因为搞比赛的时候买过一个正点原子的开发板,所以为了节约经费,就直接在这个开发板上进行实现了本次设计。型号为:新起点E10,芯片一样的开发板也可以。

2、雷达模块介绍

        本设计的雷达模块,经过对比和结合设计需求,决定采用毫米波雷达 XW-HLR26-24G,具体实物图如下,没有的小伙伴,可以直接在某宝直接搜 XW-HLR26-24G同款即可。        

3、摄像头模块

        本设计摄像头模块采用OV5640,没有的小伙伴,可以单独在某宝搜同款即可

4、显示模块

        本设计显示模块,采用HDMI外接显示屏进行显示,提前准备一个HDMI的连接线和一个HDMI显示屏

六、设计思路

1、了解雷达模块和FPGA的通信模式

        通过阅读雷达模块的手册,和通信协议手册,可以了解到雷达模块XW-HLR26-24G,需要FPGA这边通过UART发送查询指令,然后雷达模块反馈一个数据,通过解析这个数据来得到距离、速度等雷达信息。

FPGA发送指令格式:

雷达模块反馈数据格式:

同时还需要对雷达模块的UART波特率进行设置:本设计采用9600,雷达模块初始化的波特率为115200,需要连接到电脑对其修改:下图为指令集合

    2.测试雷达模块    

        把雷达模块通过串口转USB模块,连接到电脑,然后打开上位机软件,点击打开串口,即可检测雷达模块的距离、速度、信噪比示数,然后根据实际情况对比一下,与测量的值差不多即可,此时可以确定雷达模块没问题。

七、设计代码

1、雷达通信模块

        主要通过UART实现雷达和FPGA之间的通信,并通过按键对雷达工作模式进行控制,通过译码模块雷达数据进行处理,然后传递给数码管等显示模块。

部分代码:

// 将UartRx逻辑功能单元输出的来自测距模块的数据进行译码

module RecDecode(
		Clk,
		RstN,
		DataEn,
		DataIn,
		
		OutEn,
		DistOut,		
		jl_data
		
);

	input						Clk;
	input						RstN;
	input						DataEn;		// 待译码数据使能
	input			[103:0]	DataIn;		// 待译码数据输入
	
	output reg				OutEn;		// 译码完成
	output reg	[19:0]	DistOut;		// 译码输出数据
	output reg  [15:0]	jl_data;
	
	reg			[1:0]		STATE;
	reg  [15:0]	jl_data_r;

	parameter				IDLE = 2'b00,
								READ = 2'b01,
								SEND = 2'b10,
								RETU = 2'b11;
	
/*****


字数太多省略


****/


endmodule
2、摄像头显示模块

        摄像头显示主要通过IIC对图像数据进行搬运,然后缓存到SDRAM,然后提供HDMI传递到显示器,进行实时图像显示。

3、顶层连接

        采用模块化设计,顶层只负责例化接线

部分代码:

module my_top(

    input               sys_clk     	,  //系统时钟
    input               sys_rst_n   	,  //系统复位,低电平有效
	 input 					key_hmjld      ,
	 input [1:0]         key_ctrl       ,
	 
    //摄像头接口
    input               cam_pclk    	,  //cmos 数据像素时钟
    input               cam_vsync   	,  //cmos 场同步信号
    input               cam_href    	,  //cmos 行同步信号
    input      [7:0]    cam_data    	,  //cmos 数据
    output              cam_rst_n   	,  //cmos 复位信号,低电平有效
    output        		cam_pwdn   		,  //cmos 电源休眠模式选择信号
    output              cam_scl     	,  //cmos SCCB_SCL线
    inout               cam_sda     	,  //cmos SCCB_SDA线
    //SDRAM接口
    output              sdram_clk   	,  //SDRAM 时钟
    output              sdram_cke   	,  //SDRAM 时钟有效
    output              sdram_cs_n  	,  //SDRAM 片选
    output              sdram_ras_n 	,  //SDRAM 行有效
    output              sdram_cas_n 	,  //SDRAM 列有效
    output              sdram_we_n  	,  //SDRAM 写有效
    output     [1:0]    sdram_ba    	,  //SDRAM Bank地址
    output     [1:0]    sdram_dqm   	,  //SDRAM 数据掩码
    output     [12:0]   sdram_addr  	,  //SDRAM 地址
    inout      [15:0]   sdram_data  	,  //SDRAM 数据 
	 //HDMI接口
    output              tmds_clk_p		,  // TMDS 时钟通道
    output              tmds_clk_n		,
    output     [2:0]    tmds_data_p		,  // TMDS 数据通道
    output     [2:0]    tmds_data_n  	,
	 //毫米波雷达
	 input 					i_hmbld1_uart_rxd	,
	 output 					o_hmbld1_uart_txd	,	
	 input 					i_hmbld2_uart_rxd	,
	 output 					o_hmbld2_uart_txd	,
	 output              o_bj_led1			,  
	 output              o_bj_led2			,
	 //数码管
	 output 		[5:0]		o_sel,
	 output  		[7:0]		o_seg
	 
);

/************************************************/
//							摄像头+hdmi
/************************************************/

ov5640_hdmi  ov5640_hdmi(    
    .sys_clk     	(sys_clk  	 ),  //系统时钟
    .sys_rst_n   	(sys_rst_n   ),  //系统复位,低电平有效
    //摄像头接口
    .cam_pclk    	(cam_pclk    ),  //cmos 数据像素时钟
    .cam_vsync   	(cam_vsync   ),  //cmos 场同步信号
    .cam_href    	(cam_href    ),  //cmos 行同步信号
    .cam_data    	(cam_data    ),  //cmos 数据
    .cam_rst_n   	(cam_rst_n   ),  //cmos 复位信号,低电平有效
    .cam_pwdn		(cam_pwdn    ),  //cmos 电源休眠模式选择信号
    .cam_scl     	(cam_scl     ),  //cmos SCCB_SCL线
    .cam_sda     	(cam_sda     ),  //cmos SCCB_SDA线
    //SDRAM接口
    .sdram_clk   	(sdram_clk   ),  //SDRAM 时钟
    .sdram_cke   	(sdram_cke   ),  //SDRAM 时钟有效
    .sdram_cs_n  	(sdram_cs_n  ),  //SDRAM 片选
    .sdram_ras_n 	(sdram_ras_n ),  //SDRAM 行有效
    .sdram_cas_n 	(sdram_cas_n ),  //SDRAM 列有效
    .sdram_we_n  	(sdram_we_n  ),  //SDRAM 写有效
/**


字数显示,此处省略

*/

always @ (posedge sys_clk or negedge sys_rst_n  )
begin
	if (~sys_rst_n)
		show_data <= 0;
	else if (show_crtl_en == 1)
		show_data <= {4'd0,jl2_data};
	else if (show_crtl_en == 0)
		show_data <= {4'd0,jl1_data};	
	else
		show_data <= show_data;			
end
                   
endmodule

八、下板调试

        1.测试毫米波雷达

        首先把FPGA程序固化到开发板,然后把雷达模块通过UART连接到FPGA开发板,通过移动雷达模块,数码管可显示雷达模块与桌面的距离,并且当距离达到预设值的时候LED会发出警告,并且蜂鸣器也会发出警报!!

        2.测试摄像头显示

        把摄像头模块插到开发板的,coms接口上,然后用HDMI连接线,连接FPGA开发板和显示屏,给开发板上电,通过移动开发板,模拟汽车倒车场景,摄像头实时采集图像,然后再显示屏进行显示,这样一套就完全模拟了,汽车的倒车影像和倒车雷达。

这样我们项目的完整功能就测试完毕,后期可根据需求在进行更新!!!

完整工程文件下载:基于FPGA的倒车雷达系统   提取码:8l29

如果感觉文章对您有用,麻烦三连支持一下,方便下次用到的时候,就可以快速找到我,非常感谢您的支持!!!

  • 17
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值