当前位置: 首页 > news >正文

【2023集创赛】芯原杯一等奖作品:基于芯原DSP核的智能语音SoC设计

本文为2023年第七届全国大学生集成电路创新创业大赛(“集创赛”)芯原杯一等奖作品分享,参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电子礼品等你来领!

团队介绍

参赛单位:东南大学
队伍名称:一口气全队
指导老师:黄见秋
参赛队员:黎颖,李欣欣,甘云汉
总决赛奖项:一等奖

项目概述

本项目旨在设计一款基于芯原DSP (数字信号处理器)核ZSPNano的智能语音识别SoC芯片,基于芯原自主半导体IP搭建的技术平台,可以快速设计出满足不同应用的SoC产品,实现自主可控国产SoC芯片,帮助缩短产品的上市时间。该SoC芯片采用芯原公司自主研发的DSP核作为主控芯片,集成了高性能的语音信号采集、处理、识别等功能模块,实现语音信号的采集、处理和识别功能,将能够支持基于深度神经网络模型的智能语音识别算法和传统的语音识别算法。同时,该芯片还具备低功耗、低延迟、高精度等特点,适用于各种智能语音识别场景,可广泛应用于智能音箱、车载语音系统、语音翻译、智能家居、智能安防、智能手表、智能音箱等场景。该项目旨在为用户提供一种更加高效、便捷、安全的本地语音识别解决方案,推动智能语音识别技术的发展。

本项目的设计和开发基于ZSPNano的语音处理SoC设计平台和现有系统框架完成,配合现有DSP核、语音处理单元、存储器、I2C、I2S、PDM麦克风、WDT等功能模块,设计了能够满足系统需求的AMBA总线,实现音频数据输入输出、音频的数据处理与关键字判断识别、低功耗设计与综合。我们设计的基于芯原DSP核ZSPNano的智能语音识别SoC芯片包括以下内容:

  • 基于Design Spec规定的memory mapping,完成了AHB Bus的设计
  • 基于Design Spec规定的memory mapping,完成了APB Bus及AHB2APB Bridge的设计。
  • 完成了必要的功能验证及结果输出
  • 基于系统环境验证可靠,完成了低功耗及其唤醒的实现,其中包含低功耗软件实现与MFCC硬件加速实现。
  • 完成了对低功耗实现的验证与评估

硬件概述

在本项目中,硬件设计主要包含两部分,一部分是AMBA总线系统的设计,包括AHB总线矩阵以及AHB转APB桥;另一部分是语音梅尔倒谱系数(Mel-scaleFrequency Cepstral Coefficients,下文以MFCC代替)提取硬件电路,包括硬件基2蝶形FFT运算单元、梅尔滤波器组以及离散余弦变换(DCT)运算单元等数字系统构成。
我们的AMBA总线设计如下图所示
在这里插入图片描述

MFCC硬件设计如下图所示,该MFCC硬件包含5大模块:预处理模块、(512点)傅里叶变换模块、梅尔滤波器组、对数运算模块以及离散余弦变换模块,对其进行封装后,将总体模块根据数据流连接,并将输入输出寄存器组和控制寄存器映射到APB总线上。
在这里插入图片描述

为了实现对硬件电路的自动化验证,我们编写了一套从MATLAB定点化模型的输出输出到Verilog仿真模型的数据对比测试代码,分别在每一个计算模块的testbench中加入这些数据源输入、硬件输出捕获以及输出与MATLAB模型对比的task实现自动化仿真,并将出错的数据地址显示在终端中,以便轻松检查电路的设计是否有错误以及快速定位错误位置。

软件概述

