您的位置 首页 开关

一种根据嵌入式的USB读写器规划

一种基于嵌入式的USB读写器设计-随着USB技术和闪存技术的飞速发展,移动存储设备的速度和容量日新月异,但在工业控制的上位机和下位机之间,数据传输依然采用传统的串并口技术,特别对一些前端的便携式采集系统,需要采集后临时存储,再拿回来传给作为上位机的PC机进行数据处理,给人们带来很多不变,为此,本文提出了一种方法–利用U盘的便捷特性开发一种基于嵌入式的USB读写器,方便地将采集数据以文件方式写入U 盘,PC机不需要任何特殊驱动便可以完成对数据的处理回放。利用本方法可以彻底解决下位机与PC机之间的数据传输难的问题。

跟着USB技能和闪存技能的飞速开展,移动存储设备的速度和容量一日千里,但在工业操控的上位机和下位机之间,数据传输依然选用传统的串并口技能,特别对一些前端的便携式收集体系,需求收集后暂时存储,再拿回来传给作为上位机的PC机进行数据处理,给人们带来许多不变,为此,本文提出了一种办法–运用U盘的快捷特性开发一种依据嵌入式的USB读写器,方便地将收集数据以文件办法写入U 盘,PC机不需求任何特别驱动便能够完结对数据的处理回放。运用本办法能够彻底解决下位机与PC机之间的数据传输难的问题。

1 硬件规划

体系选用TI公司的MSP430F149作为MCUCypress公司的SL811HS作为USB设备操控器,充分发挥各自优势满意低功耗要求。

1.1 MSP430

TI公司的 MSP430系列单片机是一种超低功耗的混合信号操控器,针对不同的运用而由各种不同的

模块组成,这些微操控器可用电池作业,且运用的时间很长,MSP430单片机具有16位RISC结构,CPU中的16个寄存器和常数发生器使其能到达最高的代码功率,灵敏的时钟源能够使器材的功率耗费最低,数字操控的振荡器(DCO)可使器材从低功耗形式敏捷唤醒,在短于6μs的时间内激活到活泼的作业办法,十分的内/外设和I/O端口资源,端口P1和P2支撑中止唤醒。

1.2 SL811HS

Cypress公司的SL811HS是一款超低功耗的USB主/从设备操控器,主设备或从设备形式由软件操控,USB主/从设备操控器支撑全高速和低速数据传输,内部256字节的SRAM缓存,拜访时地址主动加1,可大大缩短读写指令周期,具有标准的8位双向微处理器总线接口,其间从设备形式下支撑DMA

1.3 硬件体系框图

一种依据嵌入式的USB读写器规划

USB读写器结构框图如图1所示,首要由MSP430F149和SL811HS构成,MSP430支撑串口输入和14位的并口输入,P2.7用作中止唤醒位,P2.6用作标准位区别数据和指令,经过P4口向SL811发送操控信号,P6用作一般的双向总线接口与SL811进行数据交流,P1.1支撑中止唤醒接纳SL811的中止恳求。

2 软件规划

为了使上位PC机能够直接读取该读写器写入U盘的数据,数据存储依照FAT32文件办理办法存储,其间触及USB和UFI协议以及FAT32文件存储格局。

2.1 USB协议

USB(通用串行总线)用于将USB接口的外围设备(device)连接到主机(host),完结二者之间数据传输的外部总线结构,是一种快速、灵敏的总线接口,USB的传输类型有操控(control)、批量(bulk)、中止(interrupt)和同步(synchronous)传输4种,它最大的特点是易于运用,即插即用,首要是用在中速和低速的外设。

操控数据用于在USB接入总线时对其进行装备,其他的驱动软件能够依据详细的运用来挑选运用操控传输,这种数据传输不会丢掉数据。

典型的批量数据包含象运用打印机或扫描仪时所呈现的大数据量的数据,这种批量数据是接连的,经过在硬件中完结过失检测功用,而且有挑选地进行必定的应进重试操作,能够在硬件层次上确保数据的牢靠交流。

由设备自发发生的数据传输是中止数据传输,这类数据传输能够由USB设备在恣意时间建议,而且USB总线以不低于设备阐明的速率进行传输。

