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

2019-01-27 19:23

射频部分可以根据实际应用的需求来选用不同的适用芯片。 系统采用的芯片是一种超高频单片收发通信芯片,拥有很高的性 能,并且尺寸小(TSSOP.28封装),仅需要很少的外围无源元件 支持,通过灵活的串行总线接口很方便的与微处理器连接,构成 一个无线信号收发器。主要应用于ISM(Industrial、Scientific and Medical)频段和工作频段在315、433、868及915MHz的近距离 设备SRD(Short Range Device)中,但很容易通过编程使其工作

在300~1000Ⅻz范围内洲。其主要工作参数能通过串行总线接口

编程改变,使用非常灵活。主要的特性有: (1)频率范围在300\; (2)集成了位同步器;

(3)低功耗:供应电压范围在2.1~3.6V,且非常低的电流消耗, 可编程输出功率范围在.20~10dBm;

(4)高灵敏度:在2.4kbps的传输波特率下通常为.1 10dBm; (5)采用频移键控(Frequency Shift Keying,FSK)调制方式, 最大的数据传输波特率达76.8kbps; (6)具有250Hz步长可编程频率能力。

无线数传模块工作时外围元件很少,典型的应用电路如图3.5 所示。当配置无线数传模块不同的发射频率时,外围元器件参数 西南交通大学硕士研究生学位论文第1 8页 也不同。

图3.5无线数传模块的典型应用电路

微处理器使用3个输出引脚用于接口(PDATA、PCLK、PALE), 与PDATA相连的引脚必须是双向Io端口,用于发送和接收数据。 提供数据计时的DCLK应与微处理器输入端相连,其余引脚用来 监视LOCK信号(在引脚CHP OUT)。当PLL锁定时,该信号

为逻辑高电平。当调制数据时,无线数传模块能被设置成三种不

同的数据形式,分别为同步NRZ模式、同步曼彻斯特码模式、异 步传输UART模式。为了满足电池供电情况下严格的电源损耗要 求,无线数传模块提供了十分方便的电源管理方法。通过MAIN寄 存器控制低电平模式,有单独的位控制接收部分、发射部分、频 率合成以及晶振。这种独立控制可用来优化在某个应用中最低可 能达到的电流损耗。

3.4外围数据接口模块

外围数据接口模块通常有能显示汉字的图形点阵液晶和可输

入数字的小键盘等组成。本系统的键盘系统,因使用的按键较多, 所以采用矩阵式(也称行列式)键盘。 1.行列式键盘的结构

矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上, 其结构如图3.6所示。

由图可知,一个4x4的行、列结构可以构成一个含有16个按 西南交通大学硕士研究生学位论文第1 9页

键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按 键键盘要节省很多I/O口。

矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通 过上拉电阻接到电源上。当无键按下时,行线处于高电平状态; 当有键按下时,行、列线将导通,此时,行线电平将由与此行线 相连的列线电平决定。这是识别按键是否按下的关键。然而,矩 阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该 键所在行线和列线的电平,各按键间将相互影响,因此,必须将 行线、列线信号配合起来作适当处理,才能确定闭合键的位置。

:/ 夕/ /

一■_。-_._r1

a,

1|I/‘ 夕∥ /

I、

7,.

‘/ / 吵吵’

吵少y 少3二二一

O _l 2 3

2

图3-6矩阵式键盘结构

2.矩阵式键盘按键的识别

识别按键的方法很多,其中,最常见的方法是扫描法。下面以 图3-6中8号键的识别为例来说明扫描法识别按键的过程。 按键按下时,与此键相连的行线与列线导通,行线在无键按

下时处在高电平,显然,如果让所有的列线也处在高电平,那么, 按键按下与否不会引起行线电平的变化,因此,必须使所有列线 处在低电平,只有这样,当有键按下时,该键所在的行电平才会 由高电平变为低电平。CPU根据行电平的变化,便能判定相应的 行有键按下。8号键按下时,第2行一定为低电平,然而,第2行 为低电平时,能否肯定是8号键按下昵?回答是否定的,因为9、 lO、ll号键按下同样使第2行为低电平。为进一步确定具体键, 不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一 条列线处于低电平,其余列线均处于高电平,另一时刻,让下一 列处在低电平,依此循环,这种依次轮流每次选通一列的工作方

