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

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

相关文章

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指