楊 侃,余 輝,張憲起
(北方通用電子集團(tuán)公司 微電子部,江蘇 蘇州 215163)
W5300在水下聲學(xué)信號(hào)處理板卡通信系統(tǒng)的應(yīng)用
楊 侃,余 輝,張憲起
(北方通用電子集團(tuán)公司 微電子部,江蘇 蘇州 215163)
現(xiàn)代信號(hào)處理設(shè)計(jì)中常涉及到信號(hào)處理板卡與上位機(jī)之間的數(shù)據(jù)通信,DSP嵌入式設(shè)備接入以太網(wǎng)已經(jīng)成為目前研究的一個(gè)新領(lǐng)域。介紹了一種新型10/100 M以太網(wǎng)控制芯片W5300,在水下聲學(xué)探測(cè)信號(hào)處理卡系統(tǒng)中設(shè)計(jì)了基于W5300的DSP嵌入式數(shù)據(jù)傳輸硬件接口,編寫(xiě)了網(wǎng)卡驅(qū)動(dòng)程序。經(jīng)試驗(yàn)證明,通過(guò)以太網(wǎng)可實(shí)現(xiàn)遠(yuǎn)距離、快速的數(shù)據(jù)傳輸以及存儲(chǔ),以滿足水下聲學(xué)探測(cè)信號(hào)處理卡的工作需要。
TMS320C6713;W5300;以太網(wǎng)芯片;TCP
水下聲學(xué)探測(cè)是在海洋開(kāi)發(fā)、海底探險(xiǎn)領(lǐng)域中一個(gè)重要的技術(shù)手段和途徑,隨著對(duì)海洋開(kāi)發(fā)的深入和對(duì)水下探測(cè)技術(shù)要求的不斷提高,越來(lái)越多的測(cè)試系統(tǒng)和控制系統(tǒng)都需要實(shí)時(shí)、快速且遠(yuǎn)距離傳輸水下信息。根據(jù)海洋的特殊工作場(chǎng)合和技術(shù)要求, 應(yīng)選擇一種適合的通信方式來(lái)完成上位機(jī)和下位機(jī)之間的通信。傳統(tǒng)的信號(hào)處理板卡是利用RS232、RS485等串口,其數(shù)據(jù)傳輸速率非常有限, 面對(duì)大數(shù)據(jù)量實(shí)時(shí)傳輸要求顯得無(wú)能為力。USB總線接口可以達(dá)到非常高的傳輸速率, 但其傳輸距離有限制,無(wú)法運(yùn)用在水下環(huán)境。以太網(wǎng)控制芯片可實(shí)現(xiàn)快速、遠(yuǎn)距離的數(shù)據(jù)傳輸和存儲(chǔ),考慮到被測(cè)系統(tǒng)的實(shí)時(shí)性和可靠性的要求,選擇以太網(wǎng)作為水下聲學(xué)處理板卡系統(tǒng)的通信方式。
水下聲學(xué)信號(hào)處理卡的結(jié)構(gòu)框圖如圖1所示。該信號(hào)處理板卡實(shí)現(xiàn)多路水下聲音信號(hào)的采集、數(shù)據(jù)處理以及以太網(wǎng)傳輸。其中,CODEC芯片TLV320AIC32負(fù)責(zé)采集水下聲信號(hào),并以EDMA方式高效地傳給TMS320C6713(下述簡(jiǎn)稱C6713),信號(hào)數(shù)據(jù)在C6713中進(jìn)行必要的數(shù)字信號(hào)處理;然后,將其傳入掛載在C6713外部數(shù)據(jù)總線上的SDRAM芯片中;最后,采集系統(tǒng)可以通過(guò)W5300芯片,使用以太網(wǎng)傳輸方式與上位機(jī)PC進(jìn)行通信。C6713的程序存儲(chǔ)在外部擴(kuò)展的FLASH中。
1.1 以太網(wǎng)控制器W5300芯片介紹
W5300芯片是韓國(guó)WIZnet公司推出的一款0.18 μm CMOS工藝的單芯片器件,內(nèi)部集成10/100 M以太網(wǎng)控制器、MAC和TCP/IP協(xié)議棧。其主要特性為支持硬件TCP/IP協(xié)議棧,支持8個(gè)獨(dú)立端口同時(shí)工作,高速網(wǎng)絡(luò)數(shù)據(jù)傳輸,速率可達(dá)到50 Mbps,支持混合網(wǎng)絡(luò)TCP/IP協(xié)議棧,支持ADSL連接,內(nèi)部128 K字節(jié)存儲(chǔ)器用于數(shù)據(jù)通信,根據(jù)端口通信數(shù)據(jù)吞吐量動(dòng)態(tài)調(diào)整內(nèi)部TX/RX存儲(chǔ)器的分配,支持存儲(chǔ)器到存儲(chǔ)器的DMA功能,內(nèi)嵌10BaseT/100BaseTX的以太網(wǎng)物理層,支持自動(dòng)握手功能,支持第三方物理接口,支持8/16位數(shù)據(jù)總線,支持2種主機(jī)接口模式,外部為25 MHz工作頻率,內(nèi)部鎖相環(huán)時(shí)鐘輸出150 MHz,網(wǎng)絡(luò)工作頻率為25 MHz或2.5 MHz,3.3 V工作電壓,I/O口可承受5 V電壓,內(nèi)部帶1.8 V電壓調(diào)整器。這些特性滿足現(xiàn)代高速的以太網(wǎng)傳輸要求,可以方便與嵌入式處理器實(shí)現(xiàn)接口設(shè)計(jì),加快開(kāi)發(fā)工作的進(jìn)度;另外,W5300采用100pin的LQFP封裝,此封裝芯片引腳間距小,寄生參數(shù)較小,適合高頻場(chǎng)合應(yīng)用。
圖1 系統(tǒng)整體結(jié)構(gòu)圖
1.2 DSP芯片TMS320C6713介紹
由于水下信號(hào)處理板卡需要對(duì)水下聲信號(hào)進(jìn)行采樣和各種數(shù)字信號(hào)處理,處理包括快速傅里葉變換、有限長(zhǎng)數(shù)字濾波、無(wú)限長(zhǎng)數(shù)字濾波、功率譜計(jì)算等;因此,選擇一款具有較快運(yùn)算速度的核心芯片是非常重要的。TMS320C6713(簡(jiǎn)稱C6713)是TI公司的一款32位浮點(diǎn)高速數(shù)字處理器DSP,它可在300 MHz的時(shí)鐘頻率下,實(shí)現(xiàn)1 800 MIPS/1 350 MFLOPS的定點(diǎn)和浮點(diǎn)運(yùn)算,極大地滿足了高速數(shù)據(jù)采集與實(shí)時(shí)控制系統(tǒng)對(duì)信號(hào)處理速度的要求。C6713自帶片內(nèi)存儲(chǔ)器和多種片上外設(shè)設(shè)備,已經(jīng)在圖像處理、數(shù)字信號(hào)處理以及自動(dòng)控制等領(lǐng)域得到了廣泛的應(yīng)用[1]。McASP接口可以外擴(kuò)音頻芯片,EMIF可以外接異步設(shè)備和外擴(kuò)存儲(chǔ)器設(shè)備,豐富的外設(shè)接口完全滿足本設(shè)計(jì)的要求。
W5300與主機(jī)C6713的接口模式有直接地址模式和間接地址模式2種,數(shù)據(jù)總線可以分為16位和8位寬度總線2種方式,W5300可以使用內(nèi)部集成的PHY和外接的PHY,在硬件設(shè)計(jì)上,可以根據(jù)實(shí)際應(yīng)用場(chǎng)合的差別選擇一種合適的方案。
根據(jù)水下聲采集速率的要求以及C6713的外設(shè)特性,信號(hào)處理板卡接口工作選擇在直接模式下,地址總線可直接訪問(wèn)W5300內(nèi)部的各個(gè)寄存器或存儲(chǔ)器,直接尋址模式比間接模式具有更高的訪問(wèn)速度。BIT16EN引腳決定數(shù)據(jù)總線模式:BIT16EN拉高為16位寬數(shù)據(jù)總線模式,BITI6EN拉低為8位寬數(shù)據(jù)總線模式。16位數(shù)據(jù)總線模式下W5300地址線ADDR[9∶1]與C6713的地址線EA[10∶2]相連,ADRR[0]接地或懸空。TEST_MODE[3∶0]的4個(gè)引腳用于配置PHY模式和廠商測(cè)試模式,TEST_MODE[3∶0]的4個(gè)引腳都接地時(shí)為內(nèi)部PHY模式。在內(nèi)部PHY運(yùn)行控制模式的多種選擇中,將OP_MODE[2∶0]的3個(gè)引腳接地,固定地選擇了一種模式,即自動(dòng)握手模式。W5300在工作過(guò)程中模擬部分和數(shù)字部分使用了2種電壓:3.3 V和1.8 V。1.8 V內(nèi)核工作電壓由W5300芯片自己產(chǎn)生,但該電壓不能提供給W5300以外的其他器件。本設(shè)計(jì)中采用了直接地址模式、16位寬度數(shù)據(jù)總線以及內(nèi)部集成PHY模式,所有W5300的寄存器配置都是由DSP編程控制完成的[2]。
C6713的EMIF總線可以提供用戶擴(kuò)展外設(shè)異步外設(shè)。EMIF引腳有數(shù)據(jù)線、地址線、讀寫(xiě)控制信號(hào)和片選空間等。C6713上EMIF提供4個(gè)外設(shè)片選空間CE[3∶0],設(shè)計(jì)使用CE2外擴(kuò)W5300,及將地址0xA0000000~0xAFFFFFFF分配給W5300芯片,EMIF可以實(shí)現(xiàn)與W5300的異步連接。通過(guò)設(shè)置CE2空間的異步讀寫(xiě)時(shí)序,實(shí)現(xiàn)高速異步讀寫(xiě)控制,W5300的讀寫(xiě)信號(hào)線分別接在C6713上的讀寫(xiě)信號(hào)線,中斷引腳連接C6713的INT4。
W5300通過(guò)介質(zhì)接口的2路差分信號(hào)(PXIP/PXIN;TXOP/TXON)與網(wǎng)絡(luò)隔離變壓器連接。這些差分信號(hào)引腳都必須分別接1個(gè)51 Ω(±1%)的電阻和1個(gè)0.1 μF的電容,以達(dá)到良好的阻抗匹配效果。匹配電阻和電容應(yīng)盡可能接近W5300,以減少傳輸線上的阻抗和容抗;同時(shí),為了取得較好的傳輸效果,2路差分信號(hào)的走線長(zhǎng)度應(yīng)等長(zhǎng),且盡量靠近。選擇帶變壓器的RJ45接口,不僅可以可以隔離網(wǎng)絡(luò)上不同網(wǎng)絡(luò)設(shè)備間的不同電平,防止不同電壓通過(guò)網(wǎng)線傳輸損壞設(shè)備,而且還能慮除空間的電磁干擾,對(duì)設(shè)備起到一定的保護(hù)作用。其具體接口電路圖如圖2所示。
圖2 W5300與TMS320C6713接口電路
4.1 DSP開(kāi)發(fā)環(huán)境CCS
CCS開(kāi)發(fā)環(huán)境支持高級(jí)語(yǔ)言、匯編語(yǔ)言以及混和語(yǔ)言的程序設(shè)計(jì)。運(yùn)用匯編語(yǔ)言進(jìn)行DSP開(kāi)發(fā)具有較高的效率;但是開(kāi)發(fā)的周期長(zhǎng),且本文的算法復(fù)雜,完全采用匯編語(yǔ)言進(jìn)行編程的難度很大[3]。隨著C優(yōu)化編譯器的提高以及C語(yǔ)言本身的靈活性和易移植性,C語(yǔ)言已逐漸成為DSP軟件開(kāi)發(fā)的一種趨勢(shì)。C語(yǔ)言作為一種高級(jí)語(yǔ)言,具有清晰易懂、可維護(hù)性和可移植性好以及通用性強(qiáng)等優(yōu)點(diǎn),尤其對(duì)算法的編寫(xiě)更加容易;因此,本文采用C語(yǔ)言進(jìn)行軟件設(shè)計(jì)。
4.2 W5300的驅(qū)動(dòng)程序設(shè)計(jì)
W5300硬件驅(qū)動(dòng)是通過(guò)對(duì)其寄存器編程控制來(lái)實(shí)現(xiàn),完成數(shù)據(jù)的正確接收和發(fā)送。網(wǎng)絡(luò)通信的過(guò)程可分為網(wǎng)卡初始化、接收控制和發(fā)送控制3個(gè)部分。
初始化過(guò)程主要是對(duì)以太網(wǎng)控制器的工作參數(shù)進(jìn)行配置,以便以太網(wǎng)控制器可以正常工作。由于W5300的寄存器地址直接映射到C6713的存儲(chǔ)空間CE2中,所以對(duì)W5300的寄存器進(jìn)行讀寫(xiě)操作就是對(duì)映射地址的讀寫(xiě)操作,可以根據(jù)W5300的寄存器進(jìn)行以太網(wǎng)控制器的工作參數(shù)設(shè)置。W5300可以通過(guò)初始化一些寄存器來(lái)實(shí)現(xiàn)通信鏈路的建立,W5300的初始化主要分3步進(jìn)行:主機(jī)接口設(shè)置、網(wǎng)絡(luò)信息設(shè)置和內(nèi)部存儲(chǔ)空間分配。程序?qū)崿F(xiàn)如下。
void W5300_Init(void)
{
/* Software Reset */
ptr=(unsigned short *)MR;
*ptr=MR_RST;
Delay10ms();
// Set Hardware address 配置本機(jī)的硬件地址
// Set Gateway address
for(i=0;i<2;i++)
{
*ptr=param->GATEWAY[i];
ptr++;
}
// Set Subnet mask
// Set Source IP address for(i=0;i<2;i++)
{
*ptr=param->IP[i];
ptr++;
}
ptr=(unsigned short *)TMS01R;
// Set SOCKET0 TX memory size 2K
ptr=(unsigned short *)RMS01R;
// Set SOCKET0 TX memory size 2K
ptr=(unsigned short *)IMR; // SOCKET0~SOCKET7 interrupt
*ptr =0x00ff;
}
W5300不支持上電復(fù)位,但支持軟件復(fù)位,復(fù)位信號(hào)的低電平至少要持續(xù)2 μs,在復(fù)位信號(hào)變成高電平后還需要至少持續(xù)10 ms,讓內(nèi)部鎖相環(huán)處于穩(wěn)定狀態(tài)。在設(shè)計(jì)中,將C6713的GP6設(shè)置成GPIO口來(lái)控制W5300的RST腳。程序?qū)崿F(xiàn)如下:
GPDIR=GPDIR|0x40; // HD7(GP6) 配置為輸出,缺省上電后GPVAL=0,因此輸出低電平
GPVAL=GPVAL&0xffbf;// GP6輸出低電平,RESET
GPEN=GPEN|0x40; // GP6使能,由于HPI上電配置為禁止,因此使能輸出后W5300處于RESET狀態(tài)
Load_Parameters(); // 初始化,w5300的參數(shù) 上電順序一定要注意
Delay10ms();
GPVAL=GPVAL|0x40; // GP6輸出高電平,AIC32進(jìn)入工作狀態(tài)
GPEN=GPEN|0x40;
參數(shù)設(shè)置完畢,初始化完成后,編譯下載到DSP后就可以在PC機(jī)上進(jìn)行ping通信了。W5300的IP地址設(shè)置為:192.168.0.20;PC機(jī)的IP地址設(shè)置為:192.168.0.30。在DOS環(huán)境下輸入ping命令,結(jié)果如圖3所示,可以判斷初始化設(shè)置正確。
圖3 W5300與PC機(jī)ping通
完成初始化設(shè)置后,W5300可通過(guò)已打開(kāi)的工作在TCP或UDP模式下的套接口進(jìn)行數(shù)據(jù)的發(fā)送和接收。由于UDP是一種無(wú)連接不可靠的通信協(xié)議,本系統(tǒng)中沒(méi)有使用,因此下述只介紹TCP模式下W5300的工作情況[4]。
TCP是以連接為基礎(chǔ)的通信方式,它必須建立連接,然后利用連接的IP地址和端口號(hào)進(jìn)行數(shù)據(jù)傳輸。TCP有2種連接方式:一種是服務(wù)器模式(被動(dòng)開(kāi)啟),即等待連接請(qǐng)求以建立連接;另一種是客戶端模式(主動(dòng)開(kāi)啟),即發(fā)送連接請(qǐng)求到服務(wù)器。對(duì)于一個(gè)點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)通信系統(tǒng)來(lái)說(shuō),客戶端和服務(wù)器必須同時(shí)存在,但是對(duì)于某一特定的硬件平臺(tái),可以以其中的一種方式存在,在本系統(tǒng)中,W5300以服務(wù)器模式存在。W5300完成的功能包括套接口建立、接收客戶端的連接請(qǐng)求、數(shù)據(jù)接收和發(fā)送和接收客戶端的斷開(kāi)連接請(qǐng)求等,建立的軟件流程如圖4所示。
圖4 TCP服務(wù)器模式流程圖
通過(guò)AIC32采集水下聲信號(hào),C6713將數(shù)據(jù)通過(guò)W5300向PC機(jī)傳送。在PC機(jī)上使用TCP&UDP測(cè)試工具接收采集數(shù)據(jù),觀察數(shù)據(jù)的正確性,數(shù)據(jù)截圖如圖5所示。通過(guò)使用Wireshark軟件對(duì)傳輸數(shù)據(jù)進(jìn)行數(shù)據(jù)包抓取以及判斷其工作方式是否是TCP,可以證實(shí)在TCP模式下,W5300與PC機(jī)工作數(shù)據(jù)可靠,發(fā)送穩(wěn)定,滿足了信號(hào)處理卡以太網(wǎng)傳輸設(shè)計(jì)的要求。
圖5 通過(guò)TCP&UDP工具接收數(shù)據(jù)
本文主要闡述了基于以太網(wǎng)控制芯片W5300在水下聲學(xué)信號(hào)處理卡中的設(shè)計(jì)與實(shí)現(xiàn)(電路板見(jiàn)圖6),并使用C語(yǔ)言編寫(xiě)以太網(wǎng)芯片W5300驅(qū)動(dòng)程序,代碼在CCS3.3編譯器上編譯通過(guò),實(shí)現(xiàn)了嵌入式設(shè)備接入以太網(wǎng)解決DSP與PC的網(wǎng)絡(luò)通信的問(wèn)題,為水下聲學(xué)探測(cè)信號(hào)處理卡與上位機(jī)PC通信提供了一種新的傳輸方式和途徑。
圖6 水下聲學(xué)探測(cè)信號(hào)處理卡
[1] 李方慧,王飛,何佩琨. TMS320C6000系列DSPs原理與應(yīng)用[M].2版. 北京:電子工業(yè)出版社, 2003.
[2] 何梓濱,段發(fā)階,呂曉明,等. 基于DSP網(wǎng)的嵌入式視覺(jué)系統(tǒng)[J].計(jì)量技術(shù), 2008 (2):22-26.
[3] 周?chē)?guó)慶,尹燕磊,張留全,等. 基于以太網(wǎng)的電力智能監(jiān)控終端的研究[J]. 微計(jì)算機(jī)信息, 2007, 23 (3):37-39.
[4] 陳道喜,陳冬火,張廣泉. TCP協(xié)議的安全性和活性驗(yàn)證[J]. 蘇州大學(xué)學(xué)報(bào):自然科學(xué)版, 2008, 24 (1):54-58.
責(zé)任編輯馬彤
ApplicationofW5300inUnderwaterAcousticSignalProcessingBoardCommunicationSystem
YANG Kan,YU Hui,ZHANG Xianqi
(Microelectronics Department,North General Electronics Group Co.,Suzhou 215163,China)
Modern signal processing design that has often been used in signal processing board between host computer and data communications, DSP embedded device access Ethernet has become a new research field at present. The paper introduced a new type of 10/100 M Ethernet control chip W5300, and in underwater acoustic signal processing card system design based on W5300 embedded DSP data transmission hardware interface, prepared by NIC driver. Proved by the experiment achieved the design aim, through Ethernet, it can be gotten that remote, fast data transmission and storage and meet the requirements of underwater acoustic detection signal processing card work.
TMS320C6713,W5300,Ethernet,TCP
U 666
:B
楊侃(1979-),男,碩士,工程師,主要從事數(shù)?;旌霞杉夹g(shù)和傳感器應(yīng)用技術(shù)等方面的研究。
2014-08-19