蒋 楠, 贾云飞, 韩亚秋, 吴 雨
(南京理工大学 机械工程学院, 江苏 南京 210094)
基于U盘存储的无线式测时仪研制
蒋 楠, 贾云飞, 韩亚秋, 吴 雨
(南京理工大学 机械工程学院, 江苏 南京 210094)
本文针对如今测时仪无法做到数据实时监测的缺陷研制了一种基于U盘存储的无线式数据传输测时仪, 当测时仪配接在相应的区截装置上, 获取了区截装置的起始触发信号和终止触发信号并通过公式计算出相应的速度之后, 可通过U盘存储或无线传输的方式将获取的数据传输给上位机, 摒弃了传统的繁琐传输过程, 达到实时监控的作用. 其中在测时仪的硬件设计中包含有3个主要模块: 主控模块、 U盘存储模块和无线传输模块. 测时仪将测试得到的两个脉冲信号传输给CPLD进行计算后, 主控模块控制U盘模块进行存储或通过无线传输发送给上位机. 其稳定性良好, 且操作简单可靠.
CH375芯片; 测时仪; 无线传输; 信号实时观测
弹丸飞行速度是衡量直射武器威力性能的一项重要指标, 在武器外弹道测试中占有十分重要的地位. 其作为武器弹药的试制和定型必须测试的主要参数, 为自动武器内外弹道理论研究和应用提供了直接和间接的分析、 计算的原始数据[1]. 伴随着区截测速装置的高速发展, 对于配合区截测速装置所使用到的测时仪应用也越发广泛. 测时仪被广泛用于外弹道测试实验中的弹丸速度和三维坐标等参数测量中. 测时仪是通过先后接收区截装置发出的脉冲信号(起始触发信号和截止触发信号), 在起始触发信号到来时开始计数, 在截止触发信号到来时停止计数, 通过经历的计数脉冲个数和脉冲周期的乘积来获取脉冲的时间间隔[2]. 但传统的测时仪当区截装置测得弹丸到达预定位置的时刻并计算出实际速度值之后, 大多需要拉线进行数据传输, 这种方法不仅不方便、 容易产生干扰影响信号的传输、 存在诸多安全隐患且无法达到对于数据实时的监控和检测. 针对这一问题, 本文设计了一种U盘存储无线式测时仪来改进这一现况, 从而做到对于数据的实时监控和处理.
1.1 U盘存储无线式测时仪系统工作原理
本测时仪从硬件上将分为两个部分, 测时部分以及传输部分, 即测试计数电路以及U盘存储系统. 其硬件结构如图 1 所示. 考虑到其核心技术意在改变传统的传输方式, 故传输过程为重中之重.
图 1 硬件结构图Fig.1 Hardware structure diagram
常用的区截装置有线圈靶、 网靶和光幕靶等, 当飞行弹丸通过两个区截装置的瞬间, 区截装置将采集的过靶信息传输给测时仪, 测时仪记下两个区截装置输出的脉冲信号时间传输至CPLD中, 并根据两个传感器的间距 (也叫靶距) , 利用公式
(1)
(2)
式中:s为靶距;v为弹丸速度. 计算出相应的弹丸速度v, 通过U盘无线式传输系统传输给上位机, 其U盘存储时的仿真波形如图 2 所示, 当信号脉冲到来时, U盘开始进行存储功能, 当拔出U盘或断电停止时, 结束存储.
图 2 U盘存储仿真波形Fig.2 U disk storage simulation waveform
其中U盘无线式传输系统即系统的传输部分主要包括: 主控单元模块、 U盘存储模块和无线传输模块. 数据传输系统是一个主从式系统. 主控模块通过译码将测时仪采集到的过靶信息计算处理后转换成十进制数传输给U盘存储模块进行存储, 同时通过无线模块传输给上位机, 达到实时观测的目的.
在整个系统中, 所有命令由主设备发出, 从设备接收到命令以后, 执行所要产生的操作[3]. 在本系统中的主控单元模块包含了CPLD信号转换单元与微控制器单元, 当CPLD接收到测时仪数码显示模块发送来的高低电平数据之后, 对其进行转换匹配成二进制数值并将其转换成字符串, 经过微控制单元的处理之后, 与U盘存储模块进行通讯, 如若U盘存储模块已经准备好, 则将数据以字符串的形式写入U盘, 如若U盘没有连接, 则生成二进制数值传输给无线传输模块.
本系统中的U盘存储模块考虑到单片机本身的速度限制以及外部程序的复杂性, 选择CH375芯片作为USB的主控芯片. CH375芯片将直接为单片机提供数据块的读写接口, 并以512b的物理扇区为基本的读写单位, 使USB存储设备能够简化为一种外部数据存储器自由读取USB存储设备里的数据内容, 并通过主控单元模块芯片处理信号将其转换成为相应的字符串. 其通过USB总线可以方便地挂接在单片机控制总线上, 实现与USB设备的通讯, 方法简单、 便于操作、 综合成本比较低, 具有较大的推广应用价值.
当U盘未连接时, 将通过无线传输模块进行数据传输, 本系统的无线传输模块主要包括了无线发射端和无线接收端, 接收端是通过UTC2303串口转化器, 将TTL接口转换成为USB接口与上位机相连接. 无线发射端通过主控单元模块的命令发送数据和指令, 无线接收端接收到数据和指令之后, 自动通过串口传输给上位机, 从而实现对数据进行实时监测和处理. 当一次数据发送完毕之后, 上位机再通过无线传输模块发送复位指令给主控单元模块, 使主控单元模块进行复位, 并准备下一次测试数据的记录. 该无线传输模块的工作射频为25 kbps.
1.2 单片机与CH375接口设计
单片机和CH375芯片的连接方式有并口连接和串口连接两种[4]. 并口连接的传输速度较串口连接更快,但也需要更多的外部RAM,对于大多数51系列单片机,需进行外部RAM的扩展. 所以本系统选择串口连接, 将CH375芯片的TXD引脚悬空, 并只与单片机连接TXD引脚、 RXD引脚以及INT#引脚, 其余引脚全部悬空. 另外, 为了使其满足可以动态修改串口波特率的条件, 需要使用单片机的I/O引脚来控制CH375的RSTI引脚, 便于在必要的时候复位CH375以恢复到默认波特率. 其接线图如图 3 所示. 其次, 由于INT#引脚和TXD引脚在CH375复位期间只能提供微弱的高电平输出电流, 所以在进行远距离连接时, 为避免INT#或TXD受到干扰导致单片机的工作, 需要在TXD引脚或者INT#引脚上附加一个3 kΩ的上拉电阻, 以维持稳定的高电平. 这样, 即使得CH375芯片在复位之后INT#引脚及TXD引脚依然可以提供稳定的4 mA高电平输出电流或4 mA低电平吸入电流. 同时为了防止当电源为插入的U盘供电时, 电源电压产生波动, 也可以在USB口上的电源和地之间接一个大于200 μF 的电容.
而为了获得更高的系统稳定性以及抗干扰性能, 优先选择5 V的电源, 因为CH375在5 V条件下比在3.3V条件下性能更高[5], 并且CH375的供电电源以及单片机的供电电源需要和USB插座的5 V电源相独立, 以防止连接U盘时相应的电容存在充电过程影响到单片机和CH375的工作. 同时在复位功能上, 为了使CH375得到可靠的复位, 需在电源与RSTI之间连接一个0.5 μF的电容, 来达到使电源上升电压时间控制在100 ms之内. 其硬件连接图如 4 所示.
图 3 接线说明图Fig.3 Wiring diagram
图 4 硬件连接图Fig.4 Hardware connection diagram
2.1 程序主流程设计
图 5 系统总体流程框图Fig.5 System overall flow chart
为了可以提供更加方便实时存储测时仪数据结果的功效, 本测时仪在系统软件设计中设计了上电初始化串口和中断, 并设置标志位, 随着中断的产生, 读取CPLD计算并转换之后的数据, 并将数据存储至U盘中, 当U盘没有连接时, 采用无线传输模块将数据发送至上位机. 其总体流程框图如图 5 所示. 具体设置如下:
1) 系统初始化: 系统的初始化指对于单片机和CH375的初始化, 其中, 单片机初始化包括外部中断的完成以及I/O口的初始化等. CH375的初始化使用CH375LibInit( )函数来进行工作选择至USB主模式.
2) 设备检测: 当设备连接完毕之后, CH375会以中断的形式通知单片机, 单片机接受到中断信息之后对其进行处理分析. 接着CH375内置的固件程序将完成对U盘的配置, 首先是获得设备描述符, 以判别设备是哪一类设备, 此时USB设备默认地址为0, 通信采用控制传输. 接下来主机对USB设备分配地址, 地址从地址值为l到7EH可根据系统需要任意选择, 在以后与USB设备通信时就用此地址获取有关设备配置的描述符, 获取此描述符要进行两次请求: 第一次是试探性的, 以便得到相关数据的具体长度, 第二次才返回接口以及端点的全部信息[6].
软件设计中的关键在于U盘数据存储流程的设计, 当两个脉冲信号经过CPLD处理完毕之后被存储在单片机中, 如若检测到U盘设备的连接, 则可以直接存储在U盘中; 如若U盘未连接, 则需通过无线传输模块进行数据的传输. 这部分的程序实现主要在U盘数据存储流程设计中实现.
2.2 U盘数据存储流程设计
本测试仪主要解决的问题是数据的实时传输监控, 故设计了U盘数据存储的系统模块, 其中采用CH375作为核心芯片, CH375内置了USB通信协议的固件, 并提供U盘文件级子程序库, 单片机可以直接调用子程序读写U盘的文件数据, 简化了开发流程[7]. 主控单元模块通过CH375DiskConnect( )和CH375DiskReady( )检测U盘是否已经插入以及是否准备好, 如若已经准备好即执行开始建立新建文件, 打开新建文件夹, 判断数据的输入序列号, 并将数据转换成字符写入文件中. 以上步骤完成之后, 退出U盘存储模块. 如若检测U盘存储时发现U盘未连接, 则直接退出U盘存储模块进入无线传输模块. CH375的串行数据格式是1个起始位、 9个数据位、 1个停止位, 其中前8个数据位是一个字节数据, 最后1个数据位是命令标志位. 第9位为0时, 前8位的数据被写入CH375芯片中, 而第9位为1时, 前8位被作为命令码写入CH375芯片中. 此外, CH375的串行通讯波特率默认是9 600 bps, 单片机可以随时通过SET_BAUDRATE命令选择合适的通讯波特率. 具体操作如下:
1) 新建文件和打开文件: 在新建和打开文件之前, 需要指定路径, 设置好路径之后利用CH375FileCreate( )函数创建新文件, 当文件已经存在的时候删除后重建.
2) 文件的读写: 通过CH375ByteLocate( )函数判断数据的输入序列号之后, 将数据通过CH375ByteWrite( )以扇区方式写入打开的文件中, 每次写入之后自动移动文件指针至末尾mCmdParam.ByteLocate.mByteOffset = 0xffffffff. 第二次调用时直接继续写入数据. 其中, 在存储的过程之中, 单片机首先开辟两个64 B的缓冲区, 单片机采集数据之后, 存储累加在第一个缓冲区内, 当地一个缓冲区存满之后, 利用CMD_WR_USB_DATA7命令上传64 B数据给上位机, 然后主程序开始将接下来的数据存储在第二个缓冲区内, 当第二个缓冲区存满时首先检测第一个缓冲区的数据是否传输成功, 如若成功将收到中断信息, 继续上传第二缓冲区内的64 B.
软件设计中, 因为U盘以块和页来进行划分, 最主要需要解决的就是U盘以页为单位的读写, 针对这一问题, 解决方案如下:
U盘存储过程中选择Flash作为存储介质, 其一页可以定义为一个扇区, 将此扇区分为两个块, 每64个扇区为一个簇, 因此一个簇的大小就是512×64=32 K, 这样依然满足FAT16文件系统的要求, 然而主控单元模块提供来的地址却是Logical Block Address, 即只给出了一个扇区的地址, 需要将其转换成为物理地址之后才能进行存储的操作, 此时需要用到
(1)
(2)
由于作为U盘的flash是不需要单独启动的, 所以只包括了DBR, FDT, DATA以及FAT区域, 而没有MBR区域, 以本文所使用的FAT16文件存储格式为例, U盘的分配如图 6 所示.
图 6 U盘存储程序框图Fig.6 Block diagram of U disk storage
图 7 U盘空间分配图Fig.7 U disk space distribution map
当整个U盘存储无线式测时仪设计成功之后, 连接测试仪, 并通过向U盘存储模块的USB接口连接一个16 G的普通U盘, 上电复位之后, 在U盘新建了一个文件1, 通过测时仪进行了10次过靶速度测试之后测得文件夹中有10组数据, 如图 8 所示. 当U盘未连接的时候, 上位机也可以检测到测试数据结果.
图 8 U盘存储文件图Fig.8 U disk storage file map
本文中研制的U盘存储无线式测时仪通过主控单元模块以及U盘存储模块实现的对测时仪测得数据的实时监控, 更加有利于方便而及时地对数据进行处理与分析. 且针对有线传输的局限性而提出的采用无线射频发射模块来进行的数据的采集与发送接受也更加有利于上位机对于数据的进一步处理. 该设计方案成本较低, 且方便实用, 可以广泛地应用在各种测时仪及其他数据采集的场合.
[1] 周杏鹏, 仇国富, 王寿荣, 等. 现代检测技术[M]. 北京: 高等教育出版社, 2003.
[2] 马时亮, 倪晋平, 颜家林. 基于C51语言智能测时仪的设计与实现[J]. 西安工业学院学报, 2005, 25(4): 327-331. Ma Shiliang, Ni Jinping, Yan Jialin. Design and implementation of intelligent time measuring instrument based on C51 language[J]. Journal of Xi'an Institute of Technology, 2005, 25(4): 327-331. (in Chinese)
[3] 柯艳, 李杰, 孔祥雷, 等. 基于USB2_0的多路数据采集系统上位机软件设计[J]. 测试技术学报, 2010(4): 351-356. Ke Yan, LI Jie, Kong Xianglei, et al. The design of PC software based on USB2_0 multi channel data acquisition system [J]. Journal of test technology, 2010(4): 351-356. (in Chinese)
[4] 魏景斌, 刘俊峰, 钱稷, 等. 基于CH375的USB数据传输[J]. 微计算机信息杂志, 2010(2): 149-151. Wei Jingbin, Liu Junfeng, Qian Ji, et al. USB data transmission based on CH375[J]. Microcomputer Information Journal, 2010(2): 149-151. (in Chinese)
[5] 韩登宇, 安少康, 解凡. USB芯片CH375和C51单片机的接口设计[J]. 价值工程, 2012(19): 216-218. Han Dengyu, An Shaokang, Xie Fan. USB chip CH375 and C51 microcontroller interface[J]. Design value engineering, 2012(19): 216-218. (in Chinese)
[6] 任雁铭, 秦立军, 杨奇逊. 变电站自动化系统中内部通信内网的研究[J]. 电网技术, 2000, 24(5): 42-44. Ren Yanming, Qin Lijun, Yang Qixun. The internal communication network in substation automation system [J]. Power System Technology, 2000, 24(5): 42-44. (in Chinese)
[7] 邓清涛, 杨鹏. 基于CH375的单片机U盘控制器的设计与实现[J]. 自动化与仪器仪表, 2007(4): 15-16. Deng Qingtao, Yang Peng. Design and implementation of U controller based on CH375 microcontroller[J]. Automation and Instrumentation, 2007(4): 15-16. (in Chinese)
Development of Wireless Time Measuring Instrument Based on U Disk Storage
JIANG Nan, JIA Yunfei, HAN Yaqiu, WU Yu
(College of Mechanical Engineering, Nanjing University of Science and Technology, Nanjing 210094, China)
This paper, a kind of wireless data transmission time measuring instrument based on U disk storage is developed in view of the fact that the time measuring instrument cannot be used to monitor the data in real time. The measuring instrument is connected with the corresponding cutting device. After obtaining the initial signal of cutting device trigger and the signal of termination, the corresponding speed, which is calculated by a formula, can be transmitted to the host computer by U disk or wireless data transmission device. This instrument simplify the cumbersome process of traditional transmission to achieve the real-time monitoring function. The hardware design includes three main modules: main control module, U disk module and wireless data transmission module. The time measuring instrument transmits two pulse signals to CPLD and the main control module saves the data by U disk saves the data by U disk or transmit the data to the host computer through the wireless data transmission module. The measuring process is stable, and the operation is simple and reliable.
CH375 chip; time measuring instrument; wireless transmission; signal real-time observation
1671-7449(2017)03-0260-06
2017-01-18
蒋 楠(1994-), 女, 硕士生, 主要从事嵌入式智能仪器设备开发的研究.
贾云飞(1977-), 男, 副研究员, 硕士研究生导师, 主要从事基于嵌入式系统的智能仪器设备的开发、 武器外弹道测试技术、 传感器设计与优化等研究.
TN919.6
A
10.3969/j.issn.1671-7449.2017.03.013