📄 ——基于labview的usb实时数据采集处理系统的实现.htm
字号:
//块传输方式</P>
<P style="TEXT-INDENT: 30px">{</P>
<P style="TEXT-INDENT: 30px">//initialize the couters in the
8051</P>
<P style="TEXT-INDENT: 30px">TMOD=0x05;</P>
<P style="TEXT-INDENT: 30px">TCON=0x10;</P>
<P style="TEXT-INDENT: 30px">TH0=0;</P>
<P style="TEXT-INDENT: 30px">TL0=0;</P>
<P style="TEXT-INDENT: 30px">Thb=0,</P>
<P style="TEXT-INDENT: 30px">TH0=0;</P>
<P style="TEXT-INDENT: 30px">TL0=0;</P>
<P style="TEXT-INDENT: 30px">thb=0;</P>
<P style="TEXT-INDENT: 30px">EZUSB_IRQ_CLEAR();</P>
<P style="TEXT-INDENT: 30px">USBIRQ=bmSUTOK; //Clear SUTOK IRQ</P>
<P style="TEXT-INDENT: 30px">}</P>
<P style="TEXT-INDENT: 30px">void ISR_Sof(void)interrupt 0
//同步传输方式</P>
<P style="TEXT-INDENT: 30px">{</P>
<P style="TEXT-INDENT: 30px">if(TCON&0x21){ //Deal with the
counter overflow</P>
<P style="TEXT-INDENT: 30px">TH0=0;</P>
<P style="TEXT-INDENT: 30px">Tl0=0;</P>
<P style="TEXT-INDENT: 30px">THB++;</P>
<P style="TEXT-INDENT: 30px">TCON&=0xdf;}</P>
<P style="TEXT-INDENT: 30px">IN8DATA=TH0; //3 Bytes counter
result</P>
<P style="TEXT-INDENT: 30px">IN8DATA=TL0;</P>
<P style="TEXT-INDENT: 30px">IN8DATA=THB;</P>
<P style="TEXT-INDENT: 30px">EZUSB_IRQ_CLEAR();</P>
<P style="TEXT-INDENT: 30px">USBIRQ=bmSOF; //Clear SOF IRQ</P>
<P style="TEXT-INDENT: 30px">}</P>
<P
style="TEXT-INDENT: 30px">在LabVIEW应用程序中设计了一Usb.dll文件作为LabVIEW与USB的驱动程序。由于EZ-USB开发系统中已经提供了底层驱动程序(GPD)接口函数,用户只需调用这些函数即可与USB设备连接。因此在DLL的编制中只需调用它提供的函数,大大节约了开发时间,提高了开发速度。创建的Usb.dll文件中包含了如下五个输出函数,功能说明如表1所示。<BR><BR><B>表1
Usb.dll包含函数的功能说明</B></P>
<TABLE borderColorDark=#ffffff width="100%" borderColorLight=#000000
border=1>
<TBODY>
<TR class=main>
<TD align=middle width="50%">Control</TD>
<TD align=middle width="50%">主机对USB设备的控制</TD></TR>
<TR class=main>
<TD align=middle width="50%">ReadResult</TD>
<TD align=middle width="50%">获取USB发送到主机的数据</TD></TR>
<TR class=main>
<TD align=middle width="50%">StartIsoStream</TD>
<TD align=middle width="50%">启动设备的同步传输流</TD></TR>
<TR class=main>
<TD align=middle width="50%">StartThread</TD>
<TD align=middle width="50%">得到标准设备的设备描述符</TD></TR>
<TR class=main>
<TD align=middle width="50%">StopThread</TD>
<TD align=middle width="50%">关闭设备的同步传输流</TD></TR></TBODY></TABLE>
<P style="TEXT-INDENT: 30px">其定义如下:</P>
<P style="TEXT-INDENT: 30px">LPSTR_declspec(dllexport)_stdcall
Control(int input);</P>
<P style="TEXT-INDENT: 30px">int_declspec(dllexport)_stdcall
ReadResult(void);</P>
<P style="TEXT-INDENT: 30px">int_declspec(dllexport)_stdcall
StartIsoStream(void);</P>
<P style="TEXT-INDENT: 30px">int_declspec(dllexport)_stdcall
StartThread(void);</P>
<P style="TEXT-INDENT: 30px">int_declspec(dllexport)_stdcall
StopThread(void);</P>
<P
style="TEXT-INDENT: 30px">开启设备和获取采集数据的过程如图2所示。它的主要功能有:开启或关闭USB设备、检测USB设备、设置USB数据传输管道(pipe)和端点(endpoint)、实时从USB接口采集数据、显示并分析数据。</P>
<P
style="TEXT-INDENT: 30px">程序在VC++6.0环境下编制成功后自动生成DLL文件。调用时,在框图程序窗口打开FunctionPalette(功能模板),在Advanced模块包含有对库函数的调模块,即CallLibraryFunction。把编写好的DLLs放在当前目录或特定目录下。在功能模板放置函数调用模块,然后选Configure,出现对话框。根据LabVIEW与DLLs的参数对应关系填写好DLL文件的路径(DLL文件不在当前目录下)、被调用函数名、参数的类型及返回类型。需要注意的是,当调用多个函数时要分别填写参数的个数和对应的类型,而且在调用过程中应保持数据位的一致。填好选择OK按钮后,LabVIEW将自动生成各参数的入口及出口状态,这样就实现了LabVIEW与DLLs的调用。</P>
<P
style="TEXT-INDENT: 30px">通过上述方法成功实现了LabVIEW与USB驱动程序的数据交换,从而实现了以LabVIEW为应用程序的USB实时采集处理系统。将USB采集卡增加A/D或D/A并对电路作相应的改动后,即可实现传统采集卡的所有功能。很明显,这种集成了USB接口优点和LabVIEW图形化编程语言的采集处理系统与传统采集卡相比具有不可比拟的优势,不仅性价比高、通用性高、易于开发、数据处理简单,且可以大大缩短开发时间。
</SPAN></P>
<P></P></DIV></TD></TR>
<TR>
<TD align=middle height=15>
<TABLE cellSpacing=0 cellPadding=0 align=center border=0>
<TBODY>
<TR>
<TD>
<DIV></DIV></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD align=right height=2>
<TABLE cellSpacing=0 cellPadding=0 width="80%" border=0>
<TBODY>
<TR>
<TD width=75>【<A href="javascript:doPrint();">打印本稿</A>】</TD>
<TD width=8></TD>
<TD width=75>
<P>【<A
href="http://www.21ic.com/new_info/news/review.asp?title=基于LabVIEW的USB实时数据采集处理系统的实现target="
_blank?>发表评论</A>】</P></TD>
<TD width=10></TD>
<TD width=79>【<A
href="http://www.21ic.com/new_info/news/sendmail.asp?num=基于LabVIEW的USB实时数据采集处理系统的实现">推荐</A>】</TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD align=right height=2></TD></TR>
<TR>
<TD align=right height=2><A href="javascript:window.close();"><IMG
height=20 src="——基于LabVIEW的USB实时数据采集处理系统的实现.files/close_c.gif"
width=77 border=0 name=Image161></A><FONT
color=#ffffff>----</FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellSpacing=0 cellPadding=0 width=520 align=center border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=middle width=114 bgColor=#999a76
height=1><IMG height=1
src="——基于LabVIEW的USB实时数据采集处理系统的实现.files/blank.gif" width=1></TD>
<TD width=466 height=1></TD></TR>
<TR>
<TD align=middle width=114 bgColor=#ece8db height=19>相关新闻</TD>
<TD width=466 height=19></TD></TR>
<TR bgColor=#999a76>
<TD colSpan=2 height=1><IMG height=1
src="——基于LabVIEW的USB实时数据采集处理系统的实现.files/blank.gif" width=1></TD></TR>
<TR>
<TD colSpan=2 height=1></TD></TR></TBODY></TABLE>
<TABLE borderColor=#000000 cellSpacing=0 cellPadding=0 width=520
align=center border=0>
<TBODY>
<TR>
<TD vAlign=top>
<TABLE class=RelatedTable width="100%" border=0>
<TBODY>
<TR class=RelatedTr>
<TD class=RelatedTd>
<SCRIPT language=javascript
src="——基于LabVIEW的USB实时数据采集处理系统的实现.files/about.htm"></SCRIPT>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR></TD>
<TD vAlign=top align=middle width=150 bgColor=#ece8db height=2>
<TABLE cellSpacing=0 cellPadding=1 width="100%" border=0>
<TBODY>
<TR>
<TD bgColor=#000000>
<TABLE cellSpacing=0 cellPadding=2 width=150 bgColor=#ece8db
border=0>
<TBODY>
<TR>
<TD>
<META content="Microsoft FrontPage 5.0" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<P><A href="http://www.21ic.com/custom/tek/tek.htm"><IMG
src="——基于LabVIEW的USB实时数据采集处理系统的实现.files/tek.gif"
border=0></A></P></TD></TR>
<TR>
<TD
height=5></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=766 align=center border=0>
<TBODY>
<TR>
<TD vAlign=top colSpan=6></TD></TR>
<TR>
<TD vAlign=top colSpan=6 height=10></TD></TR>
<TR>
<TD vAlign=top bgColor=#999999 colSpan=6 height=2></TD></TR>
<TR>
<TD class=stxt vAlign=center align=middle colSpan=6
height=6></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=766 align=center border=0>
<TBODY>
<TR>
<TD class=s width=973 height=12></TD></TR>
<TR>
<TD class=s width=973 height=20>
<DIV align=center><FONT face="Arial, Helvetica, sans-serif"><!--start copyright-->
<DIV align=center><FONT color=black>
<TABLE cellSpacing=0 cellPadding=0 width=600 align=center border=0>
<TBODY>
<TR>
<TD align=middle width="100%" colSpan=2><BR>Better View:800*600 Best
View:1024x768 为了本系统能够更好的为您服务,请使用IE4.0或以上版本浏览器
<BR><BR>版权所有(C)21IC中国电子网 电话:010-82357510, 82357511 传真: 010-82357512
</TD></TR></TBODY></TABLE><!--start copyright--></FONT></DIV></FONT></DIV></TD></TR></TBODY></TABLE><BR></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -