硬件实现成本

2024-05-27

硬件实现成本(精选7篇)

硬件实现成本 篇1

在目前流行的智能家居控制系统中, 其硬件平台一般是电脑主机板或者是采用单片机来做基本的控制单元。前者功能虽然强大, 但是成本昂贵, 体积庞大, 操作复杂, 可靠性不高;后者虽然在硬件上很简单, 成本较低, 但是受限于单片机的处理能力, 性能和可扩展性较差。本文提出了一种新颖的实现方法:其硬件部分由家用无线路由器和感应及控制驱动单元组成。家用无线路由器的市场价为100元左右, 而感应及控制驱动单元的成本可以控制在40元左右, 因此以不到150元的成本即可组成一个智能家居控制系统主机。采用家用无线路由器的好处是可以将智能控制主机接入到互联网, 实现远程监控, 如果在手机上开发出相应的应用程序的话, 还可以实现随身随时的远程监控。由于家用无线路由器采用嵌入式的Linux操作系统, 因此可以很容易实现嵌入式软件的扩充、更新。

1 系统主机组成 (如图1)

在这个系统中, 家用无线路由器模块实现和以太网的连接, 采用Linux作为操作系统, 因此可以开发多个基于Linux操作系统的应用软件;感应及控制驱动单元用来接收感应设备 (门窗磁、燃气报警感应器等) 传来的信号, 或者驱动控制设备 (接收无线指令而动作的灯泡、电饭锅等) 动作。

采用家用的无线路由器模块还有一个额外好处是:可以外接无线网络摄像机, 从而实现远程视频监控, 极大的扩展了智能家居主机的应用范围。

2 家用无线路由器模块的组成 (如图2)

RTL-8196C是一款Realtek公司生产的高度集成的So C芯片。内嵌高性能的32位RISC处理器、以太网和WLAN控制器。RTL-8192CE是一个支持802.11/b/g/n标准的WLAN单芯片控制器。两片LSP5502芯片分别输出3.3V和1.0V供电电压。

3 感应及控制驱动单元的组成及功能

单片机采用的是STC12LE32S2, 它是一个低成本的51系列单片机, 该单片机通过RS232串口和家用无线路由模块通信。433M无线接收模块承担接收、变频、解调无线控制信号的功能, 将解调后的信号送给单片机进行解码, 433M无线发射模块将控制信号进行调制后, 变成433MHz的无线信号发射出去。电源芯片AMS1117-3.3V, 将5V电源降压变成3.3V后提供给单片机使用。

整个系统的设计分为硬件部分和软件部分, 本文只涉及到硬件实现部分, 至于软件部分也已经实现了, 但是由于篇幅和主题的关系, 没有详细说明, 感兴趣的读者可以参看笔者的其他文章。

摘要:本文介绍了采用家用无线路由器配合感应及控制驱动单元实现低成本智能家居控制主机的方法。本文详细介绍了其硬件实现方法。

关键词:智能家居,路由器,主机,感应及控制驱动单元

硬件实现成本 篇2

实现电信网、广播电视网和互联网的“三网融合”, 达到三网互联互通、资源共享, 对于促进信息和文化产业发展, 提高国民经济和社会信息化水平等都具有重要意义。下一代广播电视网 (Next Generation Broadcast, NGB) 的终极目标是向用户提供高清、标清、数字视音频、高速数据接入和话音等“三网融合”服务, 而如何基于现有有线电视网络进行宽带双向化改造, 提高接入网带宽, 发挥有线电视网频带宽、成本低、易普及的优势, 是NGB建设的关键所在。

新型同轴电缆宽带接入系统HINOC是基于有线电视网带外信道的宽带接入解决方案。在光纤到楼 (Fiber To The Building, FTTB) 逐渐推广的基础上, HINOC利用小区楼道和户内已经敷设、分布广泛的有线电视同轴电缆, 仅通过添加相关调制解调器设备, 而不对线路做任何改造来实现高速数据业务的双向传输, 为最后一百米的宽带接入提供了一种便捷实用的新型解决方案。

在HINOC系统中, 如何合理的设计硬件体系结构, 使其既能达到性能指标, 又能便于低成本的芯片化, 对于后续的工程化开发具有重要的意义。本文将针对HINOC系统的应用场景和功能需求, 提出HINOC系统硬件体系结构, 并对其中主功能模块的实现方案进行介绍, 从而为进一步设备开发打下基础。

1 HINOC系统应用场景及其硬件体系结构

作为一种新型的同轴电缆接入技术, HINOC使用16MHz频带进行以IP为主的数据信号业务传输。图1给出了一个典型HINOC网络解决方案。如图1所示, 只需在楼道的光节点处和屋内用于连网的终端处添加缆桥 (HINOC Bridge, HB) 和缆猫 (HINOC Modem, HM) , 即可将原有的有线电视信号与采用HINOC技术调制转换后的以太网数据信号进行混合传输, 从而实现基于有线电视同轴网络的IP包传输, 达到单用户最高100Mbps以上的高速数据传输。

HINOC网络协议栈为分层结构, 如图2所示, 自下而上依次为PHY层 (HIPHY) 、MAC层 (HIMAC) 和高层。MAC层又可分为公共部分子层 (CPS) 和汇聚子层 (CS) , 实现HINOC网络中的媒质接入控制和业务适配功能, 其中CPS实现MAC层的接入控制和信道分配等核心功能, CS实现MAC层核心功能与高层功能的适配。PHY层规定了传输信号的帧结构、信道编码以及调制技术。

根据HINOC系统的应用场景, 由于其主要支持以太网类型业务, 其系统实现可以采用如图3所示的硬件体系结构。其不同部分的功能分析如下:

1.介质访问控制 (Media Access Control, MAC) 部分:MAC部分主要有两个对外接口, 主机控制接口 (Host interface) 与以太网的物理层接口 (Ethernet MII接口) 。对于主机控制接口, MAC部分需要执行上层控制端传递的控制信息, 实现HINOC系统的终端自动上线配置、远程配置、全网管理、QoS保证、优先级设定、流量管理、组播与广播控制等功能[1]。而对于以太网的MII接口, MAC部分需要完成数据从以太网帧格式到HINOC所规定帧格式的转换, 即实现以太网帧与HIMAC (HINOC-MAC) 帧之间的解包和打包。此外, 由于业务的需要, 在MAC部分还需要对以太网数据流进行相应的处理, 比如实现IGMP/MLD/DHCP分组的重定向, 区分不同数据业务流的优先级, 实现VLAN TAG的添加、删除和修改, 实现COS/TOS的修改, 根据黑白名单控制分组的转发和丢弃等等。

