树莓派打造一个适合音乐制作的系统(打样测试)

2024-01-31 06:20

本文主要是介绍树莓派打造一个适合音乐制作的系统(打样测试),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近把PCB打样出来了,先来大图一张,左边是树莓派zero,树莓派上面是1602LCD,往下是电源,板子中间是USB声卡和USB HUB,右边上面是输入接口和话放电路,往下是ADDA。

 设计成这样主要是不想制作外壳,直接拿一个旧的设备外壳按照原尺寸画图罢了,电位器部分还没有打样。

 

PCB设计分为话放部分,解码部分,伴奏输入部分,按钮与显示部分,电源部分共5大块。

一、话放方案

话放采用THAT1510集成电路作为第一级差分输入放大,其中G1A\G1B连接增益电位器,第二级采用NJM2100运放将THAT1510单端输出转换为差分输出,随后送入ADC的差分输入端。

二、解码方案

ADC、DAC采用PCM1863和PCM5102,PCM1863指标为110dB SNR差分输入,其中VREF引脚为前面的单端转差分运放提供1.6V参考电压,MD0引脚接地配置为I2C控制模式;时钟部分依然采用11.2896M有源晶振+分频+缓冲设计,分频依然是74hc4040,缓冲采用74hc541。(原理图中晶振应为11.2896)

三、伴奏输入

由于树莓派仅有一组I2S接口,音频只能做二进二出,如果需要增加伴奏输入就只能通过外接USB声卡实现,选用X宝最便宜的V8声卡方案BP1V808,我是直接买声卡拆机移植到打样的PCB上的,对我来说,我仅需要蓝牙输入、消原唱、USB声卡功能,其余不相干的功能可悬空处理,不需要的电位器最好接地处理,该芯片由2脚提供5V电源即可工作,5脚接地即可自动开机。

 由实测的引脚图可知,我需要的引脚是

5---------------- 电源开关

15、16--------24M晶振

26、27 --------USB数据

32---------------伴奏音量(模拟量0~3.3V)

17、39---------消原唱按钮

23、24---------消原唱LED

由于树莓派zero只有一个USB,所以采用了USB HUB芯片来完成扩展

 

四、按钮与显示

按钮选用MCP23017作为IO扩展,显示选用I2C接口的LCD1602,这一部分有很多资料可查,我就不出图了。

五、电源部分

电源分为3组,一组为树莓派提供5V,一组为电容麦克风的48V幻象电源,一组为运放的正负电源,ADDA用的AVDD和DVDD、继电器电源由运放正电源通过LDO稳压至3.3V。

 

=========================================================================

上电测试,如果电路工作正常,查询I2C设备应该会看到三个设备的地址,分别是MCP23017,PCF8574,PCM1863

sudo i2cdetect -y 1

 如果USB声卡工作正常,其中sndrpicard是原生I2S声卡,audio是USB声卡,首先用原生声卡启动jack服务,然后启动终端添加一组接口

alsa_in -d hw:audio

 这样手机连接BP1V808的蓝牙以后,音频就通过USB传入alsa_in

 最后看一看THAT1510+PCM1863方案的底噪吧,基本在-90左右,个人感觉相当出色的话放。

 

这篇关于树莓派打造一个适合音乐制作的系统(打样测试)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/662826

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.