《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于雙模式USB接口的多處理器數據采集系統設計
基于雙模式USB接口的多處理器數據采集系統設計
來源:微型機與應用2010年第14期
張晨光, 閆英敏, 陳永利
(軍械工程學院電氣工程系, 河北 石家莊 050003)
摘要: 針對特殊測試環境下傳統數據采集系統存儲、傳輸數據的不便,設計了一種基于雙模式USB接口的數據采集系統。該系統以CH375為USB接口芯片,STC12C5A60S2單片機為處理器,構成主從單片機系統,用于某型數字式隨動系統的性能測試。該系統采用USB主/從雙模式的采集方案,可將數據保存于USB移動存儲設備或直接上傳至PC機,大大提高了測試效率。
Abstract:
Key words :

摘   要: 針對特殊測試環境下傳統數據采集系統存儲、傳輸數據的不便,設計了一種基于雙模式USB接口的數據采集系統。該系統以CH375為USB接口芯片,STC12C5A60S2單片機為處理器,構成主從單片機系統,用于某型數字式隨動系統的性能測試。該系統采用USB主/從雙模式的采集方案,可將數據保存于USB移動存儲設備或直接上傳至PC機,大大提高了測試效率。
關鍵詞: 數據采集; 雙模式; USB;多處理器

    現代軍事、工業自動化設備功能不斷完善、集成化程度越來越高,這就對配套的數據采集以及檢測系統提出了更高要求。特別是條件惡劣、野外以及空間狹小封閉的測試環境中,不僅要求系統能夠快速穩定地完成數據采集,同時更需要將采集的數據保存于大容量存儲設備中,方便后續的分析處理[1]。目前,由于高速率、低成本、易擴展的優點,USB總線已成為計算機與外設之間數據交換的主流總線協議。采用USB接口的各種大容量移動存儲設備具有高速、抗震、穩定的優點,特別適用于以上的數據采集場合。
 本文采用USB總線接口芯片CH375設計了具有主/從雙模式的多單片機數據采集系統,既能完成與上位機的實時通訊,也可在環境條件惡劣時作為便攜式系統完成采集數據在USB移動存儲設備上的轉存。
1 雙模式USB接口芯片CH375簡介
 CH375是南京沁恒有限公司生產的USB總線通用接口芯片,支持USB-HOST主機方式與USB-DEVICE/SLAVE設備方式,并可動態切換。CH375具有8 bit數據總線,讀、寫、片選控制以及中斷輸出,可以方便地掛接到單片機等控制器的系統總線上。主機模式下,芯片還提供了串行通訊方式,控制器可以通過串口操作USB移動存儲設備。此外,CH375內置了處理Mass-Storange海量存儲設備的專用通訊協議固件,支持常用的USB全速設備,兼容USB2.0設備(U盤、閃盤以及USB移動硬盤)[2]。外部控制器可以通過該芯片直接以扇區為單位進行讀寫操作控制。如果需要處理與PC機兼容的文件系統,可以利用廠家提供的C語言子程序庫實現USB存儲設備的文件級接口,從而降低開發難度、節約成本。
2  硬件系統設計[3]
   本文介紹的數據采集系統用于某型數字式隨動系統的性能測試,其硬件框圖如圖1所示。

 系統硬件主要由主控單片機、信號調理模塊、USB通訊模塊、從控單片機組以及鍵盤顯示模塊五部分構成。工作時,先由主控單片機向從控單片機組發出測試開始指令,從控單片機組完成與被測隨動系統數控電路的通訊,一方面測試通訊情況是否正常,另一方面維持隨動系統正常工作。通訊測試結果經串行口由從控機組送回主控機,作為性能測試的部分結果數據。隨動系統正常運行后,信號調理模塊將被測信號濾波整理,分批送入主控單片機的ADC輸入端,主控單片機經CH375將被測數據寫入USB存儲設備或發送至PC機直接處理。
 基于USB主機模式下文件級子程序庫編程的需要,主控單片機采用宏晶科技有限公司的STC12C5A60S2。該單片機工作頻率可達35 MHz,具有1280 B片內RAM數據存儲器與60 KB片內Flash程序存儲器,8通道10 bit高速ADC,2個全雙工異步串行口[4],完全滿足數據采集與CH375主/從雙模式的控制要求。
 USB主機接口電路如圖2所示。CH375芯片工作于并口方式,將其TXD引腳接地,并行接口掛接到單片機系統總線上。其8 bit雙向數據總線D0~D7直接與單片機的P0數據總線相連,地址輸入線A0,讀、寫選通引腳RD、WR和片選信號CS,分別連接至單片機的P5.0~5.3引腳。中斷請求輸出INT連接到單片機的中斷輸入INT0引腳,中斷請求為低電平有效。

 從控單片機組共有4片STC12C5A60S2,每片第一串口與主控機相連,實現主、從機數據與控制傳輸。其中3片經并行口、1片經第二串行口與隨動數控電路通訊。從控機與隨動系統數控電路進行并口通訊的各信號線包括:8 bit數據總線D0~D7,通訊啟動信號START,應答信號ACK,同步信號SYN,中斷信號INT。
 系統工作模式由主控單片機外接鍵盤動態切換。開機后默認工作于主機模式,等待USB存儲設備連接。單片機檢測存儲設備連接并判斷符合要求后,系統可正常測試采集數據,并轉存于外接存儲設備,供后期導入PC機分析處理。測試條件允許時,也可將系統設置為與PC機直接相連的從機模式。這時,數據采集過程完全由上位機控制,可實現較為復雜的性能參數與故障分析測試,提高工作效率。
3  雙模式系統軟件設計
   使用51系列兼容單片機C語言編程軟件Keil uVision3編寫單片機程序,完成數據采集、通訊控制、數據處理等功能。主程序流程如圖3所示。

3.1 主機模式程序設計
 廠家提供了適用于單片機操作U盤的文件級子程序庫CH375HF6.LIB,將主機模式下處理USB存儲設備的API進行了封裝,支持FAT12、FAT16和FAT32文件系統[5]。該文件級子程序庫的所有API函數在調用后都有操作狀態返回,但不一定有應答數據,API參數在CH375HF6.H文件內進行說明。調用的API子程序主要有:芯片初始化CH375Init( ),查詢設備準備好CH375DiskReady(),查詢存儲設備信息CH375DiskQuery(),新建文件CH375FileCreate(),打開文件CH375FileOpen(),寫文件數據CH375ByteWrite(),關閉文件CH375FileClose()等[6]。操作U盤存儲采集數據的程序流程如圖4所示。

   采用Keil編寫U盤操作程序時,需要將CH375HF6.LIB庫文件和CH375HF6.H添加到項目中。主機模式單片機程序基本框架如下:
   CH375_WR_CMD_PORT(CMD_SET_USB_MODE);
                                  //設置USB工作模式
   CH375_WR_DAT_PORT(6);
                     //模式代碼,已啟用的USB主機模式    DelayuS(20);

                  //延時
    while(CH375DiskConnect( )!=ERR_SUCCESS)
                                     //查詢U盤是否連接
    DelaymS(200);                    //延時,等待U盤工作正常
    while(CH375DiskReady( )!=ERR_SUCCESS)
                                 //檢查U盤是否準備好
    ……
    CH375DiskQuery( ); 
             //查詢U盤信息:總容量、剩余容量、文件系統
    ……
    while ( i!=ERR_SUCCESS )
    {strcpy( mCmdParam.Open.mPathName, "\\TEST" );
                                            //目錄名
    i=CH375FileOpen( );}                          //打開目錄
    while(i!=ERR_SUCCESS)
    {strcpy(mCmdParam.Open.mPathName,TestData); 
                                          //輸入文件名
    i=CH375FileOpen( ); }                    //打開文件
    ……
    mCmdParam.Write.mSectorCount=SecCount; 
                                 //寫入所有扇區的數據
    current_buffer=& FILE_DATA_BUF[0];
                     //設置存放數據的緩沖區的起始地址
    CH375FileWrite( );                          //向文件寫入數據
    ……
    CH375FileClose( );                        //關閉文件