2.物理层 (PHY) 部分:物理层部分的主要功能是完成从逻辑上HIMAC帧格式到同轴电缆上实际可以传输信号的转换。它采用正交幅度调制 (QAM) , 并根据同轴电缆不同的噪声、衰减、反射等情况自适应地使用QPSK到1024QAM的调制格式。为了避免由于多径效应引起的码间串扰问题, 提高信道的利用率, 在物理层部分选用正交频分复用 (OFDM) 技术传输数据。同时在纠错码方面, 物理层采用高编码效率、低实现复杂度的 (508, 472) 和 (504, 432) BCH截短码。所以物理层可以在16MHz的信道带宽上实现最高100Mb/s的物理层传输速率, 其有效带宽的频率利用率可达到7bit/s/Hz[2]。

3.时钟生成 (Clock generation) 部分:时钟生成部分主要负责给各个功能模块提供时钟, 其中由于MAC部分和物理层部分用到的时钟不尽相同, 特别是CPU使用的频率较高, 所以可以使用锁相环 (PLL) 输入的低频信号倍频。

4.模拟前端 (Analog front-end, AFE) 部分:AFE部分的主要功能是实现数字信号与模拟信号之间的转换以及线路上模拟信号的发送和接收。其中由于物理层需要完成最高1024QAM的调制, 所以对于ADC和DAC的位数精度要求较高。同时为了适应同轴电缆网络不同衰减特性, AFE部分必须能够提供可控增益的大功率驱动发送和高增益接收。

5.切换开关、低通滤波器及混频器 (Switch+LPF+混频器) :由于一般同轴电缆是单线接入, 且HINOC系统采用TDMA方式通信, 所以一个收发切换开关被放置于AFE的前端实现收发控制。为了减少发射端对线路上其他频段的干扰、滤除接收时不必要的带外噪声, 输入输出口需要使用一个低通滤波器。此外, 系统还需要加入混频器将发射或接收的信号调整到合适的频段。

从以上的模块划分和功能分析中, 可以看出由MAC和PHY组成的主功能模块在HINOC系统的体系结构中占有非常重要的地位。下面将着重分析主功能模块的具体实现方案。

2 HINOC SOC的一种低成本实现方案

如图4所示, 目前HINOC系统主功能模块的实现方案为低性能CPU+硬件协处理器 (HIMAC) +物理层。为了降低对CPU处理能力的要求, 在具体实现中将MAC层功能较为确定的部分剥离出来, 采用硬核的形式进行固化, 形成硬件协处理器, 这样MAC部分的功能由低性能CPU和硬件协处理器来共同完成。在此实现方案中, 以太网帧的打包和解包采用固化EMAC处理器来协助完成。对于以太网数据的流分类、流过滤、流标记、QoS等方面的需求, 都利用一个流分类模块处理, 其规则表可以通过CPU配置以达到灵活处理。由于大量的以太网数据从硬件协处理器流过, 而CPU仅仅处理简单的信令信息和实现功能配置, 该方案使得HINOC系统对于CPU处理能力的要求就大大降低了。同时由于硬件协处理器是可以固化的, 它对于HINOC系统的低成本实现是很有好处的。

在物理层功能控制方面, CPU可以通过硬件协处理器的总线仲裁模块读写物理层的接口区域, 从而实现对物理层相应功能的配置和控制。CPU与物理层之间的接口采用同步静态RAM时序, 通过对物理层接口中三大区域 (数据区、参数区和控制寄存器区) 的配置, CPU可以调节物理层各个相关参数并控制物理层执行相应的收发动作。与此同时CPU还需要完成节点的接纳和链路维护、信道预约与分配、分组调度算法等工作。

根据HINOC系统物理层的性能指标以及物理层与MAC层交互的需求, 对HINOC系统物理层的硬件总体设计框架如图5所示。

HINOC系统的物理层可分成4大模块:

1.HIPHY-HIMAC接口:HIPHY-HIMAC接口负责实现HINOC系统中物理层和MAC层之间信息的交互, 包括收发的HIMAC帧缓冲数据、信道估计参数、控制指令等。本模块采用静态同步RAM时序设计, 将MAC层侧看做CPU的外设RAM, 便于CPU的控制。

2.HINOC发射机:发射机负责将接口发送数据RAM区的HIMAC帧数据转换为同轴电缆线路上可以传输的HINOC信号。主要功能包括前向纠错编码、信道参数的预均衡、OFDM调制、加同步头组帧等等, 最后调制完成的HINOC信号通过DAC转换成模拟信号发送出去。

3.HINOC接收机:接收机负责将ADC采样接收的同轴电缆HINOC信号解调成HIMAC帧并存储到接口接收数据RAM区。其主要功能包括信道参数估计 (包括信道时偏、频偏、信道响应等性能参数) 、OFDM解调、接收数据的信道均衡、前向纠错解码等等。

4.HINOC总控模块:总控模块负责控制HINOC系统物理层的整体工作流程, 其中包括系统时钟的维护、HIMAC收发控制指令的解析、射频模拟端的收发切换控制、对MAC中断反馈维护等。

3结论

本文针对HINOC系统的典型应用场景, 分析了其系统实现的硬件体系结构和各个部分的功能。对于HINOC系统中的主功能模块, 详细介绍了一种采用低性能CPU+硬件协处理器+物理层的实现方案, 并对各个部分的结构和功能进行了介绍。基于CPU+硬件协处理器来实现MAC部分的方案, 由于其将原有MAC部分可以固化的功能硬件化, 从而大大降低了对于CPU的要求, 可以低成本的实现原有MAC功能。通过各个部分的详细介绍可知, MAC层的设计能够到达媒质接入控制和业务适配技术方案及对物理层的规划控制的要求, 物理层硬件结构设计能够很好的达到HINOC物理层传输模式技术方案以及与MAC层交互的要求, 这为后一步的工程化实现打下了坚实的基础, 采用本文介绍硬件体系结构和SOC实现方案对于未来的HINOC系统实现是较为合适的。

参考文献

[1]崔竞飞等.自主创新的同轴电缆双向接入技术HINOC.世界宽带网络, 2010 (6) :60-64.