式称为键盘扫描。采用键盘扫描后,再来观察8号键按下时的工

作过程,当第0列处于低电平时,第2行处于低电平,而第l、2、 3列处于低电平时,第2行却处在高电平,由此可判定按下的键应 是第2行与第0列的交叉点,即8号键嘲。 西南交通大学硕士研究生学位论文第20页

第4章系统软件设计

4.1软件开发环境概述

本文研究的数字对讲终端系统的微处理器是采用MSP430系 列单片机,所有的软件控制流程均在其实现。基于MSP430的开 发软件较多,较常用的如IAR公司的IAR Embedded Workbenchtm, 以及AQ公司的AQ430等,均支持汇编语言和C语言。系统采用 与MSP430配套的IAR Embedded Workbench开发软件,使用代码 运行效率更高的汇编语言编写程序。IAR Embedded Workbench提 供的开发工具包括:快速编译器、高效的连接器、库、语法高亮 度文本编辑器、自动的Make工具以及一个可选的C.SPY调试器。 它拥有通用性、灵活的编辑器以及高效的C编译器和汇编器等特 性。

系统采用的MSP430F149是MSP430单片机系列的FLASH型

系列,其开发方式只需要一台PC和一个FET(Flash EmulatorT001) 的盯AG控制器即可实现。JTAG是一种所谓的边界扫描技术,即 疋EEll49。l标准,它是能够对芯片进行在线测试的接口技术。通 过YI'AG控制器实现程序代码的下载、实现运行控制和对现场进行 观察与修改,这种方法被称为FET调试方法。

MSP430F149芯片在内部集成了JTAG模块,全部JTAG接口 只用少量的几个引脚,主要有TDO、TDI、TMS、TCK、RST、

TCLK/XOUT、

TEST等,只要经过脚接口就哥以实现对CPU

的仿真调试功能。整个调试过程,外部只需要一台能实现JTAG接 口控制功能的主机即可。

4.2系统软件架构

系统的软件设计部分采用汇编语言编写。汇编语言为程序开

发者提供了直接控制目标代码的手段,而且可以对输入/输出端口 进行控制,实时性能好;此外,用汇编语言编写的程序效率高, 节省内存,运行速度快。实现本系统全部代码由两个文件组成, 包括主代码部分和头文件(数据声明)部分。 系统软件的总体流程如图4-l所示。

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

图4_l系统软件总体流程框图

由于系统软件实现过程比较复杂,因此系统的软件设计采用

模块化设计思想m一,将系统的实现分为多个功能模块,主要包括 四大模块:系统初始化模块、系统数据流控制模块、TDD通信模 块以及功能选择模块。对每个模块的实现又细分为几个小模块来

说明。

在以下的几节中,将对各个功能模块的特点及功能进行详细 叙述,并着重说明各个功能模块软件实现的方法,同时在说明各 个模块时给出了部分关键代码㈨枷。软件功能结构及划分框图如图 4.2所示。

西南交通大学硕士研究生学位论文第22页 图4.2系统软件功能模块图

4.3系统初始化模块

系统的初始化是系统运行的基础部分,它涉及到系统的整体

硬件设计,如引脚的分配及连接、各芯片采用的工作模式等问题“”。 系统初始化模块可划分为四个部分来完成:初始化微处理器、初 始化语音编码器、初始化射频芯片以及初始化系统数据。每个部 分可相互独立完成,但又彼此相关,以下将分别进行叙述。

4.3.1微处理器MSP430的初始化

微处理器MSP430提供了两个内部复位信号:上电复位信号 (POR)和上电清除信号(PUC)。当POR或n坨信号引起设备

复位后,系统的初始状态设置为:I/o引脚切换成输入模式;I/o 标识位清除;其它外围模块及寄存器实现初始化;状态寄存器复 位;PC装入0FFFFH处的地址值,CPU从该地址开始执行。因此,

