数据采集论文实用13篇

数据采集论文
数据采集论文篇1

1.2复杂查询接口查询构造方法不同于简单查询接口,复杂查询接口包含两个或多个输入项,对于表单中的选择输入项(如select,radio,checkbox)其输入值是确定的,但是文本输入项(如text)的值则是无法确定的,文本输入项可能只接受数值类型的输入值(如商品价栺)也可能只接受区间类型的输入值(如日期),而且表单不同的输入项乊间可能存在关联关系。值得注意的是,复杂查询接口并不一定为所有的输入项都准备输入值才能获得查询结果,因此,对复杂查询接口迚行查询构造时,首先需要确定输入项的值域或约束,然后选择迚行查询构造的输入项并为其准备输入值,生成表单查询实例。HiWE[17],DeepBot[18,19],基于属性值图的方法[20],基于查询模板的方法[21],基于本体的方法[22-24]等则属于此类工作。HiWE[17]是一面向特定领域(仸务)的采集方法,该方法需要人工提供领域属性及属性取值集合,并且通过查询接口属性集合与领域属性集合的相似性刞断,自动选择领域相关的查询接口;接着利用人工提供的属性取值填充表单,生成表单查询;然后迚行DeepWeb数据的采集,并根据采集经验利用表单选择输入项素的取值更新属性取值。但是该方法没有考虑自动为文本输入项产生新的查询词,只能依赖人工提供的知识。不同于HiWE,Wu[20]提出一基于属性值图的查询构造方法。该方法将基于查询的DeepWeb数据采集建模为图的遍历问题:定义基于属性值的图模型,将一个结构化的Web数据库看作是一个单一关系的数据表,每个属性值为图中的一个结点,边为两个不同的属性取值在一个数据实例中的共现关系。该工作得出结论认为结构化的数据库属性值图中结点的度分布与幂律分布(powerlaw)相似,并以此为依据采用贪心选择策略选择度大的结点生成表单查询。但是该方法需要将每一次的查询结果更新到已有的属性值图中,然后选择下一个新的待提交的查询词,这方法更新属性值图的代价较高。DeepBot[18,19]是一个基于浏览器内核开发的DeepWeb数据采集的框架,它与HiWE类似,都采用面向特定领域的方式。DeepBot接受一组领域定义集合作为输入,自动识别与该集合相关的表单;然后利用领域定义集合为匹配的表单素赋值,生成表单查询。其中,领域定义集合用于定义采集仸务。该方法通过领域定义与表单乊间的相似度计算自动选择匹配的表单,许表单素和领域定义乊间存在不完全匹配的情况。DeepBot采用浏览器内核解决网页客户端浏览器脚本解析问题,但是该方法完全依赖人工提供的领域定义集合,不能自动产生新的查询词。为此,Madhavan[21]提出了一基于查询模板的DeepWeb数据自动采集方法,该方法自动刞断查询接口中输入素接受的数据类型,选择查询接口中的输入项的一个子集作为约束项构造查询模板。在约束项乊间利用笛卡尔积的形式产生不同的查询请求。约束项的取值有两方式确定:对于选择输入项,则利用查询接口提供的取值集合;对于文本输入项,首先利用表单所在页面的信息构造刜始候选词,然后从查询结果文档中提取额外的关键词更新候选词列表,重复该步骤直到不能提取新的关键词为止或是达到停止条件,最后将这些查询词作为该文本输入项的取值集合。该方法通过表单查询返回结果验证查询模板的有效性,并且采用自底向上的有效模板的增量式算法构造查询模板。虽然该方法能够自动实现DeepWeb数据查询请求的生成,但是对于包含多个输入项的查询接口来说,其对应文本输入项取值集合的确定,查询模板有效性的验证过程复杂,导致DeepWeb数据采集的效率较低。基于本体的查询构造方法[22-24]与上述方法不同,该方法通过本体直接定义查询接口中每个素的类型和取值以及素乊间的依赖关系,将本体作为输入直接生成表单查询。[22]是一针对语义网环境的DeepWeb数据查询方法。[23]是一基于本体的属性自动抽取和查询转换方法,该方法将WordNet作为本体,利用本体在DeepWeb数据中加入语义层实现表单查询的生成。[24]是一基于面向实体DeepWeb数据查询的方法,该方法将Freebase作为本体知识,利用本体和查询日志(querylogs)产生实体查询,用于DeepWeb数据的采集。但是基于本体的方法与HiWE和DeepBot类似都依赖外部的人工指定的输入信息,自适应性差。

2DeepWeb数据采集查询构造方法分析

仸何一查询构造方法的一个非常重要的特征是其自动化程度,这是指在查询构造过程中需要用户完成的工作量。除此乊外,由于DeepWeb数据面向的领域广泛,类型多样,因此,查询构造方法最需要具备扩展性,如:在DeepWeb数据源的类型或领域发生变化时,该方法仍然能够正常工作。本节从支持的查询接口提交方法,查询词提供方式,自动化程度,扩展性角度对比分析目前已有的查询构造方法。表1是目前已有的查询构造方法定性比较的结果,在自动化程度一列,“AUTO”表示完全自动、“SEMI”表示半自动、“NO”表示人工完成。在扩展性方面,划分为三个层次,分别用“好”、“中”、“差”表示使用相关方法或工具的可扩展程度。基于表层化方法的DeepWeb数据采集的目标是以最小的查询数量达到最大的DeepWeb数据覆盖率,因此,构造的表单查询的好坏直接影响目标的实现。虽然已有的查询构造方法能够表明确实可以使大量的DeepWeb数据内容对用户可见,但它也存在一些局限性,如表2所示。从表1可以看出,这些查询构造方法只能处理提交方法是GET类型的DeepWeb数据库,不能应用于使用POST方法的DeepWeb数据库。除此乊外,从表2可以看出,已有的查询构造方法都存在不同程度的局限性。通过对相关工作的分析可以看出,目前,缺少一能够同时处理GET和POST提交方法,具备自动,可扩展应用到不同领域的表单查询构造方法。因此,DeepWeb数据采集的查询构造方法仍然需要做迚一步的研究。表层化的方法通过向DeepWeb数据的查询接口提交查询把数据从DeepWeb数据库中挖掘出来,得到的DeepWeb数据可以用于构造以数据分析和挖掘为目的的各应用或是数据集成应用。利用该方法迚行DeepWeb数据采集有以下优点:(1)该方法能够无缝的集成搜索引擎爬虫,不需要对搜索引擎爬虫做改动就可以实现DeepWeb数据的采集;(2)基于表层化方法的DeepWeb数据采集系统可以将对应的DeepWeb数据库的数据保存到本地,这样可以根据需求对得到的DeepWeb数据迚行预处理,如:连接来自不同DeepWeb数据库的数据,初除重复内容等;可以为DeepWeb数据预先创建索引,以便快速响应用户查询请求;(4)该方法可以使从DeepWeb数据库得到的内容和从SurfaceWeb得到的内容以相同方式采集。虽然基于表层化处理方式的DeepWeb数据采集方法确实可以使大量的DeepWeb数据内容对搜索引擎用户可见,但它也存在严重的局限性。(1)有很大一部分DeepWeb数据库的内容无法通过现有的DeepWeb数据采集技术爬取到,原因在于,目前的表层化处理方法只能处理查询接口的提交方法是GET类型的DeepWeb数据库,不能应用于使用POST方法的DeepWeb数据库;(2)该方法对保持采集的DeepWeb数据库的数据的时新性(datafreshness)非常困难,因为DeepWeb数据库的内容是动态,多变的,搜索引擎爬虫可能无法跟上快速变化的DeepWeb数据。表层化的方法面临的最大的挑战是如何为DeepWeb数据库的查询接口选择合适的查询,这涉及到两个主要问题:第一,需要为查询接口中的各表单输入项找出合适的输入值,对于表单中的选择输入项(如下拉、单选、多选等),它们的输入值是已知的,可以直接利用查询接口中提供的取值即可,但是对于表单中的文本输入项,则需要为其预测合适的输入值;第二,必须控制向查询接口提交查询请求的数量,以免对DeepWeb数据库的提供商(DeepWeb数据所在站点)带来不合理的负载。通过对表层化方式的DeepWeb数据采集方法分析,我们发现现有的表层化方法在解决DeepWeb数据采集的难题时,也存在不同程度的局限性,这导致现有的DeepWeb数据采集方法难满足大数据的规模性,多样性和高速性的特点,因此如何克服现有DeepWeb数据采集方法的局限性,在现有方法的基础上做出迚一步改迚是未来需要研究的问题。

数据采集论文篇2

为充分实现EPP模式的高速特性,外设应当及时响应EPP的握手信号,当数据采集系统工作于非实时多任务的WIN98操作系统环境下,为实现数据高速、均匀性采样,还需要在外设配置必要的数据缓冲存储器。如果数据采集速率低于EPP模式数据读入平均速率,就可能实现数据的连贯有效性。有资料[1]说明在EPP模式,可实现500kBytes/s以上的传输速率,这表明通过EPP模式,可以实现500ksps的数据采集系统。通过对EPP模式的深入实验分析,发现要实现500ksps,外设硬件及微机软件程序均要采取一些策略:硬件上必须配置FIFO数据缓冲存储器,才能协调数据采集严格的时间间隔要求与数据传输给微机的非实时、非均匀性之间的矛盾;软件程序方面应当采取双字读的方法,否则EPP模式下仅能实现250kBytes/s数据读取可行性。

1EPP模式读取速率的实验分析

图1为实验EPP模式读取速率的电路,实验程序为

Delphi结合内嵌汇编语言,涉及EPP读取的关键代码如下:

FUNCTIONREADDATA:BYTE;

VAR

STARTTIME,STOPTIME,DELAY:INT64;

NUMBER:LONGWORD;

QUERYPERFORMANCECOUNTER(STARTTIME);

FORNUMBER:=0TO999999DO

BEGIN

ASM

MOVDX,$37C

INAL,DX

MOVRESULT,AL

END;

END;

QUERYPERFORMANCECOUNTER(STOPTIME);

DELAY:=STOPTTIME-STARTTIME;

END;

此为循环1000000次读取EPP数据口程序,循环仅为方便用计时及示波器观察而设,并在执行前后分别读取系统计数值,DELAY值除以1.2后为执行花费的时间(单位为微秒),执行前先通过对地址379H的D0位写入高,使该位为低(注意:对该位写入低通常不能达到使该位变为低的目的,只有采取写入高才能使该位变为低),以清除EPP超时位,当A、B点均为低时,可实现最快的EPP握手,若A为高、B为低时,由于EPP周期开始时满足WAIT为低的要求,EPP自动在DATASTB处输出低,但因WAIT没有出现表示应答的高状态,EPP在延时10μs后,将DATASTB恢复为高以结束该次EPP访问过程,并置超时位。稍后因WAIT为低再次开始一次EPP访问过程,如果B为高,则WAIT为高,不能满足EPP的开始条件,故DATASTB保持为高,EPP在延时10μs后结束该次EPP访问过程,并置超时位。在发生超时情况下,数据仍然可正确读入

