久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 基于LabVIEW的USB實時數據采集處理系統的實現

基于LabVIEW的USB實時數據采集處理系統的實現

作者: 時間:2013-11-08 來源:網絡 收藏

  3.2 采集卡的軟件構成

  在 的Firmware中,采取同步傳輸(Isochronous Transactions)和塊傳輸(Bulk Transactions)兩種傳輸方式。同步方式用來實時傳送采集的數據,塊傳輸主要用來傳輸主機命令信號和的狀態信息。塊傳輸中利用端點(Endpoint)2。兩種傳輸方式的核心中斷程序如下:

  void ISR_Sutok(void)interrupt 0 //塊傳輸方式

  {

  //initialize the couters in the 8051

  TMOD=0x05;

  TCON=0x10;

  TH0=0;

  TL0=0;

  Thb=0,

  TH0=0;

  TL0=0;

  thb=0;

  EZUSB_IRQ_CLEAR();

  USBIRQ=bmSUTOK; //Clear SUTOK IRQ

  }

  void ISR_Sof(void)interrupt 0 //同步傳輸方式

  {

  if(TCON0x21){ //Deal with the counter overflow

  TH0=0;

  Tl0=0;

  THB++;

  TCON=0xdf;}

  IN8DATA=TH0; //3 Bytes counter result

  IN8DATA=TL0;

  IN8DATA=THB;

  EZUSB_IRQ_CLEAR();

  USBIRQ=bmSOF; //Clear SOF IRQ

  }

  在 應用程序中設計了一Usb.dll文件作為與USB的驅動程序。由于EZ-USB開發系統中已經提供了底層驅動程序(GPD)接口函數,用戶只需調用這些函數即可與USB設備連接。因此在DLL的編制中只需調用它提供的函數,大大節約了開發時間,提高了開發速度。創建的Usb.dll文件中包含了如下五個輸出函數,功能說明如表1所示。

  表1 Usb.dll包含函數的功能說明

Control 主機對USB設備的控制
ReadResult 獲取USB發送到主機的數據
StartIsoStream 啟動設備的同步傳輸流
StartThread 得到標準設備的設備描述符
StopThread 關閉設備的同步傳輸流

  其定義如下:

  LPSTR_declspec(dllexport)_stdcall Control(int input);

  int_declspec(dllexport)_stdcall ReadResult(void);

  int_declspec(dllexport)_stdcall StartIsoStream(void);

  int_declspec(dllexport)_stdcall StartThread(void);

  int_declspec(dllexport)_stdcall StopThread(void);

  開啟設備和獲取采集數據的過程如圖2所示。它的主要功能有:開啟或關閉USB設備、檢測USB設備、設置USB數據傳輸管道(pipe)和端點(endpoint)、實時從USB接口采集數據、顯示并分析數據。

c++相關文章:c++教程


塵埃粒子計數器相關文章:塵埃粒子計數器原理


評論


相關推薦

技術專區

關閉