許磊
摘 要:設(shè)計(jì)一款測井?dāng)?shù)據(jù)采集板卡,用來處理單芯曼徹斯特編碼測井儀器信號(hào)。板卡以TI公司TMS320C6745芯片為核心,利用DSP強(qiáng)大的數(shù)字信號(hào)處理能力,實(shí)現(xiàn)曼徹斯特編碼信號(hào)的采集和解碼,在DSP/BIOS實(shí)時(shí)操作系統(tǒng)下,移植NDK實(shí)現(xiàn)Ethernet接口。
關(guān)鍵詞:NDK DSP/BIOS 網(wǎng)絡(luò)接口 曼徹斯特編碼
中圖分類號(hào):TP933.11 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2016)01(c)-0001-03
Abstract: This paper designed a well-logging data acquisition board which used to process the Manchester code signals of single conductor logging tools. The board utilized the powerful processing ability of TMS320C6745 to acquire and decode the Manchester signals, and implemented the Ethernet interface through transplantation of NDK under the real time operating system DSP/BIOS.
Key Words: NDK;DSP/BIOS; Ethernet interface; Manchester code
在網(wǎng)絡(luò)化智能測井系統(tǒng)中,地面數(shù)據(jù)采集系統(tǒng)板卡及外圍設(shè)備需具備獨(dú)立IP,地面PC軟件可通過路由器直接訪問,同時(shí)板卡間可進(jìn)行數(shù)據(jù)交互。選用TI公司浮點(diǎn)型數(shù)字處理芯片TMS320C6745,完成Manchester信號(hào)濾波及解碼,同時(shí)芯片具備片上EMAC和MDIO,較易移植網(wǎng)絡(luò)開發(fā)包(NDK),減小了網(wǎng)絡(luò)接口的設(shè)計(jì)難度,大大縮短了開發(fā)周期。
1 硬件設(shè)計(jì)
1.1 硬件電路結(jié)構(gòu)
采集板卡的硬件電路功能主要包括對(duì)曼徹斯特編碼信號(hào)的調(diào)理和采集,下行命令的控制和驅(qū)動(dòng)、網(wǎng)絡(luò)接口等功能,硬件電路功能框圖如圖1所示。
板卡處理單芯測井電纜Manchester信號(hào),速率為20.833 kbps,同時(shí)兼容工程測井儀器,模擬GR、CCL儀器。工程測井儀器信號(hào)為模擬信號(hào),頻率約2 kHz和20 Hz,且大多數(shù)時(shí)候同時(shí)工作,信號(hào)疊加。傳統(tǒng)處理方式是通過開關(guān)切換,信號(hào)由不同電路進(jìn)行前端濾波,然后數(shù)字化。這需額外開關(guān)切換面板,且使用復(fù)雜,該板卡取消前端模擬濾波和開關(guān)切換面板,增加通道選擇模塊,切換Manchester信號(hào)和模擬信號(hào),通過軟件濾波方式進(jìn)行后續(xù)處理,設(shè)計(jì)開發(fā)上更加靈活可靠。
1.2 網(wǎng)絡(luò)接口電路
DSP本身硬件集成EMAC和MDIO,大大簡化硬件設(shè)計(jì)難度,只需PHY接口和網(wǎng)絡(luò)變壓器即可實(shí)現(xiàn)硬件網(wǎng)絡(luò)接口。PHY選用NS公司的網(wǎng)絡(luò)接口芯片DP83640。此芯片支持IEEE1588精密時(shí)間協(xié)議,為高速網(wǎng)絡(luò)測井系統(tǒng)不同節(jié)點(diǎn)間的時(shí)間同步提供硬件解決方案。同時(shí),芯片支持精簡媒介接口RMII,為空間受限應(yīng)用提供更加靈活的選擇[1]。網(wǎng)絡(luò)接口功能框圖如圖2所示。
PHY的網(wǎng)絡(luò)接口連接是通過發(fā)送端(TD+、TD-)和接收端(RD+、RD-)差分對(duì)引腳實(shí)現(xiàn)的。他們先被連接至一個(gè)網(wǎng)絡(luò)終端,然后連接至1∶1的磁芯變壓器和一個(gè)RJ-45接口。另外,磁芯變壓器對(duì)PHY的性能有很大影響,在布局布線時(shí),注意禁止在磁芯變壓器下放布信號(hào)線,防止噪聲串?dāng)_[1]。網(wǎng)絡(luò)變壓器和PHY硬件接口電路如圖3所示。
2 軟件設(shè)計(jì)
2.1 NDK及DSP/BIOS
NDK是TI公司提供的網(wǎng)絡(luò)編程套件,核心是TCP/IP協(xié)議棧,可實(shí)現(xiàn)Telnet、HTTP等應(yīng)用層的TCP/IP服務(wù),支持標(biāo)準(zhǔn)Socket編程。NDK的使用對(duì)縮短開發(fā)周期,降低開發(fā)難度,提高產(chǎn)品可靠性有很大幫助[2-3]。
NDK采用緊湊設(shè)計(jì)方法,用較少的資源消耗支持常規(guī)的TCP/IP服務(wù),與操作系統(tǒng)和底層硬件的接口由OS.LIB和HAL.LIB等函數(shù)庫提供支持,準(zhǔn)確說,NDK由幾個(gè)軟件層組成,借助實(shí)時(shí)操作系統(tǒng)DSP/BIOS,對(duì)DSP本身硬件集成的MAC進(jìn)行配置、控制等,實(shí)現(xiàn)網(wǎng)絡(luò)接口功能[3-5]。
NDK移植需要DSP/BIOS操作系統(tǒng)支持。DSP/BIOS是TI提供的用戶可裁剪實(shí)時(shí)內(nèi)核,主要由三部分組成:多線程實(shí)時(shí)內(nèi)核、實(shí)時(shí)分析工具及芯片支持庫。主要面向?qū)崟r(shí)線程調(diào)度與同步、主機(jī)與目標(biāo)系統(tǒng)通訊以及實(shí)時(shí)監(jiān)測等應(yīng)用[6-8]。在DSP/BIOS下用戶可為不同的任務(wù)指定不同優(yōu)先級(jí),任意時(shí)刻,內(nèi)核會(huì)將CPU分配給處于就緒狀態(tài)的最高優(yōu)先級(jí)任務(wù)運(yùn)行,大大保證了任務(wù)的實(shí)時(shí)性需求。
2.2 網(wǎng)絡(luò)接口軟件
要使用NDK,需要DSP/BIOS以及NDK本身的初始化,其中DSP/BIOS的一些配置,主要包括:(1)在DSP/BIOS配置文件CBD中創(chuàng)建100 ms的周期函數(shù)PRD,用來驅(qū)動(dòng)時(shí)間函數(shù)llTimerTick()。(2)在DSP/BIOS中創(chuàng)建鉤子函數(shù),NDK_hookInit()和NDK_hookCreate(),用來保存和加載用戶變量指針。(3)頭文件、庫函數(shù)文件等的鏈接指向,以及內(nèi)存緩沖空間指定等。
NDK初始化包括:(1)堆棧配置和初始化,調(diào)用NC_SystemO
pen()函數(shù)進(jìn)行網(wǎng)絡(luò)組件的堆棧和存儲(chǔ)環(huán)境初始化。(2)調(diào)用CfgNew()函數(shù)完成配置句柄的創(chuàng)建,加載配置信息,包括IP地址、子網(wǎng)掩碼、主機(jī)名稱等。(3)調(diào)用NC_NetStart()函數(shù)啟動(dòng)網(wǎng)絡(luò),并生成回調(diào)函數(shù)。
3 軟件濾波及解碼
曼徹斯特編碼是一種同步時(shí)鐘編碼技術(shù),數(shù)據(jù)傳輸時(shí),時(shí)鐘和數(shù)據(jù)同時(shí)傳輸?shù)侥康亩耍颐课痪幋a用“跳變”表示“0”或“1”。這樣,在數(shù)據(jù)傳輸過程中,信號(hào)不存在直流分量,而且具有自同步能力和良好的抗干擾性能[9-10],在石油領(lǐng)域的測井電纜信號(hào)傳輸系統(tǒng)中有廣泛的應(yīng)用。信號(hào)表示形式如圖4所示。
由高到低跳變表示“1”,由低到高跳變表示“0”,曼徹斯特編碼的字由20位組成,3位同步,16位數(shù)據(jù)和1位校驗(yàn)。同步分命令同步和數(shù)據(jù)同步,命令同步用由高到低3位跳變表示,數(shù)據(jù)同步用由低到高3位跳變表示。
單芯電纜上行曼徹斯特編碼信號(hào)每個(gè)字由3位數(shù)據(jù)同步開始,后面有16位數(shù)據(jù)和1位奇偶校驗(yàn),AD采樣率250Khz,每位數(shù)據(jù)采集12個(gè)采樣點(diǎn),整個(gè)數(shù)據(jù)字共采樣240個(gè)點(diǎn)。采樣點(diǎn)存儲(chǔ)到FPGA的FIFO中,F(xiàn)IFO深度為1 024,在FIFO半滿后中斷DSP,DSP讀取FIFO數(shù)據(jù),然后進(jìn)行濾波、解碼。為了更好地適配DSP的解碼算法,設(shè)計(jì)一個(gè)截止頻率6Khz的高通濾波器,對(duì)AD采樣數(shù)據(jù)進(jìn)行數(shù)字濾波。濾波前后波形如圖5、圖6所示。
要對(duì)數(shù)據(jù)進(jìn)行正確解碼,首先要尋找同步頭,尋找同步頭的基本思路:通過合理門檻的設(shè)置,尋找到數(shù)據(jù)同步的正峰值,根據(jù)濾波后的同步頭特點(diǎn)以及每位數(shù)據(jù)的采樣點(diǎn)數(shù),尋找前后兩個(gè)負(fù)峰值,以此完成同步頭的尋找,然后跳過同步頭和數(shù)據(jù)之間的“間隙”,正確解碼測井?dāng)?shù)據(jù),這個(gè)“間隙”是由特定數(shù)據(jù)串經(jīng)過訓(xùn)練得到。通過圖5和圖6對(duì)比可以看出,經(jīng)過高通濾波后的波形更傾向于三角波,更易于峰值的判斷。
4 結(jié)語
測井?dāng)?shù)據(jù)采集板卡硬件部分采用多級(jí)濾波和信號(hào)調(diào)理,以及高精度高速率A/D,數(shù)據(jù)采集處理穩(wěn)定可靠,同時(shí)結(jié)合軟件濾波,使得Manchester信號(hào)解碼靈活準(zhǔn)確。在網(wǎng)絡(luò)接口設(shè)計(jì)方面,利用DSP本身集成的EMAC硬件資源,移植NDK網(wǎng)絡(luò)開發(fā)包,縮短開發(fā)周期和硬件電路復(fù)雜度,大大提高了板卡本身的可靠性。
參考文獻(xiàn)
[1] Brad Kennedy,David Miller. PHYTER Design and Layout Guide [Z].USA:National Instrument,2008.
[2] 曾蓉,許永輝.基于TMS320DM642的嵌入式Web服務(wù)器設(shè)計(jì)[J].電子測量技術(shù),2013,36(5):73-74.
[3] Texas Instruments.Getting Started With the C6000 Network Developers Kit [Z].USA:Texas Instruments,2008.
[4] 張楓,鄭力新,周凱汀.基于NDK的DSP網(wǎng)絡(luò)接口移植開發(fā)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2013,32(1):46-47.
[5] 梁訊.基于NDK的DSP網(wǎng)絡(luò)編程[J].計(jì)算技術(shù)與自動(dòng)化,2005,24(3):79-80.
[6] 鄒昕光,謝東周,魏長安.基于DSP/BIOS的TENA中間件通信實(shí)現(xiàn)[J].電子測量技術(shù),2012,35(8):130-132.
[7] 趙加祥.DSP系統(tǒng)設(shè)計(jì)和BIOS編程及應(yīng)用實(shí)例[M].北京:機(jī)械工業(yè)出版社,2008:96-97.
[8] 魯昌華,蔡磊,李艷紅.基于DSP/BIOS II的機(jī)器視覺檢測系統(tǒng)的研究[J].電子測量與儀器學(xué)報(bào),2007,21(4):63-64.
[9] 陳煥光,許瑞年,沈天健,等.基于FPGA的Manchester編解碼及快速化數(shù)字電源通信的實(shí)現(xiàn)[J].核電子學(xué)與探測技術(shù),2008,28(3):637-638.
[10] 王鐵男.基于FPGA的曼徹斯特編解碼器的實(shí)現(xiàn)[J].石油儀器,2011,25(5):71-72.