现在我的portapack已经带内置电池+开关和内置喇叭了,为了使它用起来更像一个对讲机,我打算装一个内置麦克风上去。

其实很久以前星天无线出的老款portapack是带有内置麦克风的,后来新款都把这个功能去掉了。

我现在打算把它加回去,我评估了一下,需要改软件和硬件。

软件部分我已上传至github,跟之前内置喇叭一样,我加了一个软件开关,软件开关可以切换使用3.5mm耳机带有的麦克风或内置麦克风。它具体的实现原理是根据AK4951声卡芯片的datasheet去使用56引脚,5引脚用来供电,6引脚用来接收声波信号输入。

除了更改软件,还需要更改硬件,5引脚上要接一个2k2电阻,6引脚上要接一个1u电容,然后两个引脚接到驻极体的正极,驻极体负极接地。

详细得过程如下:

这里摘录几张datasheet里的图片,我的软硬件修改就是基于这几张图片做的。

可以看到internal mic也就是内部mic用了MPWR1(电源)和LIN1 RIN1(左右声道输入)这3个引脚,接电源要经过电阻,接输入口要经过电容。并且这个电阻和电容可以参考external mic,应该是一样的。

上面的图可以看到,我们要用的MPWR1和RIN1 LIN1分别是芯片上的567这3个引脚。

根据这个图,目前的mic应该是只接了左声道(LIN2)和电源(MPWR2),没有接右声道(RIN2),为了简化焊接步骤,这样我打算内置麦克风也只接一个声道RIN1,。

接下来看一下datasheet,研究一下软件上如何启用我要的5、6引脚。

这是控制电源的,你可以找到原来代码mictx调用的打开麦克风函数,看一下本来用的mpwr相关的赋值应该是1,改为0就会把电源输出从mpwr2切换到mpwr1了。另外pmmp得是1,这样电源才会启用。你可以测试一下,当打开mpwr1后,可以在5引脚上测到2.4v电压。

这里是选择麦克风,本来代码里应该是0b01,因为用的是LIN2,现在要用LIN1/RIN1改为0b00即可。

其他剩下的修改就只是界面上的修改了,方便操作,可以直接在界面上切换要用的麦克风。

视频参见:

https://www.bilibili.com/video/BV16Q4y1A76r

我打了新的pcb,发现麦克风声波信号收不到,我把6和7引脚短路掉也就是,左声道和右声道接在一起才可以,我怀疑RIN1有问题,下次生产要接到LIN1上。我看了我的固件,实际这两个口都启用了。

Portapack应用开发教程(十一) 加入内置麦克风相关推荐

  1. 解决win10笔记本内置麦克风不能用的历程和方法

    PS:解决方法在文章最下方 起因 本来今天想着继续写CIM项目文章,但是想着如果配合文章,发一个讲解视频的话效果应该会更好,于是凭着编程的本能反应,第一步是看一看麦克风能不能用,毕竟之前为了唱歌一直把 ...

  2. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)...

    昨日内容回顾 1.三种引入方式1.行内js <div onclick = 'add(3,4)'></div>//声明一个函数function add(a,b){}2.内接js& ...

  3. 音视频技术开发周刊:FFmpeg内置的一个无中生有的音视频输入数据 | 214

    每周一期,纵览音视频技术领域的干货. 新闻投稿:contribute@livevideostack.com 火山引擎视频云:坚持基础技术创新,打造极致用户体验 从toC到toB,作为抖音背后的视频技术 ...

  4. python内置函数open_Python学习教程:Python内置函数大总结(下篇)

    这里接着上次的 Python学习教程,给大家总结了Python 剩下的33个内置函数. 31 hash() 返回对象的哈希值 In [112]: hash(xiaoming)Out[112]: 613 ...

  5. api 微信内置浏览器js_【微网站开发】之微信内置浏览器API使用

    最近在写微网站,发现了微信内置浏览器的很多不称心的地方: 1.安卓版的微信内浏览器底部总是出现一个刷新.前进.后退的底部栏,宽度很大,导致屏幕显示尺寸被压缩 2.分享当前网站至朋友圈时,分享的图片一般 ...

  6. 微信公众号开发,清除微信内置浏览器缓存

    在做微信开发的时候(主要是微信内网页或者比较大型的手机网站)的时候,更改了页面代码,但是微信内置浏览器有缓存,还是之前的效果,影响调试,而且还死活清除不掉!!!!!怎么办? 我的第一想法是关闭手机的微 ...

  7. java流控_t-io小教程:tio-http内置的流控功能

    从事互联网应用平台的开发,安全一直是个工作量很大的领域,而流控则属于安全的一部分,为此tio-http特意内置了流控功能,我们来看看tio-http流控的使用步骤 1.实现SessionRateLim ...

  8. JavaScript知识点总结(十一)- 内置对象

    目录 一.什么是内置对象 二.查询文档 2.1 MDN 2.2 如何学习对象中的方法 三.Math对象 3.1 Math概述 3.1.1 案例练习 - 封装自己的Math对象 3.1.2 Math绝对 ...

  9. 微信开发:JS自动关闭内置浏览器回到微信对话窗口

    自动关闭当前浏览器内置函数: 直接调用即可 setTimeout('WeixinJSBridge.call("closeWindow")', 1500); 延迟执行可加可不加,按需 ...

最新文章

  1. This Gradle plugin requires a newer IDE able to request IDE model level 3.For Android Studio this
  2. many-to-many
  3. 谈身份管理之进阶篇 - 快速了解从管理到治理的最佳方案
  4. 流畅的python第一章_《流畅的Python》第一章学习笔记
  5. [SHOI2009] 会场预约
  6. 【正则表达式】正则表达式
  7. Dev TreeList常用用法
  8. idea 的精准搜索_intellij idea 的全局搜索快捷键方法
  9. cgroup学习(七)——cpu子系统
  10. 电脑计算机显示向程序发送命令时出现问题,Win7系统Excel向程序发送命令时出现错误怎么解决?...
  11. php正则表达式 w3c,正则表达式 – 匹配规则 | w3cschool菜鸟教程
  12. 人类能看懂的衍射光学(含基尔霍夫衍射,瑞利--索末菲衍射,夫琅禾费衍射,角谱衍射,菲涅尔衍射积分,菲涅尔衍射的S-FFT算法,T-FFT算法,D-FFT算法)
  13. 几种微弱信号处理电路
  14. java 报表工具_15个Java的报表工具简介
  15. Invalid bound statement (not found): com.zheng.mapper.UserMapper.login
  16. java 创建二维码 并加载显示到窗口
  17. Python中的迭代是什么意思?
  18. 都快2021年了,居然还有人不会MECE
  19. 2010年国家规划布局内重点软件企业认定名单
  20. 雅特力AT32F403A, 国产芯片PIN TO PIN 替代STM32F103

热门文章

  1. int数据类型的取值范围是多少?怎么计算的?
  2. html5 表格向下,HTML5 教程之HTML 表格
  3. x264源代码简单分析 编码器主干部分-1
  4. 易语言超级算法转php,易语言 PHP RC4算法同步应用源码
  5. html调整上下的间距,html上下间距怎么调
  6. 【建议星星】要就来45道Promise面试题一次爽到底
  7. linux修改文件名的三种方法
  8. 怎样在LaTeX中使用中文
  9. Linux下clock_gettime函数详解
  10. 内网建站 NAT穿透 局域网穿透