TDD模式的数字对讲无线语音传输系统设计与实现(5)

2019-01-27 19:23

其余作为输出,P6端口的P6.0\.1作为输入,P6.2\.7作为 输出;

②P3、P5端口引脚为外围模块功能,P3端口作为USART0模

块,采用SPI 3线模式与CMX649进行通信,其中P3.1'P3.3作

为外围功能模块,其余为I/o端口,P3.I'--'P3.4作为输入,其余作 为输出,P5端口作为USARTl模块,采用SPI 3线模式与CCl000

进行通信,其中P5.2~P5.3作为外围功能模块,其余为I/O端口, P5.2作为输入,其余作为输出;

⑨P1.O~P1.7、P2.3以及P3.1~P3.4端口引脚与CMx649语音

编码芯片的信号控制端口、数据输入偷出端口进行连接;

④P4.2~P4.7、P5.0~P5.3以及P6.O\.1端口引脚与CCl000 射频芯片的信号控制端口、数据输入/输出端口进行连接;

⑤P2.O,--.p2.2、P3.0、P4.0端口引脚与按钮及指示灯电路进行连 接;

⑥P5.4~P5.7端口引脚与拨号键盘电路进行连接;

⑦P2.O和P2.1为中断输入端口,用于系统设置与按键拨号检测 中断,选择下降沿触发中断。

⑧P2.6、P2.7端口作为功能选择件键,其中P2.6键产生 中断后可是系统进入单呼,P2.7键产生中断后可是系统进入 群呼。 代码如下:

设置端口的方向

MOV.B #P1DIR_DEFAULT,P1DIP. MOV.B #P2DIR_DEFAULT,P2DIR MOV.B #P3DIR_DEFAULT,P3DIR MOV.B #P4DIR_DEFAULT,P4DIR MOVB #P5DⅡ己DEFAULT,P5DIR

西南交通大学硕士研究生学位论文第25页 MOVB #P6DIR DEFAULT.P6DIR 设置端口的功能

MOVB #P 1 SEL DEFAULT,P1 SEL MOVB #P2SEL_DEFAULT,P2SEL MOV.B #P3SEL DEFAULT,P3SEL MOV.B #P4SEL_DEFAULT,P4SEL MOVB #P5SEL_DEFAULT,P5SEL MOV.B #P6SEL_DEFAULT,P6SEL 设置端口输出的默认值

MOV.B #P 1 0UT_DEFAULT,P1OUT MOV.B #P20UT_DEFAULT,P20UT MOV.B #P30UT DEFAULT,P30UT MOV.B #P40UT DEFAULT,P40UT MOV.B #P50UT DEFAULT,P50UT MOV.B #P60UT_DEFAULT,P60UT

设置Pl、P2端口的中断 MOVB #P1 IES_DEFAULT,P1 IES MOVB #PI IE_DEFAULT.P11E

MOV.B #0C7H,P2IES //下降沿触发(高一低) MOV.B 焖C3H,P2IE // 开中断 (4)外围设备初始化

系统中需要使用的到的MSP430F149的外围模块有定时器 Tuner A和Timer B以及通用串行通信模块USART0和USARTl。 ①定时器初始化

利用16位定时器Timer A和Timer B可以实现精确的定时,

当定时时间到达时产生中断,程序可利用中断程序进行某些事务 的处理。关于定时器及其操作的控制位都包含在定时器控制寄存 器TACTL和TBCTL中。在POR信号后所有位都自动复位,但在 PUC信号后不受影响。

在系统中,利用Timer A产生一个按键的定时中断,在中断 处理程序中执行按键的相应功能。Timer A选择ACLK直接作为 时钟源,并采取连续计数模式进行计数。

系统利用Timer B产生一个同步过程的定时中断,当在定时

时间到达时,通信终端还未接收到块同步字,则表明同步失败, 中断处理程序将要求重新进行同步操作。Timer B选择内部时钟的 8分频作为时钟源,并采取连续计数模式进行计数。

②通用串行通信模块初始化

由以上所述的的端口的配置可知,系统使用通用串行通信模

块USART0和USARTl分别与CMX649和CCl000进行通信,而

西南交通大学硕士研究生学位论文第26页

且都是采用同步的SPI 3线模式。在初始化操作中,将要对US.M

性的控制等,可通过USART的控制寄存器UxCTL和发送控制寄

存器I心TCTL等进行设定。 代码如下:

设置USART0模块

MOV.B #OEH,P3SEL MOV.B #15H,UCTL0

MOV.B #14H,UCTL0

MOV.B #02H,UTCTL0

MOV.B #40H,MEl

设置TI肛R A

MOV.W #0 164H,TACTL MOV.W RANDOM,TAR

‘设置TIMER B

MoV.W #11EOH,TBCTL

4.3.2语音编码器CMX649的初始化

CMX649语音编码器的片内提供有多种可供选择的功能模块

和算法,在使用之前需要对其进行初始化,选择适当的编码方式、

功能模块以及辅助算法。可通过CMX649的23个可写的配置寄存 器对其进行参数设置,所有的这些参数都将通过MSP430的C.BUS 接口对寄存器进行设置“3,。此处设置CMX649的语音编码方式为

连续可变斜率增量调制CVSD。

由于其代码太长,此处不再列出,读者可在主代码文件中查 询SE,I-【口649段代码。 (1)时钟设置

CMX649选择MSP430F149的SMCLK信号作为时钟源,再

使用锁频环PLL技术使时钟稳定在工作频率上。编码与译码的位 时钟均由内部的时钟恢复电路所产生。通过配置滤波时钟的参数,

使CMX649产生约256Ⅺ眩的SCF时钟,并通过时钟分频的设置,

可得到需要的编码与译码速率。

系统通过41Vl}-Iz的SMCLK时钟,配置时钟源控制寄存器 ($73)及时钟分频控制寄存器($72),产生的SCF时钟为 253.968KHz,采用的编码速率为31.250KHz。 (2)编码器与译码器设置

编码器与译码器的设置是CMX649配置的核心部分,它关系

到编码器与译码器的数据输入/输出路径,编码方式、压扩算法、

西南交通大学硕士研究生学位论文第27页

量化步长的选取,I序与Ⅱ序积分器的使用方式以及积分器的时间 因子的设定,语音活动检测器VAD的门限设定、偏移量等级的设 定等因素。所有的以上配置均通过编码器及译码器的相关寄存器 进行参数的选取。基本的编码器与译码器的配置寄存器有:模式 与设置寄存器($EO和*DO)、ADM编码控制寄存器($El和$D1)、 VAD门限寄存器($E2和$D2)以及偏移量等级寄存器($E3和

$D3)。

由于编码与译码是互逆的过程,因此在进行编码器与译码器 的相关配置时应当保持二者的一致,否则将不能正常工作。系统

采用CVSD,即ADM的编码方式,输入瀚出路径使用通常的操

作模式,压扩算法采用“4 of 4\规则,动态的量化步长范围选择

从20至5120,使用I序与Ⅱ序积分器结合使用提高译码信号的保 真度,积分器的时间因子是与编码速率相关的,VAD门限以及偏 移量等级均与模数转换DAC的最大参考电压值有关。 (3)其它功能模块设置

除了以上的时钟模块及编码器/译码器等主要部分外,

CMXf洱9还集成了一些功能模块来优化语音质量或提高语音的性

能,如反混淆滤波器丸虹、反镜像滤波器A球、数控放大器DCA、

数字扰频器等。

黜镡及A珥开关电容滤波器可以通过编程设定其截止频率,

以适应不同的输入信号带宽。可通过AAF/AⅢ带宽寄存器($61) 设置二者的截止频率。系统设置的滤波截止频率为2.9kHz。

CMX649集成有三个数控放大器DCA,通过它们来设置输入

语音、侧音音频和输出语音的音量控制的信号等级。可通过音量/

侧音等级寄存器($62)和音频输入等级控制寄存器($63)进行 设置。

数字扰频器,也可称为随机性发生器,它不仅可以提供一定

的通信安全性,也可减少不规则的长串“1一或“0’’的出现概率。

扰频器接收来自编码器的数字数据,产生一个可选择的最大长度 为10比特的扰码,在另一端解扰时,只有当扰码序列相同时才能 将经扰码处理的数据还原为原始数据。扰频器的配置通过其控制 寄存器($71)进行参数设置。 (4)功率设置

功率设置将涉及到CMX649中的除编码器/译码器外的其它功

能模块的功率与电流的消耗,这些模块包括有反混淆滤波器丸址、

反镜像滤波器AIF、编码数模转换、译码数模转换、麦克风放大器、 音频数控放大器、音量数控放大器等。在系统初始化时,都将上 述的这些模块启动但功率均设置成最小值。这些设置可以通过功