[2]国家广播电影电视总局广播科学研究院, 北京大学, 西安电子科技大学.高性能同轴电缆接入网 (HINOC) 物理层传输模式及媒质接入控制协议 (面向NGB电缆接入技术的建议方案) .2010.

硬件实现成本 篇3

1 电弧炉硬件仿真平台组成

仿真平台主要由4部分组成:波形发生电路,功率放大电路,仿真变压器电路和检测环节。系统组成框图如图1所示。其中波形发生电路,功率放大电路和检测环节从工业电弧炉炉体的输入/输出特性上来模拟。仿真变压器部分从工业电弧炉供电系统的结构及相关参数上来模拟。

2 波形发生电路

波形发生电路模拟的是工业电弧炉炉体本身。电弧炉模型有很多种,有时域、频域、电压-电流模型等[5,6,7]。本文采用电压-电流模型来模拟电弧炉的输入/输出特性。工业电弧炉电极电压的幅值与电弧弧长成正比,且工业电弧炉电弧电压波形有一个典型的形状,如图2所示。

因此,波形发生电路模拟电弧炉炉体要从两个方面来进行:波形发生电路要能输出图2所示的典型电压波形,频率为50 Hz。输出的电压波形幅值与输入弧长信号大小成正比。

2.1 硬件设计

波形发生电路的硬件设计以单片机为核心。在此所选取的芯片为STC12C5A60S2(含片内A/D模块)[8]。此款芯片性能好,工作稳定,而且比使用片外A/D成本降低1 2。单片机输入端接直流信号,在实验中利用一个电位器来调节输入电压大小;输出端接DAC0832,将数字电压信号转化为模拟电流信号。DAC0832后接运放电路,将电流信号转换为双极性电压信号,即为电弧炉典型电压波形。电路原理图如图3所示。

2.2 软件设计

由于工业电弧炉工作电压频率为50 Hz,因此该仿真电路输出的电压波形频率也应为50 Hz,即周期为20 ms。将一个周期的电压波形按横轴即时间轴等分50份,即主程序定时器设置为400µs。单片机每过400µs输出一个数值,即可满足波形的完整性。程序采用C语言编写,主程序流程图如图4所示。

3 功率放大电路

波形发生电路的输出为-5~5 V的电压信号,驱动能力很弱,而设计的单片机与仿真变压器之间的电流为2 A左右,仿真变压器端电压输出为20 V,因此波形发生电路必须通过功率放大电路的驱动,才能与仿真变压器端连接。

功率放大电路的设计以高性能音频功放芯片LM3886为核心。该芯片±35 V电源供电,8Ω负载时平均输出功率可达到50 W,峰值功率最大可达到135 W。而要求功放的输出电压为20 V,电流为2 A左右,因此该芯片可以满足需要。电路设计方案采用芯片手册上的典型应用电路[9]。通过调节输入端电位器RIN的大小可以调整电路的放大倍数。

4 仿真变压器电路

仿真变压器电路从系统结构及器件参数方面模拟工业电弧炉的供电系统。工业电弧炉供电系统主要由配电变压器部分和电弧炉变压器部分组成。以西安唐都钢厂3吨电弧炉供电系统为例[10]:配电变压器容量为6 300 k VA,110 k V变11 k V,11 k V侧总的等效阻抗为(0.407 07+j3.575 76)Ω。电弧炉变压器容量为1 800 k VA,11 k V变220 V,220 V侧总的等效阻抗为(2.195 6+j12.937)mΩ。

仿真变压器电路的设计参照唐都钢厂3吨电弧炉实例。仿真配电变压器容量选择120 VA,220 V变60 V,副边接0.4Ω电阻,10 m H电抗器,总的阻抗Z1=(0.4+j3.14)Ω,与工业电弧炉配电变压器副边阻抗保持时间常数一致。仿真电弧炉变压器容量选择120 VA,60 V变20 V,副边接2Ω电阻,30 m H电抗器,总的阻抗Z2=(2+j9.42)Ω,与工业电弧炉变压器副边阻抗保持时间常数一致[11]。

由系统框图图1可以看出,Z2一端接功率放大电路的输出端,为20 V交流电;另一端接仿真电弧炉变压器副边,也为20 V交流电。因此流过Z2的电流即电弧电流也为交流。经计算,该电流有效值为2.08 A。

5 检测环节

由于工业电弧炉电弧电压与电弧电流是同相位的,即电弧的对外特性表现为纯阻性。所以我们还增加了电流互感器检测环节。电流互感器变比为10 A/10 m A,可将大电流转换为小电流。电流互感器检测经过Z2的电流,输出电流为毫安级,然后接1 kΩ的电阻将电流转化为电压信号送给波形发生电路中的硬件中断电路,硬件中断电路输出接单片机的INT0。当硬件中断环节检测到电流过零点时,会给单片机中断信号,单片机此时开始产生电压波形。这样,就保证了电弧电压与电弧电流的同相位,与工业电弧炉电弧的纯阻性特性保持一致。

6 实验结果与分析

经过调试,在实验室测得波形如图5,图6所示。示波器型号为Tektronix TDS 1002。

由图5可以看出,仿真平台输出的电弧炉电压波形与工业电弧炉典型电压波形形状基本一致。示波器测得波形发生电路输出电压波形(放大前)幅值为5 V,放大后波形幅值为20 V,且频率都为49.8 Hz,接近所要求的50 Hz。波形发生电路输出的电压波形并可通过输入端电位器在0~5 V之间连续可调。由图6可以看出,电弧电压与电流同相位,即电弧为纯阻性。

综合实验结果可以看出,本仿真平台可以产生出与工业电弧炉典型电压波形基本一致的波形;产生出的电压波形幅值连续可调,频率满足要求;仿真电弧电流波形与电压波形同相位,达到了我们的预期目标。此外,本硬件仿真平台运行稳定,精度较高,成本低,因此可以作为研究电弧炉电极控制策略的一个可靠平台。

参考文献

[1]刘世瑞,吴文平.电弧炉电极升降自动调节系统简介[J].中国科技信息,2011(14):120-121.

[2]管萍,李明辉,刘小河,等.电弧炉的反步自适应模糊控制[J].控制工程,2012(4):221-224.

[3]黄亮,赵辉.BP神经网络模糊控制在电弧炉电极调节系统中的实现[J].电气自动化,2010,32(3):18-20.

