摘 要 介绍一种软件无线电以太网的配置方案。谊设计使用Atmel公司的FPSLIC微控制器作为主控单元,韩国Wiznet公司的W3100A为网络协议解析单元。在SystemDesigner3.0开发环境中,完成系统与远程控制端的安全通信和远程配置文件的加戢,使配置后的系统根据不同用户有不同的硬件解密功能,最大程度地保证软件无线电的配置安全。
关键词 软件无线电 配置系统 FPSIJlC W31OOA
引 言
随着现代通信技术、微电子技术和计算机技术的飞速发展,无线通信技术开始从数字化走向软件化。软件无线电的出现掀起了无线通信技术的又一次革命,已成为目前通信领域中最重要的研究方法之一。它的基本思想是把模块化、标准化的硬件功能单元通过一个通用的硬件平台连接起来作为无线通信的基本平台,把尽可能多的无线及个人通信的功能用软件来实现。对于组成通用硬件平台的可编程器件(DSP、FPGA等),可以首先根据总体要求建立完整的软件库,然后实时、灵活地配置到硬件平台上。
软件无线电,特别是软件无线电台在其远程的配置过程中,要求较高的安全保密措施。传统的配置文件下载方法在数据传递的通路上都是明文传输,存在着安全的隐患,很容易被窃取和攻击;因此,一种确保软件无线电远程配置的安全系统在软件无线电系统中就显得非常重要。软件无线电的通用硬件平台通常主要由专用ASIC和DSP、FPGA两种可编程器件组成。FPGA编程特性分为熔丝型、基于EEPROM技术型和基于SRAM技术型三种。基于SRAM技术的FPGA由于容量大,设计资源丰富,设计较为灵活且可以重复操作,应用相当广泛,但是由于它的结构类似于SRAM,掉电后数据会丢失,因此每次上电后需要对它们进行重新加载。目前,常用的加载方法有通过PC电缆、外挂ROM和单片机控制加载等。在软件无线电中,通过PC和外挂单片机都将增加系统的复杂程度,也不适合于软件无线电台的应用环境;因此在软件无线电台中,常常选择外挂EEPROM来保存和更新FPGA的配置程序。由于所开发的软件无线电系统采用xilinx公司的VIRTEX系列FPGA,配合外挂XCl8V02存储器,因此对于FPGA的配置只要更新XCl8V02中的存储文件就可以了。
1 软件无线电安全配置系统的设计
系统分为管理控制和终端两大部分。管理控制部分主要由软件完成对已经生成的配置文件加密、用户登陆和传送配置文件三个主要功能。配置系统的终端在配置文件过程中,首先判别不同用户的识别信息,然后通过MCU将文件解密,在配置过程中通过MCU的接口将解密后的配置文件存储到EEPROM中,并在全部完成后重新启动系统,EEPROM中的配置信息被加载到片内,系统开始启动新的任务。对于不同的用户,可以根据自己的需要选择不同的加密算法,对自己所需要配置的文件进行二次加密,从而更进一步保证文件的安全性。这个加密算法的解密由MCU及其协处理器(FPGA)来完成,因此在加载不同用户的配置信息的时候,不同的解密算法也会被加载到系统上,形成一个具有硬件解密功能的软件无线电台配置系统平台。
软件无线电台安全配置系统终端部分的硬件结构如图1所示。
终端部分主要由两部分组成:W3100部分是以网络协议芯片W31OOA为核心,完成以太网数据包的解析;FPSLIC部分是以Atmel公司FPSLIC器件AT94K系列微处理器为核心,完成全部控制功能和配置文件的解密。
1.1 W31DOA系统
W3100A系统主要完成对远程控制信息和传送数据TCP/IP包的解析,其结构示意图如图2所示。这款芯片的内部结构分为4部分:与处理器接口部分(MCU Interface)、硬件网络协议核、存储器(DPRAM)和与MII接口部分。其中MII接口接上一个物理层芯片,系统中采用RTL8201BL。这款芯片能从硬件上实现网络协议的关键是它的协议引擎。在它的内部结构中有几个与网络协议相关的寄存器:命令寄存器C_CR,它的各位分别表示系统初始化、通道Socket初始化、建立连接、侦听、接收、发送、关闭等命令,将命令寄存器C-CR置位就可以完成相应的命令;C-DIR为目的IP地址寄存器;C-DPR为目的端口地址寄存器;C-TOSR为服务类型寄存器,对应于IP报头的TOS字段;C-IPR为IP协议寄存器,对应于IP报头的协议字段;C-SPR为源端口寄存器;C-SSRSocket为状态寄存器;GAR为网关地址寄存器;SMR为子网屏蔽寄存器;SHAR为源硬件地址寄存器;SItR为源IP地址寄存器等等。
与主控部分FPSLIC器件连接选择I2C接口,系统主机部分发送的配置信息在W3100A部分解析TCP/IP协议的数据帧格式,然后发送给MCU。此时MCU接收到的数据是经过加密的配置信息。
1.2 FPSLIC系统
FPSIC系统接收来自W3100A系统解析后的数据,通过内部MCU将数据解密并将解密后的数据存放到存储器。当全部接收完成后,系统自动重新启动,新的配置信息将被加载,系统开始新的任务。
这个过程如图3所示。在这个过程中,除了相同的文件接收、系统解密、文件发送等相同的配置信息外,还可以根据不同的用户配置不同的软件无线电解密信息。真正软件无线电的配置信息需要等待系统终端配置完成并重新启动后,从主机端接收加密的配置信息并解密得到。这个过程如图4所示。
FPSIC系统采用Atrrlel公司的AT94K40为控制器,包含1个AVR单片机内核和l片40K门数的FPGA以及1个32K动杰分布的静杰存储器(SRAM)。
嵌入式AVR内核在单个时钟周期内执行指令。它的吞吐量接近l MIPS/MHz,而AVR的实际吞吐量可以使系统结构随着处理速度而优化电源功耗。30 MIPS的AVR内核给予增强型RISC结构,是一个集合了32个工作寄存器的指令组合系统。这些工作寄存器直接连接到算术逻辑单元,使得在单个周期内执行单条指令时,能响应2个独立的寄存器。30 MIPS的吞吐量能使FPSLIC电路适应任何高性能的应用场所。微处理器中固有的硬件乘法器支持复杂的DSP功能,并支持微处理器和FPGA及DSP的逻辑电路软件和硬件算法。
AVR单片机内核的数据总线直接和FPGA的总线资源相联结,可以将FPGA用作AVR的I/O设备。用户可以利用FPGA实现各种外设或当作协处理器。FPGA具有16条编码地址线,可以为AVR提供最多16个中断信号。在工作状态中,AVR可以对FPGA重新编程,实现系统动态配置。系统中用FPGA的中断来判断一个数据是否解密完成,完成后,继续下一个数据。AVR向FPGA发送数据的程序如下所示:
void senddata_to_fpga(void)( //发送数据到FPGA
FPGA_INT_FLAG=O;
delay(500):
FI1SCR=Ox00; //配置FPGAI/O选择线
FISUA=0x00t
FISCR=0X80; //使能FPGA_AVR中断
FIUA=OX11; //选择FPGA中断0
}
#pragma interrupt_handler FPGA_intO_isr:iv_FPGA_lNT0
void FPGA_int0_isr(void){
PORTD'=0X04;
FPGA_lNT_FLAG=1; //FPGA发送完成后,请求终端
//接收下一个数据
}
crc=crc<<1;
}
信息的加载过程中,数据帧的结构及传输协议如下:
每个数据帧都由开始位、包号码、包号校验码、数据和数据校验位五部分组成。配置信息过程中,如果出现网络中断或者人为破坏,使得配置信息不能够顺利加载,系统将根据配置信息加载信息流的传输协议返回错误信息,并中断传输,保持以前用户的信息不变。因此,当一个用户的登陆或加载失败时,系统并不受影响,而是保持原来的状态继续运行。
3 配置信息的生成和加载
不同的用户可以在自己的加密算法开发完成后,用SystemDesigner3.0所包含的下载软件CPS(Configurator Programming System)将文件下载到系统进行调试。调试成功后,再用CPS将文件从器件中读出,生成.bst文件。
读取文件时,CPS的设置如图6所示。
系统在主机端提供了二进制文件加密生成软件,可以将这个.bst文件加密并转化成.hex的二进制文件,用来配置终端系统。这个加密算法是系统本身提供的,对于任何用户都是相同的,目的在于保护终端配置信息在传输通道上的安全。二进制加密配置文件生成的过程如图7所示。当用户登录成功后,系统会根据用户信息自动配置用户预先设定好的配置信息。当返回成功配置信息后,用户就可以通过终端解密来实现软件无线电的配置。
结语
通过验证,本系统能够很好地完成远程软件无线电的安全配置,达到了预期的目的。W3100A系统利用简单的设计完成了配置系统与以太网的结合,适用于基于网络的嵌入式系统的开发。应用FPSLIC微控制器实现系统设计,具有体积小、功耗低等特点。在此平台上开发软件无线电的安全配置系统,具有很大的优越性。这种设计可以推广到更多要求高安全性的在线可编程系统应用中。