- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于USB移动存储的钢丝绳探伤报警系统设计
录入:edatop.com 点击:
1 引言
在钢丝绳探伤检测中,要实现检测传感器到存储器的数据交换。USB移动存储器具有携带方便、操作快捷、成本低廉等优点。随着其技术的发展及广泛应用,如何实现使用单片机控制来完成移动存储这一过程成为了工控领域研究的热点。
2 USB功能模块简介
2.1模块概述
USB[1]是—种查询(Polling)总线,由主控制器启动所有的数据传输。USB上所挂连的外设通过由主机调度的(Host-Scheduled)和基于令牌的(Token-Based)协议来共享USB带宽。目前,绝大多数Host功能角色被集成在各种类型的PC机(或以上层次机器)上。各种各样的基于USB 的移动设备,包括USB 移动存储器、带USB 接口的数码相机等都集成USB Slave功能角色。这样,就导致这些作为USB Slave 的USB 接口的数字设备无法应用于嵌入式系统中。解决这一问题的根本办法就是在需要使用USB 设备的嵌入式系统中集成USB Host 功能模块,使之具有与USB Slave设备进行数据传输的能力。而MemMaster[2]模块就具有这种功能。
MemMaster 作为 USB 系统中的 Host 设备,带有一个 Root HUB,可供用户接入作为 Slave 的USB 移动存储器。该 MemMaster 模块遵守 USB 1.1 协议规范,支持所有基于 USB 的移动存储器,支持 FAT12、FAT16 文件系统。MemMaster 模块可以模块的方式,通过总线集成到用户的数据采集等系统中,以提供用户将获得的数据通过该模块以文件的形式保存在移动存储器中,以便需要时在 PC 机中进行处理。
MemMaster在集成到用户系统中后,表现为用户系统的一个外部双端口RAM。用户系统通过向该外部RAM的指定区域写入命令和相应的数据,来控制MemMaster模块的操作,并且从指定区域读出响应和相应的数据来获得MemMaster模块提供的服务。通过这样的方式,双方实现协议交互。
2.2 硬件配置
MemMaster支持 USB 1.1 标准,最大写入速率达100KB/s(与测试环境有关),输入电压 5V,工作电流 100mA(不包括USB 移动存储器)。INTR 引脚作为从 RAM 到单片机的中断信号,BUSYR 作为 RAM 的工作信号,SEMR 作为同步信号,CER 作为片选信号,其他引脚在此不做详述。
2.3 接口使用
MemMaster 通过双端口 RAM,直接通过总线与用户的单片机系统相连。因此,就用户单片机系统而言,MemMaster 表现为一个外置的 RAM,而该 RAM 中的部分区域不能使用、部分区域被用作协议命令和数据的交互,剩余的部分可以由用户自行控制使用。在双端口 RAM 中,区域分配如下:
0x0000-0xF8F区域已经被系统占用;
0x5F80-0x5FBF共64字节用于存放系统命令;
0x5FC0-0x5FFF共64字节用于存放系统响应;
0x6000-0xDFFF共32768字节用于存放数据部分;
0xE000-0xFFFD为用户系统可使用区域;
0xFFFE-0xFFFF两个字节被用作系统协议交互指示,用户不可用于数据存放。
用户系统与 MemMaster 系统的协议交互命令包括2种类型:Command 和 Response。Command 由用户系统发往 MemMaster 系统,而 Response 为相反方向,由 MemMaster 发往用户系统。具体的实施在第四节中有介绍。
3 系统设计
3.1 系统工作原理
现在,钢丝绳的应用越来越广泛,为了保护人身和财产安全,钢丝绳探伤检测仪器也随之发展起来。目前,钢丝绳探伤检测多以PC机作为检测数据的接收和存储器件,但是这样成本高、携带不方便。在此,运用MemMaster模块实现现场检测数据存储到移动存储器就克服了这些缺点,提高了系统的性价比。系统的工作原理描述如下:检测传感器开始工作时,输出脉冲信号作为控制电路的同步信号,同时检测钢丝绳的三路参数数据(模拟信号)。当控制电路获得同步信号后,启动A/D转换,取得转换结果,系统对数据进行处理后,判断是否有断丝发生,如果有则报警。同时把数据写入移动存储器中在控制电路上电时就建好的文件中,以便将来分析处理。
3.2 系统配置
在此,A/D转化器件采用的是MAX186[3],MAXl86将8通道模拟开关、大带宽跟踪/保持电路、12位A/D转换器和移位寄存器集成到一片20脚双列直插芯片上,消除了传输误差,提高了采样精度和转换精度。它体积小、转换速度快、转换精度高、功耗低、用5V单电源或 V双电源供电,模拟输入可由软件设置为单或双极性和单端或差分两种输入转换方式。它的SCLK引脚作为时钟信号输入, 作为片选信号输入,DIN作为串行信号输入,DOUT作为串行信号输出。
在系统上电时,需要创建接收文件,文件的创建时间由DS1302[4]提供。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,具有主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。它的I/O引脚作为数据输入输出, 作为复位信号输入,SCLK作为时钟信号输入。
单片机采用的是华邦公司的W78E58B[5],它是8位单片机,内含32KB Flash/EEPROM,其引脚功能与8051系列单片机完全兼容。系统连接图如图1所示。
4 软件设计
为了使各部分硬件电路按一定顺序进行工作,在单片机的程序存储器中固化了用C51编写的应用程序,包括系统初始化程序、时间参数获取程序、文件创建程序、A/D转换程序、报警分析程序、数据写入程序。软件采用模块化设计方式,将各个功能分成独立的模块。其中,A/D转换程序放在中断程序中。程序流程图如图2所示。
4.1 报警算法分析
钢丝绳断丝检测信号为叠加于噪声背景上的局部区域的异常信号。为了能够对断丝进行报警,首先应从检测信号中将它分离出来。根据报警的实时处理要求,提取断丝检测信号的方法应简洁,花费的运算时间短,占据的内存空间小。下面给出一种峰峰值超限法。
峰峰值超限法利用局部异常信号波形的峰谷差值特征进行断丝检测信号的提取。从信号波形来看,检测信号是由大量的局部波峰和波谷构成的,在检测信号的每一微小的局部均将存在着一个完整的峰谷波形信号。峰峰值定义为某一局部峰谷波形信号的峰值与谷值之差的绝对值,当某一局部峰谷波形信号的峰峰值超过门限时,则认为是局部异常波形信号。在基于聚磁的钢丝绳断丝检测中,检测信号波形是一个完整的局部峰谷波形,这是由断丝断口漏磁场的分布决定的,且当选择好聚磁器的结构和检测元件的布置位置时,断丝检测信号将是单一的正峰信号,且信号的峰峰值比邻近的信号波形大得多,因此很容易用峰峰值超限法提取。
设vn,n=0,1,2,3,4,为5个连续的局部极值点,在程序中我们判断:当( (v[1]-v[2])>3*(v[1]-v[0]))&&((v[3]-v[2])>3*(v[3]-v[4]) )&&(v[0]-v[2]>26)&&(v[4]-v[2]>26)时,报警。
4.2 USB数据存储程序设计
在接口使用中已经介绍了用户系统与MemMaster系统的协议交互命令包括2种类型:Command和Response,下面就来具体说明一下Command/Response消息。
在钢丝绳探伤检测中,要实现检测传感器到存储器的数据交换。USB移动存储器具有携带方便、操作快捷、成本低廉等优点。随着其技术的发展及广泛应用,如何实现使用单片机控制来完成移动存储这一过程成为了工控领域研究的热点。
2 USB功能模块简介
2.1模块概述
USB[1]是—种查询(Polling)总线,由主控制器启动所有的数据传输。USB上所挂连的外设通过由主机调度的(Host-Scheduled)和基于令牌的(Token-Based)协议来共享USB带宽。目前,绝大多数Host功能角色被集成在各种类型的PC机(或以上层次机器)上。各种各样的基于USB 的移动设备,包括USB 移动存储器、带USB 接口的数码相机等都集成USB Slave功能角色。这样,就导致这些作为USB Slave 的USB 接口的数字设备无法应用于嵌入式系统中。解决这一问题的根本办法就是在需要使用USB 设备的嵌入式系统中集成USB Host 功能模块,使之具有与USB Slave设备进行数据传输的能力。而MemMaster[2]模块就具有这种功能。
MemMaster 作为 USB 系统中的 Host 设备,带有一个 Root HUB,可供用户接入作为 Slave 的USB 移动存储器。该 MemMaster 模块遵守 USB 1.1 协议规范,支持所有基于 USB 的移动存储器,支持 FAT12、FAT16 文件系统。MemMaster 模块可以模块的方式,通过总线集成到用户的数据采集等系统中,以提供用户将获得的数据通过该模块以文件的形式保存在移动存储器中,以便需要时在 PC 机中进行处理。
MemMaster在集成到用户系统中后,表现为用户系统的一个外部双端口RAM。用户系统通过向该外部RAM的指定区域写入命令和相应的数据,来控制MemMaster模块的操作,并且从指定区域读出响应和相应的数据来获得MemMaster模块提供的服务。通过这样的方式,双方实现协议交互。
2.2 硬件配置
MemMaster支持 USB 1.1 标准,最大写入速率达100KB/s(与测试环境有关),输入电压 5V,工作电流 100mA(不包括USB 移动存储器)。INTR 引脚作为从 RAM 到单片机的中断信号,BUSYR 作为 RAM 的工作信号,SEMR 作为同步信号,CER 作为片选信号,其他引脚在此不做详述。
2.3 接口使用
MemMaster 通过双端口 RAM,直接通过总线与用户的单片机系统相连。因此,就用户单片机系统而言,MemMaster 表现为一个外置的 RAM,而该 RAM 中的部分区域不能使用、部分区域被用作协议命令和数据的交互,剩余的部分可以由用户自行控制使用。在双端口 RAM 中,区域分配如下:
0x0000-0xF8F区域已经被系统占用;
0x5F80-0x5FBF共64字节用于存放系统命令;
0x5FC0-0x5FFF共64字节用于存放系统响应;
0x6000-0xDFFF共32768字节用于存放数据部分;
0xE000-0xFFFD为用户系统可使用区域;
0xFFFE-0xFFFF两个字节被用作系统协议交互指示,用户不可用于数据存放。
用户系统与 MemMaster 系统的协议交互命令包括2种类型:Command 和 Response。Command 由用户系统发往 MemMaster 系统,而 Response 为相反方向,由 MemMaster 发往用户系统。具体的实施在第四节中有介绍。
3 系统设计
3.1 系统工作原理
现在,钢丝绳的应用越来越广泛,为了保护人身和财产安全,钢丝绳探伤检测仪器也随之发展起来。目前,钢丝绳探伤检测多以PC机作为检测数据的接收和存储器件,但是这样成本高、携带不方便。在此,运用MemMaster模块实现现场检测数据存储到移动存储器就克服了这些缺点,提高了系统的性价比。系统的工作原理描述如下:检测传感器开始工作时,输出脉冲信号作为控制电路的同步信号,同时检测钢丝绳的三路参数数据(模拟信号)。当控制电路获得同步信号后,启动A/D转换,取得转换结果,系统对数据进行处理后,判断是否有断丝发生,如果有则报警。同时把数据写入移动存储器中在控制电路上电时就建好的文件中,以便将来分析处理。
3.2 系统配置
在此,A/D转化器件采用的是MAX186[3],MAXl86将8通道模拟开关、大带宽跟踪/保持电路、12位A/D转换器和移位寄存器集成到一片20脚双列直插芯片上,消除了传输误差,提高了采样精度和转换精度。它体积小、转换速度快、转换精度高、功耗低、用5V单电源或 V双电源供电,模拟输入可由软件设置为单或双极性和单端或差分两种输入转换方式。它的SCLK引脚作为时钟信号输入, 作为片选信号输入,DIN作为串行信号输入,DOUT作为串行信号输出。
在系统上电时,需要创建接收文件,文件的创建时间由DS1302[4]提供。DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,具有主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。它的I/O引脚作为数据输入输出, 作为复位信号输入,SCLK作为时钟信号输入。
单片机采用的是华邦公司的W78E58B[5],它是8位单片机,内含32KB Flash/EEPROM,其引脚功能与8051系列单片机完全兼容。系统连接图如图1所示。
4 软件设计
为了使各部分硬件电路按一定顺序进行工作,在单片机的程序存储器中固化了用C51编写的应用程序,包括系统初始化程序、时间参数获取程序、文件创建程序、A/D转换程序、报警分析程序、数据写入程序。软件采用模块化设计方式,将各个功能分成独立的模块。其中,A/D转换程序放在中断程序中。程序流程图如图2所示。
4.1 报警算法分析
钢丝绳断丝检测信号为叠加于噪声背景上的局部区域的异常信号。为了能够对断丝进行报警,首先应从检测信号中将它分离出来。根据报警的实时处理要求,提取断丝检测信号的方法应简洁,花费的运算时间短,占据的内存空间小。下面给出一种峰峰值超限法。
峰峰值超限法利用局部异常信号波形的峰谷差值特征进行断丝检测信号的提取。从信号波形来看,检测信号是由大量的局部波峰和波谷构成的,在检测信号的每一微小的局部均将存在着一个完整的峰谷波形信号。峰峰值定义为某一局部峰谷波形信号的峰值与谷值之差的绝对值,当某一局部峰谷波形信号的峰峰值超过门限时,则认为是局部异常波形信号。在基于聚磁的钢丝绳断丝检测中,检测信号波形是一个完整的局部峰谷波形,这是由断丝断口漏磁场的分布决定的,且当选择好聚磁器的结构和检测元件的布置位置时,断丝检测信号将是单一的正峰信号,且信号的峰峰值比邻近的信号波形大得多,因此很容易用峰峰值超限法提取。
设vn,n=0,1,2,3,4,为5个连续的局部极值点,在程序中我们判断:当( (v[1]-v[2])>3*(v[1]-v[0]))&&((v[3]-v[2])>3*(v[3]-v[4]) )&&(v[0]-v[2]>26)&&(v[4]-v[2]>26)时,报警。
4.2 USB数据存储程序设计
在接口使用中已经介绍了用户系统与MemMaster系统的协议交互命令包括2种类型:Command和Response,下面就来具体说明一下Command/Response消息。
上一篇:存储分析
如何解决虚拟环境I/O瓶颈问题
下一篇:移动互联网的技术引擎