基于USB的加密狗

2024-09-19

基于USB的加密狗(精选6篇)

基于USB的加密狗 篇1

摘要:文章介绍了一种基于FPGA+USB接口的硬件加密系统的设计, 给出了基于USB接口的加密卡的硬件设计, 阐述了FPGA、USB接口控制器等模块的功能, 并重点介绍了系统的实现过程。

关键词:硬件加密,FPGA,USB

0 引言

随着Internet和电子商务的蓬勃发展, 基于Internet的商务活动也日益频繁, 对信息安全提出了更高的要求。本文提出的基于FPGA+USB接口的硬件加密系统充分发挥了FPGA的灵活性强、速度快和USB传输速度快的优点, 工作可靠, 具有比较广泛的应用前景。

1 系统硬件组成

图1为系统硬件结构图, 其核心部分是FPGA芯片, 同时配置FLASH ROM芯片作为FPGA的配置芯片。各种功能通过FPGA设计工具用VHDL语言进行描述, 在集成软件环境中进行编译、调试及综合, 使用专用下载电缆将程序代码下载存储在FLASH芯片中, 一旦系统上电复位, 主FPGA芯片将把FLASH芯片中的配置信息读入自己的RAM中进行初始化工作。

1.1 FPGA功能模块

FPGA功能模块是系统的核心, 主要实现以下3个主要功能:

(1) 用于实现加密过程中的时序控制, 包括对加密数据的输入和读取控制、加密算法的模式选择和公钥随机数的输入等。采用状态机设计思想实现整个时序的控制。

(2) 用于实现各种加密算法, 包括DES、3DES、RSA和Hash算法等。主设备PC机上需要加密的数据通过USB接口发送到FPGA功能模块的加密芯片上, 加密芯片根据控制信号的信息分析出应该采用哪种加密算法, 产生加密数据后, 给出标志信号, 然后就可输出加密好的数据。在FPGA设计工具中调试好的设计程序以网表文件的方式存储在FLASH芯片中, 一旦系统上电复位, 主FPGA芯片将把FLASH芯片中的配置信息读入自己的RAM中进行初始化工作[1]。

(3) 实现与USB接口的数据通信。能将待加密数据送往加密芯片, 也可以将已经加密好的数据从加密芯片中读出来送到主设备中。FPGA和USB之间的通信就是8位数据总线加上若干控制信号, 只要控制FPGA产生符合USB输入/输出时序的脉冲, 即可实现两者之间的通信。

1.2 USB连接

本系统选用Cypress公司EZ-USB FX2系列CY7C68001芯片, 该芯片具有Slave FIFO和可编程接口GPIF两种接口方式。在本系统中, 该芯片工作在Slave FIFO模式。该模式下, 外部控制器可象普通FIFO一样对FX2的多层缓冲FIFO进行读写, FX2可以和FPGA直接通信而无需8051固件参与。CY7C68001与FPGA的连接如图2所示。

1.3 密钥信号的产生

密钥信号产生模块的功能是产生真正意义上的随机数, 而不是通常由软件产生的伪随机数。真随机数在密码技术中的用途在于产生工作密钥和会话密钥, 为公钥算法提供生成素数所需的随机数, 某些公钥算法和协议 (如密钥交换协议等) 直接需要1个或多个随机数参与运算。模块生成随机数的机理源于大自然中的永恒噪声, 将元器件的固有噪声放大, 并通过A/D芯片采样转换, 就可以得到真正意义上的随机数。系统中采用的A/D芯片MAX152的转换精度为8位, 成本很低, 而且产生的随机数足以满足系统的性能要求[2], 如图3所示。

2 PC机侧的软件开发

从www.cypress.com的网站上可以下载文件EZ-USB-devtools-version-261700, 经安装后可以得到CY7C68001芯片的驱动ezusb.sys和应用程序EzMr.exe (该程序也被称为EZ-USB控制面板) 。该应用程序具有以下功能:

(1) 获得descriptor;

(2) 下载软件 (针对CY7C68001的开发板) ;

(3) 从屏幕或文件发送/接收数据;

(4) 数据发送返回测试等。

