文献标识码:A
文章编号: 0258-7998(2014)01-0023-04
随着移动通信的快速发展,移动终端用户迅猛增加,由此引起的移动终端信息泄密隐患日益凸显。对于移动终端的监管,特别是涉密场所内移动终端的监管,具有广阔的市场应用前景和积极的社会意义。针对移动终端的监管分为监视和管理两大部分,无论监视还是管理,都必须以实现对移动终端的探测为前提。传统的移动终端探测系统只能实现对单个用户的探测,并且只适用于一种制式的通信网络环境,存在一定的局限性[1]。针对传统终端探测系统的不足,结合GSM(Global System of Mobile communication)和CDMA(Code Division Multiple Access)网络制式的特点,设计出一种双模移动终端主动探测系统,该系统通过构造并发射有别于当前服务基站所处位置区的伪基站强导频信号,迫使服务基站区域内的移动终端发生位置更新,完成对设备作用范围内所有GSM和CDMA终端用户身份信息的捕获,具有一定的实际应用价值[2]。
考虑到该主动探测系统是双模系统,因而对于基带信号处理板的设计必须综合考虑数字信号芯片的处理能力和基带信号处理板对数据处理的吞吐能力。为此,选用高速数字信号处理芯片TMS320C6416作为核心处理器,能够在很大程度上提高系统的处理效率。此外,对于接口的设计,通过EMIF(External Memory Interface)接口实现DSP核心处理器对基带信号的接收,采用改进型乒乓缓存机制实现数据存储功能,从而保证数据的完整性,同时提高DSP的CPU利用率和系统实时处理能力。
1 系统基本原理
主动探测系统通过构造并发射伪基站强导频信号,迫使服务基站区域内的移动终端进行位置更新操作。移动终端在进行位置更新后会主动上报身份信息,由此可实现对移动终端身份信息的捕获。该主动探测系统的工作原理如图1所示。
对于GSM网络制式,主动探测系统的工作流程如下:
(1)探测系统对当前服务基站以及邻小区基站的广播信息进行解析,其目的是构造诱使移动终端产生位置更新所需要的具有不同位置区识别码LAI(Location Area Identifition)的伪基站模板[3]。
(2)移动终端不断地监听邻近基站的信号,当检测到其中某一基站的广播信号强度高于其他基站信号强度时,将对工作频点作相应调整,在随机接入信道RACH(Random Access Channel)上发送小区切换请求,移动终端从当前服务小区切换至伪基站所处小区。
(3)探测设备接收来自移动终端的RACH参数,利用这些参数构造相应的准许接入信道AGCH(Access Grant Channel)信息并进行发射,移动终端对下行信号中的AGCH信息进行分析。若AGCH信息为该移动终端的信道描述信息,则移动终端通过独立专用控制信道SDCCH(Stand-Alone Dedicated Control Channel)发送含有身份信息的SABM帧。由此,探测系统可得到移动终端的身份信息,一般是临时移动台识别码TMSI(Temporary Mobile Subscriber Identity)或国际移动用户识别码IMSI(International Mobile Subscriber Identification Number),进而实现对移动终端的探测。
对于CDMA网络制式,主动探测系统的工作流程如下:
(1)探测设备首先接收服务基站下前向链路中的导频信道F_PICH、同步信道F_SYNCH、寻呼信道F_PCH等信号并进行解析,获取当前小区的系统信息并实现全网同步。
(2)根据当前基站的配置信息,以探测系统作为伪基站,构造并发送强导频、同步消息和系统消息,诱使周边移动终端进行空闲切换,完成系统初始化过程,进入空闲状态[4]。
(3)移动终端根据伪基站配置的注册参数(如注册周期REG_PRD、登记区域码REG_ZONE等)向伪基站发送注册信息。探测设备通过截获该注册信息,获取移动终端的身份信息(例如临时移动台识别码TMSI、永久移动台识别码IMSI、电子序列号ESN等),实现对移动终端的探测。
2 系统设计
主动探测系统的硬件平台组成如图2所示,主要包括PC控制平台、GSM探测模块、CDMA探测模块、电源和网络等五部分。在GSM探测模块中,本文针对GSM900和DCS1800两个频段分别设计了相应的射频收发信机。其中,GSM在900 MHz频段分为P-GSM和E-GSM,本文统称为GSM900。另外,PC控制平台可通过网络实现对探测系统的远程操作和可视化界面操作(包括总体控制、信令交互等),实现对探测系统的管理和维护。
主动探测系统硬件架构如图3所示,其由射频收发信机、数字中频收发信机和基带处理板构成。基带处理板以DSP模块为信号处理核心,辅以FPGA模块、ARM模块等组成。
主动探测系统的主要工作流程如下:
(1)基带处理板将经过射频板和中频板后的GSM或CDMA基带信号传输至FPGA1,并经由FPGA1的FIFO缓存传输至DSP1。
(2)DSP1对所接收基带信号进行下行同步、系统消息解析等处理得到当前小区的系统广播消息,并将该系统信息传输至ARM,用于进行信令交互和管理。
(3)ARM将系统广播信息发送至DSP3,DSP3据此构造有别于当前服务基站LAI和BSIC的伪基站强导频信息(简称强导频信息)。
(4)DSP3不断地向FPGA2发送强导频信息,经由中频板、射频板和功率放大器,通过天线进行信号发射,诱导移动终端进行位置更新操作。
(5)DSP2对工作于主频点的上行信道进行检测,确认是否存在RACH信息,若存在则对该信息所属类型进行判断。
(6)若步骤(5)判断所得消息类型为位置更新请求信息,则将解析所得RACH信息参数经由ARM发送至DSP3;否则返回(5)重复操作。
(7)DSP3根据接收到的RACH相关信息参数,构造对应的发送信息予以发射,诱使移动终端进行位置更新操作。
(8)DSP2对移动终端发射的上行信号予以接收,并解析得出对应的身份信息,进而完成主动探测系统功能。
3 主动探测算法的DSP设计
为了满足GSM和CDMA主动探测算法的需求,对硬件的数字信号处理能力提出了较高的要求。因此,本系统采用性能强大的TMS320C6416数字信号处理器对核心算法进行处理[5]。
DSP通过EMIFA接口收发基带数据,并进行算法处理。GSM核心算法流程如图4所示。DSP1主要负责下行信道信息的解析工作,主要包括FCCH粗同步、SCH精同步、频偏估计与校正、SCH和BCCH译码等步骤;DSP2主要负责RACH信号的监听和上行SDCCH信道的解析工作;DSP3主要负责根据DSP1解析的广播信息进行相应的导频信号的构造,诱导手机进行位置更新;ARM模块负责DSP之间的参数传递和指令协调工作。
CDMA核心算法流程如图5所示。DSP1主要负责下行信道信息的解析工作,主要包括导频搜索(粗同步、精同步)、下行信道频偏估计与校正、PCH帧头确定、SCH和PCH去扰解扩以及解码等步骤;DSP2主要负责上信道时延搜索、同步、最佳解调以及ACH消息解析;DSP3主要负责根据DSP1解析的基站配置信息进行相应的导频信号的构造,诱导手机进行位置更新;ARM模块负责DSP之间的参数传递和指令协调工作。
4.1 双模FIFO接口传输速率设计
DSP读写FIFO数据的速率大小由输出时钟ECLKOUT1和控制寄存器CECTL1决定。C6000系列DSP异步接口时序具有很强的可编程性。EMIFA接口每个读写周期是通过配置控制寄存器CECTL1完成的[6]。每个读写周期由3个阶段组成:建立时间(Setup)、触发时间(Strobe)、保持时间(Hold)。建立时间是从存储器访问周期开始(片选,地址有效)到读写选通有效之前的时间;触发时间是读写选通信号从有效到无效之间的时间;保持时间则是从读写无效到访问周期结束之间的时间。配置每个读写周期为5,即建立时间Setup=2,触发时间Strobe=2,保持时间Hold=1。由于ECLKOUT1的输出时钟频率为100 MHz,接口数据位宽为16,所有DSP读写FIFO数据的速率为100×2/5=40 MB/s。经测试,接口可以完成数据的正确传输,DSP读写FIFO时序如图7所示。
4.2 改进FIFO数据读写及数据处理方法
本系统采用增强型直接内存存取(EDMA)传输方式实现对FIFO数据的读写。当FPGA1接收射频前端数据使FPGA1中FIFO半满时,FPGA1发送一个下降沿信号,触发DSP的外部中断4,DSP启动外部中断4对应的EDMA通道,接收一帧数据。当FPGA2发送数据给射频端时,FPGA2中FIFO半空时,FPGA2发送一个下降沿信号,触发DSP3的外部中断4,DSP3启动外部中断4对应的EDMA通道,发送一帧数据给FPGA2。FPGA1发送给DSP1和DSP2的数据需要进行实时处理。在传统的实时性处理系统中,使用乒乓缓存方式进行数据传输处理,即在片内开辟2个缓存:乒缓存和乓缓存。2个缓存可以同时被访问,当EDMA正在给乒缓存传输数据时,CPU对乓缓存区数据进行算法处理,反之亦然。传统的乒乓缓存机制存在如下两方面的缺点:
(1)乒乓两块缓存数据长度不能满足算法要求,给算法处理增加复杂度;
(2)如缓存区空间太大,对FPGA和DSP芯片内部ROM提出了更高的要求;若太小,发生中断4周期短,增加处理中断时间,减少CPU处理数据时间,不利于系统实时性处理。
针对这一问题,设计了一种更灵活的数据传输和处理机制,即开辟多块连续缓存。EDMA搬移和算法处理流程如图8所示。
DSP在片内L2存储器内开辟了256 KB的缓存buffer,EDMA使用了链式传输。C6416有64个EDMA传输通道。外部中断4对应的EDMA通道号为4,通道4载入通道参数,目的地址指向buffer首地址0x60000,每次中断接收一帧8 KB数据,总共传输32帧。完成一次32帧传输后,通过EDMA配置,DSP再次载入链接通道参数,接收数据再次从buffer空间开始位置存放数据。每次触发中断4,中断函数执行计数器m加1。传输数据的总长度为(8×m)KB。CPU对m值进行监测和判断,如果已传输数据长度满足某一阶段算法处理需求,则进行该阶段的算法处理,然后进入下一次判断,直到所有算法处理完成,解出需要信息,计数器m清零。
5 测试及结果分析
本文测试主要完成系统的功能测试,验证整个系统可以进行实时性处理,完成主动探测捕获移动终端身份信息的功能。系统测试环境为一个30 m×20 m教研室,覆盖有GSM和CDMA通信网络信号。设备经过执行自动控制、扫频、基站信息解析,进入主动探测功能。探测设备工作后捕获身份信息情况如图9所示,验证了系统探测功能的有效性。手机检测到伪基站发射的信号,通过RACH发起位置更新请求。从图中可以看到设备捕获到手机发送的RACH。同时,可以通过捕获到的RACH说明当前设备作用范围内有手机存在。在96 s内,探测设备解出了10个TMSI、1个IMSI和1个更新PDP上下文成功消息。由于手机的IMSI是全球唯一,所以可以通过捕获的IMSI判断当前设备作用范围内手机的数量。从而,验证了系统的探测功能,说明DSP设计可以满足系统的实时性处理要求。
本文介绍了基于GSM和CDMA通信网络的双模移动终端主动探测系统,描述了系统的基本原理、系统的整体架构、模块设计和工作流程;给出了主动探测系统实现的DSP核心算法流程;为了满足系统的实时性处理,设计了基于异步的FIFO接口,并对FIFO接口接收数据进行了优化;最后进行现场测试,成功捕获到移动终端的身份信息。本文所设计的双模移动终端主动探测系统是基于2G通信网络的。由于3G通信网络已经得到广泛普及,如何设计并实现基于3G通信网络的移动终端主动探测系统将是下一步研究的工作重点。
参考文献
[1] 胥飞燕,郭大江,高嵩,等.基于伪基站诱发技术的震区被压埋生命体分布和搜救系统研究[J].电子元器件应用,2009,11(8):34-36.
[2] 丁有志,田峥涛,唐烨.基于伪基站的CDMA移动通信系统对抗技术研究[J].通信对抗,2008(2):41-43.
[3] 3rd Generation Partnership Project.Technical specification group GSM/EDGE radio access network;Mobile radio interface layer 3 specifcation;Radio Resource Control(RRC)protocol (Release 9)[S],2007.
[4] 3GPP2 C.S0005-A_v6.0,upper layer(Layer 3) signaling standard for cdma2000 spread spectrum systems-release a addendum 2[S],2007.
[5] 周非,亓英杰,刘永康,等.TD_SCDMA终端探测设备的DSP设计与实现[J].电子应用技术,2012,38(4):16-19.
[6] 董宏成,余利成,李小文.TD-LTE中基于EMIF的数据采集系统设计[J].微电子学,2012,42(5):688-691.