(这一特性与笔者所查资料[1]有出入),此结论可通过对比循环前后时间差来及实际读入数据值证实。

注意程序循环中并未执行清除EPP超时位的指令,根据笔者实验,即使已发生EPP访问超时,也不影响下一次的EPP读周期(包括对37BH的地址读及对37CH的数据读),但超时对EPP写周期有影响,在清除超时位之前,EPP写周期无效(因本文不涉及EPP写周期的内容,此处不再展开探讨)。在图2所示意波形中,当有正确握手的EPP读周期执行时间约为1.5μs,此时间是字节模式下一次有效EPP访问所需最短时间,在这段时间内,“INAL,DX”这一条指令占据了约90%以上的访问时间,验证此点仅需临时屏蔽“INAL,DX”指令,并比较所花费的时间差别即可。1.5μs相当于接近700kBytes/s的数据读速率。如果以“INEAX,DX”替代“INAL,DX”指令,可以充分利用EPP模式下硬件将4个8位数自动合并为1个32位数的特性,在一次I/O访问中由硬件自动产生4个DATASTB负脉冲从而实现4个字节的输入。因为一次字节模式的I/O访问所费时大约间需要1.5μs,减少这类指令的执行次数有利于实现更高速的EPP访问过程,经实验发现以4字节方式访问的EPP过程可以在3.2μs内读取一次,即平均每字节需0.8μs,相当于1.2MBytes/s,此实验结果是基于外设可以连续不断的输送数据理想前提,实际上要实现有效的数据传输,可得到的速率要低于该值。

2WIN98下高速EPP接口的构成

在WIN98环境下,由于非实时多任务的特性,运行于RING3的应用程序频繁作系统打断,这决定了靠软件无法实现连续均匀的数据采样,只有在硬件上配置数据缓冲存储器并及时传入微机以免数据缓冲存储器溢出。只要保证一定深度的数据缓冲存储器,且满足数据传输平均速率大于数据采样速率,就能将所采集的数据传入微机的大容量内存,以备处理。在硬件构成方面,为以较低代价获得大容量的FIFO数据缓冲存储器,采取CPLD器件结合512KB的SRAM方式,实现,由CPLD器件完成读写控制的FIFO特性及EPP模式的应答握手信号。接口结构及CPLD内部功能模块见图3所示,数据在CPLD控制下,以2μs的固定速率存入SRAM环状连续增量地址,因为EPP模式读取速率与数据采样的固定速率是异步的,控制逻辑为保证2μs的固定采样速率,当采样时间点到达时,不论当前是否处于EPP应答处理期间,优先执行数据采样,因为处理是在系统时钟脉冲驱动下的硬件行为,仅存在固定的传输延时,故两次采样间隔是严格保证的。

EPP模式的读取平均速率必须高于数据采样速率,一旦FIFO数据读空必须让微机正确处理,由前述实验可知,每次字节方式I/O执行时间约为1.5μs,如果通过在EPP的状态口(379H)的保留位输入代表FIFO读空的信号,则每完整读取均要执行两次I/O指令:EPP数据读及EPP状态读,至少需3μs完成读取一个字节,这也是通常方式能达到的最快有效读取速率。当采用双字读读及EPP状态读的方式时,需4.8μs完成4个数据字节读取,但此方式需要处理的一个问题:由于双字方式EPP数据读由硬件自动产生4个EPP数据读周期,当其执行完毕,执行EPP状态读发现FIFO已空,微机软件无法判别在从第几个EPP数据读周期开始FIFO为空,从而影响对数据队列的正确排序,故CPLD逻辑应当在FIFO队列还有至少4个未读数据时必须发出读空信号,微机程序应当在每次EPP开始前执行读取状态口的指令,以决定是否可以开始EPP数据读周期,从上分析可以看出为实现有效的EPP数据读取,平均每字节至少需要1.2μs,即可

以获得最快约800kBytes/s的数据传输速率。因500ksps的数据采集设计速率仅略低于800kBytes/s的数据传输速率,考虑WIN98工作环境,配置大容量的FIFO十分必要,采用大容量SRAM与CPLD器件构成FIFO,具有成本较低的优点,通过使用VHDL的行为描述,经CPLD器件开发软件的编译、综合、仿真、适配、下载,实现所需要的控制逻辑。根据设计,当数据锁存输出的下一个时钟脉冲(即83ns后),WAIT将输出为高电平,EPP在此时读取数据口信号,如果不采用外部缓冲驱动器,数据上升过程将耗时80ns,对EPP数据接收可靠性有不容忽视的影响,为减小电缆电容的影响,数据输出使用了74ALS574芯片作缓冲,其高电平输出能力达15mA,是ispLSI1032高电平输出能力的3.5倍,在电缆电容有100pF时,23ns可达到3.5V的逻辑高电平,保证数据接收可靠性。

数据采集论文篇3

2.1系统功能设计软件设计是整个系统设计的核心,软件设计部分采用层次化和模块化思想,将整个系统划分分若干模块,模块化的程序结构不但使整个系统清晰明了,而且方便进行程序维护.基于LabVIEW的数据采集系统软件结构如图2所示.该系统软件部分包含了系统启动、用户登录、系统菜单、数据采集、数据处理、数据回放6个功能模块.

2.2系统界面设计本文针对6个功能模块分别开发了相应的界面.

2.2.1系统启动界面系统启动界面如图3所示.它包含了简单个人信息,绿色横条是系统启动条,显示启动进度,系统100%加载成功后,单击进入登录界面按钮可以跳转到用户登录界面,单击退出启动界面按钮则直接退出系统.

2.2.2用户登录界面用户登录界面如图4所示.它要求输入用户名和密码,功能是进行身份认证,认证通过后显示登录成功,一旦登录成功会自动进入到系统菜单界面,如果不能通过认证,只能通过退出按钮来退出系统.

2.2.3系统菜单界面系统菜单界面如图5所示.它由一列按钮构成,菜单程序运行后按钮被激活,分别单击数据采集、数据处理、数据回放按钮可跳转到对应界面,单击退出按钮返回到菜单按钮被激活前状态.

2.2.4数据采集界面数据采集界面如图6所示.它模拟实现了两路信号的采集,一路是电压信号,一路是温度信号.信号选择开关用于进行信号选择,通过信号选择开关既可以采集单路信号数据,也可以同时采集双路信号数据.针对温度信号设计了温度表盘,可精确显示温度值,另外还设定了温度下限和上限值,将温度限定在一个范围内,一旦超出这个范围,报警指示灯就会亮起来.数据采集界面包含了一些基本参数设置,此外还有返回和暂停两个按钮,单击暂停按钮,系统暂停连续采集数据,暂停中状态表现为数据信息停留在某一刻,单击返回按钮,可返回至系统菜单界面.李琳芳等院基于LabVIEW的数据采集与处理系统设计

2.2.5数据处理界面数据处理界面如图7所示.它包含了电压和温度两路信号,对电压信号分别进行了滤波、频谱分析、峰值压缩,对温度信号进行了均值压缩.此外还有温度表盘、一列选择开关、系统参数配置信息、暂停和返回按钮.滤波处理是信号处理中常用的一种手段,对于滤波处理,观察图7,可发现滤波后的电压信号清晰平滑,便于观察.频谱分析主要是求出信号的频域描述,有助于更全面地认知信号信息,进行信号特征提取.根据奈奎斯特准则,信号带宽小于采样频率的1/2,便能防止出现频谱混叠现象,恢复出原始信号,本文设置采样频率为1000Hz.观察图7发现电压幅度谱主要集中在0~50Hz,这是因为在实际工程中,为了恢复出高保真信号,要求信号带宽小于采样频率的1/10,加之软件仿真环境理想,因此信号幅度谱主要处于50Hz频段内.压缩采样是利用算法在保留信号信息的同时进行压缩处理,压缩处理可缩减数据体积,有利于传输.本文对电压信号进行了峰值压缩,对温度信号进行了均值压缩,设置压缩因子均为10,即对于电压信号,每10个采样值中标记出最大值,对于温度信号,每10个采样值中标记出平均值.电压信号峰值压缩后方便获取峰值信息,温度信号均值压缩后方便获取平均温度.

2.2.6数据回放界面数据回放界面如图8所示.可以读取之前存储的数据,实现数据再现.通过文件路径找到之前数据所在位置,并通过选择开关按钮选择回放的信号,接着运行系统回放程序,便可观察回放的数据.数据回放界面包含了电压和温度两路信号的回放,回放的数据结果以波形和表格数值两种形式呈现.观察图8发现在电压和温度波形始端有段空白区域,这是由于之前存储的文件中包含一些非数值的说明信息,是不能够被读取的.

数据采集论文篇4

2利用电子邮件进行数据采集的方法

2.1制作一份直观的引文用户在阅览电子邮件的时候,一般喜欢邮件能够直入主题,用电子邮件的方式发放问卷时,如果客户不了解自己到底需要干什么,他们可能就不会再关注这封邮件。所以在使用电子邮件采集数据时,需先设计一个直观的、友好的引文,让客户了解自己可以做些什么。比如以图1为例,它表明回答问卷的方式很简单,只需要占用客户几分钟的时间,客户只需要点几下鼠标就能完成问卷,客户就会认为自己可以在工作、闲暇之余配合做调查问卷,于是就会尝试阅读接下来的内容。

2.2制作一份友好的问卷

2.2.1界面友好在使用电子邮件采集数据的时候,试卷设计人员需了解到,人们使用电子邮件是因为接受电子邮件方便、快捷的服务方式,他们不希望自己在处理一份电子邮件,特别是一份与自己本身利益无关的电子邮件上耗费太多的时间。如果用户觉得自己要花费很多力气才能做完数据调查问卷,他们就会放弃配合数据采集。为了提高用户的参与性,试卷设计人员要尽量将调卷设计得直观化。比如参看图2,如果试卷设计人员能够用窗体化的方式设计试卷,让用户直接用做选择题的方式回答问卷,用户就会乐于回答。

2.2.2行文友好在设计试卷问题的时候,如果试卷出现问题叙述不清或者答案叙述不清的时候,用户就会不了解自己应当如何回答,他们就有可能放弃回答问题,或者随便选择一个答案当作回答。要确保调查数据采集的有效性与准确性,试卷设计人员在设计问题时,要用准确的、明晰的语句提问,且需准确的给出问题的答案。以图3为例,它的问题为请说明你所在的岗位。它列出的答案有4个,然而用户可能工作的岗位在这四个范围以外,如果试卷要求客户补充答案,客户就会觉得回答这个问题太麻烦,他们可能会因为不愿意打字而不愿意继续完成问卷。为了准确的采集数据,试卷设计人员需给出更多种类的答案,以该问题为例,它可以添补部分常见的工作岗位,而部分冷门的答案不需要特别作统计时,可以用“其它”这一个答案来概述。

