APP下载

多SIM卡复用的“北斗”通信终端设计

2010-09-26

电讯技术 2010年12期
关键词:分片SIM卡频度

(成都信息工程学院,成都 610225)

1 引 言

“北斗”系统是我国自主研发的第一代区域性卫星导航通信系统,可提供定位、授时和通信服务。作为军民两用系统,“北斗”系统提供民用通信服务时,通信频度受到限制,在SIM卡的一个频度内,可传送数据的比特数也受到限制。因此,如何对“北斗”终端进行改进,使其支持较大的文件或图片数传输,更好地满足不同行业的需求,对“北斗”系统的民用推广非常重要。

在“北斗”终端上完成较大的文件或图片数据传输,目前常用的方法是用多个硬件终端将一个数据文本分段发送,接收方再将分段数据重组形成一个完整的数据文本。这种方法用多个硬件终端同传一个数据文本,其相互间的同步很难协调;在接收端,不同的数据分段分时到来,到达的延时各不相同,其重组算法的实现难度很大,工作效率也不高。另一方面,这种方法增加了使用成本,其维护和管理的难度也很大。

针对上述问题,本文提出一个新的设计方案:将“北斗”终端的SIM卡由1张增加到n张,依次使用不同的SIM卡进行数据传送。在实际使用时,根据传输需求,选择合适的n值及SIM卡的通信频度来完成文件或图片数据的传输。与现有的方案相比,本方案具有如下优点:其应用软件的稳定性、可维护性大大提高;分片数据接收时延可控,分片编号连续,易于重组;同时硬件成本没有增加,而单位时间内数据传输量成倍增加。

2 总体设计方案

“北斗一代”通信定位终端一般由射频处理、FPGA+DSP基带信号处理等模块组成。射频模块完成射频信号的收、发;FPGA主要完成数字下变频、本地GPS扩频码产生、时基信号产生、GPS帧同步信号产生和帧数据解调等功能;DSP主要完成GPS帧数据的读取和电文解析、GPS解算和速度求解、GPS授时等功能[1-2]。

鉴于ARM9丰富的内部和外部接口资源,本方案基带信号处理部分采用FPGA+ARM9,同时将SIM卡的数量增加至多张。在ARM9中,移植UCOS操作系统,通过程序控制n张SIM卡协同完成数据发送工作。其终端硬件组成原理如图1所示。

图1 终端硬件的组成原理Fig.1 The general structure of terminal hardware

图1中,设每个SIM卡的通信频度为Ts、通信量为Mbit、通信等级为d,当终端上只有一张SIM卡时,其通信的波特率为B=M/T。若n张SIM卡在Ts内正好都完成一次数据传送,则终端的数据传输波特率B=M×n/T,其中M、T由SIM卡的通信等级d限制,n由FPGA的门级数和SIM卡的通信频度T确定。通过公式可以看出,在同种SIM卡的基础上,n张SIM卡终端的通信速率是一张SIM卡的n倍。

3 终端的数据通信协议

在制定数据通信协议时,要充分考虑到“北斗”数据传输速率较低的现状,尽量不要增加额外的功能数据段,要充分利用“北斗”系统所提供的通信协议。

3.1 发送端数据传送协议

图2为数据发送协议,其系统帧头数据、发送目的地址、系统帧尾数据均为“北斗”系统所要求的数据段,应严格按照其通信协议要求组织数据。在此协议中,帧号+数据类型占一个字节宽度,DATA为要发送的数据,其总的比特数最大为M-8,8为帧号+数据类型占用去的比特数。

帧号占高4位,编号为0~15;数据类型占低4位,可根据需要对数据进行分类。

系统帧头数据发送目的地址帧号+数据类型DATA系统帧尾数据

图2 数据发送协议
Fig.2 Data transmission protocol

3.2 接收端应答协议

图3为接收应答协议。命令有00和FF两种,00表示所收到的数据错误,FF表示收到的数据正确。帧号为发送端对应SIM卡所发数据帧的编号。

图3 接收应答协议
Fig.3 Answer protocol for receiver end

3.3 SIM卡复用控制协议

