zhang32568 发表于 2025-1-15 16:38:33

请教一个音频传送的问题 | CAN 强

请教一个问题。现在A和B单片机之间通过串口转485通信,距离不到30米,传送一个20字节的数据。现在A机器想传送一路单声道音频 给B机器。(人声,不要求高音质)B机器将声音实时还原(不存贮)。同时B机器可以通过麦克风将声音传送给A机器。实现双向通话(不存贮)。
现在使用的是STC32G12K128.不知道是否可以同时实现声音和现有数据的传送。
现在没有思路。有没有好的想法点拨一下。
或者有没有现有的例程参考一下

laohu123 发表于 2025-11-13 09:36:34

有线对讲机?

zhang32568 发表于 2025-11-14 15:47:36

laohu123 发表于 2025-11-13 09:36
有线对讲机?

和这个功能应该一样 不过是双向的。不像对讲机那样是单工。现在想用can实现

laohu123 发表于 2025-11-14 15:59:03

zhang32568 发表于 2025-11-14 15:47
和这个功能应该一样 不过是双向的。不像对讲机那样是单工。现在想用can实现 ...

如果要做回声消除那就复杂了,如果像传统对讲机按住讲话的话,就比较简单了

梁工 发表于 2025-11-14 17:16:30

使用8K采样ADPCM压缩传输,码率为32kbps,对应要求RS485的波特率要40kbps以上。
使用115200波特率就可以实现双工通信,但是要注意啸叫问题,可以软件处理啸叫。
STC32G12K128没有I2S接口,只能使用ADC采集语音,再用PWM或外接DAC做声音播放。
建议使用AI8051U,可以ADC采集语音、I2S播放声音。

zhang32568 发表于 2025-11-15 11:17:20

梁工 发表于 2025-11-14 17:16
使用8K采样ADPCM压缩传输,码率为32kbps,对应要求RS485的波特率要40kbps以上。
使用115200波特率就可以实 ...
非常感谢梁工回答 。我实际在用stc32g测试CAN 和485通信。
同样的线路下 CAN的稳定性和速率 远远大于485.所以打算使用CAN总线。

啸叫问题可以不考虑,两边都是使用头戴耳机进行通话。
AI8051还没有玩过。慢慢研究一下。

神农鼎 发表于 2025-11-17 11:28:09


CAN 的各种机制 肯定 强过 RS485 太多了


神农鼎 发表于 2025-11-17 11:34:30

STC32G8K64, 有 硬件 I2S,
CAN 容许的误差是比较大的,
时钟优先选择符合 I2S的,
但据说也可以优先满足 CAN,
声音不比较也是无法听出些许时钟误差的






神农鼎 发表于 2025-11-17 11:36:07

另外可以 考虑强大的 STC32G144K246,
这个 2组 I2S 的时钟源独立于 CAN/CPU 时钟

zhang32568 发表于 2025-11-17 21:58:28

神农鼎 发表于 2025-11-17 11:34
STC32G8K64, 有 硬件 I2S,
CAN 容许的误差是比较大的,
时钟优先选择符合 I2S的,


非常感谢
页: [1] 2
查看完整版本: 请教一个音频传送的问题 | CAN 强