新闻中心

EEPW首页>消费电子>设计应用> 基于USB和便携式医疗设备的数据采集系统实现

基于USB和便携式医疗设备的数据采集系统实现

作者: 时间:2012-04-30 来源:网络 收藏

  又因CH375的动态链接库DLL提供了伪中断服务(实际的中断服务仍然是在驱动程序库完成的,只是在完成后向DLL发个通知,再由DLL再调用伪中断服务子程序),此,采用了伪中断服务来数据的上传,这不仅缩短了的开发周期,而且很好地满足了下位机的实时性要求。上传数据的程序流程图如图2所示。

  数据的下传只需用简单的下传API发送数据。由CH375中断接收即可。

  上位PC机工作在Windows环境下,我们采用Visual C++6.0语言编程。具体程序如下:

 (1)初始化PC104-

  在这里完成对设备的初始化,如CH375DLL.DLL文件的加载、设备的成功打开、缓冲区的清理、数据的上传模式、设置伪中断服务程序等。

上传数据流程图

  图2 上传数据流程图

  Figure 2 procedure flowchart of uploading data

  (1)void Init_PC104-()

  {

   ...................

  if ( LoadLibrary( CH375DLL.DLL ) == NULL )

   { //提示语言 }

   // 使用之前必须打开设备

   if ( CH375OpenDevice( mIndex ) ==

  INVALID_HANDLE_VALUE )

   { //提示语言}

   else{

   m_pc104usb_ok=TRUE;

  Result=CH375SetTimeout(mIndex, 500, 500 ); // 设置数据读写的超时,超过500mS未完成读写将强制返回,避免一直等待下去

   CH375SetBufUpload( mIndex, 1); //启用内部缓冲上传模式并清除缓冲区中的已有数据

  //设置伪中断服务程序

   mPCH375_INT_ROUTINE ptr;

  ptr=InteruptProcess;

  Result=CH375SetIntRoutine(mIndex,ptr);

   }

   }

  (2) 接收数据子程序

  Void PC_RecievData();

  { .........

  // 查询内部上传缓冲区中的已有数据包个数,成功返回数据包个数,出错返回-1

  Long packnumber=

  CH375QueryBufUpload( mIndex);

   if(packnumber>0)

   {

  CH375ReadData(mIndex,m_recev_buf, len)

   }

  ...........

  }

结论

  随着嵌入式计算机在中的广泛应用以及USB通讯技术的高速发展,本文通过USB总线接口芯片CH375、PC主机以伪中断方式发起上传数据流,以下传API发起下传数据流的通讯方式,并利用一系列的API接口函数,成功了上位机(PC)与下位机(PC104)之间的实时和传输。经测试能准确的收发数据,通讯稳定可靠。采用USB通讯,将为传统的改造、新一代的快速开发和应用提供广阔的前景。

  本文创新点:利用USB接口技术,采用USB模块CH 375在PC机与医疗设备之间实现了实时和传输,而且无需编写复杂的USB驱动程序,利用其动态链接库即可实现。可以使和传输系统非常方便的从RS232通讯、串行通讯、并行通讯、转向USB通讯,弥补其速度慢的缺点,进行系统升级。

参 考 文 献

  [1] 王刚.刘雅言. USB 接口技术在医疗仪器中的应用[J].电子技术.2004,2,10-12.

  [2] 苏全.梁凯琦. USB TO RS-232在传统医疗设备中的应用[J].医疗设备信息.2005,20(6)19-20.

  [3] 李新龙,翟宏范,狄国伟,王鑫,. USB芯片CH375在电能测量仪系统中的应用[J]. 微计算机信息,2006-26:318-320.

  [4] 李建.徐璧华.陈利学.Windows环境下PC机与PC104的串行通讯控制[J].西南石油学院学报.2001,23(4)68-76

  [5] 杨晓鹏.宗明.Visual C++ 7.0实用编程技术[M].北京:中国水利水电出版社,2002.

助听器原理相关文章:助听器原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