搜索
bottom↓
回复: 17
打印 上一主题 下一主题

串口实时传输音频需要注意哪些细节?

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2024-4-2 20:39:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liang61a 于 2024-4-3 09:06 编辑

用ADC收集音频,然后用串口传输采样值到另一个单片机,在接收的单片机上将ADC的采样值经过类似DAC处理转换为模拟信号连接到功放并不出声音,请问大佬们是有那些细节需要注意吗?非常感谢!!!

出0入475汤圆

2
发表于 2024-4-2 20:41:48 来自手机 | 只看该作者
并不出声音,
这个看不懂
是要求dac那边不能出声音,
还是说你现在做了一个,结果没有声音输出,
😏

出16170入6148汤圆

3
发表于 2024-4-2 20:43:27 来自手机 | 只看该作者
“串口发送数据包”标题不合格。请自行修正。(注意:主题发出24小时后就不能修改帖子)(你是VIP用户,如没有在发帖24小时内完成标题修改,将被封锁ID两星期)

帖子标题必须能充分说明帖子的内容。如你要问AVR的ADC如何才能测量得比较准确,“AVR的ADC如何消除干扰测量得比较准确?”是合格的标题。不合格举例:
    1:小女子冰天雪地裸体跪求解决方法
    2:救命啊...
    3:高手请出招,一个无法解决的AVR问题
    4:一个困扰学习单片机初学者,惊动单片机开发者的难题
    5:AVR的ADC测量   (点评:你到底是问问题,或是有技术心得与大家分享?)

出0入0汤圆

4
 楼主| 发表于 2024-4-3 08:26:27 | 只看该作者
在两个单片机中用usart传输音频包,一个单片机的adc用来采集声音,另一个用来收到数据后播放,请问串口这块需要注意什么谢谢

出0入0汤圆

5
 楼主| 发表于 2024-4-3 08:29:24 | 只看该作者
armok. 发表于 2024-4-2 20:43
“串口发送数据包”标题不合格。请自行修正。(注意:主题发出24小时后就不能修改帖子)(你是VIP用户,如 ...
(引用自3楼)

请问在哪里修改标题谢谢

出40入518汤圆

6
发表于 2024-4-3 08:30:04 | 只看该作者
先示波器看看波形呢?最基本的排查和校验应该自己思考下
是实时的吗?串口速率用到多少呢?

出0入0汤圆

7
 楼主| 发表于 2024-4-3 09:08:17 来自手机 | 只看该作者
智涅 发表于 2024-4-3 08:30
先示波器看看波形呢?最基本的排查和校验应该自己思考下
是实时的吗?串口速率用到多少呢? ...

(引用自6楼)


就是这边用单片机A的adc采样说话的声音,然后通过串口发送到单片机B,用单片机B的Dac进行声音播放,现在是,在一个单片机上能够采集播放,加入了串口传输就不出声了!谢谢

出0入75汤圆

8
发表于 2024-4-3 09:12:37 | 只看该作者
liang61a 发表于 2024-4-3 09:08
就是这边用单片机A的adc采样说话的声音,然后通过串口发送到单片机B,用单片机B的Dac进行声音播放,现在 ...
(引用自7楼)

先排查串口通信是否正常,实时传音频,串口速率够吗?

出0入0汤圆

9
 楼主| 发表于 2024-4-3 09:37:43 | 只看该作者
Doding 发表于 2024-4-3 09:12
先排查串口通信是否正常,实时传音频,串口速率够吗?
(引用自8楼)

接收信息串口看着正常,请问串口的速率和控制ADC的定时器速率要如何对应上,谢谢

出300入477汤圆

10
发表于 2024-4-3 09:49:23 来自手机 | 只看该作者
liang61a 发表于 2024-4-3 09:37
接收信息串口看着正常,请问串口的速率和控制ADC的定时器速率要如何对应上,谢谢 ...
(引用自9楼)

先不管怎么对应,怎么对应你可以随便改,先算算基本参数吧:
说说你音频的采样率是多少?正常最低也得16K吧,更低没法听了
16K*16 bit=256K bps数据速率
串口加上起始位停止位,不能低于300K
然后你再想自己的帧格式,接收方来不及收怎么办,至少为了确保能区分岀哪是高字节哪是低字节,得带个帧头标志吧
想清楚这些了再动手做

出1310入193汤圆

11
发表于 2024-4-3 09:57:09 | 只看该作者
115200以上波特率  串口先验证ok  带帧头帧尾 crc   
接下来就接收方还原声音了

出10入18汤圆

12
发表于 2024-4-3 10:17:22 | 只看该作者
redroof 发表于 2024-4-3 09:49
先不管怎么对应,怎么对应你可以随便改,先算算基本参数吧:
说说你音频的采样率是多少?正常最低也得16K ...
(引用自10楼)

音频那用得着这么大....
如果是指传声音,想简单的话,可以用电话IC,内置压缩了,8bit的ADC,用A律或者u律。

出0入42汤圆

13
发表于 2024-4-3 10:37:28 | 只看该作者
简单粗暴,8k 8bit就可以了,还不用考虑帧格式

出300入477汤圆

14
发表于 2024-4-3 11:21:28 来自手机 | 只看该作者
qtechzdh 发表于 2024-4-3 10:17
音频那用得着这么大....
如果是指传声音,想简单的话,可以用电话IC,内置压缩了,8bit的ADC,用A律或者u ...

(引用自12楼)

自带压缩的当然8位也行。
但楼主是初学者啊,简单第一,不带压缩的8位音质差的要死,没法听。

出0入4汤圆

15
发表于 2024-4-3 14:43:36 来自手机 | 只看该作者
多远的距离,距离不远的话,波特率上到1m,带宽就足够了。

出200入2554汤圆

16
发表于 2024-4-3 15:20:20 | 只看该作者
如果做了 WAV 格式封装,基本是文件头识别错误导致后续流出现问题。

如果不做文件格式封装,直接原始数据传,甚至可以低到 4bit,想出声音还是很容易的。

出0入0汤圆

17
发表于 2024-4-8 11:50:31 | 只看该作者
16K 8bit  方便传输
播放端采用PWM(ADC)那么采样率也不一定要是常用采用率,可以根据资源情况调整(8-16k).
如果用PWM还原声音,将采用率 调制到一个远高于采样速率的PWM信号上,有利用提高语言清晰度。(不知道说明白没有)

出0入8汤圆

18
发表于 2024-4-8 19:04:36 来自手机 | 只看该作者
楼主你反过来检查。先检查功放有没有正常工作。
然后给DAC一些数据,不管怎么传,传给它,看它响不响。就算乱码送进去也应该出生的。
然后再看看串口对不对,发送方有没有发送,接收方有没有接收。
你是不是在做毕业设计?就想着一下子就实验成功打完收工是不是?要不然这个任务难度对你来说不应该调试的思路都没有。起码知道什么是串口吧。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-1 11:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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