[4]BHONSLE D C,KELKAR R B.Simulation of electric arc fur nace characteristics for voltage flicker study using Matlab[C]//2011 International Conference on Recent Advancements inElectrical,Electronics and Control Engineering.Sivakasi:[s.n.],2011:174-181.

[5]顾建军,李凯,郑永征.交流电弧炉系统建模与仿真研究[J].冶金动力,2010(2):1-3.

[6]王琰,毛志忠,李妍,等.交流电弧炉供电系统建模及耦合关系仿真研究[J].系统仿真学报,2010,22(4):841-844.

[7]池伟,李恺伦,查蕾,等.基于能量平衡的电弧炉模型的仿真与参数辨识[J].机电工程,2012,29(4):454-457.

[8]丁向荣.STC系列增强型8051单片机原理与应用[M].北京:电子工业出版社,2011.

[9]National Semiconductor.LM3886 OvertureTM audio power ampli fier series[EB/OL].[2013-03-10].http://www.wenku.baidu.com.

[10]刘小河.电弧炉电气系统的模型、谐波分析及电极调节系统自适应控制的研究[D].西安:西安理工大学,2000.

卡尔曼滤波算法的硬件实现研究 篇4

卡尔曼滤波算法是一种解决离散系统线性滤波问题的递推最优估计算法,它是采用状态空间法在时域内设计的滤波器。20世纪60年代以来,卡尔曼滤波算法得到了深入研究和广泛的工程应用,而今,它已经成功应用在导弹制导和控制、飞机自动驾驶、卫星导航[1,2]与定位等无线电技术的诸多领域,并取得了非凡的成就,为军事、工业以及科学工程的发展做出了重大的贡献。

在实际应用中,需要考察卡尔曼滤波算法的运算精度[3]和运算速度。卡尔曼滤波算法常采用通用处理器通过C语言软件编程实现。由于卡尔曼滤波算法存在大量的计算过程,同时通用的处理器串行地执行软件程序,因此在对实时性要求比较高的场合中该方法难以满足系统对运行速度的要求[4]。针对通用处理器实现卡尔曼滤波算法执行速度较慢的问题,考虑到现场可编程门阵列(Field Programmable Gate Array,FPGA)具有的高度并行性、执行速度快的特点,近些年来对在FPGA中设计卡尔曼滤波算法的硬件实现展开了初步的研究[5,6]。本文借鉴了通用处理器的CPU、RAM以及外设三大部件组成架构,设计了一种专用于处理卡尔曼滤波器的并行处理状态机,提出了一种基于FPGA的卡尔曼滤波算法的硬件实现方法。

1 卡尔曼滤波算法原理

卡尔曼滤波算法以“预测—实测—修正”的过程递推运算,根据系统的测量值来消除随机干扰,得到最优估计值。假设系统的状态方程[7]为:

系统的测量方程为:

式中,X(k)为k时刻的系统状态;U(k)为k时刻对系统的控制量;F和B为系统参数;Z(k)为k时刻的测量值;H为测量系统的参数;W(k)和V(k)分别为过程和测量的高斯白噪声,其协方差分别是Q和R。

利用系统的过程模型,可预测系统的下一状态为:

式中,X(k|k-1)是利用上一状态预测的结果;X(k-1|k-1)是上一状态最优的结果;U(k)为现在状态的控制量。

用P表示协方差,则可预测下一状态的协方差为:

式中,P(k|k-1)为X(k|k-1)对应的协方差;P(k-1|k-1)为X(k-1|k-1)对应的协方差;F'为F的转置矩阵;Q为系统过程的协方差。

根据状态的预测结果,计算得到目前状态的测量值,结合预测值和测量值,可计算得到状态k的最优化估算值X(k|k)表示为:

式中,Kg为卡尔曼增益,其计算方法为:

最后更新k状态下X(k|k)的协方差表示为:

式中,I为单位阵,如此递推下去。

2 基于FPGA的卡尔曼滤波算法设计

FPGA内部主要包括可配置逻辑模块(Configurable Logic Block,CLB)、输入输出模块(Input Output Block,IOB)和内部连线(Interconnect)3部分,而基于FPGA的卡尔曼滤波算法实现主要由这3部分构成,其实现原理如图1所示。

卡尔曼滤波算法数据输入输出由FPGA的IOB模块负责完成,算法的控制、运算和存储通过CLB模块设计实现,指令传达以及数据传输由Interconnect模块完成。

通过在FPGA的CLB模块中设计控制单元、运算单元和RAM存储器,可实现卡尔曼滤波器的递推公式运算过程。卡尔曼滤波算法控制单元,按照时序电路设计,依次完成状态预测、协方差预测、状态更新、卡尔曼滤波增益更新以及协方差更新。运算单元负责完成数值的加减乘除基本运算,其中包括加法器IP核、减法器IP核、乘法器IP核和除法器IP核。存储单元由一块RAM存储器构成,负责存储初始数据、中间数据及结果数据。

在卡尔曼滤波算法运算过程中涉及多个矩阵,其中包括状态更新矩阵、观测矩阵、协方差矩阵、状态向量、状态预测向量、协方差矩阵、协方差预测矩阵和卡尔曼滤波增益矩阵等,它们都需要存在一块RAM存储器中,因此在设计过程中为每一个矩阵分配一定的存储空间及相应的存储地址。

在应用基于FPGA的高维卡尔曼滤波算法的过程中,首先对RAM存储器中的滤波算法相关矩阵进行初始化,然后读取观测量,在控制单元的时序设计下递推完成卡尔曼滤波算法,其状态机执行流程如图2所示。

基于FPGA的卡尔曼滤波算法状态机由6个状态组成,其中S1、S2、S3、S4和S5依次通过控制单元执行时序控制过程完成,每个控制过程所涉及的矩阵运算由S6通过运算单元处理完成,在运算过程所需的计算参数从存储单元读取,并把每一控制过程的运算结果存放在存储单元。

3 实现验证

ISE是使用XILINX的FPGA的必备的设计工具。它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。本论文的实现验证工作在ISE开发工具中完成[8]。

首先在ISE开发环境中,建立工程,在该工程中,添加卡尔曼滤波算法硬件实现所需的RAM存储器、乘法器IP核、除法器IP核、加法器IP核以及减法器IP核。卡尔曼滤波器实现的FPGA工程如图3所示。