2.2.3版面友好在设计问卷的时候,如果试卷出现版面局促、布局不合理的现象;颜色过于杂乱,让用户心情烦乱的现象,用户就可能会因为觉得做调查问卷不愉快,从而不愿意接受数据采集。为了让客户愿意耐心的阅读调查问卷中的文字、愿意积极的配合数据采集,问卷设计人员要做好排版设计、颜色设计这两项工作。以图4为例,它将背景色计为简洁的白色,使用窗体的方式引导用户回答问题,这种问卷设计非常接近用户浏览网页的习惯,用户会因为习惯这种设计而接受数据采集。

2.3制作一份简洁的尾页用户做完问卷以后,会想了解自己应当怎样处理这份问卷。如果没有一份简洁的、具有引导性的尾页,客户会因为回答问题后不知道怎样处理这份问卷而随意的处理答案。为了便于客户了解应当如何处理数据采集的问卷,问卷设计人员要设计一份简洁的尾页。以图5为例,它提供用户重新回答问题的机会、结束并完成数据采集的机会、将该问卷保有在计算机设备中的机会、将该问卷打印保存的机会等。问卷的尾部给予简洁、优质的服务,同时给予用户一个真诚的感谢,会让用户愿意接受下一次的问卷调查。

3利用电子邮件进行数据采集的要点

3.1利用电子邮件的速度电子邮件具有高速、便捷性,要利用电子邮件做好数据采集工作,就要利用电子邮件的高速性。从以上电子邮件的问卷调查设计中看到,它的问卷设计要时时处处为客户考虑到快捷性的体验。这包括问卷设计的内容不能太多、太长,否则用户会失去协助数据采集的耐心;问卷设计要友好直观,让用户能一眼明了自己正在接受怎样的数据采集,自己需要用怎样的方式配合等;问卷设计的回答方式要便捷,为了提高数据采集的速度,问卷设计人员要尽量使用是非题、选择题等采集数据。

3.2利用电子邮件的成本如果使用电子邮件问卷以外的调查方式,数据采集人员需额外的支付各种资金。然而如果使用电子邮件调查的方式,它几乎等于零成本。然而正因为电子邮件数据采集的方式成本几乎等于零,这就意味着数据采集人员需了解自己到底需要采集怎样的数据,然后有针对性的发放问卷。如果数据采集人员没有事先作好客户范围规划,将有可能收到大量的无效邮件,它反而造成数据资料统计的低效性。

3.3利用电子邮件的范围在做电子邮件的数据采储时,数据采集人员需了解使用电子邮件人群范围的思维习惯。经统计,我国绝大部分的网民对陌生人邮寄来的电子邮件兴趣不大,他们担心开启陌生人寄出的电子邮件会感染上病毒,这会造成电子邮件数据采集的低效性。目前会经常使用电子邮件的人群一般一青年学生、企业白领、商务人员、公务人员为主,这会造成数据采集范围的狭窄性。如果数据采集人员能了解电子邮件使用人群的范围、掌握他们的思维习惯优化电子邮件数据采集问卷,将能取得良好的数据采集效果。

3.4利用电子邮件的反馈与其它的数据调查方式相比,电子邮件的数据采集方式具有反馈性,如果数据采集人员因故需要深入的了解答卷人员一些问题,可以利用电子邮件的反馈性进一步沟通,它有可能会取得良好的沟通效果。

数据采集论文篇5

1高速数据采集处理系统原理及器件选用

整个高速数据采集处理系统的硬件构成为:高速ADC、高速大容量数据缓冲、高性能DSP和USB2.0接口。系统的原理框图如图1所示。

高性能DSP采用TI公司的TMS320C6000系列定点DSP中的TMS320C6203B;高速ADC采用TI公司的ADS5422,14位采样,最高采样频率为62MHz;PC机接口采用USB2.0,理论最大数据传输速率为480Mbps,器件选用Cypress公司EZ-USBFX2系列中的CY7C68013;数据缓冲采用IDT公司的高速大容量FIFO器件IDT72V2113;程序存储在Flash存储器中,器件选用SST291E010。下面逐一介绍各个器件的主要特性。

(1)TMS320C6203B

TMS320C6203B是美国TI公司高性能数字信号处理器TMS320C6000系列的一种,采用修正的哈佛总线结构,共有1套256位的程序总线、两套32位的程序总线和1套32位的DMA专用总线;内部有8个功能单元可以并行操作,工作频率最大为300MHz,最大处理能力为2400MIPS;内部集成了设备接口,如外部存储器接口(EMIF)、外部扩展总线(XB)、多通道缓冲串口(McBSPs)和主机接口(HPI),与外部存储器、协处理器、主机以及串行设备的连接非常方便。

(2)ADS5422

ADS5422是由美国TI公司生产的高速并行14位模数转换器,其最高采样频率达到62MHz,采样频率为100MHz时,SNR为72dB,SFDR为85dB。模拟信号输入可以是单端输入方式或者差分输入方式,最高输入信号峰峰值为4V,单一5V电源供电。输出数字信号完全兼容3.3V器件,并且提供输入信号满量程标志以及输出数字信号有效标志,从而方便和其它器件的连接。

(3)IDT72V2113

IDT72V2113是由美国IDT公司生产的高速大容量先进先出存储器件(FIFO)。其最高工作频率为133MHz;容量为512KB,可以通过引脚方便地将容量设置成512K×9bit或者256K×18bit两种方式;IDT72V2113可以设置标准工作模式或者FWFT(FirstWordFallThrough)工作模式,并提供全满、半满、全空、将满以及将空等五种标志信号;非常方便进行容量扩展。容量扩展是IDT72V2113的一大特点,扩展方式可分为字长扩展和字深扩展。通过容易扩展可以由多片IDT72V2113形式更大容量的缓冲,并且电路连接简单、可靠。

(4)CY7C68013

CY7C68013是美国Cypress公司推出的USB2.0芯片,是一个全面集成的解决方案,它占用更少的电路板空间,并缩短开发时间。CY7C68013主要结构如下:包括1个8051处理器、1个智能串行接口引擎(SIE)、1个USB收发器、16KB片上RAM(其中包括4KBFIFO)存储器以主1个通用可编程接口(GPIF)。

图3

CY7C68013独特的架构具有如下特点:

①包括1个智能串行的接口引擎(SIE),它执行所有基本的USB功能,将嵌入的MCU解放出来以用于实现其它丰富的功能,以保证持续高速有效的数据传输;

②具有4KB的大容量FIFO用于数据缓冲,当作为从设备时,可采用Synchronous/AsynchronousFIFO接口与主设备(如ASIC,DSP等)连接;当作为主设备时,可通过通用可编程接口(GPIF)形式任意的控制波形来实现与其它从设备连接,能够轻易地兼容绝大多数总线标准,包括ATA、UTOPIA、EPP和PCMCIA等;

③固件软配置,可将需要在CY7C68013上运行的固件,存放在主机上,当USB设备连上主机后,下载到设备上,这样就实现了在不改动硬件的情况下很方便地修改固件;

④能够充分实现USB2.0(2000版)协议,并向下兼容USB1.1。

2高速数据采集处理系统的硬件连接

2.1模拟信号输入电路

ADS5422的模拟信号输入可以采取单端输入方式或者差分输入方式。单端输入方式连接比较简单,但抗噪性能差,所以我们采取差分输入方式,以尽量减少信号噪声以及电磁的干扰,尤其是采用差分输入方式可以将所有偶次谐波通过正反反个输入信号基本上互相抵消。

ADS5422的模拟信号差分输入方式需要同时使用IN和IN引脚,其硬件连接方法如图2所示。图中,首先使用放大器OPA687以及RF变压器将单端信号转换成差分信号,然后输入到ADS5422,其中ADS5422的公共端CM和RF变压器的公共端连接,RF变压器的匝数比应该根据信号确定。为了增强信号的稳定性,在ADS5422每个信号的输入前加上RC低通滤波电路,图2中推荐Rt为50Ω,Rin为22Ω,Cin为10pF,这些元件也可以根据具体的信号进行调整,一般情况下电阻值在10~100Ω之间,电容值在10~200pF之间。

图4

2.2ADS5422与IDT72V2113的连接

虽然ADS5422的供电电压为5V,但其输出的数字信号电平兼容3.3V电平,因此不需要电平转换芯片,只要将ADS5422的数据线与IDT72V2113的数据线相连即可。但是,ADS5422采样和存储采样数据到IDT72V3113中,这两个操作对时序配置要求非常严格,如果两者时序关系配合得不是很好,就会发生数据存储出错或者掉数。如何简单、可靠地实现采样和存储是设计这部分电路的难点。一般的方法是,通过可编程逻辑器件(CPLD或FPGA)来实现ADC与FIFO存储器之间的时序,即由CPLD或FPGA来控制ADC采样和FIFO存储器的写操作。但是,通过仔细查看ADS5422和IDT72V2113的工作时序图,找到了一种简单可靠的实现方法,此方法不需要CPLD或FPGA就可以实现两者的时序配合。

首先分析ADS5422的工作时序图,如图3所示,其中t1为采样时钟上跳沿到输出数据无效之间的时间间隔,即数据保持时间,其大小为3ns。查看IDT72V2113的相关文档可知,对其进行写操作时,数据线的保持时间大于1ns即可满足要求。因此,ADS5422与IDT72V2113之间的时序配合可以采用以下简单的实现方法:ADS5422的采样时钟和IDT72V2113的写时钟采用同一个时钟源,这样,每一个时钟的上跳沿,ADS5422进行模数转换,同时将上个时钟周期内输出的采样数据存储到DT72V2113内部。

2.3C6203B与IDT72V2113的连接

C6203B与IDT72V2113的连接是通过C6203B外部扩展总线(XB)。C6203B的外部扩展总线(XB)宽度为32位,可以实现与同步FIFO无缝连接,可以同时无缝实现四个FIFO写接口或者实现3个FIFO写接口及1个FIFO读接口。通过无缝连接实现FIFO读接口,FIFO必须连接到XCE3上,数据通过DMA方式从IDT72V2113传送到C6203B的片内RAM中,具体连接如图4所示。图4中,4片IDT72V2113经过字长和字深扩展形成2MB的数据输入缓冲,输入数据总线(D0~D15)、输出数据总线(Q0~Q15)、读使能(REN)、读时钟(RCLK)、写使能(WEN)、写时钟(WCLK)和将空标志信号(PAE)是由4片IDT72V2113的相应信号组合形成的;XCE3为外部扩展总线(XB)的空间选择信号,XFCLK为外部扩展总线(XB)的输出时钟,EXT_INT4是C6203B的外部中断信号4,DX0用作通用输出口,控制IDT72V2113的写使能信号。

