数字音频接口
数字音频接口
概述
数字音频接口 (DAI,Digital Audio Interfaces),指在板级或板间传输数字音频信号的方式。相比于模拟接口,DAI 具备抗干扰能力强,硬件设计简单。在音频电路设计中,DAI 应用趋势无比明显。
例如,在传统的音频信号链路中,通常使用模拟信号进行连接,而对于数字音频信号,设计规范和应用场景更加庞大。本文将介绍常用的数字音频接口,如 I2S,PCM,和 PDM,并见题情景和核心特点。
I2S 接口
1. I2S 简介
I2S (全称 Inter-IC Sound),是一种数字音频信号传输规范,用于在系统内部器件之间传输数字音频数据。它由飞利浦于 1986 年定义,选用于转换器 (ADC/DAC),编解码器(CODEC),和 DSP ...
ubuntu下使用ndk交叉编译
概述
在Ubuntu下使用NDK+cmake交叉编译.
官方文档: https://developer.android.google.cn/ndk/guides/cmake?hl=zh-cn
下载NDK
下载地址: https://developer.android.google.cn/ndk/downloads/
旧版本下载地址: https://github.com/android/ndk/wiki/Unsupported-Downloads
安装NDK
unzip android-ndk-r21e-linux-x86_64.zip
配置环境变量
export ANDROID_NDK_HOME=/home/xxx/tools/android-ndk-r21e
ex...
Android编译framework和car模块
概述
参考链接
编译 framework 模块
source
lunch xxx-eng
# Android10 及以前
make framework
# Android11 及以后
#make framework-minus-apex
# 相关Android.bp文件
# frameworks/base/Android.bp
# Android10 及以前
cp out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar framework.jar
# Android11 及以后
cp out/target/common/obj/JAVA_LIBRARIES/framework-minus...
Android13添加CarAudioManager接口
概述
在 Android Automotive 系统中,音频管理是一个重要的功能。CarAudioManager 是一个新的音频管理模块,专门用于控制车载音频系统。它允许应用程序控制音频流的路由、音量设置以及不同区域的音频管理。
CarAudioManager 模块由以下几个部分组成:
ICarAudio:通过 AIDL 定义的进程间通信(IPC)接口,描述了 CarAudioManager 提供的所有功能。
CarAudioService:在系统服务层实现的音频管理服务,实现了 ICarAudio 接口的具体功能。
CarAudioManager:应用程序层使用的管理类,封装了 ICarAudio 的接口,提供给开发者用于控制车载音频系统。
模块架构
Car...
Android13添加AudioControl接口
概述
AudioControl 模块是 Android Automotive 平台的一部分,它提供了对车载音频系统的控制接口。该模块负责管理音频路由、音量调节、音频焦点管理等功能,确保在车载环境中音频体验的流畅性和一致性。AudioControl 模块通常通过硬件抽象层(HAL)实现,与底层音频硬件通信,以执行各种音频操作。
模块架构
AudioControl 模块是基于 Android HAL 的一部分,其架构设计如下:
应用层(Application Layer):车载应用程序通过 CarAudioManager 发起音频请求,例如播放媒体、语音助手等。
框架层(Framework Layer):Android 框架通过 Car Audio Service 接受音...
ubuntu搭建vscode阅读android_car_java环境
ubuntu搭建vscode阅读android_car_java环境
操作环境
Ubuntu-16.04.1
VSCode 1.92.2
插件安装
vscode 安装插件 Extension Pack for Java
环境配置
# 根据实际环境修改源码路径
cd android_code_path
cd packages/services/Car
mkdir mylib
ln -s ./../../../../frameworks/ mylib/frameworks
mkdir mylib/my_framework_core
mkdir mylib/my_framework_core/android
cp -rf mylib...
ubuntu开发环境配置
修改软件源
Ubuntu 默认的软件源是境外的,速度上会有些问题,我们可以在「Software & Updates」(软件和更新)中选择国内的镜像。
还可以直接修改配置文件 https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.775b1b11o2W9u7
更新系统软件
sudo apt update
sudo apt upgrade
sudo apt autoremove
# Ubuntu 20.04
sudo apt install -y openssh-server build-essential gcc g++ clang git cmake ...
Linux驱动开发之ALSA驱动设备树
概述
ALSA(Advanced Linux Sound Architecture)是Linux内核中关于音频驱动的框架,它定义了音频驱动的框架,使得音频驱动可以方便地被用户空间调用。
ALSA驱动起始页https://kernel.org/doc/html/latest/sound/index.html
asla驱动代码结构https://kernel.org/doc/html/latest/sound/kernel-api/writing-an-alsa-driver.html
本文主要介绍一下ALSA驱动开发的相关设备树及源文件。
背景
基于正点原子的i.MX6ULL开发板,Linux内核版本 4.1.15
设备树 imx6ull-alientek-emmc.dts...
共计 76 篇文章,10 页。