在本项目中,系统流程如下图所示,分为初始化,sleep,ZSP_nano wake,system wake,结束(回到sleep)四个状态。
其中初始化状态对i2c和PDM进行初始化;
sleep状态根据赛题要求,仅开启PDM时钟,ZSPNano进入低功耗状态并保持;
倘若PDM读取中断且读满1帧数据,就由sleep状态进入ZSP_nano wake状态进行唤醒;
在ZSP_nano wake状态中,经过三层判断:第一层通过“短时能量、短时过零率双门限端点检测法”判断读取数据是否为有效;第二层通过MFCC特征提取,判断处理数据是否为语音;第三层通过关键词唤醒方法判断是否为“Hi Verisilicon”。倘若判定结果为否,则返回sleep状态,对任意一层皆适用;倘若前两层判断为是则进入下一层,最后一层判断为是则进入system wake状态唤醒。
system wake状态会开启外设时钟和i2s初始化并输出正弦波。在输出完后重新回到sleep状态。如此,一次完整的低功耗唤醒流程结束。
在这里插入图片描述

参赛感悟与总结

首先,非常感谢集创赛给了我们这样一个可以在实践中学习SoC设计的机会,也非常感谢指导老师的有力支持。

其次,我觉得我们团队是幸运的,不仅仅是我们的付出得到了肯定,更重要的是,在长达8个月的赛程中,我们信赖彼此,相互支持,共同成长,收获了珍贵的友谊、回忆,这些并肩作战的日子想必在遥远的以后也依然温热。

在赛程的每个阶段,我们都分工明确,每一个队员都能够在完成自己负责的部分的基础上,进行深入的思考:如何优化才能提高识别速度?有没有更多更好实现低功耗的方法?在通过讨论提出更好的方法后,我们能够将其落地实现。这些积极负责的态度也是我们团队能够走到最后的原因吧。

最后,衷心祝愿屏幕前的朋友能够找到志同道合的伙伴,享受比赛过程中挑战困难带来的快乐 o((>ω< ))o

参加极术社区的【有奖征集】分享你的2023集创赛作品,秀出作品风采,分享2023集创赛作品扩大影响力,更有丰富电子礼品等你来领!

http://www.lryc.cn/news/177466.html

相关文章:

  • 代理IP与Socks5代理在跨界电商、爬虫、游戏和网络安全中的应用
  • DDS信号发生器Verilog波形发生器FPGA
  • 基于springboot实现二手交易平台管理系统演示【项目源码】分享
  • 一个链接分享自制的产品图册
  • 2023工博会 | 上海添力网络营销公司 | 助力工业品线上推广
  • React实现多图片预览功能、预览图上下张切换(实战示例)
  • 【NLP的Python库(04/4)】:Flair
  • Vue框架学习大纲
  • 利用PPT导出一张高清图的方法,office与WPS只需要使用一个即可,我使用的是office。
  • 2023年【四川省安全员B证】最新解析及四川省安全员B证模拟考试
  • 某瑞集团安全技术研发岗位面试
  • 学习笔记|ADC反推电源电压|扫描按键(长按循环触发)|课设级实战练习|STC32G单片机视频开发教程(冲哥)|第十八集:ADC实战
  • 2020 款凯迪拉克 XT5 车发动机加速异响
  • 【AI视野·今日CV 计算机视觉论文速览 第255期】Wed, 27 Sep 2023
  • Java应用生产Full GC或者OOM问题如何定位
  • Data processing flow
  • CAP理论与BASE理论
  • DRM全解析 —— ADD_FB2(3)
  • 【Java】SpringMVC ResponseBodyAdvice详解
  • python常见面试题五
  • SpringBoot结合Vue.js+axios框架实现增删改查功能+网页端实时显示数据库数据(包括删除多条数据)
  • 曙光亮相工博会,发布首款国产高端工业实时仿真计算系统
  • 「大数据-2.0」安装Hadoop和部署HDFS集群
  • 文档在线预览word、pdf、excel文件转html以实现文档在线预览
  • FFmpeg视音频分离器----向雷神学习
  • CentOS 8开启bbr
  • Redis的安装与基本使用
  • 2014 款金旅牌小型客车 发动机怠速抖动、加速无力
  • R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化...
  • 网站被劫持了怎么办