基于Xilinx FPGA的片上系统无线保密通信终端设计

发布者:万童洁最新更新时间:2011-04-23 关键字:FPGA  片上系统  无线保密  通信终端 手机看文章 扫描二维码
随时随地手机看文章

0 引言

  利用软件实施加密算法已经成为实时安全通信系统的重要瓶颈。标准的商品化CPU和DSP无法跟上数据加密算法的计算速度要求。此外,CPU和DSP需要完成太多的其他任务。基于FPGA高度优化的可编程的硬件安全性解决方案提供了并行处理能力,并且可以达到所要求的加密处理性能基准[1].然而如果仅使用FPGA可编程VHDL来实现的话,系统就不够灵活,升级困难,况且实现起来有很大的难度,本系统以AES加密算法为例,使用Xilinx SPARTAN 3E为开发平台,以Xilinx的嵌入式软核Microblaze为主控制器,调用FPGA的硬件VHDL编程实现的AES加解密和控制CC2420来实现高速有效的数据通信。

1 系统设计思想

  本设计使用硬件描述语言VHDL在FPGA数字逻辑层面上实现AES加解密,为了系统的扩展性和构建良好的人机交互,设计通过PS/2键盘输入加密密钥,并将其显示在LCD上。在软核MicroBlaze上,通过SPI总线读写FIFO和RAM控制射频芯片CC2420,使系统具有信道选择、地址识别、自动CRC校验功能,使系统更加安全、通信误码率更低。

  1.1 数据帧结构设计

  为了更好的提高本系统数据的传输率,在官方zigbee的数据帧格式基础上做了修改。采用如表5-2所示的数据帧格式。数据帧发送时,CC2420自动在数据包的开始处加上前导码和帧起始分隔符在数据包末尾加CRC检验。
 

  1.2 数据可靠传输

  为了确保数据不出错和不丢失,本设计采用了CRC校验、超时重传、返回ACK和NOACK等措施来确保数据的不出错和丢失,

2  系统模块构成

  加密端通过串口和网口从发送段接收数据,当接收够16字节(128bit),或不足时能自动补零成128bit后送给硬件AES加密模块。在软核Microblaze的控制下通过VHDL编程的AES加密后将数据进行组帧打包,通过软核对CC2420的寄存器的读写将数据通过无线发送端CC2420发送出去,同时等待发送段确认。接收端在接收到数据以后,从数据包中将数据提取,进行快速AES解密,解密完成后进行CRC校验,如果校验正确则向源地址发送ACK确认。将正确数据送出,如果校验失败,则返回NOACK。为了确保安全,AES加解密算法需要的密钥key由键盘输入和修改,同时可以在LCD上显示出来。必须保证两端key相同才能保证正常通信。

                                                                                    图1 系统总体控制数据流图
