首页 » 解决方案 » 安全通信系统的FPGA实现

安全通信系统的FPGA实现

作者:  时间:2009-03-02 23:07  来源:
 服务器端软件实现

  服务器端构建基于MicroBlaze处理器和Xilkernel操作系统的嵌入式系统,通过扩展PS2键盘,LCD液晶显示屏等设备,实现具有良好的人机交互接口的系统。Xilkernel操作系统支持多线程操作,通过配置一些参数就可以灵活应用。虽然其没有网络系统,但可以通过移植LwIP协议栈就可以实现基于SOCKET的网络通信。

  应用程序的设计主要包括系统的初始化、系统对客户端请求的处理、网络安全监测及报警等。系统的初始化主要针对外设的初始化,LCD初始化工作:允许中断函数microblaze_enable_interrupts(),初始化函数LCD INIT_LCD(),PS2 键盘初始化:初始化键盘函数init_kbd(),允许中断函数enable_interrupt(),系统调用xilkernel_main()进入xilkernel,创建socket_thread。初始化lwip,并创建socket_app_thread。该线程主要是针对网络参数设定,通过IP4_ADDR()函数设定ip、网关、子网掩码。

  当系统运行时,液晶显示相关信息,当出现等待键盘输入密钥时,输入16个字符密钥,同时对密钥进行密钥确认。系统调用socket()函数创建socket,调用listen()函数开始监听。

  一旦接收到用户请求时就创建socket_process_thread线程。在socket_process_thread线程中,提取IP数据包的相关信息,首先检查客户端发送的ID是否在授权ID列表之内,如果ID无误,将从无线模块接收到的数据进行AES加密,发送加密过后的数据给客户端。如果ID有错误,提取其收到IP数据包中的IP,并启用GSM模块,将提得的IP通过短信发送给指定接收端。

  整个服务器端的软件设计流程图如图5图所示。

服务器端软件流程图

图5 服务器端软件流程图

  系统客户端实现

  客户端的系统构建与服务器端相似,系统的原理可以参考服务器端的系统设计。应用程序的设计也包括系统的初始化,客户请求的处理及解密处理,服务器端返回的信息处理。初始化外设,LCD初始化:允许中断函数microblaze_enable_interrupts(),初始化LCD函数INIT_LCD(),PS2 键盘初始化:初始化键盘函数init_kbd(),允许中断函数enable_interrupt()。系统调用xilkernel_main()进入xilkernel,创建socket_thread。液晶显示等待键盘输入密钥,输入密钥后需再次确认密钥,确认成功后启动客户端。初始化LwIP,并创建socket_app_thread。配置网络参数,通过IP4_ADDR()函数设定ip、网关、子网掩码。等待用户按键,提出所要数据申请。调用socket()函数创建socket,连接server,发送经过md5加密后的授权ID,等待server响应。.当接收到server返回的数据时,调用AES解密模块进行解密。在LCD上显示数据,并等待用户再次提出所要数据申请。客户端软件流程图如图3-4图所示。

  结论

  该系统采用FPGA平台构建基于Microblaze软核和Xilkernel操作系统的嵌入式系统。本文主要对下述内容进行了论述和自主开发:

  1.AES加解密算法的原理介绍及基于FPGA的硬件自主实现。

  2.构建基于Microblaze软核和Xilkernel操作系统的嵌入式系统,自定制外设接口IP。

  3.网络安全检测的实现及通过GSM网络报警机制的设计与实现。

  经过单元测试和整体评测,各模块独立运行功能良好,均达到系统设计要求。系统整体测试运行平稳,可靠性强。完全可以达到实际应用的性能及技术要求。

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

祝宁华:支撑光网络发展的光电子器件研究

光纤  通信  2013-12-05

物联网建立在通信应用之上 “链接”传统产业

物联网  通信  2013-10-11

高速关键器件和芯片技术列入优先发展

芯片  通信  2013-09-26

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

从物联网三层构建看现代信息技术的地位

物联网  通信  2013-09-10
在线研讨会
焦点