郭梦霞
(陕西职业技术学院 管理系,陕西 西安 710000)
科学技术的飞速发展给我们的生活带来了日新月异的变化,而通信技术的进步更是对社会的文明和进步产生了深刻的影响[1]。进入21世纪以来,移动通信已经发展到大规模商用并逐渐成为人们生活中不可缺少的通信方式之一。目前,移动通信正朝着宽带化、移动化的趋势发展,3G系统的峰值传输速率已远远不能满足人们日益增长的需求[2]。面对高速发展的移动市场以及大量低成本、高带宽的无线技术的普及,3GPP引进了高速下行链路分组接入(HSDPA)和增强型上行链路(HSUPA)这两种技术,使用MIMO和OFDM技术,建立一个能获得高传输速率、低等待时间、基于包优化的可演进的无线接入架构[3]。目前语音业务在移动市场取得了巨大的成功,但随着数据业务和应用的重要性和日益剧增的信息需求,LTE能为用户带来更丰富的服务。
根据研究问题的着眼点不同,无线通信系统的仿真通常分为链路级和系统级仿真。链路级仿真一般用于算法的研究和算法优劣比较,通过对无线系统收发端之间的链路通信质量进行仿真,得到链路性能曲线,从而对物理层的关键技术进行评估。系统级仿真的主要目的是根据链路级仿真结果,检验系统级特征所带来的系统容量和频谱效率,对整个系统表现出来的各项性能统计指标进行考察。随着目前FPGA的广泛使用,且其主频和处理速度也日益加快,很多算法也逐渐由FPGA硬件来实现,这也就逐步形成了以FPGA芯片、DSP或ARM处理器组成的通信modem芯片。而硬件建模工作量大,对时序要求非常严格,测试用例的执行效率较低[4-5]。由于芯片的局限性和高额的流片费用,需要在芯片流片前对其进行充分的仿真和测试,使其满足所需要的功能。芯片的系统仿真也就应运而生,在芯片流片之前,为DSP软件提供了仿真运行平台,提高了DSP软件的正确性。
基于VC平台的软件模拟仿真平台包括4部分,如图1所示,ST桩、协议栈桩、硬件平台桩以及测试用例的管理。该模拟平台模拟协议栈RRC和硬件BBP的处理,完成RRC、硬件和DSP软件之间的交互,从而完成对DSP软件代码的相关测试[6]。
1)ST桩:包括驱动管理,各种中断的管理和配置,以及符号中断、浮动中断等。以及模块间交互过程中状态的维护和流程的控制,模拟虚拟小区的配置,完成小区资源池的维护,包括频点、小区ID等。
2)协议栈桩:包括 RRC桩、MAC桩等,完成 RRC、MAC的流程处理,实现小区搜索、测量、随即接入、切换等功能,并实现和DSP软件之间的原语交互,模拟真实协议栈的功能。
3)硬件逻辑桩:包括定时、小区搜索、测量等模块,为DSP软件提供定时和数据等相关功能,实现了viterbi译码、tuebo译码等打桩功能,并提供了硬件逻辑和DSP软件之间的交互处理。
4)测试用例管理:存放了测试用例,实现了测试用例的运行和管理,以及结果的判断和匹配。
图1 仿真平台模块组成Fig.1 Simulation platform modules
仿真平台实现了用户终端的控制流程,并根据收到的原语来维护用户终端的状态,如图2所示具体包括:
1)维护用户终端的状态,包括下电状态、FREE空闲态、IDLE态、Connected连接态;
2)维护用户终端空闲泰德子状态,包括扫频、初搜、初始解广播状态等;
3)维护用户终端IDLE态的子状态,包括IDLE寻呼、解广播、解临区广播、IDLE态测量等状态;
4)维护用户CONNECT终端连接态的子状态,包括下行信道控制、上行信道控制、CQI、测量等子状态控制。
图2 仿真平台处理流程Fig.2 Simulation platform processing
邮箱是一个环形缓冲区,如图3所示。邮箱包括一个读指针DataReadAddr,保存当前数据的读取指针,记录了已经读取了数据的地址;以及一个写指针DataWriteAddr,保存了已经写入的数据的地址;写入数据的长度,记录了当前环形缓冲区中保存的数据长度,即写指针和读指针之间的长度。当时据需要写入缓冲区时,将数据写入缓冲区,并将写指针地址加上写入数据的长度,同时将保存的数据长度加上写入的数据长度;当需要从缓冲区读取数据时,需要将读指针加上读取数据的长度,并将保存的数据长度减去读取的数据长度,同时需要保证读取的数据长度不大于保存的数据长度。
图3 环形缓冲区结构Fig.3 Ring buffer structure
2.3.1 数据的写入
数据的写入分为2种情况,即写指针大于读指针、写指针小于读指针(超过一环)。对于写指针大于读指针的情况,即正常的数据存储,如图4所示。将数据写入缓冲区[7],并将写指针向前移动写入数据的长度。需要提前保证写入的数据长度小于空闲缓冲区的长度。空闲缓冲区如图中红色区域所示,蓝色区域表示缓冲区中已有数据。
图4 正常数据的写入Fig.4 Data written to normal
图5 写指针超过一环Fig.5 Write pointer over one ring
另外一种情况是写指针小于读指针,这种情况是写指针超过一环,如图5所示。这种情况下写指针会从0开始计数,结果是写指针小于读指针。这种情况下数据的写入需要分为2部分,首先写入当前写指针到缓冲区起始位置的数据,写指针指向0位置。再写入剩下的数据,写指针指向剩下的数据的长度。
2.3.2 数据的读取
数据的读取也分为2种情况,即写指针大于读指针,写指针小于读指针 (超过一环)。对于写指针大于读指针的情况,属于正常的数据读取,如图6所示。读取数据的长度不能打大于缓冲区中所保存的数据长度,这种情况下,读指针不会超过范围,不会指向缓冲区的起始位置0。将数据从缓冲区读出后,将读指针的位置加上读出的数据长度,并更新为新的读指针。
图6 正常的数据读取Fig.6 Normal data read
另一种情况是读指针越过缓冲区的起始位置0,即写指针大于读指针的情况,如图7所示。这种情况下,数据的读取需要分为2步来进行,首先需要读取当前读指针到缓冲区起始位置0之间的数据,并将读指针指向起始位置0。然后再读取剩下的数据,并将读指针指向剩下的数据长度。
协议栈RRC、MAC和物理层DSP之间通过邮箱进行数据通信,即RRC、MAC层将相关原语发送到下行邮箱,并配置一IPCM中断给驱动。物理层DSP收到该中断后,调用相关处理过程从邮箱中取出数据[8],并进行原语的解析和处理。协议栈RRC、MAC共用一个公共邮箱,MAC还有一专有邮箱,用于实现MAC专有原语的发送。其具体过程如图8所示。
图8 DSP软件从邮箱中读取数据Fig.8 DSP software to read data from the mailbox
图9 软件处理流程Fig.9 DSP software to read data from the mailbox
4G系统具有相当的复杂度,对其系统级性能的评估和有关候选关键技术的研究需要系统级仿真平台的支持。并且,在modem芯片流片前对DSP物理层软件进行仿真能够保证芯片的开发和物理层软件的开发齐头并进,更好的保证开发进度,缩短开发周期,尽早发现软件bug,提高物理层软件的正确性。通过该仿真平台,能够模拟4G的相关功能,验证物理层软件的正确性,缩短开发周期,更好的保证芯片的开发质量。并且,该仿真平台使用C语言开发,编程简洁,方便后继开发;且平台的可移植性好,方便在不同操作系统上移植开发。同时,该仿真平台使用模块化设计,具有良好的扩展性,通过修改代码硬件逻辑的桩代码,可以使用在不同的芯片开发平台上。
[1]付晓.LTE-3G技术的未来发展[J].邮电设计技术,2006(2):39-41 FU Xiao.The future development of LTE-3G technology[J].Posts and Design Technology,2006(2):39-41.
[2]唐利平,刘镰斧.3GPP-LTE及其物理层技术综述[J].信息技术,2008(10):130-144.TANG Li-ping,LIU Qian-fu.Survey of 3GPP-LTE and physical layer[J].Information Technology,2008(10):130-144.
[3]杨鹏,李波.LTE的关键技术及其标准演进[J].电信网技术,2009(4):40-42.YANG Peng,LI Bo.The key technologies and standards evolution of LTE[J].Telecom Network Technology,2009(4):40-42.
[4]黄沄,罗明伟,张鹏.一种含有常数项的新超混纯系数及其FPGA实现[J].重庆师范大学学校:自然科学版,2015(1):116-120.HUANG Yun,LUO Ming-wei,ZHANG Peng.A novel hyperchaotic system with constant term and its circnit implementation based on FPGA[J].Journal of Chongqing Normal University:Natwral Science Edition,2015(1):116-120.
[5]彭木根,王文博.3G无线资源管理与网络规划优化[M].北京:人民邮电出版社,2006.
[6]沈嘉.3GPP LTE核心技术及标准化发展[J].移动通信,2006(8):45-49.SHEN Jia.3GPP LTE core technology development and standardization[J].Mobile Communication,2006(8):45-49.
[7]王文龙,张少博,陈海峰.一种试验数据处理软件设计[J].火箭推进 ,2012(1):76-80.WANG Wen-long,ZHANG Shao-bo,CHEN Hai-feng.Design of a test data processing software[J].Journal of Rocket Propulsion,2012(1):76-80.
[8]周彬倩,李文意,杨民京,等.基于单相背靠背H桥级联结构的仿真研究[J].陕西电力,2014(4):41-44.ZHOU Bin-qian,LI Wen-yi,YANG Min-jing,et al.Simulation study on single-phase back to back H-bridge cascade structure[J].Shaanxi Electric Power,2014(4):41-44.