【蓝牙协议栈】精讲蓝牙PCM和URAT
前言
在蓝牙通信中,PCM和UART是两种不同的数据传输接口,用于连接蓝牙模块和其他设备。它们的作用和特点如下:
1. PCM(Pulse Code Modulation)
PCM:(pulse coded modulation)脉冲编码调制,是将模拟信号抽样量化,然后使已量化值变换成代码。通常pcm有4跟信号线:pcm-clk,pcm-sync,pcm-in,pcm-out。在使用pcm之前,应该配置好pcm接口。通常会设定frame sync,bit samples,tristate edge,pcm-sync,Enable GCI mode,Mute等等。市面上有很多codec,分单声道和立体声。举个例子,mc14583是一种单声道的codec,它的作用就是将从mic进来的模拟信号,转换成pcm-in信号,或者将pcm-out的信号变换为模拟信号从spk端输出。
PCM是一种用于传输模拟音频信号的数字编码方法。PCM接口通常用于音频数据的传输,特别是在蓝牙音频设备中。
1.1 主要特点:
- 音频传输:PCM接口用于传输音频信号,例如语音数据。蓝牙耳机、蓝牙音箱和其他音频设备常常使用PCM接口。
- 同步传输:PCM是同步传输接口,需要时钟信号来同步数据传输。
- 数据格式:PCM数据流通常包括时钟信号(CLK)、帧同步信号(FS)和数据信号(DATA)。
- 采样率和位深度:PCM音频数据可以有不同的采样率和位深度,如44.1kHz、16位等。
1.2 PCM基本工作原理:
脉冲调制就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输.脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程.
所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号.该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说能无失真的恢复原模拟信号.它的抽样速率的下限是由抽样定理确定的.在该实验中,抽样速率采用8Kbit/s.
所谓量化,就是把经过抽样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电平值来表示.
一个模拟信号经过抽样量化后,得到已量化的脉冲幅度调制信号,它仅为有限个数值.
所谓编码,就是用一组二进制码组来表示每一个有固定电平的量化值.然而,实际上量化是在编码过程中同时完成的,故编码过程也称为模/数变换,可记作A/D.
PCM话音信号先经防混叠低通滤波器,进行脉冲抽样,变成8KHz重复频率的抽样信号(即离散的脉冲调幅PAM信号),然后将幅度连续的PAM信号用"四舍五入"办法量化为有限个幅度取值的信号,再经编码后转换成二进制码.对于电话,CCITT规定抽样率为8KHz,每抽样值编8位码,即共有28=256个量化值,因而每话路PCM编码后的标准数码率是64kb/s.为解决均匀量化时小信号量化误差大,音质差的问题,在实际中采用不均匀选取量化间隔的非线性量化方法,即量化特性在小信号时分层密,量化间隔小,而在大信号时分层疏,量化间隔大.
脉冲调制就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输.脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程。
一个模拟信号经过抽样量化后,得到已量化的脉冲幅度调制信号,它仅为有限个数值。PCM话音信号先经防混叠低通滤波器,进行脉冲抽样,变成8KHz重复频率的抽样信号(即离散的脉冲调幅PAM信号),然后将幅度连续的PAM信号用"四舍五入"办法量化为有限个幅度取值的信号,再经编码后转换成二进制码.对于电话,CCITT规定抽样率为8KHz,每抽样值编8位码,即共有28=256个量化值,因而每话路PCM编码后的标准数码率是64kb/s。
如下图PCM时序:
1.3 示例:
在蓝牙耳机中,音频数据可以通过PCM接口从蓝牙模块传输到数字信号处理器(DSP),然后经过解码、数字-模拟转换(DAC),最终输出到扬声器。
1.4 PCM
PCM:脉冲编码调制(pulse codemodulation)
是传输语音信号所使用的调制方式。
用途:传输通话时的语音信号。
硬件接口:
2. UART(Universal Asynchronous Receiver/Transmitter)
UART(通用异步收发传输器)是一种用于串行通信的硬件接口。UART接口常用于数据的异步串行传输,在蓝牙模块和主控制器之间传输控制指令和数据。
2.1 主要特点:
- 数据通信:UART用于传输数据和控制指令,常用于蓝牙模块与微控制器或其他主设备之间的通信。
- 异步传输:UART是异步传输接口,不需要时钟信号。数据传输通过起始位和停止位进行同步。
- 双向通信:UART支持全双工通信,即同时进行数据接收和发送。
- 常用速率:UART支持多种波特率,如9600、115200等。
2.2 示例:
在一个蓝牙模块和微控制器之间的通信中,UART接口用于传输控制命令(如蓝牙连接、断开、配对等)以及数据(如传感器数据)。
2.3 蓝牙硬件接口概述(以UART接口接出的芯片为例)
蓝牙与主控部分硬件接口比较简单,分三部分,如上图框图所示:
UART部分:串口,主要负责数据传输;有其他USB、SDIO、PC card等通信;
PCM部分:语言接口,用于通话时语音数据传输;
Power部分:也就是BT模块的电源控制部分,VDD2.8V、PDN、RST。
1、UART:通用异步收发传输器(UniversalAsynchronous Receiver/Transmitter)
硬件接口比较简单,只有RX、DX。UART0用于trout芯片的debug:
是传输数据的接口,可以传输音频数据和文件数据。
1)、当通过蓝牙和别人互传文件时,就用UART传输。数据传输如下所示:AP通过uart把数据发送到bt芯片中,通过无线发射出去,对方接收到后传给AP侧处理。
2)、当用蓝牙耳机听音乐时,音频信号也由UART传输。
音乐数据通过uart 传送出去,对方耳机接收到后解码播放。如果是录音数据,则同样传回手机端存储。
3. 比较
特性 | PCM | UART |
---|---|---|
主要用途 | 音频数据传输 | 数据和控制指令传输 |
传输类型 | 同步传输 | 异步传输 |
数据方向 | 单向或双向(取决于设计) | 全双工 |
信号 | CLK、FS、DATA | TX、RX |
典型应用 | 蓝牙音频设备(耳机、音箱) | 蓝牙模块与主控设备(微控制器、传感器等) |
4. 结论
- PCM接口主要用于音频数据的传输,在蓝牙音频设备中广泛应用。
- UART接口主要用于数据和控制指令的传输,在蓝牙模块与微控制器或其他设备之间的通信中广泛应用。
理解这两种接口的作用和特点,有助于选择和设计蓝牙通信设备。