3.2 從機模式
    此模式下,單片機通過CH375與PC機進行通訊,完成采集方案下載與數據上傳,程序流程圖如圖5所示。

 單片機重新初始化CH375并設置為設備工作模式。測試芯片正常連接后,系統可接收PC機發送的數據。主控單片機根據下載的采集方案進行采集測試,并將結果數據存入采集緩沖區,待緩沖區滿,則向PC機請求上傳。采集結束,數據全部上傳,系統完成一個從機模式采集工作過程。從機模式單片機程序基本框架如下:
    CH375Init();                            //初始化CH375
    DelaymS(50);                                   //延時
    CH375_WR_CMD_PORT(CMD_SET_USB_MODE);
                                       //設置USB工作模式
    CH375_WR_DAT_PORT(2);
               //模式代碼,已啟用的內置固件USB設備模式    DelayuS(20);

                                    //延時
    CH375_WR_CMD_PORT(CMD_CHECK_EXIST);
                                         //測試工作狀態
    CH375_WR_DAT_PORT(0x57);             //寫入測試數據    DelayuS(10);   

                                     //延時
    If(CH375_RD_DAT_PORT( )==0xA8);
              //讀出測試數據是否按位取反,判斷工作狀態
    ……
    CH375_WR_CMD_PORT(CMD_GET_STATUS); 
                       //中斷子程序中,讀取中斷狀態命令
    int_sn=CH375_RD_DAT_PORT( );            //讀中斷號     ……
    if (int_sn ==USB_INT_USB_EP2_OUT)
    CH375_WR_CMD_PORT(CMD_RD_USB_DATA);
                 //讀取上位機測試方案數據并釋放緩沖區
    ……
    test_all( );                 //按下載方案測試采集數據
    ……
    While (flag_upload == 0)                  //數據上傳未結束
    {
    ……
     CH375_WR_CMD_PORT(CMD_WR_USB_DATA 7);
                                     //批量上傳采集數據
     CH375_WR_DAT_PORT(n);            //寫入上傳字節數
    for (i=0;i<n;i++)                      //每次上傳n字節
      CH375_WR_DAT_PORT(*test_buf ++);
                           //上傳采集結果,指針自動加1
    ……
    }
    ……
    if (int_sn ==USB_INT_USB_EP2_IN)
           //中斷子程序中,中斷號為端點2發送數據完畢
    CH375_WR_CMD_PORT(CMD_UNLOCK_USB);
                                          //釋放緩沖區
    基于CH375雙模式USB接口芯片,設計完成了主/從雙模式的數據采集測試系統。充分利用接口即插即用、便攜式的特點,解決了特殊環境下的測試困難問題。同時,系統具有雙模式、多單片機的優勢,能夠滿足高標準的測試需求,具有廣闊的應用前景。
參考文獻
[1]   薛小鈴,李麗華.一種U盤存儲的數據采集系統的設計[J].閩江學院學報, 2008,29(5):44-47.
[2]   南京沁恒電子有限公司.USB總線接口芯片CH375中文手冊[EB /OL].[2005].http://wch.cn/download/ch375ds1.pdf
[3]   蔣樂濤.某型數字化隨動系統分析及調測系統設計[D]. 南京:南京理工大學,2008.
[4]   宏晶科技有限公司.STC12C5A60S2系列單片機器件手冊[EB/OL].[2009.6]. http://www.mcu-memory.com/
datasheet/stc/STC-AD-PDF/STC12C5A60S2.pdf
[5]   湯劍靈,高玉.USB通信芯片CH375在數據交換中的應用[J].電子工程師,2007,33(10).
[6]   位耀東,馬海濤,董春波.基于雙模式USB接口的便攜式比色計設計[J].微計算機信息,2009,25(6-2).

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美 另类 精品一区视频 | 免费精品国产日韩热久久 | 国产亚洲网站 | 国产精品免费观看视频播放 | 玖玖五月 | 开心激情五月婷婷 | 免费120秒| 婷婷综合激情网 | 欧美日韩亚洲国产无线码 | 久久国产小视频 | 五月开心六月伊人色婷婷 | 日本天堂网站 | 青青久久精品国产 | 米奇电影院免费观看 | 2o2o天天看夜夜看狠狠看 | 日韩成人av在线 | 热和尚三区四区 | 欧美日韩色视频 | 久久鸭综合久久国产 | 色视频免费在线观看 | 欧美黄色性生活 | 国产亚洲第一 | 男人天堂a在线 | 成人免费小视频 | 国产国产在线播放你懂的 | 精品在线视频免费观看 | 娼年中文字幕 | 不卡一区二区在线观看 | 精品一区二区三区四区五区六区 | 国产成人精品视频一区 | 深夜看片在线观看18 | 日韩福利在线观看 | 五月情网 | 国亚洲欧美日韩精品 | 久久综合精品国产一区二区三区 | 日韩中文字幕久久精品 | 久久性综合亚洲精品电影网 | 国产成人精品日本亚洲专一区 | 国产99久久精品 | 五月情婷婷 | 亚洲综合在线观看视频 |