Pico-Audio

来自Waveshare Wiki
Eng43讨论 | 贡献2022年10月18日 (二) 10:32的版本 →‎产品特性
跳转至: 导航搜索
Pico-Audio
{{{name2}}}
{{{name3}}}
功能简介
特性 音频解码
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 I2S

说明

产品概述

提供Pico C语言例程

产品简介

本产品是基于Pico而设计的音频模块,采用PCM5101A低功耗立体声解码器,I2S接口传输音频,支持宽范围音频采样频率。可同时对耳机与扬声器进行输出。
Rev2.1版本:
本产品是基于Pico而设计的音频模块,采用CS4344低功耗立体声解码器,I2S接口传输音频,支持宽范围音频采样频率。可同时对耳机与扬声器进行输出。

产品特性

  • 支持8~384,000Hz的音频采样频率
  • 芯片内置PLL免除了对主时钟的需要,实现了3线制I2S接口有效的减少了系统的EMI
  • 自带欠压保护,采用双重静音系统,在时钟错误及电源故障时自动静音(停止输出)
  • 提供20dB的带外噪声
  • 板载了标准的3.5mm耳机与4线扬声器输出接口,支持音频输出
  • 提供了Pico声卡免驱驱动程序,兼容windows、Linux等系统
  • 提供了Pico音频播放程序

Rev2.1 :

  • 支持2K~200KHz的音频采样频率
  • 芯片内置PLL,音频时钟脚可以获取主时钟屏幕,并自动降频
  • 板载了标准的3.5mm耳机与4线扬声器输出接口,支持音频输出
  • 提供了Pico声卡免驱驱动程序,兼容windows、Linux等系统
  • 提供了Pico音频播放程序

产品参数

  • 供电电压:5V
  • 逻辑电压:3.3V
  • 音频解码芯片:PCM5101A
  • 音频接口:I2S
  • DAC信噪比:106dB
  • 耳机驱动:40mW (16Ω@3.3V)
  • 扬声器驱动:2.6W per channel (4Ω BTL)

Rec2.1

  • 供电电压:5V
  • 逻辑电压:3.3V
  • 音频解码芯片:CS4344
  • 音频接口:I2S
  • DAC信噪比:105dB
  • 耳机驱动:40mW (16Ω@3.3V)
  • 扬声器驱动:2.6W per channel (4Ω BTL)

硬件资源

初始版本

Pico-Audio-1.jpg
L+、L-分别对应左扬声器的正、负极; R+、R-分别对应右扬声器的正、负极。

功能引脚 Pico引脚(BCM) 描述
VSYS VSYS 供电电源(5V电源输入)
3V3(OUT) 3V3(OUT) 逻辑电源(3.3V电源输入)
GND GND 电源地
DIN GPIO26 音频数据输入
BCk GPIO27 音频数据位时钟输入
LRCK GPIO28 音频数据字时钟输入

Rev2.1版本

Pico-Audio-11.jpg
L+、L-分别对应左扬声器的正、负极; R+、R-分别对应右扬声器的正、负极。

功能引脚 Pico引脚(BCM) 描述
VSYS VSYS 供电电源(5V电源输入)
GND GND 电源地
DIN GPIO22 音频数据输入
DIN GPIO26 芯片主时钟输入
BCk GPIO27 音频数据位时钟输入
LRCK GPIO28 音频数据字时钟输入

通信协议

I2S通信协议1.png
I2S协议最需要注意的一点是,它以采样脉冲变化后的第二个时钟为数据的第一位,以下一个采样脉冲变化后的第一个时钟为数据的最后一位。
LRCK :音频数据字时钟输入,当其为低电平时为左声道采集数据,当其为高电平时为右声道采集数据。
BCK :音频数据位时钟输入,当其产生上升沿跳变时对数据进行采集,其频率必须为LRCK频率的32倍或48倍或64倍。
DATA :音频数据输入 ,注意数据为有符号型的数据,数据传输可以选择16位、24位、32位数据,高位在前、低位在后。


硬件连接

连接Pico的时候,请注意对应方向不要接反。可以观察模块上有USB丝印的一端与Pico的USB接口一端来判断方向
您可以对照以下表格连线。

Pico连接引脚对应关系
Pico-Audio Pico 功能
VSYS VSYS 供电电源(5V电源输入)
3V3(OUT) 3V3(OUT) 逻辑电源(3.3V电源输入)
GND GND 电源地
DIN GPIO26 音频数据输入
BCk GPIO27 音频数据位时钟输入
LRCK GPIO28 音频数据字时钟输入


