项目详细描述

目录

一、SOC智能游戏机(集创赛-西南赛区三等奖)

二、AXI2AHB Bridge

三、基于FPGA智能导盲拐杖(FPGA竞赛全国二等奖)

四、基于FPGA的倾角监测系统

五、图像压缩核心算法


一、SOC智能游戏机(集创赛-西南赛区三等奖)

视频链接: 飞行小鸟游戏介绍及操作_哔哩哔哩_bilibili

        本系统基于安路 EG4S20 FPGA 平台上构建嵌入式 Cortex-M0 软核,利用 AHB-lite总线将各外设与Cortex-M0 相连接,搭建一个完整的 SoC 系统,共有贪吃蛇、飞行小鸟2个游戏。有丰富的人机交互功能,里面包含了基于UART协议的角度传感器、防沉迷(SIM900A)、语音识别;基于I2C协议的手势识别等,除此之外还有 VGA、HDMI、震感反馈、摇杆、矩阵键盘、音乐播放等。


二、AXI2AHB Bridge

        实现一个可靠的AXI到AHB bridge,支持AXI INCR burst到AHB SINGLE INCR4 8 16 burst的转换。采用了AXI 3.0和AHB 3.0协议,并在设计中引入了同步FIFO。模块主要包括CMD模块、CTRL模块、WDATA模块和RDATA模块。CMD模块对读写指令进行轮询仲裁后,将命令存入同步FIFO中。CTRL模块根据读写指令,控制WDATA模块和RDATA模块进行读写操作。该模块能将AXI Master的命令转换为AHB协议的格式发送到AHB Slave端口,并能正确读回AHB Slave的Response。

1、顶层top框图

2、CMD控制模块

3、握手信号图

图1 axi2ahb握手信号

  1. axi_valid:axi master发送的信号,包含读/写两个信号,在仿真里模拟。
  2. axi_ready:轮询信号为写 && cmd_fifo没满,包含读/写两个信号。
  3. cmd_valid:cmd_fifo不为空就输出一组读/写命令。
  4. cmd_finish:CTRL模块发送的ready信号,代表一帧数据传输完成,可以准备接收下一帧。
  5. axi_wvalid:写通道数据有效,在仿真里模拟。
  6. axi_wready:说明wdata_fifo有空间,axi master可以往里写数据
  7. wdata_ready:说明wdata_fifo里有数据,可以往外写给ahb slave
  8. wdata_phase:说明数据正在写传输,处于NONSEQ或SEQ的传输状态。
  9. ahb_hready:ahb模块就绪信号,在仿真里模拟。
  10. axi_bvalid:写响应信号有效,即b_fifo内有效数据
  11. axi_bready:axi准备好接收写响应。
  12. axi_rready:axi准备好接收读数据(包含读响应)
  13. axi_rvalid:只要r_data_fifo里有一个完整的burst数据,那就可以发
  14. rdata_ready:反馈给ctrl模块,用于判断r_data_fifo是否有空间接收下一个burst
  15. rdata_phase:说明数据正在读传输,处于NONSEQ或SEQ的传输状态。

三、基于FPGA智能导盲拐杖(FPGA竞赛全国二等奖)

        本系统主要由安路平台的FPGA开发板EG4S20BG256开发板作为主控中心,由 Arduino UNO 作为控制霍尔电机的控制板,由BASYS 2开发板作为盲人家中的辅助板。由FPGA主控中心,实时导航、小车驱动、红绿灯检测、LORA无线传输和超声波避障部分组成,具有摔倒检测、紧急求救、语音报时、消遣娱乐等功能。

        FPGA主控中心主要对各种传感器进行数据采集、数据分析、数据处理、动力设备的驱动。语音输入目的地控制GSM 模块发起 http 请求,从百度 LBS 开放平台获取导航数据,GPS模块辅助定位和超声波、红外线辅助避障的自主导航;通过自主设计的 LORA 模块将盲人和家中信息互联。Arduino 开发板通过PID 算法实现智能拐杖速度、位置、方向的精准控制。心率等身体健康数据发至安路 FPGA 核心板后将心率通过 LORA 实时发至 BASYS 2开发板供家人查看。


四、基于FPGA的倾角监测系统

        基于xilinx XC7Z010CLG400 FPGA平台实现,通过uart协议采样角度信息,将数据发送到fpga开发板进行处理,再通过HDMI显示。

基于FPGA的倾角检测系统(倾角监测,短信提示,定位信息显示等功能)_fpga像素时钟计算_内有小猪卖的博客-CSDN博客


