當(dāng)前位置:首頁(yè) > 模擬 > 模擬
[導(dǎo)讀]針對(duì)特殊測(cè)試環(huán)境下傳統(tǒng)數(shù)據(jù)采集系統(tǒng)存儲(chǔ)、傳輸數(shù)據(jù)的不便,設(shè)計(jì)了一種基于雙模式USB接口的數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)以CH375為USB接口芯片,STC12C5A60S2單片機(jī)為處理器,構(gòu)成主從單片機(jī)系統(tǒng),用于某型數(shù)字式隨動(dòng)系統(tǒng)的性能測(cè)試。該系統(tǒng)采用USB主/從雙模式的采集方案,可將數(shù)據(jù)保存于USB移動(dòng)存儲(chǔ)設(shè)備或直接上傳至PC機(jī),大大提高了測(cè)試效率。

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

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

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

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

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

                  //延時(shí)
    while(CH375DiskConnect( )!=ERR_SUCCESS)
                                     //查詢U盤是否連接
    DelaymS(200);                    //延時(shí),等待U盤工作正常
    while(CH375DiskReady( )!=ERR_SUCCESS)
                                 //檢查U盤是否準(zhǔn)備好
    ……
    CH375DiskQuery( ); 
             //查詢U盤信息:總?cè)萘俊⑹S嗳萘俊⑽募到y(tǒng)
    ……
    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; 
                                 //寫入所有扇區(qū)的數(shù)據(jù)
    current_buffer=& FILE_DATA_BUF[0];
                     //設(shè)置存放數(shù)據(jù)的緩沖區(qū)的起始地址
    CH375FileWrite( );                          //向文件寫入數(shù)據(jù)
    ……
    CH375FileClose( );                        //關(guān)閉文件
3.2 從機(jī)模式
    此模式下,單片機(jī)通過(guò)CH375與PC機(jī)進(jìn)行通訊,完成采集方案下載與數(shù)據(jù)上傳,程序流程圖如圖5所示。

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

                                    //延時(shí)
    CH375_WR_CMD_PORT(CMD_CHECK_EXIST);
                                         //測(cè)試工作狀態(tài)
    CH375_WR_DAT_PORT(0x57);             //寫入測(cè)試數(shù)據(jù)    DelayuS(10);   

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