同步数据在发生、传送和处理过程中是接连的和实时的,在安稳的同步数据发送和接纳速率中包含了相应的时钟信息,为了坚持守时联系,同步数据有必要依照接纳的速率进行传输。

2.2 BULK_ONLY和UFI协议

USB设备分为5大类,即显示器、通讯设备、音频设备、人机输入和海量存储。一般所用的U盘、移动硬盘均归于海量存储类。海量存储类的标准中包含4个独立的子标准,即CBI传输、Bulk-Only传输、ATA指令块、UFI指令标准。前两个协议界说了数据/指令/状况在USB总线上的传输办法,Bulk-Only传输协议只是运用Bulk端点传送数据/指令/状况,CBI传输协议则运用Control /bulk/interrupt三种类型的端点进行数据/指令/状况的传送。后两个协议界说了存储介质的操作指令,ATA协议用于硬盘,UFI协议则针对 USB移动存储,U盘读写器的规划遵从Bulk-Only传输协议和UFI指令标准。UFI指令块标准是针对USB移动存储而拟定的,它一共界说了19个12字节长度的操作指令。

Bulk-Only业务以主机向设备发送CBW(Command Block Warp)包,并以树立相应的数据传输开端的,设备接纳到CBW包,查看并解说它,企图满意主机的要求,并经过CSW(Command State Wrap)包向主机回来状况信息。

CBW是主机经过Bulk-Out端点向设备发送的指令块包,在CBW中运用方向位和数据传输长度域指明等候的传输,CBW有必要开端于包鸿沟,而且有必要以31字节的短包传输

完毕,相继的数据包和CSW包有必要开端于一个新的包鸿沟,一切的CBW包有必要按低字节在前的次第传输。

CBW包结构如图2所示,各域含义如下:

一种依据嵌入式的USB读写器规划

1)指令块包标识。CBW包符号,标明这是一个CBW包,这个域的值为43425355H。

2)指令块符号。当设备回来相应的CSW包时,有必要使指令状况符号域的值与此值相同。

3)数据传输长度。指明指令履行期间在Bulk端点上传数据的字节长度,假如这个域的值是0,则在CBW和CSW之间设备和主机不传输任何数据,而且设备将疏忽在指令块标旗域中的方向位的值。

4)指令块标旗。方向位规则了Bulk端点数据传输的方向,其他位预留。

5)逻辑单元号。指定指令块被发送到的逻辑单元号,假如设备不支撑多个逻辑单元号,则主机将这个域设置为0。

6)CBWCB长度,界说了CBWCB的有用长度,合法值为1-16。

7)CBWCB。由设备履行的指令,由设备解说。

CSW向主机标明来自于CBW包的指令块的履行状况。设备收到CBW包解析处理后将经过Bulk-In端点发送一个CSW包。

CSW开端于包鸿沟,并以13字节的短包完毕,结构如图3所示,各域含义如下:

一种依据嵌入式的USB读写器规划

1)指令状况包标识。CSW包的符号,标明这是一个CSW包,这个域的值为53425355H。

2)指令状况符号。次域的值域CBW包的指令块符号相同。

3)数据剩余。实践数据传输量与CBW包中规则的数据传输长度的差值。

4)指令履行状况,标明指令成功或失利信息,假如指令履行成功,则设备将设置此域的值为0,非0值;则标明失利或过错。

UFI是针对USB移动存储而拟定的指令块协议,它规则了主机和设备进行信息交流所运用的指令块、数据和状况信息,Bulk-Only传输协议界说了传输这些信息的办法,其间 UFI指令块是封装在CBW包中的CBWCB,设备经过读取CBWCB确认详细要履行何种操作指令(如读指令),怎么完结这个指令(如从闪存的哪个地址读,需求读取的长度),设备将指令的履行状况封装成CSW回来给主机。

UFI用于大多数指令的12字节指令块的描绘,结构如图4所示,其间各参数含义如下:

1)操作指令代码。指明所需求履行的操作指令;

2)逻辑单元号。指明指令将发送到哪个逻辑单元,假如设备只要一个逻辑单元,则此域的值为0。

