冲击波超压测试系统U盘读数盒设计

2016-03-22 06:56王玉全杜红棉
电子器件 2016年1期
关键词:固件

王玉全,杜红棉,杨 帆

(中北大学电子测试技术重点实验室,太原30051)



冲击波超压测试系统U盘读数盒设计

王玉全,杜红棉*,杨帆

(中北大学电子测试技术重点实验室,太原30051)

摘要:针对野外环境进行的冲击波测试读数和擦除操作繁琐的情况,为了提高冲击波超压测试的效率,提出自带电源、带有擦除功能的U盘读数盒的设计。该读数盒通过USB控制芯片CY7C68013的GPIF接口与测试装置通信并向测试装置发送时钟信号和控制信号,将Flash中的数据暂时读入到其内部FIFO中。然后通过68013内部增强型8051单片机控制U盘文件管理芯片CH376S将数据存入到U盘中,实现对测试装置的U盘读数。通过现场实验证实,该读数盒可以简化野外冲击波测试繁琐的操作,提高冲击波测试的效率。

关键词:冲击波超压测试;CY7C68013;U盘读数;CH376S;固件

近年来,随着我国军事的快速发展,对各弹种毁伤威力的测试需求越来越大。作为评价弹药毁伤效果的重要参数,冲击波超压测试技术变得尤为重要,现今已开发出无线存储式超压测试系统,使冲击波超压测试得到极大的简化。但是由于测试之后需要使用PC机对测试装置进行数据读取,给操作带来了很大的不便。所以本文介绍一种无需PC机的读数盒的设计,此读数盒还具有擦除功能,使冲击波超压测试更加方便。

1 总体结构及工作流程

U盘读数擦除盒(以下简称读书盒)是在USB控制芯片CY7C68013和U盘文件管理芯片CH376S的基础上进行设计的,总体框图如图1所示。

图1中的基本组成为主控模块、文件管理模块和按键中断,68013作为主芯片按固件程序完成U盘读数和擦除操作。读数操作由按键中断给USB芯片发送读数指令,USB再通过波形描述符输出控制信号将数据从测试装置中读出到68013的FIFO中,再通过68013的增强型单片机控制U盘文件管理芯片CH376S完成数据的存盘;进行擦除操作时

图1 U盘读数盒总体框图

(National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China)

USB芯片从外部按键中断获得擦除指令,同样通过波形描述符输出控制信号来完成对测试装置闪存的擦除操作。

2 CY7C68013的基本结构和特点

68013单芯片集成USB2.0收发器、智能串行接口引擎(SIE)和增强型8051微处理器。具有4个可编程的BULK/INTERRUPT/ISOC—HRONOUS端点,端点缓冲区的大小可选择两倍、三倍、四倍,可完成数据和指令的传输[1]。同时具有通用可编程接口(GPIF),该接口可与大多数的并行接口直接相连,由可编程的波形描述符和配置寄存器定义波形,支持多个READY输入和CONTROL输出。68013的内部逻辑方框图如图2[1]所示。

图2 68013逻辑方框图

3 文件管理芯片CH376S简介

CH376S是文件管理控制芯片,用于单片机系统读写U盘或者SD卡中的文件。CH376S支持USB设备方式和USB主机方式,并且内置了USB通讯协议的基本固件,内置了处理Mass-Storage海量存储设备的专用通讯协议的固件,内置了SD卡的通讯接口固件,内置了FAT16和FAT32以及FAT12文件系统的管理固件,支持常用的USB存储设备(包括U盘/USB硬盘/USB闪存盘/USB读卡器)和SD卡(包括标准容量SD卡和高容量HC-SD卡以及协议兼容的MMC卡和TF卡)。CH376支持3种通讯接口:8 bit并口、SPI接口或者异步串口,单片机/DSP/MCU/MPU等控制器可以通过上述任何一种通讯接口控制CH376芯片,存取U盘或者SD卡中的文件或者与计算机通讯。

4 读数盒的硬件设计

读书盒的控制芯片使用的是满足USB2.0要求的68013(128P)以及包含海量存储设备通信协议的文件管理芯片CH376S,测试系统与读数盒之间通过4个CTL信号、一个RDY信号和八位数据线相连。当执行U盘读数操作时,使用68013中的4 kbyte的FIFO存储从Flash读出的数据,当4 kbyte的FIFO存到半满状态表示对Flash一页数据的读取已经完成,此时将这一页数据由68013的8 bit并口经CH376S存入U盘中,主要电路结构图如图1所示。测试装置的八位数据线接在68013的PB端口上,JCLK、JRE、READ和ERE接在68013的CTL0~CTL3引脚,读数结束标志信号RDY0与68013的状态输入引脚RDY0相连。除此之外,68013通过I2C接口外接一个64 kbyte字的E2PROM 24LC64来存放固件程序。而对24LC64的地址线要求设置成A0=1;A1=A2=0;确保能够进行I2C接口引导加载访问。

5 68013固件功能分析

一个USB的固件程序通过keil打开后一般我们可以看到几个文件分别为:fw.c文件、intrins.h文件、fx2sdly.h文件、dscr.a51文件、fx2regs.h文件、fx2.h文件、gpif.c文件以及periph.c文件。fw.c文件是固件的根本,USB通信协议方面的代码都在这里完成。fx2sdly.h文件为同步延时。dscr.a51文件是USB描述符文件,包括了设备描述符,接口描述符,端点描述符,字符串等等。fx2regs.h文件是68013的寄存器地址定义。fx2.h文件中是一些预定义,宏及函数声明。以上的这些文件一般不需要用户进行太多改写,使用Cypress提供的代码即可。gpif.c文件一般由Cypress公司的GPIF工具编写生成的包含GPIF波形描述符的文件。periph.c文件是用户自己的代码书写文件,其中有3个常用的函数:void TD_Init(void)函数只会在USB启动后调用一次,在这个函数里书写用户自己的初始化代码;void TD_Poll(void)函数是用户调度程序,USB会在空闲的时候反复调用该函数,所以用户把自己需要反复执行的代码放在这里;BOOL DR_VendorCmnd (void)函数是自定义命令代码的书写处,用户的Vendor命令都会写在这里,fw.c固件会自动调用这些代码。这些就是Cypress USB固件的架构。

5.1gpif.c文件编写

这里使用Cypress GPIF Designer来编写生成gpif.c文件。图3为使用GPIF Designer进行波形描述符编写的情况。

图3 GPIF波形描述符

图3中Status一行的两个点是判决点所在的位置,在该处对RDY0信号进行判断,RDY0是读数和擦除完成由测试系统返回的状态信号。当RDY0=1时表示擦除或读数完成描述符跳转到IDLE状态;如果RDY0=0,跳回擦除或读数所在的状态继续之前的操作。LenBr对判决点来说表示逻辑函数要跳转到的状态,对非判决点来说表示在该状态停留的IFCLK周期数。Opcode定义了一些特征状态,Output定义了进入该状态后GPIF的6个控制信号的状态。LFun用于判决点的波形描述符,它指定了一个逻辑函数和这个逻辑函数的输入信号,其结果决定着跳转的方式,跳转方式在LenBr中已指定[2]。

5.2periph.c文件编写

上文提到periph.c文件是用户自己的代码书写文件。void TD_Init(void)函数是一些端点和寄存器的的初始化函数,这里不做过多介绍。void TD_Poll (void)函数是在IDLE状态被重复调用的函数,所以功能性的代码都在该函数中编写的[3]。读数盒的两个功能,即读数和擦除的程序就在该函数下完成。完成读数和擦除的流程图如图4所示。

读数开始前插入U盘,CH376S检测到U盘则对其初始化并创建一个文件等待数据存入。当读数中断到来时执行读数程序,每次读完2 kbyte的数据即存入到U盘中,直到全部数据存储完成等待设备移除。当擦除中断到来时执行擦除程序。程序中GPIFWFSE⁃LECT是用来选择执行的GPIF波形文件,波形文件在上一节中已经进行了介绍,4个波形描述符只对FIFO读和FIFO写进行了编写是因为这里只用到2个。读数采用的是高速模式,通过端点2进行数据传输。

图4 程序流程图

6 测试数据读取及分析

冲击波测试完成之后,通过读数盒将数据读到U盘中存储成dat文件,图5给出通过Matlab软件显示的50 kg当量TNT静爆在5 m处的数据。

从读数擦除盒读取的数据波形可以看到冲击波的上升时间很短,几乎是垂直于X轴的,同时衰减呈负指数形式,符合经典冲击波的波形,并且没有发生数据错位或丢点的情况,由此可以看出该读数擦除盒能够不失真地将冲击波数据读出。

图5 某试验测试数据

表1 50 kg TNT当量实爆5 m处冲击波超压值统计表

从上述2个波形后面的冲击波波形可以看出该读数盒可以很好的将测试装置采集到的信号保存到U盘中,并且可以通过软件读出,而且实际读出数据与估算值的误差为5.4%,这对于冲击波超压测试来说完全可以接受。

7 总结

本文针对冲击波超压测试环境下传统读数盒读数操作繁琐的情况,提出了U盘读数和的设计方案。文章介绍了读数盒硬件连接、68013中2部分程序的编写以及对实测数据的分析。通过多次试验,验证了该读数盒体积小、自带电源、操作方便的优点,能够满足冲击波测试环境中对测试系统进行快速擦除的要求,简化了冲击波测试需要使用PC对测试系统进行读数和擦除的过程,提高了野外冲击波超压测试的效率。

参考文献:

[1]Cypress Semiconductor Corporation. EZ-USB FX2 Technical Ref⁃ erence Manual Version 2.1. USA,2002.

[2]周云峰. FX2的波形描述符设计及应用[J].微计算机信息,2005,21(2):158-159.

[3]钱峰. EZ-USB FX2单片机原理、编程及应用[M].北京:北京航空航天大学出版社,2006:50-61.

[4]林刚勇. CY7C68013在数据传输中的应用[J].微计算机信息,2007,23(10-2):76-78.

[5]曹学友.空中冲击波测试误差研究[D]. 2014.

[6]U盘和SD卡文件管理控制芯片CH376手册.

[7]王红凯.基于CY7C68013A的USB接口系统设计[J].电子器件,2008,31(1):77-79.

[8]李萍. USB芯片CH376在智能仪器仪表中的应用[J].计量与测试技术,2011(2):9-14.

[9]张海宏,张志敏. USB2.0在SAR测试系统中的应用研究[J].电子器件,2007,30(5):1641-1644.

[10]李俊萍.基于CY68013的存储测试台的USB通信设计[J].电子器件,2014,37(2):361-366.

[11]匡胜元,杨浩,卞玉萍. USB2.0在高速数据采集系统中的应用[J].电子器件,2007,30(2):543-545.

[12]严石.基于USB2.0的数据采集系统设计[J].电子器件,2008,31(6):1919-1962.

王玉全(1990-),男,汉族,辽宁营口人,中北大学电子测试技术重点实验室,硕士研究生,研究方向为动态测试,992739952@qq.com;

杜红棉(1977-),女,汉族,辽宁锦州人,副教授。研究方向为爆炸冲击波超压测试技术及信号处理。

Design and Implementation of a General Zero-IF RF Front-End

ZUO Panpan,SAI Jingbo*
(College of Electronic Information and Control Engineering,Beijing university of Technology,Beijing 100124,China)

Abstract:In allusion to that traditional RF front-end for superheterodyne architecture is bulky,complex,difficult to implement and costly and requires high image rejection performance and other shortcomings,a general RF front-end with Zero-IF structure at a working frequency in 800 MHz~2 400 MHz was designed. This RF front-end bases on a high performance demodulator including a wide band low noise amplifier,programmable RF AGC circuit,electrical tuned pre-selection filter etc,and therefore achieves the design criteria with a sensitivity better than -100 dBm/5 MHz,and a dynamical range larger than 100 dB.

Key words:RF front-end;zero-IF;LNA;AGC;IQ demodulation

doi:EEACC:122010.3969/j.issn.1005-9490.2016.01.027

收稿日期:2015-03-23修改日期:2015-05-15

中图分类号:TN402

文献标识码:A

文章编号:1005-9490(2016)01-0128-04

猜你喜欢
固件
一种使用LoRa通信的OTA差分升级方法
针对复杂路径条件的固件测试方法改进
尼康旗舰Z9升级新固件延长高速连拍时间
基于国产化IT 基础设施的通用固件安全模型研究
一种高效的嵌入式系统固件局部更新方法
基于SHA1的SCADA系统PLC固件完整性验证方法
基于UEFI固件的攻击验证技术研究*
基于固件的远程身份认证
谷歌公司推出计算机固件分析工具帮助用户阻止恶意软件入侵
英特尔发布免费固件引擎