湖南涉外經(jīng)濟(jì)學(xué)院信息科學(xué)與工程學(xué)院 歐陽(yáng)娣
基于嵌入式的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
湖南涉外經(jīng)濟(jì)學(xué)院信息科學(xué)與工程學(xué)院 歐陽(yáng)娣
本文設(shè)計(jì)了一種基于嵌入式高精度高速數(shù)據(jù)采集模塊,利用高速多路模擬開(kāi)關(guān)選擇8路模擬信號(hào)輸入,實(shí)現(xiàn)程序控制采集任意1路或者輪流采集1~8路信號(hào)。論文介紹了系統(tǒng)設(shè)計(jì)的總體方案及詳細(xì)的軟硬件設(shè)計(jì)。
高精度;數(shù)據(jù)采集;USB總線
數(shù)據(jù)采集在現(xiàn)代工業(yè)生產(chǎn)及科學(xué)研究中的重要地位日益突出,并且對(duì)實(shí)時(shí)高速數(shù)據(jù)采集的要求也不斷提高。在信號(hào)測(cè)量、圖像處理、音頻信號(hào)處理等一些高速、高精度的測(cè)量中,都需要進(jìn)行高速數(shù)據(jù)采集?;谟?jì)算機(jī)和嵌入式的分布式數(shù)據(jù)采集系統(tǒng)架構(gòu)以其開(kāi)發(fā)成本低、開(kāi)放性、運(yùn)算能力、通訊能力強(qiáng)、易于使用,逐漸成為設(shè)計(jì)應(yīng)用的主流[1],而目前在微機(jī)系統(tǒng)中,外設(shè)與CPU的連接存在接口標(biāo)準(zhǔn)各自獨(dú)立、互不兼容、無(wú)法共享的問(wèn)題,并且安裝、配置亦很麻煩,而通用串行總線(USB)的優(yōu)良特性對(duì)此提供了極佳的解決方案[1]。
圖1 系統(tǒng)硬件框圖
圖2 信號(hào)調(diào)理電路圖
圖3 主程序流程圖
如圖1,系統(tǒng)的工作方式為,模擬信號(hào)輸入部分實(shí)現(xiàn)采樣多路信號(hào)的選擇,同時(shí)對(duì)輸入的模擬信號(hào)進(jìn)行調(diào)理后送入A/D采樣,而利用FPGA作為邏輯控制器實(shí)現(xiàn)系統(tǒng)內(nèi)器件邏輯控制信號(hào)的產(chǎn)生,并且控制A/D的采樣頻率。在FPGA內(nèi)部配置雙口RAM實(shí)現(xiàn)數(shù)據(jù)緩沖。嵌入式處理器負(fù)責(zé)讀取數(shù)據(jù),并通過(guò)USB總線傳輸?shù)接?jì)算機(jī),嵌入式處理器還負(fù)責(zé)整個(gè)系統(tǒng)的協(xié)調(diào)工作[2]。
信號(hào)輸入通道為多通道輸入,系統(tǒng)可以采用ADG608高速多路模擬開(kāi)關(guān)組成,由1條片選線和3條地址線實(shí)現(xiàn)從8路單端信號(hào)中選擇其中一路,送入后級(jí)電路處理。同時(shí),在高速數(shù)據(jù)采集系統(tǒng)中,由于現(xiàn)場(chǎng)輸入信號(hào)大小范圍廣,因而需要將信號(hào)放大或者衰減,滿足A/D轉(zhuǎn)換器模擬輸入要求(0~5V),并盡可能的使A/D轉(zhuǎn)換后有效位數(shù)大。AD8551是一款低漂移,單電源的軌對(duì)軌輸入/輸出運(yùn)算放大器,可由+2.7~+5V的單電源驅(qū)動(dòng)。它具有極低的失調(diào)、漂移和偏置電流[3]。
信號(hào)調(diào)理電路如圖2,AIN為模擬輸入信號(hào),AO信號(hào)輸出。第一級(jí)放大倍數(shù)N1=1+R2/R1,第二級(jí)放大倍數(shù)N2=1+R3/R4,總的放大倍數(shù)N=N1×N2,通過(guò)R1、R2、R3和R4的不同取值,可實(shí)現(xiàn)不同倍數(shù)放大或衰減。
圖4 固件程序流程圖
濾波部分包括信號(hào)濾波和電源濾波,主要是減少噪聲的干擾。電容C3和C4為電源去耦電容,對(duì)電源進(jìn)行濾波。信號(hào)濾波共有4級(jí),濾波器均采用RC濾波器。其中R6和C6組成第一級(jí)信號(hào)濾波;R2和C1組成第二級(jí)信號(hào)濾波;R5和C5組成第三級(jí)信號(hào)濾波;R4和C2組成第四級(jí)信號(hào)濾波。RC濾波器的計(jì)算方法:f=1/(2πRC)。其中f為截止頻率,也就是說(shuō)大于f的頻率的信號(hào)通過(guò)RC濾波器以后都會(huì)有較大的衰減抑制。
本系統(tǒng)選用ATMEL公司的AT91RM9200。AT91RM9200是完全圍繞ARM920T ARM Thumb處理器構(gòu)建的ARM系統(tǒng),AT91RM9200集成了許多標(biāo)準(zhǔn)接口,其中包括USB2.0(全速)的主機(jī)和設(shè)備端口,USB2.0全速(12Mb/s)主機(jī)端口含片上收發(fā)器(208引腳PQFP封裝中僅為一個(gè))和集成的FIFO及專用的DMA通道;USB2.0全速(12Mb/s)器件端口含片上收發(fā)器,2K字節(jié)可配置的集成FIFO。
如圖3所示,主程序首先完成硬件初始化,初始化內(nèi)容包括初始化嵌入式處理器的I/O口狀態(tài)、中斷寄存器以及定時(shí)器/計(jì)數(shù)器的寄存器等等。然后進(jìn)入一個(gè)循環(huán)體,在此循環(huán)中通過(guò)檢測(cè)USB接口中的電源端)輸入到嵌入式處理器I/O口上的電平高低來(lái)判斷USB設(shè)備是否插入到主機(jī)設(shè)備中,如果USB設(shè)備插入到主機(jī)設(shè)備中,USB接口中的電源端輸入到嵌入式處理器I/O口電平為高,程序進(jìn)入到USB設(shè)備端點(diǎn)枚舉過(guò)程,完成USB設(shè)備枚舉后,進(jìn)入采樣服務(wù)程序,等待上位PC機(jī)的命令,設(shè)置采樣狀態(tài),開(kāi)始數(shù)據(jù)采集。主程序?qū)D轉(zhuǎn)換采樣后得到的數(shù)據(jù)寫(xiě)到USB端點(diǎn)緩沖區(qū)中,等待上位PC機(jī)發(fā)送命令讀取USB端點(diǎn)緩沖區(qū)中的數(shù)據(jù);如果主程序已經(jīng)工作在USB設(shè)備插入到主機(jī)設(shè)備中的狀態(tài)下,而將USB設(shè)備從主機(jī)設(shè)備中撥出,主程序會(huì)跳到本循環(huán)體的入口處檢測(cè)電平的高低;如果嵌入式處理器I/O口上的電平保持為低,主程序?qū)⑼A粼谶@個(gè)循環(huán)體中,等待USB設(shè)備插入到主機(jī)設(shè)備中,嵌入式處理器I/O電平發(fā)生變化后進(jìn)入數(shù)據(jù)采集和傳輸工作狀態(tài)。
固件程序包含在主程序中,如圖4所示,作為主程序的一個(gè)子程序,USB設(shè)備在正常使用之前,必須由主機(jī)完成USB設(shè)備的配置。主機(jī)一般會(huì)從USB設(shè)備獲取配置信息后再確定此設(shè)備有哪些功能。作為配置操作的一部分,主機(jī)會(huì)設(shè)置設(shè)備的配置值,如果必要的話會(huì)選擇合適的接口備選設(shè)備。在發(fā)出連接USB命令后,主機(jī)先讀取設(shè)備描述符,然后發(fā)出設(shè)置USB地址SETUP包,設(shè)置USB地址后,進(jìn)行主機(jī)客戶驅(qū)動(dòng)與設(shè)備初始化,其余端點(diǎn)依此類推。
本文設(shè)計(jì)采用USB總線傳輸數(shù)據(jù),USB總線具有USB總線傳輸具有速度快、支持熱插拔和即插即用、使用靈活和易于擴(kuò)展,能夠采用USB總線供電方式,無(wú)需外部電源,更好的適用于室外場(chǎng)合的數(shù)據(jù)采集。該系統(tǒng)能夠外置于計(jì)算機(jī),避免了傳統(tǒng)內(nèi)置式集卡需要插入計(jì)算機(jī)內(nèi)部插槽才能采集數(shù)據(jù),能與便攜式計(jì)算機(jī)配合使用,提高系統(tǒng)的便攜性。
[1]周俊蓉.高速數(shù)據(jù)采集系統(tǒng)[J].通信與信息技術(shù), 2004,10:32-35.
[2]馬凱,劉要文.高速數(shù)據(jù)采集卡的設(shè)計(jì)[J].計(jì)算機(jī)工程.2004,24(30):180-182.
[3]何朝陽(yáng),石菡貞.高速高精度實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].國(guó)外電子測(cè)量技術(shù),2005,6(12):30-33.
歐陽(yáng)娣(1982—),女,湖南長(zhǎng)沙人,大學(xué)本科,湖南涉外經(jīng)濟(jì)學(xué)院信息科學(xué)與工程學(xué)院助理實(shí)驗(yàn)師,研究方向:電子通信工程。