图4为SIM卡复用控制协议,从协议中可以看出,当一张SIM卡的信息写入FPGA到下一张SIM卡的信息写入FPGA总共有5 s的延时。“北斗”终端在卫星信号失锁时,能在1 s内再次捕获并锁定到卫星信号。FPGA写入新的SIM卡信息并成功锁定卫星信号,第一个2 s延时足够。通常情况下,组帧并发送一组数据整个过程平均耗时600 ms(此数据为测试所得),协议中给定1.5 s的耗时。最后1.5 s的延时用来接收应答信息并处理。

SIM1卡的信息写到FPGA 延时2 s组帧并发送(耗时1.5 s)延时1.5 s……SIMn卡的信息写到FPGA延时2 s组帧并发送(耗时1.5 s)延时1.5 s

图4 SIM卡复用控制协议
Fig.4 SIM cards multiplexing control protocol

在系统设计时,SIM卡的通信频度T与卡的张数n应满足:5×n≤T。

4 终端软硬件设计

4.1 终端硬件设计

基于ARM9微处理器的终端硬件采用模块化设计[3],主要分为射频处理模块、FPGA处理模块、ARM处理模块、电源处理模块,其原理框图如图1所示。SIM卡与FGPA的连接原理如图5所示。

图5 SIM卡与FGPA的连接原理Fig.5 The general connection of SIM cards and FGPA

图5中SIM卡的通信等级都相同,通信频度T为30 s, 在一个通信频度内,每次的最大通信数据量M为680 bit。SIM卡数量n要满足5×n≤T这个关系,所以n的值为6。与带有一张SIM卡的通信终端比较,在同样的通信频度内,其通信数据量为原来的6倍。

从图5中还可看出,SIM卡的时钟端由FPGA同一端口提供,其复位端、双向数据线由FPGA不同端口提供。

4.2 终端软件设计

终端应用软件在UCOS操作系统中实现[4-5],根据“北斗”终端开机并锁定卫星信号的时间要小于2 s的技术要求,在ARM9中移植UCOS操作系统为其最佳选择。

终端系统软件主要包括以下几个任务:串行通信任务,完成内外数据的交换;“北斗”通信接收处理任务,完成数据的接收和解帧;SIM卡轮询发送处理任务,完成数据的分割、组帧和发送;SIM卡读写处理任务,对SIM卡进行数据的读写,得到需要的数据信息;系统监控任务,对整个系统的工作状态进行监视,并报告终端的工作状态。

4.2.1自动确定分片数据长度的算法设计

在每一次分片数据的传输过程中,“北斗”系统采用超帧的形式进行发送。在超帧接收过程中,只要有一个短帧出现错误,整个分片数据就算发送失败。如果分片数据长度缩短,短帧的数据量就减少,所以为了保证分片数据发送的成功率,其分片数据的长度也要随卫星信道质量的改变而改变。

“北斗一代”共有6个通信信道,终端选择两个不在同一卫星且能量较强的信道作为工作信道。分片数据的长度由定时侦测得到,其方法是定时监测卫星各信道能量,当工作信道能量变化达到一定程度后,进行信道切换,并发Length长度的数据给自己,根据接收的情况进行长度设定。如长度自动设定失败,其分片数据长度为“北斗”系统默认的发送数据的最短长度。其算法实现步骤如下:

(1)如果Length=0,则长度自动设定失败,停止长度侦测;否则,给自己发Length长度的默认数据;

(2)在规定的时间内是否正确收到所发送的数据,如接收失败,则发送次数加1,并转步骤3;如接收成功,接收与发送次数均加1,转步骤3;

(3)如果发送次数小于3转步骤1;否则,转步骤4;

(4)如果接收成功次数等于3,则长度自动侦测成功,Length的值为分片数据的长度,停止长度侦测;如果接收成功的次数等于2,Length=2×(Length/3),转步骤1;如果接收成功次数等于1,Length=Length/2,转步骤1;如果接收成功的次数等于0,Length=Length/3,转步骤1。

4.2.2多SIM卡复用的程序实现

本终端带有6张同等级的SIM卡,程序通过对FPGA的控制每次选择1张SIM卡工作。数据通过6张SIM卡循环发送,直到数据发送结束为止,其程序实现算法如图6所示。

图6 n张SIM卡复用的程序流程Fig.6 The flowchart of n SIM cards multiplexing

4.3 测试结果

在终端中运行一个数据发送测试程序[6],完成1.98 kbyte大小的数据文件重复发送。发送测试程序流程如图7所示。程序通过串口向PC机送出发送的总帧数、重发帧数以及发送成功的总帧数等参数。根据这些参数,可以算出发送的成功率以及发送1.98 kbyte大小的数据文件所需的平均时间。