在该应用程序的帮助菜单里有详细的使用说明。该程序的缺点是不能连续地从FPGA中接收数据。

另外还有2种简易的方法可以开发CY7C68001的驱动和应用程序:

(1) 使用Jungo公司的Windriver6.02, 把做好的CY7C68001通信板接到PC机上, 启动Windriver6.02, 按照屏幕提示可以很轻松地获得驱动和应用程序。这种方法的优点是可以连续地从FPGA中接收数据并且可以看到程序原代码。从www.jungo.com网站上可以得到详细的信息。

(2) 使用Cypress公司提供的EZ-USB通用目的驱动来开发设计应用程序。

本系统的应用程序采用VC++编写, 为用户提供一个友好的交互界面。主要实现“加密数据”、“解密数据”、“清除数据”、“设备复位”、“显示设备信息报告”等功能。

3 结语

本文提出的基于FPGA和USB接口的硬件加密系统, 由USB接口发送待加密的数据, 通过FPGA芯片硬件完成数据加密过程, 并由高速传输总线传输数据。该系统具有处理速度快、实时性好、安全性高、灵活性强等优点, 能较好地实现主机的硬件加密, 具有广泛的应用前景。

参考文献

[1]刘韬, 楼兴华.FPGA数据电子系统设计与开发实例导航[M].北京:人民邮电出版社, 2005.

[2]廖济林.USB2.0应用系统开发实例精讲[M].北京:电子工业出版社, 2006.

基于USB的加密狗 篇2

该系统能够实现16路温度数据自动采集,系统的组成框图如图2所示。主要包括8个组成部分:中央处理器选用AT89C52芯片,完成各部分控制功能和USB传输协议;实时时钟记录当前测量温度的时间;温度传感器和接口电路主要完成温度采集,并读入MCU处理;复位电路完成对MCU的上电复位和电源电压监视;看门狗电路用来监视MCU是否工作;存储电路主要存储采集到的温度数据以及采集的实时时间;电源电路主要为各部分提供要求的电源;外设与主机间的通信电路采用USB接口。

2.2接口芯片选择

接口电路采用Philips公司的PDIUSBD12[4](以下简称为D12)芯片。主要因为D12芯片信息、开发资源丰富,具有较高的性价比。

D12芯片的主要特点包括:

・符合USB1.1版本规范;

・可与任何外部微控制器/微处理器实现高速并行接口(2MB/s);

・采用GoodLink技术的连接指示器,在通信时使LED闪烁;

・主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输;

・在批量和等时模式下均可实现1MB/s的数据传输率;

・完全自治的直接内存存取DMA操作。

2.3接口硬件设计

