170 likes | 407 Views
基于 FPGA 的片上系统的无线保密通信终端. 选题人:金剑峰. 项目背景. 利用软件实施加密算法已经成为实时安全通信系统的重要瓶颈。 标准的商品化 CPU 和 DSP 无法跟上数据加密算法的计算速度要求 ,同时, CPU 和 DSP 需要完成太多的其他任务。 基于 FPGA 高度优化的可编程的硬件安全性解决方案提供了并行处理能力,并且可以达到所要求的加密处理性能基准。然而如果仅使用 FPGA 可编程语言来实现的话,系统就不够灵活,升级困难,况且实现起来有很大的难度. 项目内容.
E N D
基于FPGA的片上系统的无线保密通信终端 选题人:金剑峰
项目背景 • 利用软件实施加密算法已经成为实时安全通信系统的重要瓶颈。 • 标准的商品化CPU和DSP无法跟上数据加密算法的计算速度要求,同时,CPU和DSP需要完成太多的其他任务。 • 基于FPGA高度优化的可编程的硬件安全性解决方案提供了并行处理能力,并且可以达到所要求的加密处理性能基准。然而如果仅使用FPGA可编程语言来实现的话,系统就不够灵活,升级困难,况且实现起来有很大的难度
项目内容 • 本系统使用Xilinx开发平台,以Xilinx的嵌入式软核Micro Blaze为主控制器,调用FPGA的硬件编程实现AES加解密和控制CC2420来实现高速有效的数据通信。
系统模块划分 ★软核控制模块 ★AES加密模块 ★AES解密模块 ★无线通信模块
项目实施方案 • 明确系统功能以及预期目标 • 根据预期效果设计系统测试方案 • 合理划分各个功能模块,明确每个模块需要实现的功能 • 对各自大模块进行功能细分,测试与设计并行 • 小模块组合测试,反馈整改。 • 整体测试修改
AES加解密模块 • 在本系统中,使用了FPGA的硬件描述语言来实现了AES的加解密算法。AES分为以下5个模块加以实现:
无线通信模块 • 在本系统中采用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的数据传输,通过触发CC2420 STXON,SRXON来实现数据的无线发送和接收。
软核控制模块设计步骤 明确软核模块预期功能:
程序设计及编程 • 根据MicroBlaze 软核对各项功能经行设置编程 microblaze的控制流程主程序 main () { Initial()//初始化系统; CmdSend()//上位机命令输入; DataRev()//数据接收; AESEny()//数据加密; DataPackage()数据打包; CC2420Sen()加密数据发送; Return success; }
项目要求 • 通过MicroBlaze控制,实现无线通信终端AES加密解密要求,数据传输校验效果较好,速度快,占用资源少。 • 优化算法,进一步降低加密解密时间。
可能难点 • AES加密解密算法模块设计需要对AES算法进行学习掌握,并通过语言实现。 • 无线通信模块CC2420对工作频段的要求及数据的发送设置。 • 掌握MicroBlaze 软核原理,并用硬件语言进行操作。 • 硬件调试存在的各种噪声等。