2.4CY7C68013与C6203B的连接

CY7C68013是一个非常方便的USB2.0实现方案,它提供与DSP或者MCU连接的接口,连接方法有两种:SlaveFIFOs和Master可编程接口GPIF。在本方案中,选用了SlaveFIFOs方式,异步读写。SlaveFIFOs方式是从机方式,DSP可以像读写普通FIFO一样对CY7C68013内部的多层缓冲FIFO进行读写。具体的电路连接如图5所示。FLAGA、FLAGB和FLAGC是CY7C68013内部FIFO的状态标志,C6203B通过通用I/O口来获得FIFO的空、半满(由用户设定半满的阈值)和满等状态信息。C6203B对CY7C68013内部FIFO的选择,以及数据包的提交也是通过通用I/O口来实现。C6203B通过EMIF接口的CE2空间对CY7C68013进行读写操作。工作过程为:DSP通过USB向PC发送数据时,首先查看空、半满和满这三个状态信号,然后向USB写入适当大小的数据,以保证数据不会溢出;PC机通过USB向DSP发送命令字时,USB通过中断方式通知DSP读取命令字。

3USB软件设计

USB接口开发中有相当大的工作量是关于USB软件的开发,USB软件包括三方面的工作:固件(firmware)设计,驱动程序设计和主机端应用程序的设计。

3.1固件设计

固件是运行在CY7C68013上的程序,可采用汇编语言或C语言设计,其主要功能是控制CY7C68013接收并处理USB驱动程序的请求(如请求设备描述符、请求或设置设备状态,请求或设置设备接口等USB2.0标准请求)、控制CY7C68013接收应用程序的控制指令、通过CY7C68013存放数据并实时上传至PC等。

本方案中的固件设计思路如下:

①使CY7C68013工作于异步从FIFO(AsynchronousSlaveFIFO)模式。相应的寄存器操作为:IFCONFIG=0xCB。

CY7C68013具有多种工作方式,除了可以作为能够产生任意控制波形的主控芯片外,即使作为从设备,也可选择异步还是同步方式。由于DSP的关系,本方案选择异步从方式。

②将4KB的FIFO对应两个端点(EndPoint),即EndPoint2和EndPoint6。相应的寄存器操作为:EP2CFG=0xA0,EP6CFG=0xF2。

EndPoint2与EndPoint6分别对应2KB的内装中FIFO(下文分别称为FIFO2、FIFO6),存放USB需要上传与接收的数据。其中EndPoint2为OUT型,负责从主机接收数据;EndPoint6为IN型,负责向主机发送数据。另外,EndPoint2与EndPoint6均采用批量(BULK)传输方式,这种方式相对于其它USB2.0定义的传输方式具有数据可靠、传输速率高等特点,是最常用的传输方式。

③对FIFO进行配置。相应的寄存器操作为:EP2FIFOCFG=0x11,EP6FIFOCFG=0x0D。

本方案将FIFO2、FIFO6设置成自动方式。这里所谓“自动”,是指在数据的传输过程中,不需要CY7C68013的8051内核参与。如有特殊需要可以设成手动方式,这样8051就可以对数据进行修改,如图6所示。另外还将FIFO配置成16位接口。

④其它操作。为了完善整个USB传输功能,提高固件的健壮性,还必须配以其它设计,这包括FIFO的自动清空复位,个性化命令等功能,在此就不进行详细讨论了。

3.2驱动程序设计

USB系统驱动程序采用分层结构模型,分别为较高级的USB设备驱动程序和较低级的USB函数层。其中USB函数层由两部分组成:较高级的通用串行总线驱动程序模块(USBD)和较低级的主控制器驱动程序模块(HCD)。在上述USB分层模块中,USB函数层(USBD及HCD)由Windows提供,负责管理USB设备驱动程序和USB控制器之间的通信;加载及卸载USB驱动程序;与USB设备通用端点(EndPoint)建立通信并执行设备配置、数据与USB协议框架和打包格式的双向转换任务。目前Windows提供有多种USB设备驱动程序,但并不针对实时数据采集设备,因此USB设备驱动程序需由开发者自己编写。

开发USB设备驱动程序,可采用Numega公司的开发包DriverWorks和Microsoft公司的2000DDK,并以VC++6.0作为辅助开发环境。DriverWorks提供的驱动向导,可根据用户的需要,自动生成代码框架,减少了开发的难度,缩短了开发的周期。但是,Cypress公司为了方便用户开发USB接口,在CY7C68013的开发包中提供了一个通用驱动程序,该程序可不加修改,经DDK编译后直接使用。在本设计方案中,采用的就是这个通用驱动程序。

3.3应用程序设计

主机应用程序是主要实现从高速数据采集处理板该取处理后的数据、存储、显示处理结构以及向数据采集处理板发送控制命令。在Windows2000下,我们使用的应用程序开发工具是VC++6.0。

4系统工作原理

数据采集论文篇6

该结构图中,CPLD和FPGA实现模块接口,包括串并转换、8位和32位数据总线间的转换、SRAM等功能。采样结果经过CPLD送至DSP运算处理(FFT变换、相关分析、功率谱分析等)后,由FPGA和USB接口送至主控计算机存储和显示。计算机应用程序易于实现丰富的图形界面,具有良好的人机接口。

1模数模块

本系统主要用于振动信号和噪声分析,要求采样精度高,采样频率不超过100kHz。根据要求选用CRYSTAL公司的CS5396。该芯片原本用于立体声采样,基于∑-Δ结构,采样精度高,24位分辨率,120dB的动态范围;采样频率32kHz、44.1kHz、48kHz、96kHz可选;内部集成采样保持器、模拟低通滤波器、数字滤波器,同时还具有时采样功能;两路同时采样,串行输出,串行数据由CPLD转换成24位并行数据;由于该芯片量程是4V,差分输入,所以模拟部分只需再加上简单量程放大电路即可。这样模拟电路十分简单,抗干扰能力强、精度高。

2DSP处理器

选择DSP处理器时主要考虑其运算速度、总线宽度和性价比。本系统采样结构24位,最好选用32位DSP;系统要进行实时信号分析、模态分析等,要求有较高运算速度,所以选用TI公司的32位浮点DSP——TMS320VC33。该芯片采用哈佛结构,6级流水线操作,指令执行周期7ns,外设包括一个DMA控制器和一个缓冲串口。

N点复数FFT变换约做2N×Log2N次实数乘法运算和3N×Log2N实时加法运算。TMS320VC33的乘法、加法都是单周期指令,取N=1024,不计内存访问和其它时间,则一次FFT所需时间为:10×5120×17ns约0.9ms。而按96KSPS的采样频率计算,1024点的采样时间约10ms,可见该DSP速度足以满足要求。

该DSP启动模式可选,上电后执行驻留在低地址空间的BOOTLOADER;然后根据4个中断输入信号的状态判断启动模式,可以从RAM、ROM或串行口启动。本系统选择串行口方式。这样,DSP程序可以直接从PC下载送至DSP接口,做到在系统调试,具有极大的灵活性。

3USB接口

USB协议的实现基于网络的思想,是一种共享式的总线,在总线上数据以包(Packet)的形式发送。USB的数据传送有4种模式:块传输(BulkTransfers)、中断传输(InterruptTransfers)、同步传输(IsochronousTransfers)、控制传输(ControlTransfers)。当需要快速传输大批量的准确数据时,一般采用块传输模式;当传输实时性较强的数据时,采用中断传输模式。

当USB设备插入计算机时,计算机和USB设备之间产生一个枚举过程。计算机检测到有设备插入,自动发出查询请求;USB设备回应这个请求,送出设备的VerdorID和ProductID;计算机根据这两个ID装载相应的设备驱动程序,完成枚举过程。

由于USB协议非常复杂,开发者不可能在底层基础上进行开发。目前,市场上对USB协议进行封装的接口芯片,如:NationalSemiconductor公司的USBN9602、Plilips公司的PDIUSBD12等。本系统选用CYPRESS公司的带单片机内核的EZ-USB系列的AN2131QC.该芯片遵从USB1.0规范(12Mbps),将8051单片机内核、智能USB接口引擎、USB收发模块、存储器、串行口等集成一起,从而减少芯片接口时序。其内部结构如图2(虚线内是芯片部分)。

EZ-USB的8051代码(Firmware)可以固化在ROM内;更好的方案是通过USB口从主机下载到内部RAM,这样,易于修改、调试和更新。之所以能下载代码是因为芯片一上电完全在硬件上自动完成枚举过程,不需要Firmware。完成枚举后便可作为一个USB设备(叫做缺省USB设备)与计算机通讯,此时即可进行Firmware下载。下载完后,8051内核脱离RESET状态开始执行代码。可以通过Firmware对USB设备重新配置,这个重新配置过程叫做再枚举。

在EZ-USB中,缺省USB设备的接口中包括14个Endpoints,如表1所示。

表1缺省USB端点(Endpoint)

EndpointTypeAlternateSetting

012

MaxPacketSize(bytes)

0CTL06464

1ININT01664

2INBULK06464

2OUTBULK06464

4INBULK06464

4OUTBULK06464

6INBULK06464

6OUTBULK06464

8INISO016256

8OUTISO01616

9INISO01616

9OUTISO01616

10INISO01616

10OUTISO01616

计算机与USB设备的数据通信主要包括两个方面:一是读取采样数据;二是给USB设备发送控制命令。发送控制命令先发送一个命令包(消息),然后根据情况发送后续数据或从设备读取响应数据。因此,根据EZ-USB芯片的功能,直接使用缺省配置中的6个Endpoint。

EndpoitOUT2BULK:用来发送控制命令包。

EndpointIN2BULK:接收从USB设备发来的DSP消息。

EndpointIN4BULK:用来从USB设备读取数据,如读取采样数据、配置参数等。

EndpointOUT4BULK:用来向USB设备发送数据,如下载8051程序、下载FPGA程序等。

EndpointOUT6BULK:作辅助判断用,当PC传送完大量数据至USB设备时,向该端口写任意数据以起到通知USB设备的作用。

EndpointIN1INT:用来从USB设备读取响应信号,如下载FPGA程序是否成功的标志等。

在缺省配置基础上可以编写适合需要的代码,如果对8051编程经验丰富的话,完全可以在不需要调试工具的情况下编写Firmware。

本系统Firmware结构建立在对消息队列不断服务基础上,即构建一个消息队列,当接收到任何一方(DSP或计算机)的消息时,将其放入消息队列。消息的接收是通过中断服务程序来实现的。当处理完一个消息时,从消息队列取出下一个消息进行处理。这种软件结构非常简单,思路清晰,对调试十分有利。