西南交通大学硕士研究生学位论文第28页

率控制寄存器l及功率控制寄存器2进行参数配置。

4.3.3射频芯片CCl000的初始化

射频芯片CCl000通过内置的29个8位寄存器进行配置,如

接收发送模式的设定、功率及电流的设定、锁相环PLL状态值的 设定、调制解调器的参数设定、频率参数的设定等。所有参数通 过MSP430的C.BUS总线接口对CCl000的寄存器进行参数配置

髀Jo

其代码段在主代码中的名称为SETUPRF。

需要说明的是,在系统刚启动时,工作模式均设置为接收模 式以监听信道0上的信息,工作频率设置在433MHz上,而功率 及电流的参数与工作频率相关,均根据433MHz的工作频率来进 行设置。

4.3.4系统数据的初始化

系统在开始运行之前,必须将一些必要的数据写入到系统当

中,以保证系统能够正常的运行旧。系统数据主要包括系统的前同 步字域、同步字段、通用寄存器的值(用于计算来自语音数据或 发送到射频数据的字节数)、本机号码、信道号、命令字段、通用 变量等信息。在系统初次运行时,这些系统数据都将预先写入 MSP430的FLASH存储器中以待运行时读取。 代码如下:

#define FROM649 CNTR 104//定义H∞M649 CNTR=R4 #define 1’0649 CNTR R9//定义1’0649 CNTR=R9 #define TORF CNTR R5//定义TORF C1叮TR=R5

#define FROMRF CNTR

R8//定义FR0脚CNTR---R8

MOV.W #CMX649 MAX,FROM649 CNTR//计数器赋值 MOVW #CMX649 MAX,T0649

C册l//计数器赋值

MOV.W #RFTX MAX,TORF CNTR//计数器赋值 MOVW #RFRX MAX.FROMRF CNIR//计数器赋值 MOV.W #BIT SYNC PAT,BIT SYN0//为同步位赋值 MOV.W 粕LK SYNC WORD,BLK SYNC//为同步块赋值

MOV.W #NO CMD.CMD2MASTER//命令字赋值

MSP430F149的FLASH存储器可实现多次擦除和写入,也可

实现在线写入。写入操作可通过JTAG接口来完成,也可以由芯片 内的驻留软件来实现。在FLASH存储器编程时,不允许中断请求, 因此要先禁止看门狗和中断源。

西南交通大学硕士研究生学位论文第29页

4.3.5 C-BUS的写入格式

上面在介绍语音编码器CMX649的初始化和射频芯片CCl000 的初始化时都介绍了相关参数是通过C-BUS接口进行设置的。 C.BUS接口提供3种写入操作格式,分别是1字节、2字节及 3字节的命令格式。l字节的写入格式是直接将MSP430的R13寄 存器作为写入地址。2字节的写入格式是将MSP430的R14寄存器 作为写入地址,R13作为数据字节。

3字节的写入格式是,第一字节为寄存器的地址信息,而3字 节的格式中数据寄存器为一个双字节即16位的寄存器,因此第二 字节为寄存器配置信息的高8位数据,第三字节为低8位数据。 三种字节写入操作代码段在主代码中的名称分别是: CBUSWl、CBUSW2、CBUSW3。

4.4系统数据流控制模块

数据流控制模块主要完成数据的接收控制、数据发送控制等 工作。以微处理器MSP430F149为中心,首先接收来自射频芯片 CCl000的数据,再将接收的数据送至语音编码器CMX649进行处 理。而发送过程是将语音数据通过微处理器MSP430F149的控制 由送到射频芯片CCl000将数据发送出去。由于使用了专用芯片, 数据的处理均在专用芯片上完成,因此数据是一个串入串出的过 程,微处理器对数据基本上不需要进行特别的处理,只需控制数 据的输入与输出的接口以及设置定时器对接收与发送模式转换进 行控制叫。

系统数据流控制模块还能清晰地说明系统数据的进、出过程, 包括MSP430与CMX649间的数据传输和MSP430与CCl000间 的数据传输。

4.4.1 MSP430与CMX649间的数据传输

微处理器MSP430通过串行通信模块USART0通过SPI 3线方


TDD模式的数字对讲无线语音传输系统设计与实现(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《最大的“书”》教案-word文档

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: