在自动化仪表中使用U盘作移动存储器

gps组合
在自动化仪表中使用U盘作移动存储器
Using USB Drive as Removable Storage Device in Autom ation Instrumentation
邢文生
(焦作大学计算机系,焦作454003)
摘要介绍了在自动化仪表中使用U盘作为移动存储器的一种方法。用U盘代替了传统的存储设备,极大地提高了自动化仪表的使用性及可靠性。重点对系统的原理及传输协议进行分析,给出了硬件、软件的实现方法。
关键词U盘SL811HS SC SI指令Bulk-Only协议文件系统自动变光电焊面罩
A bstract The meth od of using US
B dri ve as removable storage device in automati on i stru men tation is introd uced.The conventional storage device i s re-placed by USB drive,thus the availabili ty and reli ability of au tom ation instrumentati on i s enhanced greatly.The principle of the sys tem and the tran smis-sion protocol are anal yzed emphatically.The implementati on of hard ware and s oftware i s given.
Keyw ords USB d rive SL811HS S CSI in structi on Bulk-Onl y Protocol File system
0引言
随着数字技术的发展,自动化仪表的功能在不断地完善。许多设备要求仪表能够记录数据,并且能够利用计算机高速运算优点来处理记录的数据。过去,仪表设备处理这类问题时,一般通过两种方法:一是在自动化仪表中设计与微机的通信口,二是使用软驱或存储卡。随着移动存储器技术的发展,可以在自动化仪表中使用U盘作为移动存储器。
U盘属于USB设备,具有许多优点:容量大,可以达到115G以上;价格便宜;体积小,携带方便;信息存储在集成块中,抗灰尘能力高于其他存储器,信息不易丢失;传输速度高,可以是115Mbps或12Mbps;即插即用,接口支持热插拔,所有的配置过程都由系统自动完成。
U盘另一优点是,Microsoft Windows系统提供对U 盘的支持,用户可以将U盘插到PC机中,直接对采集到的数据进行分析、处理,极大地方便了用户。
由于上述原因,U盘作为一种新型的移动存储器,在自动化仪表领域有着广阔的应用前景。由于多数数据采集设备、工控机及嵌入式系统等没有安装USB标准接口,使得在USB数据存储方面一直没有很好的解决方案。本文介绍的是用单片机(或者DSP,ARM芯片等)如何读写U盘,从而实现便携式仪器或者嵌入式系统的外挂式海量存储。
1系统设计思想及器件的选择
1.1系统的框图
pgm_430mei图1是本系统的框图。系统主要包括单片机、USB 接口控制器和高速R AM3
个部分。
图1系统框图
单片机实现对整个信息采集系统的控制。USB Host控制器用来控制USB总线接口与U盘进行命令和数据交换。高速RAM,用于数据缓冲,在传输数据时做文件系统的缓存区用。
1.2系统的基本原理
系统的主要原理为USB HOST技术。在USB技术规范中,将使用USB进行数据传输的双方划分为两种角:Host(主端)和Sla ve(从端),并且规定数据传输只能发生在Host端和Slave端之间。U盘是Slave设备,目前很少单片机具有USB Host功能,这样导致U盘无法直接应用于仪表系统中。解决这一问题的根本办法就是在仪表系统中集成USB Host功能模块,使之具有与USB Sla ve设备进行数据传输的能力。
1.3器件选择
单片机选用Atmel公司生产的AT89C52,片内集成有8k ROM,256Bytes R AM,与51系列完全兼容。
高速SRAM存储器选用2764。如果系统选用的单片机(例如AR M7)有4k以上的缓存就可不用RA M。
USB HOST接口芯片选用Cypre ss Semic onductor生产的SL811HS[1]。该芯片的特点,是它支持USB111协议,片内集成有256Bytes RAM,有与微处理器兼容的
5自动化仪表6第25卷第11期2004年11月
I/O口。SL811HS是一个双任务端口,可配置成支持全速和低速USB器件的USB主机或外设。通过SL811HS 接口,使单片机能够与各种USB Slave设备进行通信,它适合于非PC设备。
SL811HS芯片共有28个引脚(如图2所示),各引脚的功能描述如下:
V D D引脚端接313V的电压;GND引脚是接地端;引脚1是控制选择数据区或内部寄存器的选择控制端;引脚6是片选端,低电平有效;引脚4是读使能端,低电平有效;引脚5是写使能端,低电平有效;引脚7决定系统时钟是否乘以4倍;引脚9、10是输出到USB设备的高低信号端;引脚13、14端接48MHz晶振或有源晶振;引脚15是复位端,低电平有效;引脚16是中断请求端,当SL811HS传输完数据后产生高电平;引脚18、19、20、21、23、24、25、26是数据(地址)总线,与微处理器连接;引脚27决定芯片工作在USBSlave状态或USB Master 状态。
图2S L811HS芯片2硬件电路的实现
硬件电路如图3所示。
图3硬件接口电路
SL811HS的D0~D7接单片机的P0口;MS接高电平,使系统工作在USB Master状态;CM接低电平,使系统工作在48MHz;A0、nWR、nRD、nCS、INTR
是控制信号,直接与单片机的I/O口相连。nRST与单片机的RST端都接系统的复位电路。本系统中,SL811HS使用48MHz的有源晶振。DA TA+、DATA-是接U盘的高低信号端,需连接228的电阻。
单片机使用12MHz的晶振。2764、74LS373是RA M 和锁存器,共同完成单片机数据存储器的扩展。
SL811HS的电源的电压是313V,U盘电源的电压是5V。USB接口支持热插拔,需要加电流保护芯片。3单片机读写U盘的实现
硬件正确连接后,单片机可以通过USB HOST与U 盘通信。系统工作于命令/响应方式下(在协议中响应也被称为命令),首先由仪表的单片机发现命令, SL811HS和U盘再根据该命令进行相应处理后,向用户系统返回相关的响应,该命令即完成。这一过程可以重复进行,以此实现整体系统的工作。单片机读写U盘的实现,需要了解USB基本知识、SCSI命令集、FAT文件系统和Bulk-Only协议。
3.1U盘的文件系统[3]
U盘必须被格式化后才能被Windo ws操作系统识别。格式化后,U盘上的数据按照其不同的特点和作用大致可分为MBR区(主引导记录区)、DBR区(系统引导记录区)、FA T区(文件分配表区)、FDT区(文件目录表区)和D ATA区(数据区)。
由于仪表对U盘的操作要求只是能够读写,为了编程方便,可以先将U盘在Windows操作系统中格式化。格式化后的U盘已经建立好上述的文件系统,仪表中的单片机就可以通过SL811HS对U盘进行操作,包括建立文件、删除文件、顺序地写文件、随机地读取文件。
3.2Bulk-Only协议及CBW包
U盘设备插入到USB后,USB Host即对设备进行搜索,并要求设备提供相应的描述符。在USB Host得在自动化仪表中使用U盘作移动存储器邢文生
到上述描述符后,即完成了设备的配置,识别出为Bulk-Only的Mass Storage设备[2],然后即进入Bulk-Only 传输方式。
在这种传输方式下,有(CBW、CSW和普通数据)三种类型的数据在USB和设备之间传送,CBW(co m-mand block wrappe r,即命令块包)是从USB Host发送到设备的命令,命令格式遵从接口中的bI nterfac eSubClass 所指定的命令块,这里为SCSI传输命令集。USB设备需要将SCSI命令从CBW中提取出来,执行相应的命令,完成以后,向Host发出反映当前命令执行状态的CSW(command status wrapper),Host根据CSW来决定是否继续发送下一个CBW或数据。Host要求USB设备执行的命令可能为发送数据,则此时需要将特定数据传送出去,完毕后发出CSW,以使Host进行下一步的操作。
USB Host按照下面的格式向设备端发送CBW,其中43425355h(LSB)表示当前发送的是一个CBW;dCB-W Tag的内容需要原样作为dCBWTag再发送给Host; bmCBWFlags反映数据传输的方向,0表示来自Host,1表示发至Host;bCBWLUN一般为零,但当设备有多个逻辑单元的时候,用此位指定本次命令是发给谁的; bCBWCBLength为本次命令字的长度;CBWCB即为真正的传输命令集的命令。得到一个CBW后,解析出CB-WCD中所代表的命令,然后按SCSI命令集中的定义来执行相应操作或是
需要接收下一个Bulk-Out发来的数据,或是需要向Host传送数据,完成以后需要向USB Host发送CSW,反映命令执行的状态。USB也是通过此来了解设备的工作情况的。
3.3SCSI指令集
USB是随机存取、基于块/扇区存储的设备,接口遵循SCSI-2标准的直接存取存储设备(direct access stora ge device)协议。
表1CBW格式
字节值字节值
0~343425355h13b CBW LUN
4~7dCBW Tag14命令字的长度
8~11要传输的数据15~30CBWCB
12bmCBWFlags
SCSI-2有6位、10位和12位3种字长的命令, Microstoft Windows环境下仅仅支持12位字长的命令。Bul
仿真海枣树k-Only的CBW中的CBWCB中的内容即为SCSI-2命令块描述符(c ommandblock descriptor)。
SCSI指令集的Direct Accesss类型存储介质的传输命令有许多,常用命令如表2所示。
表2常用命令
CSI-命令描述操作码功能描述
In qui ry12h获取U盘信息
Test Un it Ready00h测试U盘是否准备好
Mode S ense1Ah HOS T获取M ODE参数
Preven-t Allow Med iu m
Removal
1Eh禁止或允许移走U盘
软硬共挤Read1028h从U盘传输二进制数据到HOS T
Read Capaci ty25h获取U盘的容量
Veri fy2Fh检查数据
Write(10)2Ah从HOS T传输二进制数据到U盘
对于不同的命令,其命令块描述符略有不同,其要求的返回内容也有所不同,根据相应的文档,可以对每种请求作出适当的回应。
3.4单片机写U盘的实现
Cypress Se miconduc tor公司已经在公司的网站上发布了关于SL811HS的基本操作程序,用C语言编写。单片机发出CBW命令包,通过SCSI-2的READ(10)或Write(10)命令块描述符从Flash中相应扇区读取数据,或是将特定长度的数据写入Flash相应簇中。
初始化的操作过程如下:
U盘插入USB接口y单片机读取Host SL811HS信息y获得U盘参数y单片机设置SL811HS的寄存器值。
向U盘写数据的操作过程如下:
读完U盘的一切描述符后,计算出U盘逻辑扇区地址y将SCSI指令Write(10)等信息封装成CBW y单片机将CBW命令包发出y单片机发出读取命令y读取SL811HS的寄存器值y单片机读取CBW信息来判断当前命令执行状态。
4软硬件设计应注意的问题
对于HL811HS系统的开发主要有以下几点请注意:
¹电路稳定性。即系统的抗干扰能力,推荐用103pF电容,228电阻等,可以用示波器看看输出信号的噪声大小。
º晶振的选择。最好使用外接48MHz有源晶振,这样能大大提高通信的稳定性。
»U盘的兼容性。即对各种U盘兼容的能力,通常产品不能兼容所有的U盘。
(下转第34页)
如可设置最大I/O输入输出分别为128个字节。另外在GSD文件中,更改配置报文时要注意,能改的只是I/O配置的数据,总长度是固定的。配置过程如下:初始化时先给校验数组cfg akt fb[]和read c fg buffer中赋配置数据,然后根据read cfg buffer中的配置数据对I/O buffer进行实际配置。当产生ne w c
fg data中断(发3E/3E)时,配置数据送入c fg buffer中,先进行长度校验,若不等产生错误中断,若相等,将用于校验的配置数据(c fg akt fb[]中)与主站发来的配置数据(cfg buffer中)逐一比较,若全同跳出中断,若不同,修改校验数组c fg akt fb[],重新配置I/O buffer,交换re ad cfg buffer和cfg buffer。
5结束语
Profibus是世界上最著名的工业现场总线之一,并已为愈来愈多的国内外用户所接受和采用。本总线桥产品的开发,使用户可以方便地将具有RS-232接口的传统仪器设备集成到Profibus总线系统,成为一种符合Profibus总线协议的新产品。
参考文献
1张冈,陈幼平,谢经明.基于现场总线网络化智能传感器研究.传感器技术,2002,21(9):8~10
2满庆丰,韩锋,夏继强.开发Profib us-DP智能从站.电测与仪表, 2003,40(3):37~40
3Sie men s.S PC3an d D PS2User Descrip ti on.Siemens A G in Fed Rep of German y,1998.
4JB/T10308.3-2001eq v IEC61158Type3-20000.测量和控制数字数据通信工业控制系统用现场总线第3部分:Profibu s规范.
收稿日期:2003-08-03。
第一作者张永德,男,1949年生,副教授,硕士生导师;主要研究方向为现场总线及控制系统的集成。
(上接第19页)
未来的工业控制领域中,MOXA多串口卡将与串行通信技术一起,推动工业控制技术的不断向前发展。
参考文献
1MOXA C168P User.s Manu al
2松下温控仪通信指令手册.Nati on al松下电工株式会社
3Microsoft MSD N Library Vi sual S tudi o.Microsoft Corporation 4三菱P LC用户手册
5范逸之,陈立元.Vi sual Basic与RS-232串行通信控制.中国青年出版社
收稿日期:2003-09-09。
第一作者柯伯乐,男,1980年生,2002年获上海海运学院学士学位, 2004年获上海海运学院硕士学位;主要从事通信协议的开发和研究。
网络流量统计
(上接第24页)
5结论
U盘作为一种新型的移动存储器,可以方便地实现自动化仪表的无纸记录,在自动化仪表领域必定有着广阔的应用前景。
参考文献
1Cyp res s Semicondu ctor Corp oration S L811HS Embedd ed US B Host/Slave Con troller.20022Univerasl S erial Bus Mass Storage Class UFI Command S pecificati on.
1998
3Mi crosoft Corp oration Micros oft Extensib le Fi rmware Initiative FA T32File S ys tem Specification.2000
4Don And ers on.US B系统体系.北京:中国电力出版社,2001
收稿日期:2004-3-22。
作者邢文生,男,1969年生,1992年获河南师范大学学士学位,现为河南理工大学在读硕士研究生,讲师;研究方向为计算机和数字控制。
恩德斯豪斯流量仪表技术有限公司落户苏州
本刊讯投资总额已达400万欧元的恩德斯豪斯流量仪表技术有限公司于10月28日在苏州工业园落户开业。国家质量技术监督检验总局、上海市质量技术监督局和江苏省及苏州市质量技术监督局的有关领导,瑞士驻上海总领事、瑞士中国工商联合会主席、瑞士恩德斯豪斯集团总裁、恩德斯豪斯流量技术股份公司董事长以及苏州市委和工业园区管委会领导等出席了开业典礼。
位于瑞士Reinach的恩德斯豪斯流量技术股份公司是世界上各类现代工业流量计最大供应商之一,其产品范围包含了科氏质量流量计、涡街质量流量计、超声波流量计、电磁流量计系统等,主要应用于液体、气体及管道蒸汽系统的流量测量和控制。
恩德斯豪斯流量仪表技术(苏州)有限公司是专门按照生产流量仪表的特殊要求而设计和建造的。据悉,由于中国市场潜力巨大,恩德斯豪斯集团计划从明年起还将在苏州相继建立液位压力仪表和工业分析系统两家生产基地。

本文发布于:2024-09-21 23:24:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/129396.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:U盘   系统   命令   数据   单片机   设备   仪表
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议