USB设备驱动程序基于WDM。WDM型驱动程序是内核程序,与标准的Win32用户态程序不同。采用了分层处理的方法。通过它,用户不需要直接与硬件打它道(在USB驱动程序中尤为明显),只需通过下层驱动程序提供的接口号访问硬件。因此,USB设备驱动程序不必具体对硬件编程,所有的USB命令、读写操作通过总线驱动程序转给USB设备。但是,USB设备驱动程序必须定义与外部设备的通讯接口和通讯的数据格式,也必须定义与应用程序的接口。

本系统的驱动程序是在CompuwareNumegaDriver-Works的基础上采用面向对象语言C++开发的。Driver-Works可以很快构造出驱动程序的框架。主要构造了两个类:ClassUSBDAC和classUSBDACDevice。ClassUSBDAC继承了classKdriver,负责装载驱动程序和创建功能设备对象时要做的一些操作。ClassUSBDACDevice继承了classKpnpDevice,是驱动程序的主要部分,负责设备启动、停止的操作以及与设备的数据通讯。API函数调用和CreateFile()、ReadFile()、WriteFile()、DeviceIO-Control()、CloseFile()等的实现也在classUSBDACDevice中完成。

ClassUSBDAC的定义如下:

classUSBDAC:publicKdriver

{

SAFE_DESTRUCTORS

public:

/*DriverEntry(),在系统引导或I/O管理器装入驱动程序时,调用这个例程。执行大量的初始化函数,包括建立到其它驱动程序的指针、查找和定位由驱动程序使用的任何硬件资源等,不过,这部分工作大多由基类Kdriver完成。*/

virtualNTSTATUS

DriverEntry(PUNICODE_STRINGRegistryPath);

/*AddDevice(),创建一个Device对象。调用其构造函数对设备初始化,创建设备的名称等。*/

virtualNTSTATUS

AddDevice(PDEVICE_OBJECTPdo);

Intm_Unit;

};

ClassUSBDACDevice的定义如下:

ClassUSBDACDevice:publicKpnpDevice

{

//Constructors

public:

SAFE_DESTRUCTORS

USBDACDevice(PDEVICE_OBJECTPdo,ULONGUnit);

~USBDACDevice();

//MemberFunctions

public:

//添加自己的成员函数

NTSTATUSUSBDAC_GetACK(int&);

NTSTATUSUSBDAC_StartADConversion(void);

NTSTATUSUSBDAC_StopADConversion(void);

NTSTATUSUSBDAC_DownloadFPGA(KIrp);

NTSTATUSUSBDAC_Download8051(KIrp);

NTSTATUSUSBDAC_SetChannelParameter(PUCHAR,ULONG,int);

};

数据采集论文篇7

2.1动力电池电压信号检测电路设计

动力电池组是由众多单体电池串联而成。本设计中,选取12个单体电池串联而成的动力电池组,相应的就有12个电压模拟量信号。图2所示为电压采集电路设计。动力电池组中,各个动力电池串联而成。在地参考点的作用下,各个电池正负极对地参考电压近似比例增大,为实现输出的是电池电压,最有效的实现途径是借助由运算放大器“虚短”与“虚断”原理构成的减法电路。图2中,由双运放运算放大器LM358构建2级网络:第1级即为由R1~R4组建的差分放大电路形成减法电路,第2级构成电压跟随器,起到缓冲及隔离的作用。LM358使用单5V电源供电。

2.2动力电池双向电流检测电路设计

电池组在充放电过程中,由于只有一个充放电通道,理论上而言电流检测通道只有一个。根据电路理论电流在其参考方向下存在正负之分,因此必须单独设计充电电流、放电电流各自的检测信号。图3所示为集成的双向电流检测硬件电路设计。从电路中可以看出,该电路的设计非常类似于电气中的互锁电路。从采样电阻中采集的电阻两端电压在电阻分压网络下,产生不同的电压。结合运放的差分放大功能,分别引入LM358运算放大器的2组不同的运放输入端,由于引入同相输入端和反相输入端的电压不同,使得2组运放各自工作在线性工作区与非线性工作区中。当电池组中有任意方向的电流时,均会产生一组运放工作在线性放大区域产生对应的模拟电压信号同时另外一组运放工作在非线性区域而作为电子开关输出供电电源的参考地电压。在实际的电动汽车中,通常选用100AH的动力电池组为电动汽车提供动力源,这样,采样电阻的选择就有了依据。本设计中,选用0.05R/2W的采样电阻多个并联成0.01R的功率电阻作为充放电电流检测元件。

2.3动力电池组温度检测电路设计

温度检测保证电池组工作在可靠温度范围内而不引起电池故障,是电池管理系统中必不可少的有效组成部分。温度检测传感器选用PT100系列温度传感器。最新制造工艺出产的PT100体积小,精度高,比较适合应用在电池管理系统温度检测单元中。本设计中,选用三线式桥式测温电路,其最大优点在于将地线单独引出,参考电阻网络的地线电阻可以与PT100的地线电阻匹配,减小电阻差异带来的偏差问题,提高温度测量精度。其设计原理同电压采集电路基本相同。

3调试数据与分析

设计完毕后,对该套电池管理系统的硬件电路进行了制版调试。在解决了焊接遗留的硬件问题后,通过MCU的监测获取了大量数据。调试过程中某一时刻点的状态量。从测试数据可以看出,无论是电压、电流、还是温度,其相对误差都控制在1%以内,特别是电压检测数据,精度更是达到了3‰,这样的误差在电池管理系统误差允许范围之内,达到了电池管理系统数据采集前端模块硬件电路设计的目的。

数据采集论文篇8

数据采集是信号分析与处理的一个重要环节,在许多工业控制与生产状态监控中,都需要对各种物理量进行数据采集与分析。但是,专用数据采集卡的价格一般比较昂贵,而我们PC机的声卡就是一个很好的双通道数据采集卡。实际测量中,在满足测量要求的前提下,可以充分利用计算机自身资源,完成数据采集任务,从而节省成本。

本文利用vc编程实现了声卡的双通道数据采集,并且对信号进行频谱分析同时实时测量出信号的频率。还利用声卡的DA通道,实现了正弦波、方波、三角波输出的信号发生器。波形发生器产生的信号同时还可以作为内部测试用信号,检验数据采集的准确性。

二、声卡数据采集系统硬件组成

LineOut

图1声卡数据采集的硬件组成图

利用声卡进行数据采集的硬件组成如图1所示。通常,利用声卡的LineIn端作为信号输入端口,两路被测的模拟信号经过左右声道,A/D转换进入计算机,通过vc编写的虚拟仪器界面显示出来。声卡一般都具有单、双声道输入,从而可实现单双通道的采集.双通道采集时,声卡采用并行采集,并具有采样保持功能,两个通道的数据不存在时间差,第一通道和第二通道数据存储在同一个数据缓冲区中,且等间隔存储,奇数序列是一个通道数据,偶数序列为另一个通道数据.读取数据时,将缓冲区中的数据全部读入到一个数组中,然后对该数组数据,采用隔一点取一点的方法,将数据分开并分别存到另外的两个数组中,即将两个通道的数据分开,从而实现了双通道的采集.单通道采集时,缓冲区中仅仅是一个通道的数据,直接保存到一个数组即可。同时,信号发生器产生的波形也可经过Lineout端输出。

为了保护声卡,被测信号并不是直接进入声卡,而是先经过一个信号调理电路,对信号进行放大或限幅,滤波等处理,信号调理电路如图2所示。(a)图是直流电平叠加模块:C1代表信号的输入,D1代表叠加直流电平后信号的输出,电位器R8控制输入直流电平的大小;(b)图是信号叠加模块:A1、A2代表叠加信号的输入,B1代表叠加后信号的输出;(c)图是模拟滤波模块:LPIN代表滤波器的输出,LPOUT代表滤波器的输出,调节R6可以控制输出的、幅度大小。当然可以根据需要在调理电路中加入一些其它的模块。

图2信号调理电路

三、声卡采集系统的软件编程

微软公司已经提供了一系列API函数用于对声卡的操作,为了将需要用到的函数封装成了一个类,编程时只需直接调用。使用的API函数有:

waveInGetDevCaps实现声卡的性能测试

waveInOpen打开波形输入设备

waveInPrepareHeader为波形输入准备缓冲区

waveInAddBuffer将数据缓存发送给波形输入设备驱动

waveInStart启动向波形输入缓冲区存储数据

waveInUnprepareHeader释放波形输入缓冲区

waveInStop停止向波形输入缓冲区存储数据

waveInClose关闭波形输入设备

设计的软件界面如图3所示。目前所实现的功能有:

图3软件界面设计

1.两路波形发生器。可产生正弦波、方波和三角波,并且频率和幅值可调。

2.频谱分析仪。可以对采集的信号进行频谱分析。频谱分析采用了快速傅立叶变换(FFT)算法,并且将其封装成独立的函数,方便调用。

3.频率计。同时还可以实时地测量出采集到的信号的频率。在利用程序计算频率时,一般采用两种方法。一种是利用快速傅立叶变换,它的优点是不仅能对标准的周期波形进行测量,而且能够计算出各种复杂波形和信噪比非常低的信号的频率值,缺点是分辨率受到限制。另一种计算频率的方法是采用脉冲计数法。它的优点是测量低频信号时精度高,但它不适合波形复杂和信噪比低的信号频率测量。所以在测量过程中,程序先判断信号上述的性质,根据信号的性质,自动地采用相应的测量方法。

四、小结

采用声卡制作的信号采集系统,具有廉价、方便等优点,它可用于振动、噪声、位移、温度、压力等各种物理量的测试。但是一般的声卡支持的采样频率有11025、22050和44100,对高频信号的采集会出现失真。总之,运用廉价的声卡,辅以适当的软件编程,可以构成一个较高采样精度,中等采样频率且具有很大灵活性的数据采集系统。

参考文献

[1]种兰祥,阎丽,张首军.基于计算机声卡的多通道数据采集系统.西北大学学报,2002.

数据采集论文篇9

2.1设计原则客票数据采集和分析系统是在实现业务需求的前提下,确保软件开发满足高质量软件系统的要求,因此,应该遵循以下设计原则。

2.1.1直观、使用方便用户界面友好、使用简单、操作方便、数据正确完整、分析功能强大。

2.1.2安全可靠考虑到了运输生产数据的敏感性,在代码编制过程中把信息安全放在了第一位,系统中对各个用户权限进行严格分级,并对所涉及的数据库的连接进行加密。确保客票系统核心数据不泄密,确保客票系统运行效率不降低,确保客票系统基础数据不被盗取。

2.1.3可维护性本系统通过ODBC连接到地区中心数据库,并采用Datawindow技术来处理多报表。

2.1.4可扩展性确保客票系统在数据量增长、用户增长以及业务增长时具有良好的可扩展性。

2.2系统构成

2.2.1硬件环境①服务器端:IBMSERVERX3850服务器一台,位于杭州地区客票中心机房,用于存放售票存根和基础数据。②客户端:可联入网络的个人电脑一台、打印机一台。

2.2.2软件环境①服务器端:操作系统采用Unix,数据库服务器采用Syabsel2.3.5数据库。②客户端:操作系统为WINDOWSXP、WIN7,浏览器为IE6.0及以上。

2.3关键技术与实现方法

2.3.1PowerBuilder连接到地区中心的车务段数据库服务器存放在地区中心的车务段数据库服务器是复制地区客票中心数据库服务器的基础数据库和运行数据库,用的都是Sybase数据库管理系统,在车务段可以利用一台安装有PowerBuilder并连入客票网的PC机通过正确配置PowerBuilder的DBprofile,可以连接位于地区客票中心的车务段服务器的Sybase数据库,最后的配置文件内容为。

2.3.2利用数据管道实现数据库之间的同步PB提供强大的数据管道技术,数据管道技术是实现两个数据库之间、数据库内部数据传输的一种常用方法,数据管道技术的调用主要有以下5个步骤:①创建应用程序所需对象;②执行数据管道初始化操作;③启动数据管道;④处理程式运行中移动数据的错误行;⑤执行数据移动完毕后的收尾操作。数据库管道可以在PowerBuilder提供的pipeline画板中创建并定义,需创建一个继承PB管道系统对象的用户对象,再通过这个对象来管理管道操作,编辑支撑对象的PipeMeter事件脚本,实现语句为:St_read.text=string(RowsRead)St_write.text=String(RowsWritten)St_wrong.text=String(RowsInError)保存用户对象,创建支撑用户对象命名为u_pipe,通过定义的u_pipe,可以实现地区客票中数据库中的数据通过稳定的数据管道安全、快速的传送到客票数据采集和分析系统的数据库中。

2.3.3利用DataWindow技术实现嵌套数据报表DataWindow技术是PowerBuilder最具特色最关键的一项技术,其FreeForm风格基本可以代替PB中所给的其他录入控件,达到以假乱真的地步。在数据窗口上显示数据步骤:①利用数据窗口绘图器绘制一个数据窗口对象(DataWindowObject)。②利用窗口绘图器绘制一个窗口对象(WindowObject),并且在窗口上放置一个数据窗口控件(DataWindowControl)。③指定数据窗口对象(DataWindowObject)给窗口上的数据窗口控件(DataWindowControl)。④将所要连接数据库的信息指定给交易对象(TransactionObject)。⑤利用Connect指令连接数据库和交易对象。⑥利用SetTransObject()函数连接数据窗口和交易对象。⑦利用Retrieve()从数据库读取数据PB数据窗口还具有嵌套报表的功能。所谓嵌套报表就是以一个报表为主体框架,根据需要在其中附加一个或多个报表,形成一个整体报表。其中主体框架的报表为主报表,附加的报表为辅报表。嵌套报表的功能体现在客票数据采集和分析系统中就是用户可以根据不同的筛选条件,可以任意组合,根据用户的不同要求展现不同的报表。

3功能模块分析

客票数据采集和分析系统主要有3大模块,分别是:数据采集模块、数据转换挖掘及定制模块、用户服务处理模块。下面就这3大模块分别进行分析说明。

3.1数据采集模块数据采集模块主要功能就是按用户不同的要求从地区客票中心的车务段数据库服务器中采集自己需要的数据并保存在本地数据库中,以供各种分析和统计,比如异地票的统计,按照路局要求异地票手续费收费标准:除动车组列车的返程票、联程票、低于30元的异地票、学生票以及管内动车组列车异地票免收5元手续费外,其余异地票均收5元异地手续费,用Select语句对数据库中sale_record表中的存根进行筛选,然后用Insert将采集到的数据存入到cen-ter库中的study_ydtj表中作为统计分析最基础的数据,当然这部分的工作都是通过运行PowerBuilder脚本在后成的。由于该模块具有数据传输量大、不可干扰性、准确性要求高和无人工干预等特点,因此,把这个模块设计为运行于数据库服务器中的一个后台进程,该进程通过中间件把客票数据采集和分析系统的数据库连接到地区中心Sybase数据库,然后利用数据管道技术定时批量的传输数据到客票数据采集和分析系统数据库中。为了防止数据传输过程中出现差错,该模块另一个功能是实时检查数据连接状态和数据管道的完整性,一旦发现错误,立即自动重启数据连接,并重建数据管道,有效的防止数据传输过程中差错的发生。

3.2数据转换、挖掘及定制模块数据转换、挖掘及定制模块主要功能是对传输到客票数据采集和分析系统数据库中的运输数据进行转换、挖掘及定制等操作,分别进行说明:①数据转换:将从地区客票中心的车务段数据库服务器的数据库获取的数据按照不同业务要求,转换成多种数据格式,满足不同的业务要求,并对错误、不一致的数据进行清洗和加工。②数据挖掘:通过对每个数据的定性和定量分析,从大量数据中寻找其规律的技术叫做数据挖掘技术。客票采集和分析系统存在着海量的历史数据,数据挖掘技术不仅能对历史数据进行查询和遍历,并且能够找出历史数据之间的潜在联系,分析客流,指明营销方向,帮助制定营销策略,给铁路决策层在运输生产决策中提供必要的建议。③数据定制:可以按照特定用户的特殊要求,把数据库中的相关数据进行抽取、分类和汇总,并存入特定数据表中,根据需要以Excel电子表格的形式提供给用户。

3.3用户服务处理模块用户服务处理模块主要用于资料分发,客票数据采集和分析系统给不同需求的用户提供齐全的客票信息和数据分类对比电子表格,用户服务处理模块将这些信息定时分发给需要的人,比如:站长、客运值班员等。

数据采集论文篇10

1.2磁场检测测量磁场强度的原理是霍尔效应,在半导体薄片两端通以控制电流,并在薄片的垂直方向施加匀强磁场,则在垂直于电流和磁场的方向上,将产生霍尔电压,根据产生的电压就可以知道磁场的大小[4]。在实际测量中需要在两个方向(轴向场与垂直场)对磁场进行测量。在35kV电抗器设计中,根据电磁设计仿真得到磁场的最大值约为2000高斯,并且该磁场探头的工作环境为液氮温区。Lakeshore公司生产的HGCA3020的轴向磁场探头与HGCT3020的径向磁场探头,可满足使用要求,其额定电流为100mA。

1.3数据采集系统数据采集系统还需要对探头电压进行记录以及处理显示等一系列后续工作[5]。实验过程中实验对象需要监测的信号比较多,采用数据采集仪器对各个数据进行采集记录,节约人力成本而且可以减少由于人工录入所导致的错误。在该套数据采集系统中,采集的信号有54路,温度采集精度为1K,电压精度为10mV。吉时利公司生产的3706数字开关万用表作为数据采集仪器满足使用要求。数据采集仪器采集数据以后,把数据传输到主机中通过程序对其进行处理,然后显示在显示器上供人员监测电抗器的工作情况。在电抗器实际运行过程中,主机工作环境可能较为恶劣,对工控机的稳定性和数据的安全性有一定要求,需要对主机进行加固、防潮、防辐射、防尘等特殊设计。研祥工控机IPC-810E满足使用要求。

1.4硬件布局及搭建(1)温度探头布点方案35kV超导可控电抗器超导线圈分为内外两圈,各由32个双饼组成。工作在交流工况下,超导线圈存在交流损耗,根据仿真结果显示端部线圈交流损耗功率最大,需要对线圈端部重点监控。单个超导线圈上布点25个,总计50个铂电阻。铂电阻在安装时需要对其进行加固,防止被快速流动的液氮损坏。(2)磁场探头布点方案电抗器中,带材受垂直磁场影响较大,端部的带材最易受到磁场的干扰,磁场探头安装在电抗器的端部。由于磁场探头受到液氮的冲刷,磁场探头需要通过夹子进行固定。通过对端部磁场两个垂直方向数据的读取,得到磁场强度的实时数据,为监测电抗器运行状态提供数据支持。各个设备的集成布局以及安装需要以机柜的形式实现。机柜的设计原则是整套装置的实用性和外在的美观性。机柜上主要安装的设备和仪器有:吉时利3706数据采集仪、工控机(包括工控机主机、液晶显示屏、键盘和鼠标)、探头供电电源,同时在机柜下部预留一部分空间用于放置实验过程中常用的一些工具和仪表等,如纳伏表、波形记录仪、锁放和功率分析仪等,设计方案如图4所示。

2软件开发

软件开发即控制界面开发,通过界面控制各种数据采集仪器的工作,并将采集到的数据传输到电脑上进行处理、显示和保存等[6]。图5所示的为软件搭建流程示意图,首先调试设备,完成工控机与3706数据采集仪器之间的通信,使数据能够进入主机进行处理,然后对数据进行分类处理,实现多通道数据处理以及数据的分类显示。基于LabVIEW开发的程序主要包含后台程序以及操作界面。后台程序(1)数据采集系统主程序数据采集系统主程序实现对数据采集仪器中的电压数据读取的功能[7]。通过在主程序中对数据进行通道选择可以实现不同的处理功能,包括3706仪器的通讯设置和数据初始化。(2)数据传输程序数据传输是指将数据从数据采集仪器上传输到工控机上。LabVIEW中提供了多种通讯协议,如串口、并口和以太网传输协议,此处选择以太网作为传输方式,数据采集仪器发送数据,工控机接收发送过来的数据,进行处理。(3)数据记录程序LabVIEW中可以将数据保存为多种格式,其中就包括常见的Excel表格,“写入电子表格.vi”可以将数据保存为Excel格式,并且该VI不需要启动Excel,写入速度较快、使用较为简单,所以使用该VI进行数据保存。由于EXCEL是目前比较通用的数据处理软件,所以保存数据的格式选为EXCEL表格,方便处理数据。程序中可以设定将EXCEL文件保存在某个文件夹下,分别将磁体温度、磁场强度保存在两个文件夹下,并且为方便查找数据,每个文件的文件名以日期和时间命名,这样方便日后查找数据。对于不同类型数据也可以直接分开存储,方便以后查询使用。在以上程序的实现中,主要以子VI形式完成。子VI是指将特定的程序封装,完成特定的功能的模块。通过对程序的封装既可以实现原有功能,并且使得主程序更加简洁,便于查找错误,又增加了程序的可移植性,提高了程序的整体质量。操作界面该系统的操作界面首先确保了所有数据的显示以及后台记录,另外对电抗器内部环境参数(杜瓦内部压强)以及外部辅助设备的工作状态(液氮制冷机流量)也进行了监控。针对温度监控,单独设置了更加直观的波形显示,更利于观察超导体的温度变化,如图6所示。在35kV电抗器数据采集及监控系统的设计方案中,界面中没有需要用户设置的参数,在前面板中分列铂电阻显示控件来显示数据。开始运行后,3706开始采集数据,并且将这些数据储存到表格当中。在前面板中,同一个波形图中可以显示多个通道的数据,每个通道的数据有颜色不同,这样就可以比较实验磁体不同部分的温度或不同超导双饼的电压等。