Pico-Audio Rev2.1 Pico 功能
VSYS VSYS 供电电源(5V电源输入)
GND GND 电源地
DIN GPIO22 音频数据输入
MCLK GPIO26 芯片主时钟输入
LRCK GPIO27 音频数据字时钟输入
SCLK GPIO28 音频数据位时钟输入

Pico-Audio-4.jpg

程序下载

打开树莓派终端,执行:

sudo apt-get install p7zip-full
cd ~
sudo wget  https://www.waveshare.net/w/upload/7/7c/Pico_Audio.7z 
7z x Pico_Audio.7z -o./Pico-Audio
cd ~/Pico_Audio

Rev2.1版本请使用以下命令

sudo apt-get install p7zip-full
cd ~
sudo wget  https://www.waveshare.net/w/upload/9/92/Pico-Audio-V2.7z
7z x Pico-Audio-V2.7z -o./Pico-Audio-V2
cd ~/Pico-Audio-V2

在Pico_Audio文件中有两个文件夹,在Pico_Audio文件夹中存储着音频输出程序,在usb_sound_card文件夹中存储着声卡的uf2文件,直接将其复制进入Pico中即可

cp usb_sound_card.uf2  /media/pi/RPI-RP2/

例程使用

C部分

  • 以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需要您自行判断。

进行编译,请确保在Pico-Audio目录:

cd ~/Pico_Audio/Pico-Audio/

Rev2.1版本请使用以下命令

cd ~/Pico-Audio-V2/Pico-Audio/

创建并进入build目录,并添加SDK: 其中 ../../pico-sdk 是你的SDK的目录。 我们示例程序中是有build的,直接进入即可

cd build
export PICO_SDK_PATH=../../pico-sdk
(注意:务必写对你自己的SDK所在路径)

执行cmake自动生成Makefile文件

cmake ..

执行make生成可执行文件,第一次编译时间比较久

make -j9

编译完成,会生成uf2文件。 按住Pico板上的按键,将pico通过Micro USB线接到电脑的USB接口,然后松开按键。接入之后,电脑会自动识别到一个可移动盘(RPI-RP2),将build文件夹下的audio_firmware.uf2 文件复制到识别的可移动盘(RPI-RP2)中即可。

cp audio_firmware.uf2  /media/pi/RPI-RP2/

Pico快速上手

固件下载

MicroPython固件下载
Pico MicroPython.gif
C_Blink固件下载
Pico Blink.gif
教程名3
列表3
教程名4
列表4
教程名5
列表5
教程名6
列表6
教程名7
列表7
教程名8
列表8

视频教程

PICO系列教程1——基础介绍

PICO系列教程2——外设GPIO

PICO系列教程3——PWM(脉冲宽度调制)

PICO系列教程4——ADC(模拟数字转换器)

PICO系列教程5——UART (异步收发传输器)

PICO系列教程6——I2C(集成电路总线)

PICO系列教程7——SPI(串行外设接口)

PICO系列教程8——PIO(可编程输入输出端口)

文字教程

基础介绍

Raspberry Pi Pico的基础介绍

MicroPython系列

【MicroPython】machine.Pin类函数详解
【MicroPython】machine.PWM类函数详解
【MicroPython】machine.ADC类函数详解
【MicroPython】machine.UART类函数详解
【MicroPython】machine.I2C类函数详解
【MicroPython】machine.SPI类函数详解
【MicroPython】rp2.StateMachine类函数详解

C/C++系列

【C/C++】 Windows教程1——环境搭建
【C/C++】 Windows教程2——创建工程

Arduino IDE 系列

环境搭建

  • 打开Arduino IDE,进入File->Preferences
  • 在弹出的对话框中,在“Additional Boards Manager URLs”字段中输入以下URL(需要梯子):
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
  • 点击OK关闭对话框。
  • 进入IDE中的工具->开发板管理器
  • 在搜索框中输入“pico”,然后选择“添加”:
  • 无法下载的,可以点击此处下载压缩包提取密码为 0755 ,然后复制到指的目录下
    • 解压后,复制到C:\Users\username\AppData\Local\Arduino15下
    • 例如:我的用户名是ZhangSan,那么就是C:\Users\ZhangSan\AppData\Local\Arduino15下
    • 注意:要将文件管理器中的隐藏的项目打开:点击查看 -> 勾选隐藏的项目,不勾选会看不见AppData文件夹

Pico-W系列教程(即将上线)

  • 敬请期待

开源例程

MircoPython视频例程(github)
MicroPython固件/Blink例程(C)
树莓派官方C/C++示例程序 (github)
树莓派官方micropython示例程序 (github)
Arduino官方C/C++示例程序 (github)

FAQ


技术支持


联系人:刘工
EMAIL:2881669563@qq.com
电话:0755-83040712
QQ:2881669563
微信:扫下方二维码添加
Lyj.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证