五、图像压缩核心算法

        基于H.264视频标准编码设计2D DCT变换模块,实现多种不同性能及成本的DCT变换单元IP。根据功能需求,将模块划分为运算模块、缓存模块和顶层模块。方案一可提高模块性能,通过可变的行列读写标志,在4周期内完成2D DCT变换,其处理性能提高1倍。方案二可降低模块实现的成本,通过复用1D变换的计算逻辑和存储模块,在8周期内完成变换,其面积降低50%。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/98141.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp实现微信小程序全局可分享功能

uniapp实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】 主要使用 Vue.js 的 全局混入 1.创建一个全局分享的js文件。示例文件路径为:./utils/shareWx.js ,在该文件中定义全局分享的内容: export default {data() {retur…

【数据结构初阶】一. 复杂度讲解

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 学C的第三十四天【程序环境和预处理】_高高的胖子的博客-CSDN博客 1 . 算法效率 (1). 什么是数据结构: 数据结构(Data Structure)是计算机存储、…

STL ---- vector 使用

单纯的使用vector不和algorithm连用. vector自带的方法: push_back(num) pop_back() push_back 添加元素, pop_back删除元素.添加和删除都是在末尾添加和删除的. void assign(const_iterator first,const_iterator last); // 相当于拷贝函数 void assign(size_type n,const…

centos7升级openssh版本

linux升级openssh版本,升级到8.6p1 小白教程,一看就会,一做就成。 1.下载rpm包 2.编写一键安装脚本(然后执行) #把所有的rpm包,我都放到了/ydy目录,下面安装时,也指定了这个目录 #编…

day-41 代码随想录算法训练营(19)动态规划 part 03

343.整数拆分 思路: 1.dp存储的是第i个数,拆分之后最大乘积2.dp[i]max(dp[i],max(j*(i-j),j*dp[i-j]));3.初始化:dp[0]dp[1]0,dp[2]1;4.遍历顺序:外层循环 3-n,内层循环 1-i 2.涉及两次取max: dp[i] 表…

LLMs之Code:SQLCoder的简介、安装、使用方法之详细攻略

LLMs之Code:SQLCoder的简介、安装、使用方法之详细攻略 目录 SQLCoder的简介 1、结果 2、按问题类别的结果 SQLCoder的安装 1、硬件要求 2、下载模型权重 3、使用SQLCoder 4、Colab中运行SQLCoder 第一步,配置环境 第二步,测试 第…

【RPC 协议】序列化与反序列化 | lua-cjson | lua-protobuf

文章目录 RPC 协议gRPCJSON-RPC 数据序列化与反序列化lua-cjsonlua-protobuf RPC 协议 在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调…

横向对比 npm、pnpm、tnpm、yarn 优缺点

前端工程化是现代Web开发中不可或缺的一环,它的出现极大地提升了前端开发的效率和质量。 在过去,前端开发依赖于手动管理文件和依赖,这导致了许多问题,如版本冲突、依赖混乱和构建繁琐等。而今,随着众多前端工程化工具…

常见项目管理中npm包操作总结

前言 我们在日常工作中,可能需要下载包、创建包、发布包等等。本篇推文将记录日常项目中关于npm包的操作。 引用包 npm仓库公开的包我们都可以通过npm install的命令进行引用下载。 而我们开发的业务公共组件需要在公司内部项目公共引用,而不希望公开为外…

洞察商机,驱动创新:智能数据分析引领企业发展

“五度易链”产业大数据解决方案由产业经济、智慧招商、企业服务、数据服务四大应用解决方案组成,囊括了产业经济监测、产业诊断分析、企业监测预警、企业综合评估、大数据精准招商、招商智能管理、企业管理、企业培育、企业市场服务、企业金融服务、产业数据开放服…

docker 安装xxljob

1. 安装mysql镜像 2.初始化xxljob的数据库和表 一、初始化db:https://codechina.csdn.net/mirrors/xuxueli/xxl-job/-/blob/2.3.1/doc/db/tables_xxl_job.sql 对脚本进行修改,添加ROW_FORMATDYNAMIC 安装xxljob 镜像 docker pull xuxueli/xxl-job-admin:2.3.1 …

双亲委派机制的作用

文章目录 类加载过程一、java有哪些类加载器?二、双亲委派机制自定义String类 总结 类加载过程 先简单说一下java的类加载器 类加载器,顾名思义就是一个可以将Java字节码加载为java.lang.Class实例的工具。这个过程包括,读取字节数组、验证…