由D12接口组成的`通信电路原理如图3所示。关于D12的各引脚说明见参考文献[4]。多路地址/数据总线ALE接单片机的ALE脚,这样使用MOVX指令可以与D12接口,对D12操作就象对RAM操作一样,此时忽略A0(命令口和数据口地址线)的输入。因为没有使用DMA传输方式,所以没有用到DMACK_N、EOT_N和DMREQ_NDMA引脚。INT_N是USB中断请求脚,发出USB中断请求;GL_N是GoodLink指示灯,在调试过程中非常有用,在通信时会不停闪烁。如果一直亮或者一直暗,表示USB接口有问题,如果D12挂起,则LED关闭。CLKOUT是D12的时钟输出,可以通过固件编程改变其频率,在调试固件时,可作为参考。

2.4接口程序设计

USB接口程序设计是USB开发的核心。USB接口程序设计包括三部分:单片机程序开发、USB设备驱动程序开发、主机应用程序开发。三者互相配合,才能完成可靠、快速的数据传输。

2.4.1单片机程序设计

单片机程序(又称固件)采用模块化程序设计,主要模块包括:数据采集模块、数据处理、监控模块和数据通信模块。模块化设计的优点是可靠性高、可读性好、升级简单。

通信模块固件结构如图4所示。主循环和中断服务程序之间的数据交换可通过事件标志和数据缓冲实现。图3中USB中断引脚INT_N发出中断请求,中断服务程序根据中断请求类型操作,设置事件和填充数据缓冲区再传输给主循环;标准设备请求程序是对标准请求进行处理;用户可以根据实际需要编写厂商请求,例如发出启动或停止数据采集命令。

图3USB接口连接示意图

2.4.2驱动程序设计

驱动开发工具有DDK和第三方开发工具。其中DDK开发难度最大,第三方开发工具有DriverStudio和Windriver等。DriverStudio难度适中,而Windriver则属于应用层驱动开发,难度小,但效率低,并存在发布问题。

DDK驱动程序开发工作包括:开发环境设置(VC编译环境)[5]、驱动程序设计[6]、安装文件(INF文件)设计。

驱动程序设计采用WDM(WindowsDriveMode)。WDM设备驱动程序提供了一个参考框架,大大降低了由DDK书写驱动程序带来的难度。

D12驱动使用的例程包括:DriverEntry、AddDevice、DispatchPnp、DispatchRead、DispatchWrite和DispatchDeviceControl例程,以下是D12的WDM驱动程序函数:

DriverObject->MajorFunction[IRP_MJ_CREATE]=D12_Create;

DriverObject->MajorFunction[IRP_MJ_CLOSE]=D12_Close;

DriverObject->DriverUnload=D12_Unload;

DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL;

=D12_ProcessIOCTL;

DriverObject->MajorFunction[IRP_MJ_WRITE]=D12_Write;

DriverObject->MajorFunction[IRP_MJ_READ]=D12_Read;

DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL;

DriverObject->MajorFunction[IRP_MJ_PNP]=D12_Dispatch;

DriverObject->MajorFunction[IRP_MJ_POWER]=D12_Process-PowerIrp;

DriverObject->DriverExtension->AddDevice=D12_PnPAddDevice;

驱动程序与应用程序和硬件之间通信都是IRP(I/O请求包)完成的。IRP_MJ_PNP主要是实现USB即插即用,例如设备的添加、删除和资源的分配;IRP_MJ_POWER实现电源管理,例如设备的挂起和唤醒;IRP_MJ_CREATE(创建)、IRP_MJ_CLOSE(关闭)、IRP_MJ_

DEVICE_CONTROL(设备控制)、IRP_MJ_WRITE(读)和IRP_MJ_READ?穴写?雪是主要完成数据通信的函数,实现管道的创建、关闭

和数据读写。其中设备控制具有输入输出缓冲区,可实现读和写功能;AddDevice和DriverUnload实现设备管理,在设备添加和卸载时,创建和删除设备,以及管理资源分配。

驱动程序通过安装文件(.inf文件)中PID(产品识别号)和VID(厂商识别号)识别USB设备。

2.4.3应用程序设计

主机应用程序的编写使用VC编译环境中的API函数实现。

应用程序的编程方法与串口编程类似。首先必须查找设备,打开设备的句柄;然后进行读写和控制操作;最后是关闭设备句柄。为了提高效率,可使用多线程技术实现读写。

应用程序通过GUID(注册表驱动唯一识别号)查找驱动程序。

2.5调试

首先是固件调试,可用仿真机完成,驱动开发工具Windriver也是很好的固件调试工具,例如测试标准请求、厂商请求和管道读写。其次是驱动调试,这是USB接口开发最困难的部分,调试工具可用DriverStudio中Softice工具和文献[6]中DebugPrint跟踪工具,监视工具BusHound可监视USB的实际数据传输情况。需要注意的是,驱动调试必须在应用程序正确调用的前提下。

2.6USB传输速度

主机每过1ms发出一个SOF(起始帧),四种USB传输类型都分布在1ms的帧内。所以为了提高传输速度,可加大端点缓冲区的大小和使用双缓冲(有些芯片还有四缓冲),在1ms内尽量多传输数据;采用DMA传输方式,USB设备不通过微控制器直接完成数据传输,当然相应硬件和软件开发的难度增加;如果单片机数据加载速度较慢,则可考虑使用高速指令的单片机;如果速度要求在1MB/s以上,则考虑采用USB2.0接口芯片。

基于USB的加密狗 篇3

关键词:USB接口;AT89S52微处理器;数据采集

数据采集技术是以传感器、信号测量与处理、微型计算机等技术为基础形成的一门综合应用技术,主要研究信息数据的采集、存储、处理以及控制等涉及模拟信号调理、模拟信号数字化、数字信号处理等方面,并具有很强的实用性。早期常见的数据采集系统一般通过传统接口如RS232串口、并口或PCI总线与PC机进行通信。串口连接方式简单,但传输速度有限;并口传输方式据线连接复杂,传输距离较近,而且在Windows环境下开发消息驱动方式麻烦;PCI总线已无法满足PC机发展的速度,过多的拍接口也会增加芯片成本,并且PCI扩展槽在PC机的内部,使用非常不方便。本论文所设计的基于USB接口的数据采集系统,引入了USB这种新型的通信接口,使得整个系统不再那么庞大,且连接方便支持即插即用,其数据传输速度远远高于普通的串口和并口,它的应用对采集系统的设计增添了亮点,也为USB外围设备的开发增加了经验。

1 USB协议介绍

USB(Universal Serial Bus,通用串行总线)是一种标准的连接接口,在把外围设备与计算机连接时,不必重新配置规划系统,也不必打开机壳和调整接口卡的指拨开关,会自动识别这些接口设备,并且配置适当的驱动程序,无需用户再重新配置。USB接口,实现了热插拔的特性,用户可迅速方便地连接PC主机的各种接口设备。另外,在连接PC机时,对所有USB接口设备,提供了一种“全球通用”的标准连接器(A型与B型),取代了各种传统外围端口,如串行端口、并行端口以及游戏接口等。同时USB接口还允许将多达127个外围设备同时串接到PC的一个外部的USB接口上。

2 系统设计

采用USB接口的数据采集系统由终端数据采集装置和上位机应用系统组成。其中数据采集装置以AT89S52微处理器组成。向前由A/D电路组成,向后采用USB接口电路与PC机连接。信号通过A/D转换单元转换成数据流,在单片机的控制下,通过USB接口向PC机传送数据。在PC机中运行数据处理程序,显示信号波形,且单片机也可受PC机的控制。其系统结构框图如图1所示。

3 USB接口电路设计

3.1 PDIUSBD12芯片简介

PDIUSBD12是一款性价比很高的USB器件。通常用在基于微控制器的系统,通过高速通用并行接口与微控制器进行通信,并且支持本地的DMA传输。该器件采用模块化的方法实现一个USB接口在众多可用的微控制器中选择最合适的作为系统微控制器,允许现存的体系结构并使固件投资减到最小。这种灵活性减少了开发时间、风险和成本,是开发低成本且高效的USB外围设备解决方案的一种最快途径。PDIUSBD12完全符合USBI.1规范,也能适应大多数设备类规范的设计:如成像类、大容量存储类、通信类、打印类和人工输入设备类等。因此,PDIUSBD12非常适合做很多外围设备,如打印机、扫描仪、外部大容量存储器和数据码相机等。

PDIUSBD12所具有的低挂起功耗连同Lazy Clock输出,可以满足使用ACPI、OnNOW和USB电源管理的要求,其低的操作功耗可以应用于使用总线供电的外设。此外,PDIUSBD12还集成了许多特性,包括SoftConnetTM、GoodLinkTM、可编程时钟输出、低频晶振和终止寄存器集合。所有这些特性都为系统节约了大量的成本,同时使USB功能在外设上的应用变得容易。

3.2 PDIUSBD12接口芯片与单片机AT89S52的连接

PDIUSBD12与单片机AT89S52的连接如上图2所示。AT89S52的8位数据通过并行方式发送到PDIUSBD12的8位数据线上,P2.3连接到CS_N,作为片选信号,中断请求信号由INT_N送出到INT1/P3.3引脚,由单片机AT89S52响应中断请求。其它引脚按照一般设置。

4 结束语

随着电子技术和计算机技术的高速发展,嵌入式系统的应用越来越广泛,较之各种传统接口速度比较慢、没有统一的标准、成本较高、占用空间的局限性,USB接口凭借其成本低,使用方便,支持即插即用,易于扩展,传输速率高等优点,势必在PC外围设备的应用中发挥越来越重要的作用。

参考文献

[1] 中国专利技术博览会..http://www.sinofint.com.cn .2004.

[2] MAX146,MAX147芯片手册.http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1591,1997.

[3] 王朔,李刚.USB接口器件PDIUSBD12的接口应用设计.单片机与嵌入式应用,2002. (4):56-57.

基于USB的加密狗 篇4

摘要:介绍了一种基于DSP的USB口振动、噪声信号采集分析系统构造方案,并对其各模块进行了分析,该方案完全实现了在系统编程和配置。针对USB模块详细介绍了CYPRESS公司的EZUSB芯片,说明了其固件(Firmware)和驱动程序框架。

关键词:DSP USB FPGA CPLD Firmware 驱动程序

随着DSP芯片功能越来越强,速度越来越快,性价比的不断提高以及开发工具的.日趋完善,广泛用于通信、雷达、声纳、遥感、生物医学、机器人、控制、精密机械、语音和图像处理等领域。作为计算机接口之一的USB(Universal Serial Bus)口具有势插拔、速度快(包括低、中、高模式)和外设容量大(理论上可挂接127个设备)的特性,使其成为PC机的外围设备扩展中应用日益广泛的接口标准。本文设计并实现了基于DSP的USB口数据采集分析系统,该系统的DSP负责数据的采集和运算处理,处理结果通过USB口送计算机显示分析,其结构如图1所示。

该结构图中,CPLD和FPGA实现模块接口,包括串并转换、8位和32位数据总线间的转换、SRAM等功能。采样结果经过CPLD送至DSP运算处理(FFT变换、相关分析、功率谱分析等)后,由FPGA和USB接口送至主控计算机存储和显示。计算机应用程序易于实现丰富的图形界面,具有良好的人机接口。

1 模数模块

本系统主要用于振动信号和噪声分析,要求采样精度高,采样频率不超过100kHz。根据要求选用CRYSTAL公司的CS5396。该芯片原本用于立体声采样,基于∑-Δ结构,采样精度高,24位分辨率,120dB的动态范围;采样频率32kHz、44.1kHz、48kHz、96kHz可选;内部集成采样保持器、模拟低通滤波器、数字滤波器,同时还具有时采样功能;两路同时采样,串行输出,串行数据由CPLD转换成24位并行数据;由于该芯片量程是4V,差分输入,所以模拟部分只需再加上简单量程放大电路即可。这样模拟电路十分简单,抗干扰能力强、精度高。

2 DSP处理器

选择DSP处理器时主要考虑其运算速度、总线宽度和性价比。本系统采样结构24位,最好选用32位DSP;系统要进行实时信号分析、模态分析等,要求有较高运算速度,所以选用TI公司的32位浮点DSP――TMS320VC33。该芯片采用哈佛结构,6级流水线操作,指令执行周期7ns,外设包括一个DMA控制器和一个缓冲串口。

N点复数FFT变换约做2N×Log2N次实数乘法运算和3N×Log2N

基于USB的加密狗 篇5

关键词:USB总线;自动测试仪;电缆网;绝缘检查

中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)12-21628-01

Design and Implementation of Automatic Test Instrument for Cable Network Based on USB

YANG Zhao-zhong,LEI Xiao-qing,LEI Jin-hong

(The Army 63981,Hubei 430311,China)

Abstract:In order to have the testing of a bulky cable network,The article introduces the way of the design and implementation,and working process.After cascading,the instrument can test more than four thousands cores of the cable.the content of the testing include the switching and insulation resistance. Now,the instrument be widely worked in all kinds of cable to test.

Key words:USB;Automatic Test Instrument;Cable Network;insulation resistance

1 引言

某裝备的某型号电缆网线路容量较大,接近500余点。为了保证电缆线束的安全可靠使用,必须对线束的导通、阻抗和绝缘性能等进行严格的检测。随装的导通检查采用欧姆表逐点进行;绝缘电阻测试仪有两种,一是500V 手摇式传统兆欧表,另一种是经过对8节2号电池进行DC— DC转换成100V/500V的指针式兆欧表,并与专用电缆测试转接箱构成专用测试仪。测试时,操作手按照被测电缆的接点分配表,逐次接通各孤立点(在插头处连接在一起的若干导线芯或独立的导线芯都称为一个孤立点),测量并逐项记录被测孤立点的绝缘电阻值。因此, 传统测试方法存在测试时间长、自动化程度低、对操作人员要求高等缺点。所以,研制一种大容量的电缆线束自动测试系统的要求显得尤为迫切。

通用串行总线(简称USB)是为了解决传统总线的不足,而推出的一种新型串行通信标准,该总线接口具有安装方便、高带宽、易扩展等优点,已经成为现代数据采集、控制、传输的发展趋势。

本文将介绍一种基于USB接口的大容量的电缆线束自动测试仪,通过本测试仪,用户可以对大量的电缆线束进行自动测量。可检测到电缆导通和兆欧级的绝缘阻值,检测出其可能存在的配线错误、通断路,绝缘不良等问题。

2 测试仪工作原理

2.1绝缘电阻测试原理

该测试仪绝缘电阻测试原理如图1所示。高压直流电源(500V/100V)由PC机控制经继电器加到被测电缆的导线芯上,该导线芯与其他的导线芯间绝缘介质上的泄露电流,经I/V转换、A/D转换电路, 由单片机测量采样电阻R2上的电压值,按下式计算出绝缘电阻Rx的值:Rx=R2U/U0-R2-R2-R1。

图1 绝缘电阻测试原理

2.2多芯电缆测试原理

某型号电缆网由若干相互连接在一起的电缆束和若干单根电缆组成,插头座为多个某型号航空插头,最大导线芯为512个。为了传输电源、大电流信号或保证重要信号的可靠性而采用了冗余技术, 即采用多芯或双芯导线传送一个信号或电源。多芯电缆测试的基本思想是:测试前所有的导线芯均不与高压电源相连,测试的第一步是将第一个点通过继电器接通高压电源,其他点接测量端(R1的前端),测量第一个点与其他点间的绝缘电阻; 然后将第一、二个点通过继电器接通高压电源,其他孤立点接测量端, 测量第一、二个孤立点与其他孤立点间的绝缘电阻,绝缘电阻为零的为导通点,反之为孤立点,测试值为绝缘电阻值;依此类推,测试所有的点。

3 测试仪硬件组成

整个系统分为PC机软件和自动测试仪两个部分。每台电缆自动测试仪有512个测试点的容量,最多可级联8台测试仪以扩大测试容量。为了灵活配置,测试仪采用基于USB总线形式的机箱插板式结构,内部有控制测量电路、电缆测量接口电路、干扰抑制电路等组成。硬件电路原理见图2。

图2 测试硬件原理图

3.1控制测量电路

控制测量电路的核心是阿尔泰的USB2016模板,能够完成测试仪的级联通信、转接测试命令和进行命令的分发、同时控制激励源信号,以及完成电缆通断、绝缘的测量。。测试过程中,4路D/A输出通道提供0~10直流电压,经相关转换电路输出0~500直流电;16路单端模拟量输入通道,测量绝缘电阻电压;16路开关量输出控制接口板完成电缆测试;16路开关量输入监测接口电路状态。电缆测量接口板一共有4块,每板有128个测试接点,通过板上的继电器阵列,将激励信号送到面板的待测电缆接人点,将电压测量信号返回到控制测量电路。

3.2 电缆测量接口电路

接口板主要功能是将激励信号送到面板的待测电缆接人点,将电压测量信号返回到模拟量输入通道。接口电路通过12位开关量输出完成512点的选择,4位开关量输出、16位开关量完成测试仪的级联以及测试接口板状态检测。驱动电路芯片MC1413组成,其输出端能提供50 mA 的负载电流,可以驱动继电器。该电缆芯经继电器闭合触点接100V/500V的高压电源,继电器常开点则接分压电阻测量电路。

3.3 干扰抑制电路

考虑到测量电路的测量结果稳定性,在硬件电路中设计了干扰抑制电路。该测试仪在分压电阻测量端加了射极跟随器,射极跟随器的深度负反馈作用,使之具有工作稳定、频响宽、输入电阻大和输出电阻小等突出优点,解决了输入信号测量的干扰问题。为了滤除电路的杂波干扰信号,在分压电阻的测量端加了低通滤波电容,滤除杂波干扰。

4 应用软件设计

应用软件采用VC++6.0开发,采用自顶向下的模块化设计方案,其组成框图如图3所示。主程序位于应用软件的最上层,主要功能是进行系统初始化设置、测试条件选择、人机交互等,并通过调用各功能程序模块完成测试指令生成与调用、测试逻辑控制、A/D转换控制、测试结果通讯、分析、显示与打印等测试过程控制。功能程序模块是由6个独立的基本子程序组成,用于完成测试过程某一阶段的任务:系统维护程序主要用于录入与维护导弹电缆网或其他已知电缆网的型号、接点分配表等电缆网信息,并生成符合测试逻辑的控制指令;测试控制程序由测试选择子模块和测试指令调用子模块组成,用于选择被测电缆的型号,并调用相应的测试控制指令,该程序模块也可以按固定的测试逻辑生成未知电缆的测试指令,顺序寻找出孤立点,并完成绝缘电阻测试,对未知电缆进行测试。信号采集与控制程序主要用于对测试指令进行地址译码,将其锁存到端口扩展锁存器中,控制接通相应的电缆芯,并测量该孤立点与其他孤立点间的绝缘电阻,将测试结果存放在数据库中,供分析、显示与打印用。测试记录管理程序主要由结果判读子模块、结果显示与打印模块组成,主要用于将测试结果与预先存储的标准结果相比较, 自动判别测试结果,并进行结果显示与打印。系统监控程序,对测试过程中出现的异常能够适时监控和处理,保护测试系统和被测单板不受伤害。

图3

软件框图

5 结束语

该测试仪总体设计USB总线模式,既体现了仪器的便携性, 又考虑到维护、测试操作的方便和直观;在测试方式上考虑了绝缘电阻测试,同时兼顾导通测试,既能测试已知电缆,又能测试未知电缆,简化了硬件电路设计,缩短了测试时间,具有很强的通用性和可扩展性;在测试控制上采用了端口扩展、输出驱动、信号采集、继电器矩阵等设计思路,实现了多路信号的输出控制, 完成了绝缘电阻的测量;在使用管理上采用了菜单、控件、文本框等友好界面和开放式维护管理措施,使测试原理、测试过程和测试结果形象直观,便于测试接点分配表的添加、修改和删除等维护。

因此,该测试仪能够完成自动测量、自动判别测试结果、显示并打印绝缘电阻测量值、生成与维护被测电缆网数据库等任务,具有测试操作简单、测试时间短、人-机界面友好等特点, 已应用于某型导弹电缆网和通用多芯电缆的自动测试。

参考文献:

[1]张弘.USB接口设计[M].西安电子科技大学出版社,2002.

[2]黄艳华.一种大容量电缆自动测试仪的设计和实现[J].微计算机信息,2005-2.

[3]汪庆宝.通用串行总线用于测试和测量仪器[M].国外电子测量技术,2000年第3期.

基于USB的加密狗 篇6

【摘要】孔探是航空发动机维护的重要检测手段之一,可协助维护人员确定发动机内部状况。由于设备昂贵,无法在相关教学领域进行大范围的孔探教学。为提高航空类院校在孔探检测方面的教学能力,研究开发基于工业内窥镜的航空发动机孔探教学系统。该系统由USB内窥镜、计算机和孔探教学软件组成,可在教室内实现孔探演示和教学,同时与实际发动机结合,模拟真实孔探过程,可在维修实习等实践教学中进行推广。

【关键词】航空发动机 孔探 教学 内窥镜

【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2016)03-0115-02

对于航空发动机特别是民航中常用的高涵道比涡扇发动机,由于其高温、高压、高转速的工作环境,如不能及时发现发动机内部的故障隐患,很可能会导致灾难性的后果。随着现代科学技术的快速发展以及发动机维修设备和手段的多样化,采用孔探技术对发动机损伤和故障隐患进行诊断并判定损伤等级是新型维修方式的关键环节[1]。目前几乎所有的航空发动机在维护时对于核心机部分的内部检查,尤其是一些不易拆卸且可达性较差的零部件,都要用到孔探技术[2-3]。随着孔探技术的不断发展,对于孔探人员的技能要求越来越高,因此,针对孔探人员进行专业技能培训就很有必要。

我国民航目前从事发动机孔探工作的有近600人,这与目前运输飞机拥有量、维修规模和深度及未来几年的预期规模相比极不适应。由于机队规模和发动机孔探工作量分布不均,也导致人员分布不均匀。为了提高孔探人员的检测技能,强化安全意识,需要从基层的航空类院校抓起。由于专业设备价格昂贵,导致用于教学的孔探仪数量短缺,在孔探教学中,普遍出现了理论多、实践少、二者结合不佳的教学问题。为此,设计研发了一套低成本、易于操作的航空发动机孔探教学系统,该系统可以直接应用在真实发动机孔探口,对课堂教学和实践教学都具有较高的实用价值,可有效提高孔探教学质量。

一、系统基本功能与组成

航空发动机孔探教学系统由两部分组成。其中,硬件部分为用于捕获图像的USB内窥镜以及用于显示图像的计算机;软件部分利用C#语言编写,主要完成调用摄像头进行拍照,并对所拍摄图片进行尺寸分析等功能。在系统中,计算机相当于一个用于视频输出的屏幕,内窥镜相当于获取视频源的摄像头,而软件是使内窥镜与电脑完美连接的内在驱动。

系统开发中,使用带有USB接口的内窥镜来模拟真实的孔探仪探头部分。该工业内窥镜拥有6盏可调亮度的LED灯、200万像素、8.5毫米口径,其固定焦距为3~8厘米。成像稳定,清晰,尤其适用于狭小空间和难以察视的位置的检查。

教学软件是整个教学系统的核心部分,基于Windows系统和C#语言进行编写。程序为C#的窗体应用程序;内窥镜摄像头的调用通过引用AForge.Net类库来实现,该库是一个开源项目,提供很多图像的处理和视频处理功能。软件设计了两个窗体,主窗体实现USB内窥镜摄像头的调用并进行拍照;另外一个窗体对图片进行孔探分析,主要是损伤尺寸的分析与记录等。由于探头本身不能旋转,利用软件设计实现立体测量功能,可自动测量损伤的长度、面积和深度。

二、系统在孔探教学中的应用

为模拟孔探检测的整个过程,选取了我们民航常见CFM56-3发动机的高压涡轮区域作为观察对象,该区域有用于检测的孔探口。图1为孔探教学系统应用于民航发动机的现场教学照片。

在将内窥镜的探头插入CFM56-3发动机高压涡轮内部并获得图像的时候,点击拍照按钮,就会在电脑的指定位置记录下当前图像。然后单击菜单栏文件下面的孔探分析按钮,就会弹出孔探分析界面,此时需要打开图片进行分析,通过测量图片上任意两点之间的距离即可实现对损伤的分析。为得到测量真实值,使用比较法获取所要测量的尺寸。即需要事先知道所拍摄图片上作为参考两点之间的真实距离,并以它作为参考值,在程序中输入此参考值以及参考两点之间的图上距离,和所需测量尺寸的图上距离,点击尺寸计算按钮,便可得到所需测量尺寸的真实距离,并显示在孔探分析界面上,如图2所示。

三、结束语

开发基于USB内窥镜的航空发动机孔探教学系统,可弥补在航空类院校中由于孔探设备昂贵、数量短缺而导致理论与实践不能很好结合的问题。该系统安装使用方便,适用性强,既可将系统连接在教学用电脑上,利用投影仪演示整个孔探检测的过程,又可配备一定数量价格低廉的工业内窥镜,在实习和实践教学中进行推广,具有较高的实用价值。

参考文献:

[1]徐超群,闫国华. 航空维修管理[M]. 北京:中国民航出版社, 2012.

[2]陈果,汤洋. 基于孔探图像纹理特征的航空发动机损伤识别方法[J]. 仪器仪表学报. 2008,29(8): 1709-1713.

上一篇:《白费的努力》下一篇:财务会计管理模式研究