数据采集论文篇11

与传统仪器相比,虚拟仪器具有高效、开放、易用灵活、功能强大、性价比高、可操作性好等明显优点,具体表现为:

智能化程度高,处理能力强虚拟仪器的处理能力和智能化程度主要取决于仪器软件水平。用户完全可以根据实际应用需求,将先进的信号处理算法、人工智能技术和专家系统应用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次。

复用性强,系统费用低应用虚拟仪器思想,用相同的基本硬件可构造多种不同功能的测试分析仪器,如同一个高速数字采样器,可设计出数字示波器、逻辑分析仪、计数器等多种仪器。这样形成的测试仪器系统功能更灵活、更高效、更开放、系统费用更低。通过与计算机网络连接,还可实现虚拟仪器的分布式共享,更好地发挥仪器的使用价值。

可操作性强,易用灵活虚拟仪器面板可由用户定义,针对不同应用可以设计不同的操作显示界面。使用计算机的多媒体处理能力可以使仪器操作变得更加直观、简便、易于理解,测量结果可以直接进入数据库系统或通过网络发送。测量完后还可打印、显示所需的报表或曲线,这些都使得仪器的可操作性大大提高而且易用、灵活。

1.2虚拟仪器的构成

虚拟仪器的构建主要从硬件电路的设计、软件开发与设计2个方面考虑。

硬件电路的设计主要根据用户所面对的任务决定,其中接口设计可选用的接口总线标准包括GPIB总线、VXI总线等。推荐选用VXI总线。因为他具有通用性强、可扩充性好、传输速率高、抗干扰能力强以及良好的开放性能等优点,因此自1987被首次推出后迅速得到各大仪器生产厂家的认可,目前VXI模块化仪器被认为是虚拟仪器的最理想平台,是仪器硬件的发展方向。由于VXI虚拟仪器的硬件平台的基本组成是一些通用模块和专用接口。因此硬件电路的设计一般可以选择用现有的各种不同的功能模块来搭建。通用模块包括:信号调理和高速数据采集;信号输出与控制;数据实时处理。这3部分概括了数字化仪器的基本组成。将具有一种或多种功能的通用模块组建起来,就能构成任何一种虚拟仪器。例如使用高速数据采集模块和高速实时数据处理模块就能构成1台示波器、1台数字化仪或1台频谱分析仪;使用信号输出与控制模块和实时数据处理模块就能构成1台函数发生器、1台信号源或1台控制器。专用接口是针对特定用途仪器需要的设计,也包括一些现场总线接口和各类传感器接口。系统的主要硬件包括控制器、主机箱和仪器模块。常用的控制方案有GPIB总线控制方式的硬件方案、MXI总线控制方式的硬件方案、嵌入式计算机控制方式的硬件方案3种。VXI仪器模块又称为器件(devices)。VXI有4种器件:寄存器基器件、消息基器件、存储器器件和扩展器件。存储器器件不过是专用寄存器基器件,用来保存和传输大量数据。扩展器目前是备用件,为今后新型器件提供发展通道。将VXI仪器制作成寄存器基器件,还是消息基器件是首先要做出的决策。寄存器基器件的通信情况极像VME总线器件,是在低层用二进制信息编制程序。他的明显优点在于速度寄存器基器件完全是在直接硬件控制这一层次上进行通信的。这种高速通信可以使测试系统吞吐量大大提高。因此,寄存器基器件适用于虚拟仪器中信号/输出部分的模块(如开关、多路复用器、数/模转换输出卡、模/

数转换输入卡、信号调理等)。消息基器件与寄存器基器件不同,他在高层次上用ASCII字符进行通信,与这种器件十分相似是独立HPIB仪器。消息基器件用一组意义明确的“字串行协议”相互进行通信,这种异步协议定义了在器件之间传送命令和数据所需的挂钩要求。消息基器件必须有CPU(或DSP)进行管理与控制。因此,消息基器件适用于虚拟仪器中数字信号处理部分的模块。

软件的开发与设计包括3部分:VXI总线接口软件、仪器驱动软件和应用软件(软面板)。软件结构如图1所示。

VXI总线接口软件由零槽控制器提供,包括资源管理器、资源编辑程序、交互式控制程序和编程函数库等。该软件在编程语言和VXI总线之间建立连接,提供对VXI背板总线的控制和支持,是实现VXI系统集成的基础。

仪器驱动程序是完成对某一特定仪器的控制与通信的软件程序,也即模块的驱动软件,他的设计必须符合VPP的2个规范,即VPP3.1《仪器驱动程序结构和模型》和VPP3.2《仪器驱动程序设计规范》。

“软面板”设计就是设计具有可变性、多层性、自、人性化的面板,这个面板应不仅同传统仪器面板一样具有显示器、LED、指针式表头、旋钮、滑动条、开关按钮、报警装置等功能部件,而且应还具有多个连贯操作面板、在线帮助功能等。

2虚拟仪器在数据采集中的应用

利用虚拟仪器制作数据采集器可以按照硬件设计、软件设计两个步骤来完成。

2.1硬件设计

硬件设计要完成以下内容:

1)模/数转换及数据存储

设置具有通用性的数据自动采集系统,一般应满足能对多路信号尽可能同步地进行采集,为了使所采集到的数据不但能够在数据采集器上进行存储,而且还能及时地在采集过程中将数据传送到上位机,选用存储量比较适中的先进先出存储器,这样既能满足少量数据存储的需要,又能在需要实时传送数据时,在A/D转换的同时进行数据传送,不丢失任何数据。)VXI总线接口

VXI总线数据采集器通常可以利用两种VXI总线通用接口消息基接口和寄存器基接口。消息基接口的作用是通过总线传送命令,从而控制仪器硬件的操作。通用寄存器基接口是由寄存器简单的读写来控制仪器硬件的操作。利用消息基接口进行设计,具体消息基接口的框图见图2。

3)采样通道控制

为了满足几种典型系统通道控制的要求,使通道的数量足够多,通道的选取比较灵活,可以利用寄存器电路、可预置计数器电路以及一些其他逻辑电路的配合,将采样通道设计成最多64路、最少2路可以任意选择,而且可以从任意一路开始采样,也可以到任意一路结束采样,只要截止通道号大于起始通道号就可以了。整个控制在虚拟仪器软面板上进行操作,通过消息基接口将命令写在这部分的控制寄存器中,从而设置计数器的初值以及采样的通道总数。

4)定时采样控制

由于不同的自动测试系统对采样时间间隔的要求不同,以及同一系统在不同的试验中需要的采样时间间隔也不尽相同,故可以采用程控的方式将采样时间间隔设置在2μs~13.0ms之间任意选择,可以增加或减少的最小单位是2μs。所有这些选择设置可以在虚拟仪器软面板上进行。

5)采样点数控制

根据不同测试系统的需求,将采样点数设计成可在一个比较大的范围中任意选择,该选择同样是在软面板上进行。

6)采样方式控制

总结各种自动测试系统的采样方式不外乎软件触发采样和硬件触发采样。在硬件触发采样中又包括同步整周期采样和非同步整周期采样,这2种采样又可以是定时进行的或等转速差进行的。所有这些采样方式,对于数据采集器来说都可以在软面板上进行选择。

2.2软件设计

软件是虚拟仪器的关键,为使VI系统结构清晰简洁,一般可采用组件化设计思想,将各部分彼此独立的软件单元分别制成

标准的组件,然后按照系统的总体要求组成完整的应用系统,一个标准的组件化的虚拟仪器软件系统,如图3所示。

应用软件为用户提供了建立虚拟仪器和扩展其功能的必要工具,以及利用PC机、工作站的强大功能。同时VPP联盟提出了建立虚拟仪器标准结构库(VISA)的建议,为虚拟仪器的研制与开发提供了标准。这也进一步使由通用的VXI数据采集模块、CPU/DSP模块来构成虚拟仪器成为可能。

基于虚拟仪器的数据采集器的软件包括系统管理软件、应用程序、仪器驱动软件和I/O接口软件。以往这4部分需要用户自己组织或开发,往往很困难,但现在NI公司提供了所有这四部分软件,使应用开发比以往容易得多。

下面简单介绍以NI公司的LabWindows/CVI为开发环境,来进行VXI虚拟仪器的驱动程序开发的方法。

第一步:生成仪器模块的用户接口资源文件(UIR)。用户接口资源、文件是仪器模块开发者利用LabWindows/CVI的用户界面编辑器为仪器模块设计的一个图形用户界面(GUI)。一个LabWindows/CVI的GUI由面板、命令按钮、图标、下拉菜单、曲线、旋钮、指示表以及许多其他控制项和说明项构成。

第二步:LabWindows/CVI事件驱动编程。应用程序开发环境LabWindows/CVI中设计一个用户接口,实际上是在用户计算机屏幕上定义一个面板,他由各种控制项(如命令按钮、菜单、曲线等)构成。用户选中这些控制项就可以产生一系列用户接口事件(events)。例如,当用户单击一个命令按钮,这个按钮产生一个用户接口事件,并传递给开发者编写的C语言驱动程序。这是运用了Windows编程的事件驱动机制。LabWindows/CVI中使用不同类型的控制项,在界面编辑器中将显示不同类型的信息,并产生不同操作的接口事件。在LabWindows/CVI的开发平台中,对事件驱动进行C程序编程时可采用2种基本的方法:回调函数法和事件循环处理法。

回调函数法是开发者为每一个用户界面的控制项写一个独立的用户界面的控制函数,当选中某个控制项,就调用相应的函数进行事件处理。在循环处理法中,只处理GUI控制项所产生的COMMIT事件。通过GetUserEvent函数过滤,将所有的COMMIT事件区分开,识别出是由哪个控制项所产生的事件,并执行相应的处理。

第三步:应用函数/VI集与应用程序软件包编写。应用函数/VI集需针对具体仪器模块功能进行编程,应用程序软件包只是一些功能强大、需要完善的数据处理能力的模块才需要提供,如波形分析仪模块、DSP模块等。

3结语

本文探讨了虚拟仪器的基本组成,以及实际的虚拟仪器软硬件设计的一般方法,这些方法经过实际设计工作运用证明是可靠的,可供系统工程技术人员在组建具体的基于VXI总线的虚拟仪器数据采集、测试时参考使用。

参考文献

1]赵勇.虚拟仪器软件平台和发展趋势[J].国外电子测量技术,2002,(1)

2]陈光禹.VXI总线测试平台[M].北京:电子科技大学出版社,1996

数据采集论文篇12

CT的全称为computedtomography,即电子计算机断层扫描,最早起源于1967年,由Hounsfield设计研发。CT扫描的基本原理是人体内各组织器官对X射线具有不同的透过与吸收比,基于该透过与吸收比通过高灵敏度的相关仪器进行测量,然后通过电子计算机保存所测量的数据并进行相关处理,即可得到所测量的组织或器官的断面图像。CT扫描对生物医学中复杂结构重建可以提供良好的断面成像。以中国标准化研究院2009年的人体尺寸测量结果为目标,选择了一名身体各器官、骨骼等组织均无病变及相关病史且符合中国成年人男性50百分位尺寸的健康男性志愿者作为CT扫描对象。志愿者各项人体尺寸的测量方法与标准化研究院的尺寸测量方法一致,具体参考GB5703-2010《人体测量方法》[2]与GJB4856《中国男性飞行员人体尺寸测量》[3],但由于缺乏专业的测量设备,因此只能按照相关的测量方法(如图1所示)大致进行尺寸测量。经过实地测量,该志愿者的主要6项人体尺寸与2009年中国标准化研究院所测量的中国成年人男性50百分位、45百分位及55百分位的尺寸对比如图2所示,可知该志愿者的主要6项尺寸与中国成年人男性50百分位尺寸均较为符合。CT扫描如图3所示,所使用的机器为美国通用多螺旋CT机,型号为LightSpeedVCT,扫描的具体参数为:管电压120kV,管电流10mA,层厚0.625mm,层间距0.625mm,床速78.74mm/sec。全身CT扫描共计1,529张断层图像,以DICOM格式存储,DICOM是美国国家电气制造商协会制定的医学图像储存与交换的标准格式,相比于CT扫描的胶片,DICOM格式的图像更加清晰、储存更加便捷,且所有像素点的坐标均可保证准确无误[4]。图4为具有代表性的志愿者CT扫描断层图像。通过CT扫描的断层图像对于胸腹部内脏等器官组织的建模较难实现,还需借助于MRI磁共振成像扫描。MRI磁共振成像是用于检查身体解剖学及生理学的医用图像技术,利用磁场及无线电波来对身体进行成像,可以更清晰地重现内脏及韧带等组织器官。对该志愿者进行d胸腹部内脏的MRI扫描如图5所示,扫描仪器型号为SIEMENSMAGNETOMAera1.5T,层厚为1.5mm。

3提取扫描点云数据

将CT及MRI扫描的DICOM数据导入医学影响处理软件Mimics中,通过阈值分割,基于骨骼、内脏等在扫描图像中的不同灰度值可分别进行提取,提取的点云数据可用于三维CAD几何建模。图6为基于该CT扫描的胸腹部骨骼的三维重建点云模型示例。

数据采集论文篇13

1CY7C68013芯片

Cypress公司的EZ-USBFX2系列中的CY7C68013,是目前市面上比较少的符合USB2.0标准的USB控制器之一。与其它同类芯片相比,它提供了4KB的FIFO和一个功能十分强大的GPIF(GeneralProgrammableInterface)模块。后者相当于一个可编程状态机,正是由于它的存在,使得CY7C68013比其它同类芯片具有强大的互联能力。图1是CY7C68013芯片的结构示意图,其主要特点如下:

·CY7C68013内部集成了一个增强型的51内核,其指令集与标准的8051兼容,并且在多方面有所改进。例如:最高工作频率可达48MHz,一个指令周期为4个时钟周期,两个UART接口,三个定时计数器,一个I2C接口引擎等。

·CY7C68013提供了一个串行接口引擎(SIE),负责完成大部分USB2.0协议的处理工作,从而大大减轻了USB协议处理的工作量,并且提供了4KB的FIFO保证数据高速传输的需要。

·为了满足与各种不同类型外设的互联需要,芯片中集成了一个GPIF模块,让用户可以按照外设的时序进行波形编辑,而不需要复杂的程序描述,就可以保证GPIF与内部.FIFO的协调工作,实现芯片与高速设备之间的逻辑连接和高速数据传输。这对于开发者来说是相当友好的。笔者就是利用这一特性,实现数据的高速同步采集及传输。

图1

2同步高速数据采集芯片AD7862

2.1AD7862的结构

AD7862是AD公司推出的高速、低功耗、双极性12位的A/D转换芯片,其中包含了两个独立的快速ADC模块(允许同时采样和转换两路信号)、4路模拟输入信号(VAl、VA2、VBl、VB2)、2.5V的内部电压基准以及一个12位的高速并行接口。芯片正常运行时功耗只有60mW,当使用节电方式时,只有50μW,对于自带电源的USB设备这种低功耗无疑是一种优点。该芯片的内部结构如图2所示。每个ADC都有一个两通道的多路选择器,芯片通过地址信号A0分别选通VAl、VA2或VBl、VB2,当一个CONVST信号到来时,同时转换地址A0选中的两路信号。

2.2AD7862的控制时序

AD7862的控制时序如图3所示。在USB2.0同步高速数据采集器中,利用GPIF实现图3所示的时序控制。其中CONVST是转换开始启动信号,下降沿触发两路ADC开始装换;BUSY信号在CONVST信号触发后;变成并保持为高电子状态,直到两路ADC转换完毕,才又回到低电平;地址A0用于对两路模拟信号的选择,CS信号和RD信号分别是芯片使能信号以及读允许信号。两者第一次同为低电平时,读出第一组ADC转换的数据;在第二次为高电平时,读出第二组ADC转换的数据。使用AD7862值得注意的一点是该芯片提供了电源管理功能,当芯片将第二组数据读出后,CONVST信号继续保持低电平,芯片进入休眠模式。这时芯片的功耗只有50μW。这一点对于现在的便携式设备十分重要。

3同步高速数据采集器的硬件设计

传统的高速数据采集卡一般都采用PCI总线设计,但是笔记本电脑以及大部分便携式设备是没有PCI插槽的。利用USB2.0技术,不仅保证了较高的数据传输率(传输率最大可以达到480Mbps),同时还具有便携和无需外加电源等优点。图4是系统的结构示意图。它的工作原理是:在GPIF模块的控制下,由AD7862对目标进行等间隔采样,然后将采样结果通过GPIF传送到CY7C68013的内部FIFO中缓存;当采集一定量的数据后,CY7C68013自动将数据打包(不需要8051的介入),通过USB总线传输到PC机中进行数据处理。由于有GPIF的硬件支持,CY7C68013中的8051内核只是在很少的时间内,对控制进行了辅助处理,大部分工作由GPIF硬件完成。这样8051还可以与其他外设进行互联等工作。在高速数据采集器上附加了两路RS-232接口,用于将GPS数据和高精度智能测深仪的数据中转到主控计算机上,大大方便了新近推出的笔记本电脑与传统外设之间的联系。因为新近推出的笔记本电脑大多不具有RS-232接口,而那些野外观测仪器大多只能通过RS-232接口进行数据交换。

对于CY7C68013来说,其配置和固件都是软的,存储在外部的E2PROM中,上电时从I2C总线自动装载到片内RAM中,修改起来十分方便,便于固件升级。由于CY7C68013提供了丰富的I/O口,所以进行功能扩展也是很方便的,例如增加一个GPIB数据口等。

4软件设计

USB设备的软件设计包括三方面:固件设计、硬件驱动程序设计以及高级应用程序的设计。

4.1固件(firmware)设计

Cypress公司为CY7C68013提供了一个开发框架,可以在KEILC51环境下开发。由于开发框架的引入,从而大大缩短了用户的研发周期。该框架由以下几部分组成:

(1)FW.C中包含了程序框架的MAIN函数,管理整个51内核的运行,因为Cypress对这个部分的功能进行了精心划分,一般是不用改动的。

图3

(2)用户必须将PERIPH.C实例化,它负责系统周边器件的互联。固件的设计主要针对这个文件,用户必须根据自己系统的需要,实例化这个文件,以实现自己的功能。在这个文件中有几个函数是比较关键的,在这里做一下特别说明:

·TD_Init函数,负责对USB端点进行初始化设置。本设计中将端点6设置为1024个字节,缓存深度为4级,模式设为自动输入方式。

·TD_Poll函数,负责系统中循环任务的处理。它主要是对各个端点的状态进行查询,处理各种OUT或IN端点的交互。值得说明的一点是,这种处理只是辅质的,大部分工作由硬件自动完成。

·DR_VendorCmnd函数,主要负责用户自定义命令的译码工作,用户请求通过端点O传输给内核。由于CY7C68013上SIE硬件的支持,用户只需查询固定地址单元即可获得当前的命令代码。

·GPIFINIT.C,其中只有一个Gpiflnit函数;它是GPIF模块的初始化函数,一般在TD_Init函数中调用。这个函数是由Cypress公司提供的一个GPIFDesigner开发工具根据用户设计的波形生成的,用户不需要自己设计波形查询表,减轻了设计者的工作强度。

·DSCR.A51是描述表文件,负责USB设备的描述工作,CY7C68013在上电后自动利用其中的VID和PID取代默认的VID和PID。

·两个包含文件EZUSB.LIB和USBJMPTB.OBJ,前者是EZUSB函数库的二进制文件,后者是USB的中断向量表。

固件调试,使用Cypress提供的EZ-USBcontrolpanel,具体的操作读者可以参考其自带帮助。

4.2驱动程序的设计

驱动程序负责对底层硬件的访问。在本设计的驱动程序开发中,使用的开发工具是Jungo公司的WinDriverv6.03,它支持多种操作系统。利用WinDriver开发的优点是用户不需要了解操作系统内部的具体工作机理,同时也不需要了解各个系统DDK(DevelopingorDebugginginKernel)的开发工具,用户只需使用WinDriver提供的开发平台,即可完成驱动程序的设计工作,剩下的底层细节由WinDriver内核统一处理,从而降低了对开发者编程能力的要求,同时也大大缩短了开发周期。下面就使用WinDriver开发驱动程序的步骤做一个简要说明(以在Windows操作系统下的开发为例):

(1)启动WinDriver的DriverWizard工具;

(2)利用DriverWizard检测硬件是否正常;

(3)在DriverWizard中选择所使用的开发环境,这里使用VB6.0开发环境,并生成驱动程序代码;

(4)对生成的代码进行修改,使其符合系统的需要;

(5)在WinDriver环境的用户模式下,调试驱动程序;

(6)如果程序需要内核访问,以提高驱动程序的效率,进入内核开发。

在线咨询