
圖4 計算機端兩通道USB數據傳輸程序設計流程圖 利用MFC(微軟基礎類)定時器函數[6],計算機定時順序訪問兩通道,獲取采集數據。編寫計算機端定時中斷處理程序的基本框架如下所示:
OnTimer(UINT nIDEvent) //定時函數入口
{
if (CH375OpenDevice(0 )= =INVALID_HANDLE_VALUE) // 打開USB設備1(通道1 USB模塊CH375),返回句柄,出錯無效
………
if (CH375OpenDevice(1 )= =INVALID_HANDLE_VALUE) //打開USB設備2
………
if ( CH375WriteData( 0, WriteBuf, &length) ) //發送數據請求命令給USB設備1,成功發送后返回真。WriteBuf指向放置準備寫出數據的緩沖區。Length指向長度單元,輸入時為準備寫出的長度,返回后為實際寫出的長度。
………
if ( CH375ReadData( 0, ReadBuf, & length) ) //從USB設備1讀取采集數據,成功讀取后返回真。ReadBuf為指向用于保存讀取數據的緩沖區。Length指向長度單元,輸入時為準備讀取得長度,返回后為實際讀取得長度。
………
CH375CloseDevice( 0 ); //關閉USB設備1
if ( CH375WriteData( 1, WriteBuf, &length) ) //發送數據請求命令給USB設備2
………
if ( CH375ReadData( 1, ReadBuf, & length) ) //從USB設備2讀取采集數據
………
CH375CloseDevice( 1 ); //關閉USB設備2
}
4 結束語
采用CH375進行USB數據傳輸速率高,達到1Mbit/s以上。而且無需編寫復雜的USB驅動程序,利用其動態鏈接庫即可實現多通道USB接口與PC機通信。研發簡單,易于實現,可以使數據傳輸系統非常方便的從RS232總線轉向USB總線,彌補其速度慢的缺點,進行系統升級。并且USB所具有的各種優越性能,也必將使這種接口電路在數據傳輸中得到更廣泛的應用。
參考文獻
[1]謝一岡,陳昌,王曼,等. 粒子探測器與數據獲取[M]. 北京:科學出版社, 2003. 529-532.
[2]周建斌,黃錦華. USB接口技術在核譜測量系統中的應用研究[J]. 核電子學與探測技術. 2004, 24(5). -506 -510
[3]胡榮強,郝艷杰. USB接口在數據采集系統中的應用[J]. 微計算機信息. 2005,21(1).-51-52
[4]南京沁恒電子有限公司. USB總線接口芯片CH375. http://www.Winchiphead.com, 2005
[5]宋建國. AVR單片機原理及應用[M]. 北京:北京航空航天大學出版社, 2000. 22-26
[6]David Simon, 周瑜萍,等. Visual C++ 6編程寶典[M].電子工業出版社, 2005.314-317