3 AES加解密模块

  3.1.1 AES简介

  AES加解密算法(Rijndael算法)对待加密的明文先进行分段然后加密,明文的长度可以是l28位、192位或256位。同样,用于加密的密钥长度也有l28位、192位或256位。根据明文及密钥长度不同的组合,加密的轮次有10轮、12轮和l4轮。在圈函数的每一圈迭代中,包括4步变换,分别是字节代换运算、行变换、列混合以及圈密钥的加法变换。经过验证,选用l28位的明文和密钥是几种组合中加解密速度最快的[2]。所以在本系统设计中使用的为128位明文和128位密文的组合。由于AES为对称加解密,所以在此文中我们只讨论AES的加密方法,解密就是与AES对称的方式来进行的。

  3.1.2 AES加解密模块设计

  在本系统中,使用了FPGA的硬件描述语言(VHDL)来实现了AES的加解密算法,AES分别为轮密钥加、字节代换、行移位、列混淆、密钥扩展,下面为5个用硬件描述语言实现的小模块的分别介绍。由于列混淆模块、行移位模块、轮密钥加与文献[4]中算法相同在此不做讨论。

  ① 字节代换模块

  此模块为AES中的每一个字节提供了一个非线性代换。任一非零字节被函数所代替。如果x是零字节,y=b 就是SubBytes变化的结果。在本设计中,为了加快算法速度,将S盒预先写入RAM中,直接用地址来指示替代的字节,利用空间来换时间,达到了加快用算的目的。

  ②密钥扩展模块

  本设计采用了Xilinx IP核Single Block RAM 位宽32,深度64,在程序的开始,由用户设置的初始密钥系统按照密钥扩展算法生成的10轮扩展密钥,将生成的密钥按照地址次序从低到高放入RAM中,在每一轮执行addroundkey时取出对应轮数的密钥,与明文相加(异或)。

                                                                        图2 AES解密模块仿真波形
  
        3.2 无线通信模块

  在本系统中采用TI 公司的CC2420来实现数据的无线通信CC2420工作于免授权的2.4GHz频段,33个16位配置寄存器、15个命令选通寄存器、1个128字节的RX RAM、1个128字节的TX RAM、1个112字节的安全信息存储器。TX和RX RAM的存取可通过地址或者用两个8位的寄存器。主机可通过SPI总线设置其工作在Normal模式,通过SPI总线MOSI,MISO接口对TX FIFO和RX FIFO及状态进行写和读的操作,将数据写入和读出RAM来实现与CC2420的数据传输,通过触发CC2420STXON,SRXON来实现数据的无线发送和接收。表二是本系统CC2420涉及的寄存器及其功能。


  表2 是本系统CC2420涉及的寄存器及其功能

  3.3 软核控制模块

  3.3.1 软核MicroBlaze简介

  MicroBlaze 是一款由xilinx公司开发的嵌入式处理器软核,其采用RISC(Reduced Instruction Set Computer)优化架构。它符合IBM CoreConnect标准,能够与PPC405系统无缝连接[3]。MicroBlaze是一个非常简化却具有较高性能的软核,在Spartan3E系列FPGA中它只占400个Slice,相当于10万门FPGA容量的1/3。其为哈佛结构,32位地址总线,独立的指令和数据缓存,并且有独立的数据和指令总线连接到IBM的PLB总线,使得它能很容易和其它外设IP核一起完成整体功能。支持SPI、I2C、PCI、CAN总线,支持重置、硬件异常、中断、用户异常、暂停等机制,可配置UART、GPIO等接口。

  3.3.2 microblaze的控制流程

 
                                               图3 microblaze的控制流程
 
  3.3.3 microblaze的控制流程主程序
 
  main () {
 
  Initial()//初始化系统;
 
  CmdSend()//上位机命令输入;
 
  DataRev()//数据接收;
 
  AESEny()//数据加密;
 
  DataPackage()数据打包;
 
  CC2420Sen()加密数据发送;
 
  Return success; }
 
结语
  本系统将软件加解密(在50M的频率下使用软件来进行加解密)与硬件加解密时间做了对比:如表3所示。
                                           表3 软件和硬件加密对比
                                        表4 AES加密占用FPGA资源统计表
 
  该方案充分有效的利用了Spartan 3E的资源,尤其为可编程逻辑和RAM的利用。其中AES加解密中的乘法运算均由LUT查找表来实现,用空间换取时间,获得了很高的算法速度。在AES算法测试时我们发现80%的AES加解密时间都用于密钥扩展算法中,如果能再进一步把算法优化,比如做成流水线的算法模式的话,加解密时间又能减少近20%,即由现在的6.74us减少到略大于5.39us,效率又可以增加很多。
 
参考文献:
 
  [1]AES算法FPGA实现分析,唐金艺,[M] 海军计算技术研究所
 
  [2]唐明,张焕国,刘树渡等 AES的高性能硬件设计与研究 [M] 武汉大学计算机学院
 
  [3]赵峰 马迪民 孙伟等 FPGA上的嵌入式设计[M] 2008.4
 
  [4]佟玉伟 陆浪如 FPGA先进加密算法 (AES) 的并行实现 [M] 交通与计算机 2002.6
