公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

大家好,

论坛新手...

我想知道如何玩样本? 想播放从 EPROM/SPI Flash 到 I2S 或 DAC 的原始音频样本。

已经看过一些较旧的解决方案,这些解决方案谈到了 将原始音频存储在EEPROM中——用时钟或PWM > 驱动DMA——用>管道将DMA输出传输到DAC,但已经没有例子了(在赛普拉斯的旧网站上)   

理想情况下,想要任何有关此的示例或应用笔记。

谢谢

约翰

0 点赞
5 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

谢谢 odissey1

就像 1 位的例子一样,但确实需要更好的音质。 理想情况下,使用 I2S 输出,从原始文件流式传输。

不幸的是,对于 Project 51 来说,所有设计都在 SC Card 和编码器两个库中 —— 需要稍微取消选择才能让它按照我的意愿工作。

是的,真的在寻找 I2S 示例,也许还有一个 DMA, CAN 添加到 Psoc4 组合库中

谢谢

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

我起草了一个测试项目演示,使用 PSoC4200M 和 CY8CKIT-044 先锋板播放来自 FLASH 的 8 位 PCM 音频。

使用中断播放 PSoC4 8 位 PCM 音频 

使用此项目 CAN 检查声音的持续时间和质量是否令人满意。

AudioPCM_signed_01b_A.pngAudioPCM_signed_01b_D1.png

 

 

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

我添加了另一个演示项目,使用 DMA 播放来 自 FLASH 的 8 位 PCM 音频

使用 DMA 播放 PSoC4 音频 

 

 

AudioPCM_DMA_Schem.png

 

AudioPCM_DMA_D2.png

 

 

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

谢谢 Odissey1,

在 CY8CKIT-044 先锋板上像梦一样工作。

需要注意的是,在使用 Audiacity 构建音频文件时,请确保你选择了采样频率正确的项目(让我陷入困境了一会儿)

目前正在考虑通过在 isrTimer 处理程序(更新 IDAC 输出)中重置指针来播放两个序列 —— 还没有,因为我还在刷我的 C 技能。

干杯

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

为了实现简单的音频播放(无需混音),我建议使用 DMA 机制。 你可以使用 DMA 查看这个扩展版本播放多种声音:

使用 DMA 播放 PSoC4 PCM 音频(使用两个按钮进行扩展演示)   

0 点赞