图7 发送测试程序流程图Fig.7 The flowchart of sending a test program

测试平台由带有6张SIM卡的“北斗”终端通过串行口与一台PC机相连,终端运行发送测试程序,PC机运行结果监视程序,其监视结果如图8所示。图8中,接收区显示内容为终端发送的原始数据,右边为终端通过串口送来的统计结果。整个测试过程共用时76 363 s,由于停止测试时,最后一帧的应答还没有收到,所以原始数据总帧数比成功发送的总帧数少1帧。计入重发的数据帧,总计发送15 273帧,成功发送13 999帧数据,数据发送的成功率为91.66%;1.98 kbyte大小的文件成功发送一遍的平均时间为136.35 s。如果用带一张SIM卡的“北斗”终端来发送这个文本大约需要818.10 s的时间。可以看出,发送时间缩短为原来的1/6。

图8 数据传输监视结果Fig.8 The monitoring result of data transmission

5 结 论

通过多SIM卡复用传送数据的设计方案,相当于缩短了终端的通信频度,既满足了“北斗”系统的通信规则,又提高了通信速率。如采用频度为50 s的SIM卡可扩充至10张,其通信速率将提高到原来的10倍;如采用频度为30 s的SIM卡可扩充至6张,其通信速率将提高到原来的6倍。通过扩展SIM卡,不需要增加额外的硬件成本,就可在“北斗”终端上实现较大文本数据和图片数据的传输,这种方法具有较高的民用推广价值。

参考文献:

[1] 李成军,冯振明. 基于FPGA+DSP结构的三星无源定位系统设计[J]. 电子技术应用,2008,34(8):59-61.

LI Cheng-jun, FENG Zhen-ming. Three-satellite passive position system design based on FPGA+DSP [J].Application of Electronic Technique,2008,34(8):59-61. (in Chinese)

[2] 魏秀启,郑维广,隋绍勇.北斗导航定位接收机的原理及硬件实现[J]. 电子元器件应用,2009,11(4):37-40.

WEI Xiu-qi, ZHENG Wei-guang, SUI Shao-yong. Theory and Hardware Realization of Beidou Navigation & Positioning Terminal[J]. Application of Electronic Components,2009,11(4):37-40. (in Chinese)

[3] 朱斌. 基于嵌入式微处理器的GPS跟踪报警系统设计[J]. 电讯技术,2010,50(4):88-91.

ZHU Bin.Design of a GPS Tracking Alarm System Based on Embedded Microprocessor[J]. Telecommunication Engineering,2010,50(4):88-91.(in Chinese)

[4] 窦建华,张宣,江鹏,等. 基于μC/OS-Ⅱ的北斗导航接收机设计[J].微计算机信息, 2008,24(29):71-74.

DOU Jian-hua,ZHANG Xuan,JIANG Peng,et al.Design of Beidou Navigation System Receiver Based on μC/OS-Ⅱ[J]. Microcomputer Informatio,2008,24(29):71-74.(in Chinese)

[5] JEAN J LABROSSE. 嵌入式实时操作系统UCOS-II[M]. 2版.邵贝贝,译.北京:北京航空航天大学出版社,2003.

JEAN J LABROSSE. Embedded Real-time Operating System UCOS-II [M]. 2nd ed.Translated by SHAO Bei-bei. Beijing: Beijing University of Aeronautics and Astronautics Press, 2003.(in Chinese)

[6] 高迪驹.基于北斗卫星通信系统的船载终端串口通信[J]. 上海海事大学学报, 2008,29(4):10-14.

GAO Di-ju. Shipborne Terminal Serial-port Communication Based on Beidou Satellite Communication System[J].Academy of Science & Technology Shanghai Maritime University, 2008,29(4):10-14. (in Chinese)

猜你喜欢

分片SIM卡频度
上下分片與詞的時空佈局
分片光滑边值问题的再生核方法
SIM卡防盗很关键 小喻教你如何给它“上保险”
CDN存量MP4视频播放优化方法
铁路GSM-R SIM卡读写次数测试方法研究
SIM卡的“减肥史”
基于模糊二分查找的帧分片算法设计与实现
眨眼频度可判断烟瘾大小
铜绿假单胞菌MIC分布敏感百分数与抗菌药物使用频度相关性研究
频度副词问与答