隨著測(cè)試技術(shù)的不斷發(fā)展進(jìn)步,低功耗、高性能的DSP可取代通用單片機(jī),用在數(shù)據(jù)采集處理系統(tǒng)中;以太網(wǎng)技術(shù)也正在數(shù)據(jù)采集、測(cè)試測(cè)量技術(shù)中發(fā)揮越來越大的作用。本文主要從軟件、硬件出發(fā),介紹一種基于DSP和以太網(wǎng)的數(shù)據(jù)采集處理系統(tǒng)的設(shè)計(jì)思路及實(shí)現(xiàn)。
1 基于以太網(wǎng)的數(shù)據(jù)采集處理系統(tǒng)
由于生產(chǎn)和科研領(lǐng)域?qū)y(cè)試的要求越來越高,所需測(cè)試和處理的數(shù)據(jù)量也越來越大,可能需要多個(gè)測(cè)試儀器同時(shí)進(jìn)行處理,也可能需要在各測(cè)試儀器之間進(jìn)行數(shù)據(jù)交換;而且,有些時(shí)候不適合工作人員親臨現(xiàn)場(chǎng),這時(shí)就需要進(jìn)行網(wǎng)絡(luò)控制。以太網(wǎng)技術(shù)在數(shù)據(jù)采集處理系統(tǒng)中的應(yīng)用如圖1所示。
和現(xiàn)在使用于工業(yè)現(xiàn)場(chǎng)比較多的現(xiàn)場(chǎng)總線比較,以太網(wǎng)最大的特點(diǎn)是開發(fā)性好、成本低。通過把復(fù)雜的TCP/IP協(xié)議封裝而提供的各種網(wǎng)絡(luò)測(cè)試技術(shù),使得網(wǎng)絡(luò)測(cè)試的開發(fā)變得不再?gòu)?fù)雜;同時(shí),網(wǎng)絡(luò)測(cè)試帶來的巨大效益,使得網(wǎng)絡(luò)測(cè)試在測(cè)試自動(dòng)化領(lǐng)域能夠得到廣泛的應(yīng)用。以太網(wǎng)作為分布式測(cè)試的一個(gè)網(wǎng)絡(luò)方案,其潛力無疑是巨大的。
以太網(wǎng)接口控制器和DSP微處理器的價(jià)格不斷下降,使得以太網(wǎng)直接集成到基于DSP等嵌入式系統(tǒng)的測(cè)試、采集和工業(yè)I/O設(shè)備中成為一個(gè)越來越明顯的趨勢(shì)?;谝蕴W(wǎng)的I/O設(shè)備是將以太網(wǎng)接口直接嵌入到設(shè)備內(nèi)部。所以一般來說,在網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集時(shí),可以有更小的設(shè)備體積,安裝也更靈活。和一些現(xiàn)在使用于工業(yè)的其它通信方案比較,以太網(wǎng)方式通常需要更強(qiáng)大的微處理器和內(nèi)存。而現(xiàn)在網(wǎng)絡(luò)和計(jì)算機(jī)技術(shù)的發(fā)展,特別是DSP技術(shù)的應(yīng)用,可以大大地降低這方面的成本。
2 數(shù)據(jù)采集處理系統(tǒng)的硬件設(shè)計(jì)
該系統(tǒng)以TI公司的TMS320C6000(以下簡(jiǎn)稱C6000)系列DSP中的TMS320C6211和10/100M自適應(yīng)以太網(wǎng)控制芯片MX98728EC為核心,主要包括ADC數(shù)據(jù)采集、DSP數(shù)據(jù)處理和以太網(wǎng)接口三個(gè)部分。圖2為數(shù)據(jù)采集處理系統(tǒng)框圖。
?。?)C6000系列DSP
C6000是1997年美國(guó)TI公司推出的新一代高性能DSP芯片。這種芯片是屬于定點(diǎn)、浮點(diǎn)兼容的D S P系列。其中定點(diǎn)系列是TMS320C62XX,浮點(diǎn)系列是TMS320C67XX。C6000片內(nèi)有8個(gè)并行的處理單元,分為相同的兩組。芯片的最高時(shí)鐘頻率可以達(dá)到300MHz,當(dāng)芯片內(nèi)部8個(gè)處理單元同時(shí)運(yùn)行時(shí),其最大處理能力可以達(dá)到2400MIPS。本數(shù)據(jù)采集處理系統(tǒng)采用TMS320C6211。
?。?)以太網(wǎng)控制器MX98728EC
MX98728EC是一個(gè)通用的單片10/100M快速以太網(wǎng)控制器。通過它的主機(jī)總線接口,可以實(shí)現(xiàn)各種各樣的應(yīng)用,而不需要或者只需極少的外部控制邏輯。單片的解決方案可以減小電路板的尺寸和板上芯片的數(shù)量,以降低系統(tǒng)的成本。MX98728EC的特點(diǎn)如下:
◇ 32位通用異步總線結(jié)構(gòu),支持頻率最高到33MHz;
◇ 單片解決方案,集成了10/100M TP收發(fā)器;
◇ 可選的外部收發(fā)器MII接口;
◇ 完全兼容IEEE 802.3u協(xié)議;
◇ 支持16/8位打包緩沖數(shù)據(jù)寬度和32/16位主機(jī)總線數(shù)據(jù)寬度;
◇ 分離的TX和RX FIFO,支持全雙工模式,獨(dú)立的TX和RX通道;
◇ 豐富的片上寄存器,以支持各種各樣的網(wǎng)絡(luò)管理功能;
◇ 支持16/8位的用于打包緩沖器的SRAM接口,支持片上FIFO的突發(fā)DMA模式;
◇ 自動(dòng)設(shè)置網(wǎng)絡(luò)速度和協(xié)議的NWAY功能;
◇ 可選的EEPROM 配置,支持1Kb和4Kb的EEPROM 接口;
◇ 支持軟件EEPROM 接口,方便升級(jí)EEPROM的內(nèi)容。
?。?) 系統(tǒng)結(jié)構(gòu)
?、貯DC數(shù)據(jù)采集部分。CPLDl由DSP提供時(shí)鐘信號(hào),主要作用是提供掃描表SRAM的地址。掃描表SRAM的數(shù)據(jù)由DSP寫入。掃描表的數(shù)據(jù)輸出對(duì)擬進(jìn)行A/D轉(zhuǎn)換的模擬通道進(jìn)行選擇和對(duì)儀表放大器進(jìn)行增益選擇。ADC采用14位的LTCl416。32路模擬信號(hào)通過多路復(fù)用器,選擇其中1路信號(hào),進(jìn)入儀表放大器放大之后,進(jìn)入ADC。ADC的轉(zhuǎn)換時(shí)鐘由DSP的定時(shí)器提供。
?、贒SP數(shù)據(jù)處理部分。ADC轉(zhuǎn)換后的14位數(shù)據(jù)通過FIPO進(jìn)入DSP進(jìn)行處理。FIFO采用4片CY7C425形成乒乓結(jié)構(gòu),以實(shí)現(xiàn)模擬信號(hào)的不間斷采樣。DSP擴(kuò)展一片F(xiàn)lash存儲(chǔ)器,作為DSP的程序存儲(chǔ)器。另外,還擴(kuò)展了一片SRAM,作為程序緩存,脫機(jī)運(yùn)行時(shí),DSP將Flash中的程序?qū)懭隨RAM,再寫入DSP內(nèi)部RAM。CPLD2主要是用于控制FIFO的讀寫,并且提供以太網(wǎng)接口部分的控制信號(hào)。DSP系統(tǒng)中的數(shù)字信號(hào)處理算法重點(diǎn)實(shí)現(xiàn)濾波、采樣率變換、非線性修正和溫漂修正等。
?、垡蕴W(wǎng)接口部分。以太網(wǎng)主控芯片MX98728EC通過RJ45接口連接以太網(wǎng),擴(kuò)展一片SRAM作為以太網(wǎng)數(shù)據(jù)收發(fā)數(shù)據(jù)存儲(chǔ)器。EEPROM存儲(chǔ)以太網(wǎng)卡的MAC地址、I/O基地址、中斷線選擇等配置寄存器初始化數(shù)據(jù)。CPLD3通過DSP高位地址線的譯碼,控制以太網(wǎng)芯片的片選和提供以太網(wǎng)接口部分的復(fù)位信號(hào)等。DSP和以太網(wǎng)的接口部分硬件設(shè)計(jì)如圖3所示。
3 數(shù)據(jù)采集處理系統(tǒng)的軟件設(shè)計(jì)
C6000系列DSP芯片的硬件資源為高性能提供了必要條件,應(yīng)該充分利用這些硬件資源及開發(fā)工具,使代碼達(dá)到所期望的性能。在DSP嵌入式系統(tǒng)的基礎(chǔ)上,集成已經(jīng)封裝的TCP/IP協(xié)議棧,增加網(wǎng)絡(luò)連接代碼,這是軟件編程時(shí)應(yīng)該著重考慮的問題。因?yàn)镈SP系統(tǒng)硬件及以太網(wǎng)協(xié)議的復(fù)雜性,本系統(tǒng)中的軟件編程是一個(gè)關(guān)鍵的難點(diǎn)。
本系統(tǒng)的軟件設(shè)計(jì)過程中,采用了TI基于C6000系列DSP的實(shí)時(shí)操作系統(tǒng)DSP/BIOS和DSP/BIOS提供的實(shí)時(shí)數(shù)據(jù)交換功能RTDX(Real-Time-Data-eXchange)。DSP/BIOS針對(duì)DSP的應(yīng)用環(huán)境,通過一系列的對(duì)象模塊,向開發(fā)者提供了一個(gè)實(shí)用優(yōu)秀的實(shí)時(shí)操作系統(tǒng)。它可以幫助用戶提高軟件的模塊化、并行性和維護(hù)性等,有利于降低系統(tǒng)成本和縮短開發(fā)周期。運(yùn)行于該操作系統(tǒng)之上的應(yīng)用程序,在開發(fā)時(shí)間、軟件維護(hù)和升級(jí)等方面都有了極大的提高。實(shí)時(shí)數(shù)據(jù)交換RTDX是DSP/BIOS提供的一個(gè)全新功能。在很多應(yīng)用中,要求DSP從主機(jī)中實(shí)時(shí)地讀取數(shù)據(jù)或者向主機(jī)實(shí)時(shí)地輸出數(shù)據(jù),而不能夠停下來。
因?yàn)楸鞠到y(tǒng)的軟件結(jié)構(gòu)較為復(fù)雜,涉及的算法較多,故應(yīng)采用模塊化、由頂向下、逐步細(xì)化的結(jié)構(gòu)化程序設(shè)計(jì)方法。這一方法可節(jié)省軟件工作量、提高工作效率。圖4為簡(jiǎn)化的數(shù)據(jù)采集處理主程序流程圖。
結(jié) 語
實(shí)踐證明,根據(jù)以上方案設(shè)計(jì)的基于DSP和以太網(wǎng)的數(shù)據(jù)采集處理系統(tǒng),可以很好地實(shí)現(xiàn)對(duì)模擬信號(hào)進(jìn)行采集和處理的功能。在此基礎(chǔ)上,也可以作為基于DSP嵌入式系統(tǒng)和以太網(wǎng)的網(wǎng)絡(luò)測(cè)試平臺(tái)開發(fā)過程中重要的調(diào)試工具,從而加速把以太網(wǎng)集成到測(cè)試、采集和工業(yè)I/O儀器中的開發(fā)進(jìn)程。