其中,RAM存储器的配置界面如图4所示。

由图4可以看出,RAM存储器采用Block Memory模块,因为在数据运算过程中采用双精度浮点运算,所以定义数据宽度为64位,存储深度依据卡尔曼滤波器维数而定。

运算单元的IP核配置界面如图5所示。

由图5可以看出,运算单元的所有IP核采用双精度浮点Floating-point模块,该模块以占用大量的逻辑资源为代价换取高速的运算速度。

关键的卡尔曼滤波算法采用VHDL语言编程实现[9]。如上描述,卡尔曼滤波算法的运算过程可以理解为以下循环的重复和逻辑控制:①从RAM中读取数据;②把数据送至运算器进行处理;③处理的数据结果写入RAM。如此便可完成卡尔曼滤波器的硬件实现。

卡尔曼滤波算法在通用处理器以及FPGA中实现的运行速度对比结果如表1和图6所示。

表1和图6中,通用处理器中采用C语言设计的卡尔曼滤波算法,工作频率为100 MHz;同时,FPGA中采用VHDL设计的卡尔曼滤波算法,FPGA的工作频率为100 MHz。这保证了通用处理器和FPGA工作在相同的时钟频率下。

由表1中的对比数据可以看出本论文所提出的基于FPGA的卡尔曼滤波算法硬件实现方法切实可行,而且运行速度比在通用处理器中执行速度快。

4 结束语

本文针对卡尔曼滤波算法在通用处理器中串行执行软件程序运行速度低的问题,提出了一种基于FPGA的卡尔曼滤波算法的硬件实现方法,并通过ISE工具进行了开发验证,验证结果随着卡尔曼滤波器维数的增加,基于FPGA的卡尔曼滤波算法将比在通用处理器中的运算速度大大提升。但本方法尚未在工程实践中得到应用,这有待于继续探索。

摘要:卡尔曼滤波算法常采用通用处理器串行执行软件程序的工作方式来实现,但在对实时性要求比较高的场合,这种方式往往不能够满足系统对运行速度的要求。针对此问题,提出了一种基于FPGA的卡尔曼滤波算法的硬件实现方法,该实现方法具有并行运行的特点,大大提高了卡尔曼滤波算法的执行速度,具有良好的运行性能。研究结果表明,该方法切实可行,且运行速度比在通用处理器中执行速度快。

关键词:卡尔曼滤波,FPGA,并行

参考文献

[1]周富相,郑晓晶.基于卡尔曼滤波的RAIM方案研究[J].无线电工程,2011,40(11):36-39.

[2]余小游,高亭亭,孙广富,等.卫星导航弱信号的变维卡尔曼滤波跟踪算法[J].国防科技大学学报,2015,3(3):56-60.

[3]梁民赞,黄子豪,曹占启.曲线拟合与卡尔曼滤波器的滤波精度评估[J].无线电工程,2013,43(3):36-39.

[4]CHUI C K,CHEN G.卡尔曼滤波及其实时应用[M].北京:清华大学出版社,2013:1-3.

[5]冯刚,吕茂庭,覃天.基于MATLAB的卡尔曼滤波仿真研究[J].电子产品可靠性与环境试验,2011,29(6):61-63.

[6]徐经纬,刘士君.交互多模型扩展卡尔曼滤波算法的FPGA实现[J].传感器与微系统,2014,33(1):11-14.

[7]李朝伟,周希元,沈文亮.Kalman滤波算法在被动跟踪中的应用[J].无线电工程,2007,39(5):49-51.

[8]田耘,徐文波.Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2008:14-18.

一种基于硬件实现的游程检测算法 篇5

随机数序列的随机性能直接决定了信息安全系统的安全性能。因此,在使用随机数之前,必须对其随机性进行检测,而游程检测是序列随机性检测的一个重要方面。在分析了传统的游程检测方法后,本文提出了一种新的、基于硬件实现的游程检测算法。

1游程检测

1段0、1序列中,0或者1连续地重复出现,即为游程,连续出现的个数称做游程长度[2]。游程长度是序列随机性的一个重要指标,它的大小可影响序列的随机性。通常,一个很大的游程长度将导致序列随机性的下降。因此,往往要求游程长度不能超过某一界限,检测一段序列中是否有超过游程界限的游程长度称为游程检测[3]。

在许多具体的系统中,随机数发生器产生的随机数要进行游程检测,然后才能使用。而游程检测需要以很少的资源、很快的速度实现,因此检测算法就变得非常重要,其优劣也会影响到整个系统的性能。

2传统方法

传统的实现游程检测的方法有查表法和逐bit比较法等。以进行“1”的游程检测为例。

查表法是将随机数序列按k bit分段,逐段进行检测。对于k bit的序列,一共有2k种,建立1个2k长度的表格,每一种序列对应1个表格项,表内所存的是该种序列内所含有的游程长度,包括k bit内部“1”的游程长度以及左右两端连续“1”的长度。检测时,对每一个分段通过查表找到游程长度,通过考虑相邻段的“1”可以连接到一起,游程长度也可以相加,以判断是否有超过游程界限的情况。

逐bit比较法是将随机数序列串行地逐bit进行检验,判断是否为“1”来得到游程长度,判断是否超过游程界限。

查表法需要很大的存储空间,而且反复查表耗费时间;逐bit比较法同样所需时间较长、速度慢。这两种方法都耗费资源,不适于在集成的、高速的设备中使用。

3新算法

3.1算法流程

假设一随机数序列,要求游程界限为t,游程长度超过t即为不合格。将随机数序列按k(k≤t)bit分段,逐段进行检测。由于t≥k,所以仅在一段内部连续“1”的个数不可能超过界限t,因此不予考虑。只需判断每段中左右两侧连续“1”的个数cl、cr,因为cl、cr能够与相邻段中的cr、cl相加产生超过t的游程长度。具体流程如图1所示。其中,cr前表示前一段中右侧连续“1”的个数。注意:当cl=cr时,表示这k位全部为“1”,需要将cr前与本段的cr相加送入后面段的比较中。

3.2 cl、cr的检测方法

以检测一段data(k bit)中左侧起连续“1”的个数cl为例(cr的检测与此类似)。

检测方法是:将这一段data与检验序列分别相与,使其右侧k-n位变为0,保留最左侧n位,检测n位是否为全“1”。若k个与完的结果中存在最大的n,使data&,则cl=n。否则,这k bit中最左侧一位为0,即cl=0。其流程如图2所示。

