2020年第四届全国大学生集成电路创新创业大赛自开赛以来,共有来自全国七大赛区的141支队伍报名“Arm杯”赛题,经过企业评审和分赛区初赛,有21支团队晋级全国总决赛。经过现场演示和评审,“Arm杯”赛产生了一等奖2名、二等奖5名、三等奖8名、优秀奖6名,此外,一等奖团队中的“起名好难队”脱颖而出,获得了“Arm杯”企业专项奖!
为了让大家更深入的了解同学们优秀的作品,促进同学们之间的交流和学习,鼓励更多的同学参与到竞赛中,以赛促学,Arm中国学堂将把部分获奖团队作品分享给大家。
Arm杯-基于Arm处理器的智能化SoC设计挑战赛赛题
杯赛题目:基于 Arm 处理器的智能化 SoC 设计
参赛要求:A组、B组
赛题内容:
利用Arm Cortex-M3 DesignStart处理器在限定的可编程逻辑平台上构建片上系统,实现信号的采集和处理(信号类型不限,可以是音视频、医电、环境等)。设计并在Arm SoC中实现专门的硬件加速器以提高和优化系统的性能,实现系统对信号的智能处理和分析,要求系统具有创新性、实用性和一定的市场前景。
团队介绍
参赛单位:北京理工大学
队伍名称:起名好难队
指导老师:张延军
参赛队员:袁易扬、王云川、程潇扬
总决赛奖项:一等奖/企业专项奖
项目简介
卫健委发布的《新型冠状病毒感染的肺炎诊疗方案(试行第四版)》中提到“病毒经呼吸道飞沫传播是主要的传播途径,亦可通过接触传播”。在医院等易发生传染的公共场所,更应对接触传播有所防范。在这样的背景下,本团队设计了一种通过手势操作的非接触式自助挂号系统,以Cortex M3内核作为控制核心,实现图像的采集和处理,具备对6种静态手势和2种动态手势进行识别的功能,卷积神经网络准确率在90%左右。
系统硬件架构简介
基于 CMSDK 系统设计包提供的 AHB 总线矩阵,在 NexysA7-100T 板卡上实现了以 Cortex-M3 为控制核心并以硬件加速器作为主要计算单元的 SoC 系统,使用FPGA 片上资源实现了 ROM、RAM、单通道 DMA 以及各外设接口,系统时钟频率为50MHz。总体架构图如图所示:
软硬件功能划分
系统所需实现的功能主要分为三个部分,分别是外设控制功能、手势识别功
能及人机交互功能。外设控制功能为 M3 提供了控制 AHB/APB 总线上外部设备的接口,从而为手势识别及人机交互功能提供了数据源;手势识别功能对 ov5640摄像头采集的图像数据进行识别从而获取当前手势;人机交互功能对获取手势的结果进一步处理,按照交互的逻辑完成相应的业务功能。
(1)外设控制功能
针对自定义的外设接口软硬件功能划分进行介绍。为了实现 M3 对外设的控制,除了使用 cmsdk 工具包中提供的外设接口(如 AHB GPIO)外,还设计了针对系统中特有的外设的 AHB/APB 总线接口。M3 通过总线矩阵读写外设接口模块内的寄存器,实现对外设的控制及数据的获取。
(2)手势识别功能
手势识别过程中,图像处理算法及卷积神经网络算法的主体部分交由硬件加速器完成,软件则负责初始化外设、配置加速器参数、控制数据流向及更新手势状态变量 hand_movement 和 hand_gesture。
(3)人机交互功能
人机交互逻辑均由软件进行控制,根据重心计算器提供的有效像素个数判断画面中是否含有手势,若包含手势,则根据识别算法所得到的状态变量hand_movement 和 hand_gesture,判断用户的动态和静态手势类型,并按照交互逻辑提供挂号服务。
参赛感受分享
①加强定期沟通
在今年疫情导致大家只能分散备赛,远程协作的特殊背景下,加强定期沟通保证了我们项目能够按计划稳步推进。在团队成员的一致认同下,我们指定了严格的每日组会计划,大家每天都会利用线上会议汇报各自任务的进度,并且共同讨论设计难点和解决方案,在一定程度上保证了团队活跃的研发气氛。②注重软硬件设计结合
通过本次参赛,团队成员学习到了基于Arm架构 SoC的基本开发流程,认识到要将算法布署于嵌入式硬件时,需要同时考虑算法性能以及硬件资源。通过更改算法方案,以二值图像作为识别对象、裁剪神经网络层数、减少量化位数等方式,实现了在小幅度降低算法性能的情况下,大大减小了算法实现的硬件资源消耗。③注意合理分工,高效线上合作
由于疫情带来的分散研发影响,团队成员所用的设备与器件各有差异,无法共同完成全系统的仿真和验证。我们将总体目标合理拆分为个人任务,由成员在EGO1板卡上进行原型设计验证各个模块的的正确性,之后在NexysA7100T板卡上整合实现系统功能,由队长袁易扬进行软件可发和系统功能的总体验证,从而提高了团队研发的并行度,达到了较高的研发效率。
作品内容来源于起名好难队,非开源,转载请标明出处,基于此作品的合作请联系Arm教育计划:EDUweixin@armchina.com