关键字:FPGA  片上系统  无线保密  通信终端 引用地址:基于Xilinx FPGA的片上系统无线保密通信终端设计

上一篇:矿场安防系统光纤自愈以太网解决方案
下一篇:基于无线传感器网络的河流自动监测站设计

推荐阅读最新更新时间:2024-03-16 10:56

FPGA内植入嵌入式软核的电容在线测试电路
PCB在焊接完成后,需要对其元器件进行测试,传统的方法是将其焊离PCB板后测试,但该方法不仅麻烦、效率低,并且容易损伤电路板而极不实用;另一方法就是人工结合机器进行测试,但这需要测试人员有一定的经验,也给测试带来了一定的不确定性,使得测试结果的精准度无法达到现代电路板的可靠性要求。所以,本文研究了一种可行的、简单实用及高精度的 电容 在线测试电路。另外,随着EDA技术的快速发展, FPGA 以其高集成度、高可靠性及灵活性等特点正在快速成为数字系统开发平台,在多种领域都有非常广阔的应用前景。本设计结合上述两特点,设计了一种基于向 FPGA 内植入Nios II嵌入式软核作为控制器的电容在线测试电路。 1.测试原理 在线测试的基本
[电源管理]
向<font color='red'>FPGA</font>内植入嵌入式软核的电容在线测试电路
FPGA遇上工控——加速云的故事
本只是一家由技术推导出的公司,却不小心撞上了风口。 做AI的不吆喝AI 如今中国产业界的热点有两个,人工智能和因为中兴事件而骤然大热的芯片领域。对于杭州加速云信息技术有限公司而言,其实一只脚已经踩上了前者,而另一只脚也完全可以踏向后者,却没有这么做。而且邬刚,加速云的创始人兼CEO,这位前华为的员工在全民谈芯片的热潮中有一些自己的坚持。 “把芯片做出来是一回事,能卖出去是另一回事。能不能卖出去,拼的不是你的性能指标,拼的是产品定义能力,拼的是交钥匙工程能力,拼的是你获取客户的能力。” 诚然在人们戏称“PPT造芯片”的当前,有大批投机者。那么加速云说不做这件事情,究竟是因为不愿同流合污,还是自己实力不够呢? 加
[工业控制]
当<font color='red'>FPGA</font>遇上工控——加速云的故事
FPGA电源设计适合并行工程吗?
如果设计师可以在开发过程早期就满足基于FPGA的设计,提出的功耗要求和约束条件,那么在系统的最终实现阶段就能形成极具竞争力的优势。然而,根据整个技术文献中这种自我暗示式的反复祷告,今天基于FPGA的系统中还有什么会使得完全遵循这个建议变得不切实际或过于困难呢?尽管能够使用各种开发工具,如专门针对FPGA项目开发的早期功耗预估器和功耗分析器,但对电源设计师来说,在设计过程早期就考虑最坏情况而不是最佳情况的电源系统是有好处的,因为在许多方面仍有太多的不确定性,比如在硬件设计完成和功耗可以测量之前,静态小电流状态与全速工作状态之间的动态负载要求将如何波动。 采用并行工程(CE)技术,可以为在项目中使用FPGA器件的开发团队,提供一种快
[电源管理]
<font color='red'>FPGA</font>电源设计适合并行工程吗?
基于ADSP-TS201S的多DSP并行系统设计
0 引言 在宽带雷达信号处理中,存在诸如回波采样率高、脉冲压缩(匹配滤波)运算量大、处理流程复杂、实时高分辨目标检测困难等一系列问题。针对这些问题,采用通用计算机平台难以应对运算量大和实时性等高要求,因此,需采用专用的数字信号处理器(DSP)来进行高速运算。尽管当前的数字信号处理器已达到较高水平,但单片DSP芯片的处理能力还是不能满足宽带雷达的性能要求,需要引入并行处理技术,在本设计中使用4片DSP芯片组成并行处理系统。另外,为充分发挥 DSP芯片在复杂算法处理上的优势及FPGA在大数据量的底层算法上的优势,设计了一种基于FPGA控制的多DSP并行处理系统。 1 系统设计 基于FPGA控制的多DSP并
[嵌入式]
基于FPGA参数关联比较器的预分选器设计
   引言   现代电子战环境日趋复杂,信号日趋密集,新体制雷达不断出现,雷达信号的各个参数以各种规律变化,因而从密集复杂的信号环境中分选和识别各种新体制雷达信号就成了电子战信号处理的一大难题。为了满足电子支援措施(ESM)实时信号分选的需要,对处理器的处理时间提出了较高的要求:不仅要求处理器的硬件结构具有良好的设计和可不断优化的空间,而且要求器件有较高的集成性,这些已成为不可忽视的因素。经过对相关器件的深入分析和研究,本文采用高速现场可编程门阵列器件(FPGA)替代中小规模集成芯片来设计三参数关联比较器,从而实现预分选器设计。    1 基于关联比较器的信号预分选原理   关联比较器技术对高密度信号环境下的硬件预分选有着积