3.3算法的分析

该游程检测算法适于硬件实现,只需设计1个k位的寄存器,将k位的data依次移入该寄存器,然后进行检测。每一段的移入、判断在1个时钟周期内就可以完成,且只需少量组合逻辑电路即可实现,电路简单、检测效率高。

4算法的扩展

当游程界限t变小时,可以缩小寄存器的长度k,让k始终≤t,这样就可以保证在k bit序列中部的连续“1”的个数不会超过界限t。不必检测k bit中部的“1”的游程长度,算法即可适用于任意的游程界限。

k值的选取还需要考虑寄存器的长度等因素,需要选取一个适中的值。进行“0”的游程检测时,方法与此算法类似。

游程检测是序列随机性检测的一个重要方面,是在使用随机数之前必须进行的一项工作,在工程实践中具有重要的作用。尤其是在一些实时的系统中,检测算法的速度至关重要。本文提出了一种新的进行游程检测的算法,主要针对硬件实现中需要快速进行检测的需求而设计的。它将随机数序列分成合适长度的段,并利用基本的“与”电路和比较电路逐段进行判断,每一段的判断可以在1个时钟周期内完成,非常适合硬件实现,而且电路结构简单,具有实现速度快、节省资源等优点。

参考文献

[1]胡涛,郭立,黄昊.一种新的混沌随机数生成器实现方案[J].电子技术应用,2006,32(6):51-53.

[2]智库百科.什么是游程检验[EB/OL].http://wiki.mbalib. com/wiki.2009-08-18.

硬件实现成本 篇6

单片机,即将计算机的CPU, RAM, ROM,定时/计数器和多种输入输出接口集成在一块芯片上,形成了芯片级的计算机。它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点。主要应用于智能仪器仪表、工业检测控制、机电一体化和消费电子类产品等方面,并且取得了显著的成果。本设计将使用单片机对LED控制实例化,设计一个32颗LED组成心行形状,核心控制器给出相应的控制数据对32只高亮LED进行控制。颜色显示采用的是内嵌三种颜色的LED进行不同的组合得到不同的颜色,如绿色和红色组合可以得到蓝色等。

1. 系统总体设计

本设计是基于STC89C52单片机的LED彩灯控制设计。硬件电路设计包括基于STC89C52单片机的最小核心控制系统电路、LED彩灯模块、键盘电路和电源电路。软件设计主要包括LED彩灯的控制、键盘对LED颜色和频率的控制。最终将两者合并调试,完成最终的设计。系统将外接的5V直流系统供电,通过单片机软件编程对LED和键盘实施控制以完成各种色彩变化。

2. 单片机最小系统

单片机能够正常工作的最基本的电路由单片机、时钟电路、复位电路等组成。复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用上电自动复位。时钟电路由一个晶振和两个小电容组成,用来产生时钟频率。STC89C52单片机芯片内部有一个反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡器电路的输入端和输出端,时钟可由内部和外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率选择11.0592MHz,电容值取30PF,电容的大小频率起微调的作用。STC89C52单片机的最小系统如图1所示。

3. 电源模块电路

本次设计的系统中的电源模块使用LM7805芯片作为稳压核心,为系统提供稳定的+5V直流电源,保证系统正常顺利地运行。电源模块电路原理图如图2所示:

4. LED显示电路

流水灯采用的是发光二极管(Light-Emitting Diode),简称LED,是一种将电能转换为光能的半导体器件,具有体积小、耗电低的优点,常被用作微型计算机与数字电路的输出装置。当LED两端加上一定的正向电压,使之流过一定的工作电流就会发光,其亮度随流过的电流的增加而增加,但电流过大LED的寿命也将缩短。普通LED正向电流一般为5~20mA。由于51的I/O是弱上拉的方式,在输出高电平时,只能输出几十微安的电流,而在输出低电平时,I/O最大可以输入几十毫安的电流。所以,通常采用灌电流的方式,即电流从电源经LED流向I/O口。为了不因流过LED的电流太大而把它烧坏,必须串上限流电阻R,当P0和P2口输出高电平(+5V)时,LED两端没有电压降,所以熄灭;当P0和P2口输出低电平(即P0/P2=0)时,LED正向导通发光。此时LED两端电压约为1.7V,则限流电阻R两端将存在3.3V(即5-1.7=3.3V)。因STC89C52单个I/O口的输入电流不能超过10mA;P0口的输入电流总和不能超过26mA;P1、P2、P3的输入电流总和不能超过15mA;所有I/O口的输入电流总和不能超过71mA。由色度学原理可知,如果将红、绿、蓝三原色按照一定比例混合,则在适当的三原色亮度比的组合下,理论上就可以获得无数种颜色,这时就可以用3种发光波长的LED通过点亮和电流控制实现色彩的调控,即调色。下表是这一电路的逻辑真值表。

LED电路如图3所示。

5. 键盘电路

本设计采用四个按键控制不同的显示效果,开机后呈现不同色,按键A用于切换LED的不同颜色,按键B控制LED的频率,由稳定到100ms闪烁到500ms闪烁到1s闪烁。按键C控制不同区域的LED发光;按键D,使其LED每一秒成不同颜色切换点亮。电路如图4所示。

6. 结语

本设计制作的基于51单片机控制的LED彩灯系统在多次测试修改之后,最终实现了对32只高亮LED彩灯控制的功能,并且系统功能稳定。此外设计中留有很大的扩展空间,如:控制多样化,颜色显示更丰富,LED灯亮度的调节等,推向市场后便于升级开发。因此基于51单片机控制的LED彩灯系统,具有较高的实用价值和广阔的市场前景。

参考文献

[1]童诗白等.模拟电子技术基础[M].北京:高等教育出版社, 2000.

[2]杨清德.康娅.LED及其工程应用[M].北京:人民邮电出版.

[3]阎石著.数字电子技术基础[M].北京:高等教育出版社, 1997.

[4]周国运.单片机原理及应用[M].北京:中国水利水电出版社, 2009.

硬件实现成本 篇7

时至今日互联网技术日新月异,网络普及率快速提高,越来越多的企业加入互联网行列,并且不断加速企业信息化的发展步伐。