3)逻辑块地址。指令操作的开端地址。

4)传输长度,指明恳求传输的数据量,一般以“扇区”作单位,但是有几个指令是以“字节”作单位的,关于这些指令,传输长度域能够以不同的姓名标识,若此域的值为0,则外表没有数据需求传输。

5)参数列表长度,用于指定发送到设备的字节数,这个域典型的运用于发送到设备的参数指令块(如形式参数、确诊参数等),若此域的值为0,则外表没有数据需求传输。

6)分配长度,指明主机现已分配的用于回来数据的最大字节长度,若此值为0,则标明没有数据需求传输。

一种依据嵌入式的USB读写器规划

2.3 FAT32

FAT是Microsoft较早推出的文件体系,具有高度的兼容性,现在依然广泛运用于个人电脑尤其是移动存储设备中,FAT由引导扇区、FAT1表、FAT2表、目录和文件区组成(其间FAT2表是FAT1表的备份)。磁盘的办理是以扇区为单位的,而移动存储设备则是以块为单位的,FAT将块映射成扇区,原理相同,FAT将磁盘空间以必定数意图扇区为单位进行区别,这样的单位成为“簇”。一般情况下,每扇区 512字节的原则是不变的,簇的巨细一般是2n(n为整数)个扇区的巨细。所以以簇为单位而不以扇区为单位进行磁盘的分配

,是因为当区别容量较大时,选用512字节的扇区办理,会添加FAT表的项数和大文件存取的耗费,使文件体系功率不高。

引导扇区DBR(DOS Boot Record)一般占用分区的第0扇区,共512字节,FAT表紧随其后。DBR的榜首部分是一个x86跳转指令、厂商标志和操作体系版本号,接下来的从偏移0x0B开端的是一段描绘能够使可履行引导代码找到相关参数的音讯,一般称之为BPB。最终是引导程序代码以及扇区完毕标志。BPB中记录了扇区巨细、簇的扇区数、保存扇区数、FAT表巨细和文件体系类型等重要参数,用于文件的索引和定位核算。

2.4 软件体系模块

USB读写器软件由主模块、USB模块、BULK模块、FAT模块和中止处理模块组成。各模块之间彼此和谐调用,共同完结对U盘文件的读写创立。

USB模块担任检测USB设备的移入/移出,对刺进的设备进行枚举,分配设备地址端点号,装备设备接口端点描绘符,树立BULK_ONLY输入/输出通道,BULK模块则在已树立的BULK_ONLY输入/输出通道发送CBW数据包,并接纳CSW 数据包,经过CBW中嵌入的CBWCB信息确认对U盘读/写操作的扇区方位和巨细,FAT模块首要完结簇和扇区间的索引定位,即在U盘内寻址,运用BPB 中的参数核算给定扇区的地点簇以及进入休眠状况,等候外部中止唤醒。

中止处理模块是在中止唤醒后依据中止类型进入不同功用子模块的,也是整个软件体系的中心部分。中止模块接纳到串口或并口数据后,依据内部指令字要求进行解析,指令字要求如图5所示,串口或并口数据接纳流程如图6所示。

一种依据嵌入式的USB读写器规划

一种依据嵌入式的USB读写器规划

3 运用测验成果

在人工金刚石压力机压力锤头裂纹检测中,选用声发射技能进行实时监控,一旦呈现异常当即停机报警,为了对呈现异常时的数据进一步剖析,需求将现场数据带回研究室。运用依据嵌入式的U盘读写器能够免除现场布线的费事,还能够省去PC机端驱动软件的开发,直接将现场数据写入U盘,方便地运用PC机中装置的MATLAB进行数据的详细剖析处理。

结语

依据嵌入式U盘读写器的规划完结能够方便地将下位机数据存储到一般U盘,彻底解决了工业操控中上下位机之间数据传输难的问题,也为今后其他范畴的运用发明了前提条件,如长途客车中的黑匣子、家庭白叟健康监测,跟着USB技能和闪存技能的进一步开展,该设备运用范畴将会逐渐扩展,市场前景杰出。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/99288.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部