ML302 OpenCPU系列(7)---AW8733A音频PA调试

  ML302 OpenCPU提供两个模拟音频通道:耳机和喇叭。

  两个通道的音量都不大,如果是做支付音响类的产品,这个音量是不够的。需要外部再加一个音频PA,比如AW8733A,它能提供2W的功率输出。

  参考AW8733A提供的参考设计画原理图。如采用喇叭通道,参考差分输入方式典型应用图,如下:

  如采用耳机通道,因为耳机不是差分信号输出,区分左右声道,参考单端输入方式典型应用图,如下:

  注意:由于喇叭通道模组内部已有一级PA放大,再经一级外部PA放大,音质会不如耳机通道。更推荐采用耳机通道。

  源码:

/*-----------------------------------------------------------------------------
File Name       :   user_aw8733a.c
Author          :   Tim_Tian
Created Time    :   2020.04.02
Description     :   AW8733A音频PA
-----------------------------------------------------------------------------*/#define AUDIO_PA_EN                  CM_GPIO_2
#define GPIO_PIN_ENABLE             1
#define GPIO_PIN_DISABLE            0typedef enum{CM_AW8733A_GAIN_12DB = 1,CM_AW8733A_GAIN_16DB,CM_AW8733A_GAIN_24DB,CM_AW8733A_GAIN_27_5DB,
}cm_aw8733A_gain_t;void cm_audio_pa_init()
{cm_gpio_cfg_t cfg;cfg.id = AUDIO_PA_EN;cfg.dir = CM_GPIO_OUT;cfg.irq_enable = 0;cm_gpio_init(&cfg);cm_gpio_pull_config(AUDIO_PA_EN,CM_GPIO_PULL_UP);//设置音频通道为喇叭Speakercm_audio_set_output(CM_AUDIO_OUTPUT_SPEAKER);
}//AW8733A支持过一线脉冲方式,使能AW8733A,并设置增益大小。
void cm_audio_pa_enable(cm_aw8733A_gain_t gain )
{int i;for (i = 0; i < gain; i++){cm_gpio_write(AUDIO_PA_EN, GPIO_PIN_DISABLE);cm_sys_delay_us(2);cm_gpio_write(AUDIO_PA_EN, GPIO_PIN_ENABLE);cm_sys_delay_us(2);}
}void cm_audio_pa_disable()
{cm_gpio_write(AUDIO_PA_EN, GPIO_PIN_DISABLE);cm_sys_delay_us(1000);}void cm_audio_pa_deinit()
{cm_gpio_deinit(AUDIO_PA_EN);
}//播放MP3回调函数,参考SDK Demo
static void mp3_playermem_process_event(cm_player_event_t event)
{if (event == CM_PLAYER_EVENT_FINISHED) { cm_printf("[AUDIO]MP3 play end, stop\n");cm_audio_player_stop();}
}//音频PA测试函数
void user_test_audio(unsigned char **cmd,int len)
{//PA初始化cm_audio_pa_init();//设置音量大小cm_audio_set_volume(9);//使能AW8733A,设置增益为27.5dbcm_audio_pa_enable(CM_AW8733A_GAIN_27_5DB);//播放MP3音频,mp3_test为音频数据,参考SDK Democm_audio_player_startmem(mp3_test, (sizeof(mp3_test)/sizeof(mp3_test[0])), CM_AUDIO_FORMAT_MP3, NULL, mp3_playermem_process_event);
}

ML302 OpenCPU系列(7)---AW8733A音频PA调试相关推荐

  1. ML302 OpenCPU系列(5)---Log工具的使用

    ML302 OpenCPU系列(5)---Log工具的使用 一.使用串口助手抓取Log 二.使用Coolwatcher抓取AP Log 三.查看死机现场   "工欲善其事,必先利其器&quo ...

  2. ML302 OpenCPU系列(6)---LIS3DH加速度传感器开发

    ML302 OpenCPU系列(6)---LIS3DH加速度传感器开发 一.原理图 二.待实现功能 三.实现步骤 四.源码   近期由于项目需要,在ML302 OpenCPU上调试了三轴加速度计LIS ...

  3. ML302 OpenCPU系列(8)---锂电池电量计算

    ML302 OpenCPU系列(8)---锂电池电量计算 一.采集vbat电压值 二.定义锂电池特性值 三.计算稳定电压 四.计算电量   ML302可以直接使用锂电池供电,模组VBAT引脚内部有一个 ...

  4. 【Hisi音频】Hi3520D音频输出调试

    一.原理 Hi3520D音频(AUDIO)模块包括音频输入.音频输出.音频编码.音频编码和音频解码模块.音频输入和输出模块通过对Hi3520D芯片SIO设备的控制实现相应的音频输入输出功能:编码和解码 ...

  5. atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能。 铃声 功能。。 音频切割(按照副歌部

    atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能. 铃声 功能.. 音频切割(按照副歌部分 ...

  6. RK系列开发板音频驱动适配指南(二)

    背景: 上一篇文章RK系列开发板音频驱动适配指南-DAI模块适配中已经阐述音频驱动适配的DAI模块适配步骤以及核心代码的展示,本次主要介绍音频驱动适配中的DMA模块适配. RK系列开发板 DMA模块适 ...

  7. Android音视频学习系列(五) — 掌握音频基础知识并使用AudioTrack、OpenSL ES渲染PCM数据

    系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...

  8. 音频PA导致的功耗超标

    测试通话电流时,发现3G或者4G通话功耗正常,但2G通话功耗超标(多60mA),抓modem log分析,没发现异常.然后寄样机过去作电流分解,发现超标的电流是音频PA导致的.由于是平板项目,双喇叭( ...

  9. RK系列开发板音频驱动适配指南(一)

    背景: 多媒体系统目前在Linux操作系统,windows操作系统已经非常成熟,并且应用场景广泛,但是,基于OpenAtom OpenHarmony(以下简称"OpenHarmony&quo ...

最新文章

  1. Java中父类方法重写有哪些需要注意的?
  2. 盛大游戏式管理,什么时候能管理游戏式?^o^
  3. RHEL5下构建LVS负载均衡系统详解(二)
  4. 泛型方法的定义和使用_泛型( Generic )
  5. select里加链接
  6. Exadata Griddisk Can't be auto added
  7. php有哪些优化技巧
  8. 漫画:不止于存储的智能云相册
  9. 《游戏设计信条》【笔记】
  10. 一套包含完整前后端的系统如何在K8S中部署?
  11. 一个便捷的在线取色器工具
  12. python 角度变弧度_弧度制和角度值怎么转换?
  13. 从王自如和老罗的论战中我貌似懂得了点神马...
  14. freeCodeCamp 练习3 -- Learn accessbility by building a quiz
  15. Fluent Mybatis 牛逼!
  16. 小澳的葫芦(最短路)
  17. 登陆失败:用户账户限制。可能的原因包括不允许空密码.........解决方案
  18. 直播观看指南|SOFA 五周年,Live Long and Prosper!
  19. Python语法基础(三)
  20. 魔兽世界官方小说android,魔兽世界官方小说(套装共6册)

热门文章

  1. 基于百度api的违规文本识别 分词 tfidf关键词提取 违规文本检测
  2. hihoCoder - 1633(2017北京icpc现场赛-G题)
  3. Xmanager5 Passive 图形化界面安装时,界面出来之后鼠标点不了,鼠标点击无反应
  4. 为什么年轻一代连操作系统的基本知识都不懂?
  5. 家用计算机中PCB板材质,介绍PCB电路板的主要原材料
  6. 【过关斩将】面试官:小伙子你都有哪些业余爱好?
  7. 课外知识:人工智能简明入门学习指南
  8. ESP8266-天猫精灵(智能家居)
  9. 基于字典的中文分词算法RMM,MM实现
  10. vxWorks6.6下基于vxBus的以太网驱动开发