随着企业的分支机构分布日益广泛以及对信息安全的日益重视,企业迫切需要一种技术把原有各个孤立的局域网联成一个整体,构筑一个安全、可靠、高效的信息传输和管理平台。虚拟专用网(virtual private network,VPN)以其独具特色的优势成为越来越多企业的首选。VPN是提供给企业之间或者个人与企业之间安全数据传输的隧道,而Open VPN无疑是Linux下开源VPN的先锋,它提供了良好的性能和友好的用户GUI。

1 OpenVPN技术

Open VPN是一套开源的基于SSL的VPN实现,能够在复杂的网络环境中建立一条虚拟通道,将通道两边的网络或节点连接起来,并能够保证通道数据的通信安全。因而Open VPN能够帮助企业内部网进行扩展,帮助远程用户、分公司机构以及商业伙伴与企业内部建立可信的安全连接,并保证数据的安全传输。

Open VPN允许参与建立的VPN单点使用预享的私钥、第三方证书或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库以及SSLv3/TLSv1协议。

Open VPN能在Linux、x BSD、Mac OS X与Windows2000/XP上运行。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。

1.1 Open VPN技术原理

Open VPN的技术核心首先是虚拟网卡,其次是SSL协议实现。首先对虚拟网卡及其在Open VPN中的工作机理进行介绍。

虚拟网卡是使用网络底层编程技术实现的一个驱动软件,安装后就像在主机上多出现一个网卡,它可以像其他网卡一样进行配置。服务程序可以在应用层打开虚拟网卡,如果应用软件向虚拟网卡发送数据,则服务程序可以读取到该数据。如果服务程序向虚拟网卡写入合适的数据,应用软件也可以接收得到。虚拟网卡在很多操作系统下都有相应的实现,这也是OpenVPN能够跨平台的一个很重要的原因。例如,Linux平台提供TUN/TAP虚拟网络设备,该设备为用户空间程序提供网络数据包的发送和接收能力。它既可以当做点对点设备(TUN),也可以当做以太网设备(TAP)。实际上,不仅Linux支持TUN/TAP虚拟网络设备,其他如Unix也是支持的,它们之间只有少许差别。

图1给出了采用Open VPN技术的网络拓扑图。从图1可以看出,在Open VPN系统中,用户通过物理链路远程连接Open VPN服务器。连接成功后,在用户和Open VPN之间建立了一条通道,这条通道就是所谓的虚拟专网。

此外,Open VPN实现了SSL协议。SSL协议已被广泛用于Web浏览器与服务器之间的身份认证和加密数据传输。

1.2 Open VPN技术验证

Open VPN提供了多种身份验证的方式,包括预享私钥、第三方证书以及用户名/密码组合,用以确认连接双方的身份。预享密钥最为简单,但它只能用于建立点对点的VPN。基于PKI的第三方证书提供了最完善的功能,但是需要额外的精力去维护一个PKI证书体系。

2 PKCS#11密码令牌接口标准

在密码系统中,PKCS#11是公钥加密标准(Public-Key Cryptography Standards,PKCS)中的一分子,由RSA实验室发布。它为加密令牌定义了一组平台无关的API,如硬件安全模块和智能卡。

由于还没有一个真正的标准加密令牌,此API已经发展成为一个通用的加密令牌的抽象层。PKCS#11 API定义最常用的加密对象类型(RSA密钥、X.509证书、DES/三重DES密钥等)和所有需要使用的功能(如创建和生成、修改和删除这些对象)。PKCS#11主要用于智能卡。大多数商业证书颁发机构的软件使用PKCS#11访问CA的签名密钥或注册用户证书。跨平台的软件需要使用提供PKCS#11接口的智能卡。

3 可行性分析

Open VPN技术可以通过PKCS#11接口标准支持硬件加密标识。如果将实现PKCS#11接口的加密硬件接入Open VPN系统,就可以实现硬件加密。

3.1 智能密码钥匙(KEY)结构特性

如果要采用智能密码钥匙作为加密设备及数字证书的存储载体,首先要了解智能密码钥匙的框架及其通信协议。我们以国内某公司的智能密码钥匙框架为例进行说明(如图2所示)。

KEY基于国产芯片配合其自主开发的智能卡操作系统COS(Chip Operating System)制成,支持PKI应用。KEY设计采用3层协议结构,底层为Bulk Only协议,用于主机和USB控制芯片之间的通信协议;主机和Key芯片通信采用SK协议(即简单KEY协议);Key芯片的COS协议包含在SK的数据包内。KEY接口遵循SCSI协议,主机和USB控制芯片之间通信利用SCSI的私有命令完成。

3.2 KEY提供PKCS#11接口

众所周知,PKCS#11只提供接口的定义,不包括接口的实现,通常接口的实现是由设备提供商提供的。KEY提供符合PKCS#11接口标准的API的实现。这样只要通过接口调用API函数即可实现其功能。KEY对于不同操作系统提供两种方式实现API函数的封装,一是Windows平台下的dll(动态链接库),二是Linux平台下的so(共享库)。

3.3 KEY提供加密算法

KEY智能密码钥匙的内部硬件能够快速产生1024位的RSA密钥对,完成RSA、3DES、Triple DES、SHA-1及SSF33等国家密码管理委员会认可的算法;密钥的产生、存储与运算都在硬件内完成,提高使用安全性;使用标准的USB V1.1/2.0接口和PC主机完成连接,即插即用;实现Microsoft CSP,支持Microsoft CAPI、PKCS#11;实现SSL和S/MIME协议所支持的安全通信功能,包括申请和存放数字证书,实现数字签名/签名认证、数据加密/解密等。

综上所述,采用KEY智能密码钥匙作为数字证书的载体及加密设备,就可以通过它所提供的PKCS#11接口实现与Open VPN的对接,从而实现Open VPN硬件加密。

4 设计及测试

根据智能密码钥匙结构及其硬件特性设计实现PKCS#11接口。PKCS#11标准接口可跨平台,实现时要考虑不同平台的兼容性和可移植性。在此基础上对OpenVPN进行协调,以达到通过PKCS#11接口访问相关硬件设备的目的。

4.1 设计及环境

Open VPN采用C/S(客户端/服务器)模式。我们将客户端安装在Windows系统下,将服务器端安装在Linux系统下进行测试。

4.1.1 服务器端的安装及配置

