This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/CC1350STK:CC1350STK UART PCM 音频流中的某些数据丢失

Guru**** 2538950 points
Other Parts Discussed in Thread: CC1350STK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/609125/rtos-cc1350stk-some-data-is-lost-in-cc1350stk-uart-pcm-audio-streaming

器件型号:CC1350STK

工具/软件:TI-RTOS

我正在尝试获取 SensorTag 的麦克风生成的 PCM 数据、并通过 UART 发送该数据。
为此,我修改了中的原始 pdmstream 示例:
 
"C:\ti\simplelink_cc13x0_sdk_1_30_00_06\examples\rtos\cc1350stk\drivers\pdmstream"。
 
我使用 Matlab 处理 PC 中接收到的数据。 但是、处理后的声音与原件不匹配100%。 流的某些部分似乎丢失了、我意外获得了一些音频增强效果。  
 
SensorTag 是否可能无法发送100%的数据、因此传输信息的某些部分会丢失?  
 
或者、我是否可能通过传输/解码 DE 数据而出错?
 
我在 MATLAB 中附加了代码、并修改了 pdmstream。
 
感谢您的帮助
 
MATLAB 代码:
S =串行('COM10');
SET (s、'baudate'、115200);
fopen (s);
i=1;
信号=[];
P=[];

tic;
while (i<500)
Prev_length=length (signal);
signal=[信号 uint8 (fread (s)];
disp(num2str(i));
disp (num2str (length (signal)-prev_length));

i=1;
结束
TOC

fclose
删除
(s)清除 s

图(1);
signal_16 =拼写错误((255信号)、'Int16');
signal_16d = double (signal_16);
signal_16d = signal_16d/max (abs (signal_16d)))/1.2;
plot (signal_16d);

fs=16e3
声音(signal_16d、fs); 

e2e.ti.com/.../0755.pdmstream.c

 
何塞

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Jose、
    我会尝试通过用递增的数字序列覆盖传输缓冲区(或可能是在麦克风中播放的扫描音)来解决此问题、并检查数字序列损坏的位置。 通常需要注意的是检查缓冲区溢出、欠运转、任务时序/优先级、MIPS 以外的运行、UART 速度(作为测试增加波特率)
    此致、
    Prashanth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、以前未回答此问题。 感谢您的帮助 Prashanth。 通过增加 UART 波特率并降低麦克风增益来解决该问题、因此不会出现丢包或音频饱和。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴听到问题现已解决。
    此致、
    Prashanth