摘要:北斗导航系统是我国自主研发的卫星导航系统,具有精确授时,短信通信及快速定位的特点。针对北斗天线和射频信号处理模块体积较大等问题,提出了一种利用蓝牙模块与北斗模块通信的便携式终端。系统以STM32F103RBT单片机为核心,在北斗射频信号处理模块和北斗信息处理模块之间加入蓝牙通信的模块,实现这两部分的无线互联,从而解决了北斗终端系统携带不便的问题。
0 引言
北斗卫星导航系统(BDS)是中国正在实施的自主发展、独立运行的全球卫星导航系统,致力于向全球用户提供高质量的定位、导航、授时服务,并能向有更高要求的授权用户提供进一步服务,军用与民用目的兼具。中国在2003年完成了具有区域导航功能的北斗卫星导航试验系统,之后开始构建服务全球的北斗卫星导航系统,于2012年起向亚太大部分地区正式提供服务,并计划至2020年完成全球系统的构建。
北斗卫星导航系统除能够获取时间信息和位置信息外,其主要特点是备有短报文通信功能,使得在系统覆盖区域内的终端用户可以进行双向通信,这是其他卫星导航系统所没有的创新性功能,具备了通信与导航相结合的特色服务。而目前市场上以北斗卫星作为导航系统的商品尚不是很多,特别是民用产品目前还处于起步阶段,因此北斗相关应用的巨大潜在市场还有待挖掘和开发。本文提出的基于蓝牙模块的北斗通信便携式终端亦是在北斗应用市场的一个积极尝试。
1 北斗终端系统简介
北斗导航定位系统和其他的导航定位系统一样,用户应用终端设备始终是其一个重要组成部分,主要负责完成北斗信息接收,实现用户特定的应用需求。从卫星导航终端的应用对象来划分,用户应用终端通常包括手持式终端、车载式终端、舰载式终端以及嵌入式终端等多种类型,提供实时的导航定位、报文通信和授时业务。其主要组成部分为北斗接收天线、北斗射频信号处理模块以及北斗基带信息解析处理模块,完成对北斗射频信号的接收,解调以及数据解析的功能。
北斗卫星通信采用BCD编码长报文,每帧报文长度大于200 B/次。通信主要有两种类型:一种是用户终端设备向北斗空间终端发出的控制指令;一种是北斗空间终端发送回来的北斗信息数据信息。这些通信数据帧格式如下:
帧头:控制指令中的帧头包含同步头和指令类型,而接收信息数据帧的帧头则包含同步头和接收信息类型;
帧长:表明数据帧长度;
源地址:表明控制指令发送地址或是接收信息接收地址;
数据帧内容:包含控制指令通信申请信息或是接收信息帧的信息内容;
校验码:控制指令数据帧和接收信息帧都采用校验和的方式对内容进行校验,即将校验码之前的数据异或和,与校验码做比较,检测数据帧的正确性。
2 系统硬件模块设计
2.1 系统整体设计
北斗终端系统可分为北斗射频信号处理模块和北斗用户信息解析处理模块。目前市面上的这两部分多采用有线方式相连,而北斗射频信号处理模块的天线和射频基带部分体积较大,若是将此部分与北斗用户信息解析处理模块结合在一起,在实际应用中会有诸多不便。针对这一应用现状,本课题研究的北斗终端在射频信号处理部分与北斗用户信息解析处理部分加入了蓝牙通信功能模块,通过蓝牙无线传输的方式相连,使得北斗用户信息解析处理模块体积大大减小,便于用户携带。因此,本论文设计的北斗终端系统由北斗射频信号处理模块、北斗用户信息解析处理模块以及蓝牙通信模块组成。系统总体结构设计北斗终端总体结构框如图1所示。
2.2 北斗终端射频信号处理模块
北斗终端射频信号解调接收模块主要负责接收北斗空间工作站发来的北斗射频信息,调理和解调输出。本模块主要是基于FDBD3111北斗RDSS射频基带模块及其应用电路组成,该模块集成了LNA低噪放、射频通道、PA功放和基带处理四个功能模块,可接收/发射北斗射频信号,输出基带信号,输出接口为通用串口接口。利用该模块即可将串口Rx输入的北斗指令信息调制发送出去,又可以将天线接收的北斗信号解调通过串口的Tx输出。为便于该模块的测试,该模块还加入了基于MAX232芯片的串口电平转换电路,通过串口转USB线可连接PC机,使得通过PC机的串口调试助手初步测试模块电路,本模块结构如图2所示。
2.3 蓝牙通信模块
蓝牙通信模块,该模块带有串口接口,直接接到FDBD3111北斗RDSS射频基带模块串口接口,主要负责将北斗基带信息转成蓝牙通信传输。该模块采用CSR公司生产的蓝牙芯片BC417为主控芯片,采用蓝牙V2.0协议标准,工作频率为2.4 GHz。该芯片带有串口、USB等接口,可直接将串口或是USB信息转成蓝牙信息发送出去,也能将蓝牙接收的信息转成串口或是USB输出。通过AT指令,可将该蓝牙芯片设置成主机模式和从机模式,当芯片处于主机模式时,可直接与从机模式的芯片相连。当芯片处于从机模式时,则可与手机蓝牙、电脑蓝牙等带有蓝牙功能设备相连,但处于从机模式的芯片之间不能互联。
2.4 北斗终端用户信息解析处理模块
北斗终端用户信息解析处理模块,主要负责发送特定的北斗指令和对应的北斗信息。该模块采用基于ARM Correx—M3的STM32F103RBT嵌入式处理器作为主控芯片,该芯片最高可工作在72 MHz频率,工作电压为2.0~3.6 V,拥有GPIO、UART、ADC等丰富的外设接口,具备优异的实时性能、杰出的功耗控制和良好外设性能等诸多优点,更重要的是ST公司提供了STM32系列处理器固件库函数,降低了该芯片开发难度,大大缩短了产品开发周期。
STM32F103RBT芯片将用户按键外部中断选择发送的北斗指令,加上北斗通信的报文帧头信息,长度信息和校验信息等,通过蓝牙通信模块传输给FDBD3111北斗RDSS射频基带模块调制放大,最后输送到北斗天线上发送出去;同时,该芯片可读取并解析蓝牙通信模块接收的北斗用户信息,最后显示在TFT液晶屏上,液晶背景图片存储在SD Card中。系统工作框图如图3所示。
3 北斗终端系统软件设计
北斗信息处理模块是北斗终端的核心部分,它将北斗终端的各个组件以及功能模块贯穿在一起,通过北斗信息处理模块运行的系统软件来协同北斗终端的硬件模块以及软件功能模块共同实现北斗终端的各项功能以及协议要求。系统软件总体框图如图4所示。
3.1 蓝牙通信模块
该模块完成FDBD3111北斗射频基带模块处理的北斗信息与蓝牙通信信息出传输的转换。由于蓝牙通信功能模块式基于CSR蓝牙芯片BC417的接口配置,该芯片是集成专用的蓝牙芯片,芯片内部已固化了串口或是USB转蓝牙的程序,通过特定指令配置即可设置工作模式、数据发送接收波特率等参数。这种指令叫AT指令,AT即Attention,该指令一般应用于终端设备与PC应用之间的连接与通信。通过PC机上位机软件发送AT指令,从而对蓝牙模块工作模式及工作参数进行设置。
3.2 北斗信息处理模块
该模块是北斗终端软件的重要组成部分,需要完成发送和接收北斗卫星通信信息。该部分主要是基于STM32F103RBT处理器的嵌入式软件设计,需要完成硬件驱动的程序设计、北斗信息包的解析处理以及北斗信息显示界面的设计。
按照北斗通信协议的数据帧格式,可以解析出的北斗数据信息,在STM32串口中断函数中实现这一解析的过程,即不断的判断接收数据是否与北斗数据帧格式相吻合,通过最后接收到的数据校验来判断接收数据帧正确性。其具体实现思想如下:
(1)判断是否接收到帧头信息,若是则继续接收,且已接收字符数加1。
(2)判断是否接收到与帧头对应的北斗数据的长度Len,若是则继续接收,且已接收字符数加1。
(3)接收的都是北斗的信息内容,可直接判断已接收数据长度是否等于Len-1,若是则说明接收到最后一个校验信息,则要将前面接收的数据累加,判断其和是否等于校验信息;若长度不等于Len-1,则继续接收。
(4)若接收数据完毕且正确,则将接收成功的标志位置1,然后读取对应的北斗信息,显示在液晶屏上。
(5)只要接收数据的帧头或是长度信息不匹配,或是最终校验和错误,则接收缓冲区都要清除重新接收,对应变量也都清零重新开始计算。
4 结语
我国自主研发的北斗卫星导航系统打破了GPS、GLONASS等卫星导航系统在该领域的垄断地位,具备了精密授时、快速定位、高可靠导航等优点,而独有的短信通信功能使其应用更加广泛。北斗终端作为北斗导航系统的重要组成部分引起了广泛关注,相信在不久的将来北斗卫星导航会搭配完善的服务,以轻巧好用,实惠便捷的姿态融人老百姓的生活中。