Open VPN是开放源码项目,在Linux系统中编译。Open VPN官方指定采用gcc方式进行编译。Open VPN需要调用open SSL库、用于数据压缩的lzo库、PKCS#11接口所需的pkcs11-helper库,因此这些库需要在系统平台上预先安装配置。过程如下:

(1)安装操作系统平台,如Red Hat Enterprise Linux(RHEL)6.3。安装后进行必要的配置,如驱动安装、网络设置等。

(2)从各官方网站上下载OpenSSL、lzo、pkcs11-helper、Open VPN源码压缩包。

(3)分别编译OpenSSL、lzo、pkcs11-helper和Open VPN。编译OpenSSL、lzo、pkcs11-helper和Open VPN的方法类似。编译Open SSL、lzo、pkcs11-helper会生成libssl.so、libcrypto.so、lzo.so和pkcs11-helper.so库文件,这些是Open VPN运行所需要的共享库。

Open VPN可按照以下命令进行编译:

(4)安装通过PKCS#11标准链接KEY的共享库,可选择安装在/usr/lib下,并使用动态链接库管理命令ldconfig让动态链接库为系统所共享。

(5)启动Open VPN前先对ip地址、端口、协议等进行配置,可以先在目录/etc/Open VPN/下建立文件server.conf,可通过修改这个文件实现对Open VPN的配置。

(6)通过PKCS#11标准调用硬件,这也需要在配置文件里设置,如在server.conf文件中添加以下语句:

其中''里包含的是通过动态库调用KEY所对应的id号。

(7)启动OpenVPN服务端。启动前将KEY插入计算机,检查系统是否已识别新插入的USB,然后通过以下两种方式启动Open VPN:

4.1.2 客户端的安装及配置

Open VPN为Windows提供GUI,此GUI操作简便,界面友好。过程如下。

(1)下载Open VPN GUI For Windows,注意使Open VPN GUI版本和OpenVPN Server版本配套。

(2)依屏幕指示安装Open VPN GUI。

(3)安装PKCS#11动态库。例如,将动态库openvpnpkcs11.dll复制到openvpn.exe对应的目录下。

(4)配置Open VPN GUI。进入Open VPN安装文件的config目录,修改client.ovpn文件中的相应配置,如remote(需要连接的服务器IP),port(端口),proto(协议,与服务器端一致)。与服务器端相同,在配置文件中添加PKCS#11动态库配置:

(5)通过Open VPN GUI启动OpenVPN客户端。

4.1.3 通过数字证书进行验证

Open VPN的客户端和服务器端都是通过数字证书进行验证的,所以在启动服务前必须将相应证书准备好。根证书(ca.crt)不论是服务器端还是客户端都需要,将它复制到相应目录(服务器端:/etc/OpenVPN;客户端:Open VPN安装文件夹的key目录下);服务器端还需要服务器证书和密钥,将两者存储到KEY中;客户端也需要用户证书和密钥,将两者存储到另一个KEY中。当Open VPN启动后,会通过PKCS#11标准接口从KEY中读取所需证书进行验证,也可以通过标准接口函数调用KEY中的加密算法。

4.2 系统测试

我们搭建了一个实验室环境进行测试(如图3所示),环境中安装了一台Open VPN服务器,一台WEB服务器(服务器上设置了一个下载应用,下载文件大小2GB),3台PC。每台PC通过虚拟机方式虚拟100个OpenVPN客户端,每个客户端通过服务器端访问WEB服务器。

测试时,根据以下几种情况进行。

(1)启动服务器端,单客户端接入。此时服务器CPU使用率从15%增加到22.8%,内存使用空间比初始状态增长7.2MB。当连接成功时,服务器恢复稳定工作状态,服务器CPU使用率为16.2%,内存使用空间比初始状态增长4MB。

(2)模拟300个用户同时接入。接入时,服务器状态如图4所示。

从图4可以看出,多用户同时接入时CPU瞬间使用率增长到30.6%,内存使用空间也在不断增长。所有用户连接成功后,服务器恢复到稳定状态,CPU使用率降低,略高于初始状态,内存使用空间比初始状态多100MB。

(3)在上述情况下,模拟10个客户端通过服务器端访问WEB服务器,并同时从WEB服务器高速下载共享文件。此时,服务器状态如图5所示。

从图5可以看出,服务器端CPU使用率明显增高,达到49%。内存使用空间增大,同时网络流量发生变化,下载达到6.3MBps,上传达到12.2MBps。10个客户端使用同样的下载软件,所以基本平分这些流量。

需要说明的是,由于实验室配置的网络速度为100MBps,上述流量对于服务器已经达到满负荷,而此时CPU使用率只达到一半,这种情况下,瓶颈出现在网络带宽上。可见,适当提高网络带宽,服务器还是可以负担的。此外,在提高带宽的同时还可以对服务器进行优化和升级,以适应高速发展的网络。

5 结束语

通过PKCS#11标准将硬件接入Open VPN很大程度提高了Open VPN的安全性能。存储于KEY中的数字证书不能被导出或复制,需要物理上获得其存储介质(即KEY),且KEY使用时需要输入其保护密码,这被称为双因子认证。这种认证手段是目前互联网上最安全的身份认证手段之一。另外,通过硬件实现加解密也增强了Open VPN网络通信的保密性。

摘要:随着企业对使用互联网的安全需求大幅提高,VPN技术成为重要的解决方案。OpenVPN作为Linux下开源VPN的先锋,得到了广泛研究和应用。采用PKCS#11标准将硬件加密设备(KEY,一种智能密码钥匙)接入OpenVPN,使身份验证所需的数字证书能够通过硬件读写、存储,并且使VPN加密算法及加密/解密过程能够通过硬件实现,从而进一步提高OpenVPN的安全性能。

关键词:OpenVPN,PKCS#11,数字证书,智能密码钥匙

参考文献

[1]James Yonan.OPENVPN[EB/OL].2002.http://openvpn.net/

[2]马臣云,王彦.精通PKI网络安全认证技术与编程实现[M]人民邮电出版社.2008.

[3]RSA Laboratories.PKCS#11:Cryptographic Token Interface Standard[EB/OL].2001.http://www.rsa.com/rsalabs/node.asp?id=2133,2009.

[4]James Yonan.OPENVPN HOWTO[EB/OL].2002http://openvpn.net/howto.html.

[5]郭学超,翟正军.OpenVPN体系安全性研究[J].科学技术与工程.2007.

上一篇:语文综合实践活动课论文下一篇:法律术语的特点