[嵌入式]
基于<font color='red'>FPGA</font>参数关联比较器的预分选器设计
美高森美和Synopsys延续20年OEM合作关系, 在新型PolarFire FPGA上合作提供定制综合支持
致力于在功耗、安全、可靠性和性能方面提供差异化半导体技术方案的领先供应商美高森美公司和电子设计自动化(EDA)软件全球领先公司Synopsys宣布延续其多年OEM协议,合作为美高森美的FPGA客户提供定制的可编程逻辑器件(FPGA) 综合工具。下面就随半导体小编一起来了解一下相关内容吧。 两家公司最近在美高森美于2月发布的新型成本优化、低功耗PolarFire™中等规模FPGA上展开合作,Synopsys还在该器件的早期使用计划期间为美高森美提供支持。 Synopsys的Synplify Pro®综合软件及Identify® RTL调试器均集成到美高森美的Libero SoC 设计套件内。该套件是配合美高森美FPGA产品(包括其
[半导体设计/制造]
Teledyne e2v高速数据转换平台可与Xilinx最新FPGA器件完美相融
为了辅助Xilinx热门产品20nm Kintex UltraScale KU060 FPGA,Teledyne-e2v现在可提供高度优化的多通道模数转换器(ADC)和数模转换器(DAC)解决方案。它们有各种不同等级类别可供选择,最高级别是高可靠性耐辐射的宇航级,适用于卫星通信、地球观测、导航和科学任务。 每个新的数据转换器都可以通过其集成的ESIstream高速串行接口协议和与其相对应的FPGA进行交互操作,该协议已针对KU060系列进行了修改。在支持12.5Gbps数据速率的情况下,ESIstream在提高数据效率和缩短串行链路延迟水平方面提供了业界领先的操作参数。另外,它支持多个通道和多个设备的同步。 尽管ESIst
[嵌入式]
FSK/PSK调制的FPGA实现
摘要:基于DDS和VHDL硬件描述技术,采用大规模可编程门阵列FPGA,实现了FSK和PSK数字调制。介绍了m伪随机基带码元发生器、跳变检测器和DDS信号发生等模块。系统参数易修改、可移植性强、性能稳定。 关键词:FSK/PSK;DDS;m伪随机序列;FPGA 在通信领域,经常需要将基带信号进行某种调制,使其适合于信道传输。FSK、PSK即为常用的两种数字调制方式。传统模拟调制系统中大量采用分立元件,体积较大,电路复杂。由于模拟元件自身参数的离散性和受环境温度、湿度等因素影响,导致系统稳定性较差。本文提出了一种基于DDS技术的FSK/PSK调制的数字实现方法,提高了系统的稳定性,克服了模拟调制的弊端。 1 FSK/PSK
[嵌入式]
FSK/PSK调制的<font color='red'>FPGA</font>实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved