络达开发----如何开启DMIC

news2025/1/16 18:45:59

芯片型号:AB1565

功能模块:数字MIC接口的使用


AB1656评估板上支持两路数字MIC,分别为DMIC0和DMIC1,如果图1所示,分别 可以由GPIO_2/3/4/5/13/14/15/16来当数字MIC的接口。

图1:支持DMIC的IO口
图1:支持DMIC的IO口

但是评估板上仅设计了一路数字MIC的电路,即DMIC1,且只能使用GPIO15/16两个口来充当,如图2所示,注意这里选择的是AU_MICBIAS0 ;

标题图2:评估板上留出的DMIC接口

 

因此,可以得知,在评估板上,只能使用GPIO15和GPIO16来充当数字MIC,那如何使用呢?

SDK中默认是不开启数字MIC,因此我们首先需要映射IO口,即:

GPIO15=DMIC1_CLK, GPIO16=DMIC1_DAT;

1、评估板上GPIO15/16支持两种模式的复用,是通过跳线冒来选择,因此需要把跳线冒选跳到数字MIC的电路通道上,如图3所示,把J1015和J1016的2和3号脚短接。

图3:DMIC1跳线冒的选则
标图3:DMIC1跳线冒的选则题

 

2、工程是依据ab1565_evb为模板的,所以我们需要修改gpio口的定义

 文件是:

mcu/project/ab1565_ab1568_evk/apps/xxxxx/inc/boards/ab1565_evb/ept_gpio_drv.h

由图1可知,这两个IO口的7号复用功能为数字MIC,因此有如下代码的修改:

#define GPIO_PORT15_MODE   MODE_7  // 7:DMIC1_CLK;2:ESC_MOSI : Used for ESC_MOSI
#define GPIO_PORT16_MODE   MODE_7  // 7:DMIC1_DAT;2:ESC_MISO : Used for ESC_MISO

3、同时,需要修改上下拉的模式,如下图所示:

// PUPD1  PD-120K_ohms
#define GPIO_PORT15_PUPD  1
#define GPIO_PORT15_R1  0
#define GPIO_PORT15_R0  1
// PUPD1  PD-120K_ohms
#define GPIO_PORT16_PUPD  1
#define GPIO_PORT16_R1  0
#define GPIO_PORT16_R0  1

4、修改完代码后,先clear一下工程,然后重新编译;

5、编译完成后,用ATK工具还需要选配一下语音MIC为数字MIC1,最终的配置如图4中红线圈起来的内容所示,注意:图2中提到采用的BIAS0,因此图4中的红圈4处选择BIAS0 enable;

图4:DMIC1配置为语音MIC
标题图4:DMIC1配置为语音MIC

 最好保存并下载到芯片中即可。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MAC M1使用Rosetta安装python3.6

在使用网上提到的brew和pyenv安装的时候,我的电脑总会报BUILD FAILED错误。 找了一天才找到解决办法,真的十分痛苦,特此记录一下,让别的小伙伴也不再迷茫。 解决办法参考网址:click here(需要VPN&#xff…

html跑马灯走马灯效果

演示 <marquee width"100%" scrollamount"5"> <a href"http://www.taobaojp5.tk"><font face"楷体_GB2312" color"#ff0000" size"3"></font><strong>带有超链接的跑马灯!点我试试&…

uwsgi 快速入门

文章目录uwsgi 快速入门一、 概述1、 简单介绍2、 环境配置二、 第一个 WSGI 应用1、 运行2、 添加并发三、 结合 Web 服务器使用1、 Flask2、 Django3、 Nginx配置uwsgi 快速入门 一、 概述 1、 简单介绍 WSGI&#xff08;Web Server Gateway Interface&#xff09;&#x…

FPGA知识汇集-ASIC移植中的FPGA芯片划分

通常&#xff0c;FPGA单芯片难以容纳下整个ASIC设计&#xff0c;因此需要将整个系统划分到多颗FPGA芯片中运行&#xff08;见图1&#xff09;&#xff0c;工程师往往需要借助原型验证平台来实现这样的目标。多芯片的划分绝不是简单的将不同的模板放置到不同的FPGA中那么简单&am…

算法训练营 day16 二叉树 二叉树的最大深度 二叉树的最小深度 完全二叉树的节点个数

算法训练营 day16 二叉树 二叉树的最大深度 二叉树的最小深度 完全二叉树的节点个数 二叉树的最大深度 104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点…

(JVM) 沙箱安全机制

沙箱安全机制 沙箱安全机制 保证程序安全 保护Java原生的JDK代码 Java安全模型的核心就是Java沙箱&#xff08;sandbox&#xff09;。什么是沙箱&#xff1f;沙箱是一个限制程序运行的环境。 沙箱机制就是将Java代码限定在虚拟机&#xff08;JVM&#xff09;特定的运行范围…

Javaweb+Vue开发中常见的问题-1

1.Vue乱码问题 Vue2 修改打包文件的编码格式&#xff08;webpack-encoding-plugin&#xff09;_一碗单炒饭的博客-CSDN博客_vue如何设置打包文件的编码格式 怎么把命令行改成utf_8 - 沿途百知 设置命令行的编码格式&#xff1a;chcp 65001 https://bbs.csdn.net/topics/3935426…

基于微信小程序云开发的职业学校招生报名小程序源码,职业学校招生报名微信小程序源码 ,职业学校招生报名小程序源码

功能介绍 这是一个以报名为核心的职业学校招生小程序&#xff0c;目的是方便想要系统学习技能&#xff0c;入门某项技能或者领域的初高中毕业生&#xff0c;了解该学校的基本情况及各个专业&#xff0c;并提供报名路径&#xff0c;致力于技能型人才培养。本程序前后端代码完整…

ikun运球新姿势-- 反弹shell

目录 反弹Shell 反弹shell的概述 正向连接 反向连接 为什么需要反弹shell 利用netcat反弹shell 利用Bash反弹shell curl配合Bash反弹shell 将反弹shell的命令写入定时任务 将反弹shell的命令写入/etc/profile文件 python脚本反弹shell 反弹Shell 反弹shell的概述 …

免费的移动硬盘数据恢复软件EasyRcovery15

在日常工作中&#xff0c;移动硬盘可以帮助用户存储重要的文件资料&#xff0c;作为可移动的存储设备&#xff0c;在外出工作时携带起来也比较的方便&#xff0c;而且它的存储空间大&#xff0c;不会出现数据文件过大而无法储存的情况。今天小编就来和大家分享一下&#xff0c;…

算能杯|全国大学生集成电路创新创业大赛开启报名!

第七届全国大学生集成电路创新创业大赛正式开幕&#xff0c;“算能杯”主题是基于TPU芯片的边缘计算系统设计&#xff0c;算能为参赛选手提供了超强算力的开发板、无人机、人工智能小车等硬件资源&#xff0c;欢迎各大高校的开发者报名参与&#xff01; 近几年&#xff0c;边缘…

4-选择题练手

1.在Java中&#xff0c;以下关于方法重载和方法重写描述正确的是A. 方法重载和方法的重写实现的功能相同 B. 方法重载出现在父子关系中&#xff0c;方法重写是在同一类中 C. 方法重载的返回值类型必须一致&#xff0c;参数项必须不同D.方法重写的返回值类型必须相同或相容答&am…

05.rocketmq源码分析后的一些整理

经过近3年的打磨&#xff0c;我们自研的企业基础应用框架基本成型&#xff0c;并且在多家规模企业中全面落地&#xff0c;从最新的统计数据来看&#xff0c;经过一年的上线应用&#xff0c;某省港集团在平台中管理的运营流程接近600/审批事项接近73w&#xff0c;业务消息量就更…

SSM02 Spring 注解开发 AOP Spring整合-事务

19-注解开发定义bean3.2 注解开发定义bean在上述环境的基础上&#xff0c;我们来学一学Spring是如何通过注解实现bean的定义开发?步骤1:删除原XML配置将配置文件中的<bean id"bookDao" class"com.itheima.dao.impl.BookDaoImpl"/>标签删除掉步骤2:D…

麒麟操作系统iso文件中的img文件的解压与压缩

近日考虑到要制作适用PXE的引导麒麟系统&#xff0c;所以需要对iso中的img文件做适当调整。本文将介绍如何解压压缩麒麟系统的img文件。 一、了解vmlinuz和initrd.img文件 vmlinuz&#xff1a;系统内核文件&#xff0c;编译而成。initrd.img&#xff1a;是一个小的文件系统&a…

【redis6】第四章(配置文件)

自定义目录&#xff1a;/etc/redis.conf Units单位 配置大小单位,开头定义了一些基本的度量单位&#xff0c;只支持bytes&#xff0c;不支持bit&#xff0c;大小写不敏感。 # Redis configuration file example. # # Note that in order to read the configuration file, Re…

D3.js基础教程

D3: Data-Driven Documents D3 (或D3.js)是一个JavaScript库&#xff0c;用于使用Web标准可视化数据。 D3帮助您使用SVG&#xff0c;Canvas和HTML使数据栩栩如生。 D3将强大的可视化和交互技术与数据驱动的DOM操作方法相结合&#xff0c;为您提供现代浏览器的全部功能&#xf…

【owt-server】RtpTransportControllerSend的创建和使用

owt-server 5.0 【owt-server】librtcadapter: VideoSendAdapterImpl 视频发送侧及mia 调用分片发送H264帧只是简单的发送发送侧必须有一套传输控制机制这套机制还需要接收测联动。发送侧 NonPacedSender bool VideoSendAdapterImpl::init() 创建 需要首先创建m_transportCont…

如何判断一个数据库是不是出问题了?

我在前面文章中,和你介绍了主备切换流程。通过这些内容的讲解,你应该已经很清楚了:在一主一备的双 M 架构里,主备切换只需要把客户端流量切到备库;而在一主多从架构里,主备切换除了要把客户端流量切到备库外,还需要把从库接到新主库上。 主备切换有两种场景,一种是主动…

Linux系统编程——线程

守护进程 守护进程: daemon进程。通常运行与操作系统后台&#xff0c;脱离控制终端。 一般不与用户直接交互。 周期性的等待某个事件发生或周期性执行某一动作。 不受用户登录注销影响。 通常采用以a结尾的命名方式。守护进程创建步骤; fork子进程&#xff0c;让父进程终止。…