找回密码
 立即注册
查看: 13432|回复: 51

Ai8051U 实现USB声卡(播放或录音+播放),读TF卡/SD卡 音频播放器,32位8051,重磅开源

  [复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-8-20 18:00:02 | 显示全部楼层 |阅读模式
Ai8051USB,USB 型 1T 8051,支持32位和8位指令集
管脚兼容天王级别的:  89C52RC,  12C5A60S2
要兼容 8位8051指令集,  可以用 Keil C51/IAR/SDCC 编译器
===就相当于更强大的 8H8K64U
兼容 32位8051指令集可以用 Keil C251 编译器,双核兼容设计
===就相当于更强大的 32G12K128, 32G8K64
34K SRAM(2K edata, 32K xdata), 64K Flash
TFPU@120MHz, 硬件浮点/硬件三角函数 运算器
DMA支持PWM, DMA支持外设直接到外设, P2P
120MHz-PWM支持硬件移相,16位PWM; 真12位ADC
USB, 4组串口,12位ADC, 轨到轨比较器
QSPI, SPI, I2S, I2C,  TFT-i8080/M6800 接口
PDIP40,LQFP44,LQFP48
CPU32@42MHz
====================================
Ai8051U实验箱实现 USB声卡(单播放或录音+播放)
=== TF卡 音频播放器小SD卡 音频播放器,CD音源
===32位8051,I2S, 重磅开源
TF卡/小SD卡,32G字节是RMB20元,CD音频 3200分钟
本例程使用“Ai8051U实验箱V1.1”验证。
通用USB外置声卡,无需安装驱动,线路、耳机输出。
MCU主控:Ai8051U-34K64-QFP48,运行频率36.864MHz
USB接口:  USB TYPE-ATYPE-C接口,用于USB下载、USB传输音频(通用USB外置声卡)。
工作电源: USB接口的5V电源输入经过ME6231C33输出3.3V给电路供电,整个电路工作于3.3V
I2S接口:  CODEC芯片TLV320AIC23B用于I2S接口输出立体声。
          由于Ai8051U系列只有一个I2S接口,所以I2S的线路输入/话筒输入的数据未用。
耳机音量: 行列键6--音量增大,键7--音量变小,音量最大为80,最小为0,开机默认60
耳机输出:3.5立体声音频插座,插接阻抗为16~64欧姆耳机,音量由行列键盘67键控制。
线路输出:3.5立体声音频插座,无音量控制。
音频格式: 48KHz采样,立体声16bit数据。
演示视频:

AI8051U-USB声卡-加州旅馆

  







Ai8051U实验箱实现 USB声卡
=== TF卡 音频播放器小SD卡 音频播放器,CD音源
===32位8051,I2S, 重磅开源
TF卡/小SD卡,32G字节是RMB20元,CD音频 3200分钟

下载程序方法:
打开下载软件,打开OBJ里的HEX文件,选择内部主频36.864MHz
USB数据线链接电脑,持续按着开关SW2P3.2)键,短一下POWER键并放开,
一秒左右电脑识别到(HID1USB Writer,放开SW2,则已经准备好USB下载,
点击“下载/编程”按钮,即可下载。下载完成后,就可以直接播放音乐了。

截图202408201756335780.jpg
单播放C语言源码:
AI8051U-USB声卡-TLV320AIC23B-内部36.864M-外接32768Hz晶振-20241028.rar (718.47 KB, 下载次数: 437)
电路原理图:
AI8051U实验箱V21-SCH1.pdf (280 KB, 下载次数: 393)
AI8051U实验箱V21-SCH2.pdf (198.79 KB, 下载次数: 368)
录音+播放C语言源码:
AI8051U-USB录放音声卡-TLV320AIC23B-内部36.864M-外接32768Hz晶振-20241028.rar (781.05 KB, 下载次数: 249)

本帖被以下淘专辑推荐:

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-8-20 22:20:27 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-8-21 09:04:03 | 显示全部楼层
梁工这加班加点儿的测试新的实验箱

点评

花了不少时间测试各种程序,基本已完成,这几天会陆续发布我的各种程序。 这次重要的是DMA的使用,AI8051U这个32位内核的MCU性能不错,下面是几个DMA使用的情况: 1、SPI DMA,用于读取FLASH、SD(TF)卡、驱动PSI接  详情 回复 发表于 2024-8-21 09:32
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-8-21 09:32:03 | 显示全部楼层
_奶*** 发表于 2024-8-21 09:04
梁工这加班加点儿的测试新的实验箱

花了不少时间测试各种程序,基本已完成,这几天会陆续发布我的各种程序。
这次重要的是DMA的使用,AI8051U这个32位内核的MCU性能不错,下面是几个DMA使用的情况:
1、SPI DMA,用于读取FLASH、SD(TF)卡、驱动PSI接口的黑白液晶屏、OLED屏等等。
     读取SD(TF)卡播放CD抓取的WAV文件,SPI DMA读取一个扇区512字节耗时820us,平均速度624KB/S @33.8688MHz,读取时不耗CPU时间。CD音乐数据流为176.4KB/S。
2、SPI DMA驱动OLED或LCD12864,刷新一屏(1024字节)耗时1.04ms @40MHz SPI-2T模式或1.46ms @40MHz SPI-4T模式,传输时不耗CPU时间。
3、黑白并口LCD12864速度巨慢,写一个字节典型值72us,刷一屏要84ms,以往用IO操作,刷新占CPU时间太长,不可容忍,用LCM DMA刷新则节省掉时间。
4、读取FLASH或TF卡的BMP图片送彩色TFT屏可以用点到点DMA,不要太爽。
5、USB声卡提供线路输出和耳机输出(带数字音量)。
6、ADC采样声音存储于FLASH以供I2S接口的DAC重放,使用W25QXX系列的FLASH便宜、容量大。
7、由于有32位硬件整数、浮点计算单元,256点频谱(显示128点)最高采样可达32KHz。
8、简易示波器仍然如以前的最高500KHz采样,正在等待后面100脚的更高速版本MCU的双DAC交替采样有望可达2MHz采样,双路DAC可以输出模拟信号。

还有好多功能,敬请期待!

点评

梁工辛苦!  发表于 2024-9-4 15:24
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-8-21 09:53:38 | 显示全部楼层
梁*** 发表于 2024-8-21 09:32
花了不少时间测试各种程序,基本已完成,这几天会陆续发布我的各种程序。
这次重要的是DMA的使用,AI8051 ...

芜湖~
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-01 23:18:33

15

主题

139

回帖

975

积分

高级会员

积分
975
发表于 2024-8-21 11:43:00 | 显示全部楼层
我测试DMA的结果是速度有点慢,这可能是XDATA的访问速度限制了。
虽然SPI,QSPI,LCMIF这些外设的时钟可以设很高,速度可以设置很快,但是DMA数据供应不上,导致结果就是数据输出不联系,字节间有间隔。
用示波器看SCLK的波形是否均匀连续。
对于SPI来说就是时钟断断续续,以很快的速度发完一个字节后,停下来等下一个字节准备好。
测试QSPI时钟设置为8分频,才能保证数据连续传输。
当然了,外设速度大于DMA,这并不会导致数据出错,只是跑不了预计的速度。

点评

DMA不需要CPU干预,为什么还可以模拟CPU的动作?因为有状态机!由于DNA使用状态机来处理,所以需要额外的时钟,各个外设的性能、架构不同,状态机耗时不同。 比如,影响SPI最高速度的是IO的速度,特别是3.3V时,而SP  详情 回复 发表于 2024-8-21 12:06
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-8-21 12:06:19 | 显示全部楼层
hea*** 发表于 2024-8-21 11:43
我测试DMA的结果是速度有点慢,这可能是XDATA的访问速度限制了。
虽然SPI,QSPI,LCMIF这些外设的时钟可以 ...

DMA不需要CPU干预,为什么还可以模拟CPU的动作?因为有状态机!由于DNA使用状态机来处理,所以需要额外的时钟,各个外设的性能、架构不同,状态机耗时不同。
比如,影响SPI最高速度的是IO的速度,特别是3.3V时,而SPI器件大部分又是3.3V的,因而以3.3V的速度来评估是最合理的。
而SPI器件能接受的最高速度也不同,因此会因器件不同而最高速度不同,下面是我的结果:
1、SPI接口的OLED、黑白LCD12864,速度最高,在40MHz主频时,可以使用2分频、20MHz的SPI访问,或者低一点4分频、10MHz访问,使用DMA传输,一屏1024字节,分8页,每页128字节+3字节地址,则总传输字节数为131*8=1048,每字节状态机22个时钟(我测出来的),使用4分频,则一个字节需要0.8+22/40=1.35us,加16次中断处理,总时间实测1.46ms,平均一个字节1.39us。
2、QSPI在40MHz时可以5分频,8MHz时钟,4线模式,则可以到4MB/秒,这个速度对于MCU来说,已经是非常高速了。

如果你觉得慢,请列出你测量的数据。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-01 23:18:33

15

主题

139

回帖

975

积分

高级会员

积分
975
发表于 2024-8-21 12:25:22 | 显示全部楼层
我说的慢,是指的DMA相对于外设的速度。
测量数据上面也说了,系统时钟24MHz,QSPI设置为4分频,6MHz,此时DMA填不满QSPI的需求,表现就是QSPI的CLK不连续。当QSPI设为8分频时,DMA可以满足QSPI的数据需求,表现就是CLK连续输出。

点评

QSPI DMA,设置偶数分频,比如24MHz、6分频,你会看到CLK信号是50%占空比连续稳定输出,高电平3T,低电平3T。奇数分频,比如5分频,则高电平3T,低电平2T,连续稳定输出。 你可以贴个示波器波形图,我看看如何的不连  详情 回复 发表于 2024-8-21 13:47
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-8-21 13:47:31 | 显示全部楼层
hea*** 发表于 2024-8-21 12:25
我说的慢,是指的DMA相对于外设的速度。
测量数据上面也说了,系统时钟24MHz,QSPI设置为4分频,6MHz,此时 ...

QSPI DMA,设置偶数分频,比如24MHz、6分频,你会看到CLK信号是50%占空比连续稳定输出,高电平3T,低电平3T。奇数分频,比如5分频,则高电平3T,低电平2T,连续稳定输出。
你可以贴个示波器波形图,我看看如何的不连续。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-01 23:18:33

15

主题

139

回帖

975

积分

高级会员

积分
975
发表于 2024-8-21 15:11:49 | 显示全部楼层
我只试了4分频和8分频,6分频确实没试。
既然这样,那就试一下6分频。
IMG_20240821_145947.jpg

下图是4分频
IMG_20240821_150118.jpg

点评

FOSC=24MHz,QSPI 4分频,4线模式(即2个时钟一个字节),读取W25Q512(512m bit, 64M byte) FLASH,CLK时钟信号,均匀输出:24M/4=6MHz,读取数据率=3MB/S。 部分FLASH可能无法在4分频下访问,建议6分频访问,FOSC  详情 回复 发表于 2024-8-21 17:17
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 23:20 , Processed in 0.131078 second(s), 113 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表