当微处理器上电开始执行程序前,必须先对所有的引脚和其它相

关模块和寄存器进行初始化编程,设置成系统需要的工作模式。 主要是进行时钟晶振、ⅣO端口、看门狗定时器、Timer A和Timer B 的初始化配置。

(1)看门狗定时器的设置

看门狗定时器(Watch Dog Timer,WDT)的主要功能是:当

程序发生错误时,使系统重新启动。如果WDT超过了设定的定时 时间,即发生系统复位,通常定时时间要稍大于程序执行一遍所 用的时间,这样可以保护程序的正常运行。同时,它也可当作定

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

时器使用,在定时时间到达后将产生中断。

由于系统没有用到看门狗功能,因此要在程序开始处禁止看 门狗的功能。代码如下:

MOV.W #WDTPW+WDTHOLD.WDTCTL//禁止看门狗

其中的立即数的值可以在头文件中找出,以下不再声明。 (2)晶振与时钟的设置

MSP430F149微处理器的基础时钟模块有3个时钟源: LFXTICLK低频时钟源、XT2CLK高频时钟源和DCOCLK数控 RC振荡器时钟源。基础时钟模块可以提供3种时钟信号: ACLK辅助时钟:ACLK是LFXTlCLK信号经分频后得到的。 ACLK可用作各外围模块的时钟信号,一般用于低速外设。 MCLK主时钟:MCLK可由软件选自LFXTlCLK、X12CLK

或者DCOCLK之一,然后经分频后可得。MCLK主要用于CPU。 SMCLK子时钟:由软件选自LFXTlCLK、XT2CLK或者

DCoCLK,然后经分频后可得。SMCU(可用作各外围模块的时钟 信号,主要用于高速外围模块。

由系统硬件设置,系统使用外接的8MHz晶体作为系统的

XT2CLK高频时钟源,并通过MSP430F149微处理器的内部设置 产生ACLK、MCLK和SMCLK三种时钟信号。MSP430F149通过

基础时钟系统控制寄存器BCSCTLl和BCSC叨.一2进行基础时钟的 设置。代码如下: BIC.W #OSCOFF,SR

MOV.B, .棚70H,BCSCTLI.

MOVB绷CJm,BCSCTL2

LLl BIC.B..#OFIFG,球Gr

MOV..W.一#0.00.2.H,,R1 5。 L】L2 DEC.W R15‘

ⅢZ LL2

BIT.B #OFIFG,IFGl

心Z LLl

BIS.W #SCGO,SR (3)I/0端口设置

MSP430F149有两类I/O端口。P1、P2是一类,P3、P4、P5、

P6是另一类。这两类的端口有8个引脚,都具有控制帕方向、

输入/输出功能。P3\端口有4个控制寄存器:输入寄存器Px玳

(只读)、输出寄存器PxOUT(提供输出缓存)、方向寄存器PxDIR (选择输入/输出模式)和功能选择寄存器PxSEL(选择I/o端口 或是外围模块功能)。P1、P2端口除了具有以上功能外,还具有中 断能力,每个引脚都可以单独选择中断触发沿、单独运行中断, 西南交通大学硕士研究生学位论文第24页

且8位全都可以用于对外部事件的中断处理,因此除具有上述4 个寄存器外,还具有另外的3个控制寄存器:中断标志寄存器

PxⅢG、中断触发沿选择寄存器PxIES和中断使能寄存器P)【m。所

有I/O端口的引脚在PUC后复位,选择粥端口功能,且为输入

模式。因此,每次程序开始必须将各个端口的所有引脚相对应的 控制寄存器中按照程序要求进行置位,这些也是在程序初始化时 需要进行的操作。

根据系统的设计需求,引脚分配如下:

①Pl、P2、P4、P6端口引脚设置为I/O端口,其中P1端口的

P1.O~P1.3作为输入,P1.4,-一p1.7作为输出,P2端口的P2.0~P2.2 作为输入,P2.3~P2.7作为输出,P4端口的P4.2和P4.4作为输入,


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

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

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

马上注册会员

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