ARM DIY(六)音频调试

这篇具有很好参考价值的文章主要介绍了ARM DIY(六)音频调试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

今天,调试一下音频

硬件焊接

硬件部分核心是 LM4871 音频功放芯片
ARM DIY(六)音频调试,嵌入式,# 硬件,# Driver,arm开发,音视频
对于 SOC 来讲很简单,就一个引脚 HPOUTL(单声道);对于扬声器来讲也很简单,就两个引脚,插上就可以了。
另外一个关键点是电容和电阻要焊到位,有没有噪音,音质好坏,全屏电容电阻打下手。
ARM DIY(六)音频调试,嵌入式,# 硬件,# Driver,arm开发,音视频

ARM DIY(六)音频调试,嵌入式,# 硬件,# Driver,arm开发,音视频

设备树

arch/arm/boot/dts/sun8i-v3s.dtsi

        dma: dma-controller@01c02000 {
            compatible = "allwinner,sun8i-v3s-dma";
            reg = <0x01c02000 0x1000>;
            interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&ccu CLK_BUS_DMA>;
            resets = <&ccu RST_BUS_DMA>;
            #dma-cells = <1>;
        };


        codec_analog: codec-analog@01c23000 {
            compatible = "allwinner,sun8i-v3s-codec-analog";
            reg = <0x01c23000 0x4>;
        };


        codec: codec@01c22c00 {
            #sound-dai-cells = <0>;
            compatible = "allwinner,sun8i-v3s-codec";
            reg = <0x01c22c00 0x400>;
            interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
            clock-names = "apb", "codec";
            resets = <&ccu RST_BUS_CODEC>;
            dmas = <&dma 15>, <&dma 15>;
            dma-names = "rx", "tx";
            allwinner,codec-analog-controls = <&codec_analog>;
            status = "disabled";
        };

arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dts

&codec {
    allwinner,audio-routing =
        "Headphone", "HP",
        "Headphone", "HPCOM",
        "MIC1", "Mic",
        "Mic",  "HBIAS";
    status = "okay";
};

驱动

使能内核编译选项

> Device Drivers > Sound card support > Advanced Linux Sound Architecture > ALSA for SoC audio support > Allwinner SoC Audio support
<*> Allwinner sun8i Codec Analog Controls Support

应用程序

参照《v3S驱动音频》移植 alsa-lib 和 alsa-utils

测试

1、查看设备信息

# ls /dev/snd/
controlC0  pcmC0D0c   pcmC0D0p   timer
#
# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Codec [V3s Audio Codec], device 0: CDC PCM Codec-0 [CDC PCM Codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
# 

设备驱动正常

2、取消静音

# ./amixer -c 0 sset 'Headphone',0 100% unmute

3、调节音量
ARM DIY(六)音频调试,嵌入式,# 硬件,# Driver,arm开发,音视频
4、播放音乐

# aplay dlj-yldbwdx.wav 
Playing WAVE 'dlj-yldbwdx.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

扬声器播放音乐

至此,音频调试 OK文章来源地址https://www.toymoban.com/news/detail-694228.html

到了这里,关于ARM DIY(六)音频调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式硬件

    嵌入式硬件是一种在电子设备中集成且运行特定程序的硬件。它通常与特定软件应用紧密相关,用于实现一个以上的特定功能,如压缩解压缩、保安服务等。嵌入式系统通常涉及到至少一个控制器(或微控制器)和其他一些外部芯片,例如存储器、输入/输出(I/O)接口、传感

    2024年02月09日
    浏览(36)
  • 嵌入式硬件电路·电平

    目录 1.  电平的概念 1.1  高电平 1.2  低电平 2.  电平的使用场景 2.1  高电平使能 2.2  低电平使能 2.3  失能         电平是指电信号电压的大小或高低状态。在数字电子学中,电平有两种状态,高电平和低电平,用来表示二进制中的1或0。在模拟电子学中,电平可以是一

    2024年02月04日
    浏览(42)
  • 【计算机三级嵌入式】考试自学笔记(三)——嵌入式系统硬件组成、嵌入式处理芯片以及存储器介绍

    常考知识点: 嵌入式最小硬件组成 嵌入式处理芯片 嵌入式系统的存储器 I/O接口及常用I/O设备 ARM内核典型嵌入式处理芯片 嵌入式系统外部通信接口 嵌入式最小硬件系统的组成如下: 嵌入式硬件系统≠嵌入式最小硬件系统 电源电路 :为整个嵌入式系统提供能量 时钟电路 :

    2023年04月12日
    浏览(70)
  • 嵌入式硬件中常见的100种硬件选型方式

    1请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌)。 电阻: 美国:AVX、VISHAY 威世 日本:KOA 兴亚、Kyocera 京瓷、muRata 村田、Panasonic 松下、ROHM 罗姆、susumu、TDK 台湾:LIZ 丽智、PHYCOM 飞元、RALEC 旺诠、ROYALOHM 厚生、SUPEROHM 美隆、TA-I 大毅、TMTEC 泰铭、TOKEN德键

    2024年02月06日
    浏览(36)
  • 嵌入式硬件设计与实践(从硬件到产品)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         很多同学会画电路板,也会写固件代码,但是他们做的这项工作很难称之为产品。这中间的原因是多方面的,第一,这些功能不是根据真实需求开发的;第二,相关功能使用的芯片供

    2023年04月17日
    浏览(27)
  • 嵌入式硬件系统的基本组成

    嵌入式系统的硬件是以包含嵌入式微处理器的SOC为核心,主要由SOC、总线、存储器、输入/输出接口和设备组成。 嵌入式微处理器 每个嵌入式系统至少包含一个嵌入式微处理器 嵌入式微处理器体系结构可采用冯.诺依曼(Von Neumann)结构和哈佛(Harvard)结构 冯.诺依曼结构 冯

    2024年02月15日
    浏览(29)
  • 嵌入式硬件和软件哪个好?

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看嵌入式硬件工程师吧! 嵌入式硬件开发工程师主要编写嵌入式系统硬件总体方案和详细方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉

    2024年02月04日
    浏览(39)
  • 嵌入式硬件基础知识——1

    目录 SOC、MCU、MPU、CPU SPI STM32的时钟系统 can是什么 串口和并口 传感器输出引脚高阻抗好还是低阻抗好? iic 运算放大器特点 MOS管和三极管 同步电路和异步电路         SOC 片上系统  手机的核心芯片         MCU 微控系统  单片机         MPU 嵌入式微处理器    

    2024年02月05日
    浏览(37)
  • 嵌入式硬件电路学习之阻抗

    阻抗(Impedance)是指电路中交流电源施加电压后,电路元件对电流的阻碍程度。它是一个由幅值和相位角组成的复数。 阻抗是交流电路中电阻、电感、电容等元件共同表现出来的电学量,表示为 $Z$。它随输入信号的频率而变化,用复数形式表示。 对于包含电阻 $R$、电感 $

    2024年02月03日
    浏览(32)
  • 嵌入式Linux 开发经验:platform_driver_register 的使用方法

    嵌入式Linux 设备驱动开发时,经常遇到平台驱动 platform_driver_register 的注册,最近深入了看了驱动开发为何使用平台驱动 开发一个设备驱动时,为了实现 设备的 打开、关闭、控制等操作,可以注册为 Linux misc 设备,不过在这之前,可以先使用 platform_driver_register 注册平台驱动

    2024年01月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包