楊 侃,余 輝,張憲起
(北方通用電子集團公司 微電子部,江蘇 蘇州 215163)
W5300在水下聲學信號處理板卡通信系統的應用
楊 侃,余 輝,張憲起
(北方通用電子集團公司 微電子部,江蘇 蘇州 215163)
現代信號處理設計中常涉及到信號處理板卡與上位機之間的數據通信,DSP嵌入式設備接入以太網已經成為目前研究的一個新領域。介紹了一種新型10/100 M以太網控制芯片W5300,在水下聲學探測信號處理卡系統中設計了基于W5300的DSP嵌入式數據傳輸硬件接口,編寫了網卡驅動程序。經試驗證明,通過以太網可實現遠距離、快速的數據傳輸以及存儲,以滿足水下聲學探測信號處理卡的工作需要。
TMS320C6713;W5300;以太網芯片;TCP
水下聲學探測是在海洋開發、海底探險領域中一個重要的技術手段和途徑,隨著對海洋開發的深入和對水下探測技術要求的不斷提高,越來越多的測試系統和控制系統都需要實時、快速且遠距離傳輸水下信息。根據海洋的特殊工作場合和技術要求, 應選擇一種適合的通信方式來完成上位機和下位機之間的通信。傳統的信號處理板卡是利用RS232、RS485等串口,其數據傳輸速率非常有限, 面對大數據量實時傳輸要求顯得無能為力。USB總線接口可以達到非常高的傳輸速率, 但其傳輸距離有限制,無法運用在水下環境。以太網控制芯片可實現快速、遠距離的數據傳輸和存儲,考慮到被測系統的實時性和可靠性的要求,選擇以太網作為水下聲學處理板卡系統的通信方式。
水下聲學信號處理卡的結構框圖如圖1所示。該信號處理板卡實現多路水下聲音信號的采集、數據處理以及以太網傳輸。其中,CODEC芯片TLV320AIC32負責采集水下聲信號,并以EDMA方式高效地傳給TMS320C6713(下述簡稱C6713),信號數據在C6713中進行必要的數字信號處理;然后,將其傳入掛載在C6713外部數據總線上的SDRAM芯片中;最后,采集系統可以通過W5300芯片,使用以太網傳輸方式與上位機PC進行通信。C6713的程序存儲在外部擴展的FLASH中。
1.1 以太網控制器W5300芯片介紹
W5300芯片是韓國WIZnet公司推出的一款0.18 μm CMOS工藝的單芯片器件,內部集成10/100 M以太網控制器、MAC和TCP/IP協議棧。其主要特性為支持硬件TCP/IP協議棧,支持8個獨立端口同時工作,高速網絡數據傳輸,速率可達到50 Mbps,支持混合網絡TCP/IP協議棧,支持ADSL連接,內部128 K字節存儲器用于數據通信,根據端口通信數據吞吐量動態調整內部TX/RX存儲器的分配,支持存儲器到存儲器的DMA功能,內嵌10BaseT/100BaseTX的以太網物理層,支持自動握手功能,支持第三方物理接口,支持8/16位數據總線,支持2種主機接口模式,外部為25 MHz工作頻率,內部鎖相環時鐘輸出150 MHz,網絡工作頻率為25 MHz或2.5 MHz,3.3 V工作電壓,I/O口可承受5 V電壓,內部帶1.8 V電壓調整器。這些特性滿足現代高速的以太網傳輸要求,可以方便與嵌入式處理器實現接口設計,加快開發工作的進度;另外,W5300采用100pin的LQFP封裝,此封裝芯片引腳間距小,寄生參數較小,適合高頻場合應用。

圖1 系統整體結構圖
1.2 DSP芯片TMS320C6713介紹
由于水下信號處理板卡需要對水下聲信號進行采樣和各種數字信號處理,處理包括快速傅里葉變換、有限長數字濾波、無限長數字濾波、功率譜計算等;因此,選擇一款具有較快運算速度的核心芯片是非常重要的。TMS320C6713(簡稱C6713)是TI公司的一款32位浮點高速數字處理器DSP,它可在300 MHz的時鐘頻率下,實現1 800 MIPS/1 350 MFLOPS的定點和浮點運算,極大地滿足了高速數據采集與實時控制系統對信號處理速度的要求。C6713自帶片內存儲器和多種片上外設設備,已經在圖像處理、數字信號處理以及自動控制等領域得到了廣泛的應用[1]。McASP接口可以外擴音頻芯片,EMIF可以外接異步設備和外擴存儲器設備,豐富的外設接口完全滿足本設計的要求。
W5300與主機C6713的接口模式有直接地址模式和間接地址模式2種,數據總線可以分為16位和8位寬度總線2種方式,W5300可以使用內部集成的PHY和外接的PHY,在硬件設計上,可以根據實際應用場合的差別選擇一種合適的方案。
根據水下聲采集速率的要求以及C6713的外設特性,信號處理板卡接口工作選擇在直接模式下,地址總線可直接訪問W5300內部的各個寄存器或存儲器,直接尋址模式比間接模式具有更高的訪問速度。BIT16EN引腳決定數據總線模式:BIT16EN拉高為16位寬數據總線模式,BITI6EN拉低為8位寬數據總線模式。16位數據總線模式下W5300地址線ADDR[9∶1]與C6713的地址線EA[10∶2]相連,ADRR[0]接地或懸空。TEST_MODE[3∶0]的4個引腳用于配置PHY模式和廠商測試模式,TEST_MODE[3∶0]的4個引腳都接地時為內部PHY模式。在內部PHY運行控制模式的多種選擇中,將OP_MODE[2∶0]的3個引腳接地,固定地選擇了一種模式,即自動握手模式。W5300在工作過程中模擬部分和數字部分使用了2種電壓:3.3 V和1.8 V。1.8 V內核工作電壓由W5300芯片自己產生,但該電壓不能提供給W5300以外的其他器件。本設計中采用了直接地址模式、16位寬度數據總線以及內部集成PHY模式,所有W5300的寄存器配置都是由DSP編程控制完成的[2]。
C6713的EMIF總線可以提供用戶擴展外設異步外設。EMIF引腳有數據線、地址線、讀寫控制信號和片選空間等。C6713上EMIF提供4個外設片選空間CE[3∶0],設計使用CE2外擴W5300,及將地址0xA0000000~0xAFFFFFFF分配給W5300芯片,EMIF可以實現與W5300的異步連接。通過設置CE2空間的異步讀寫時序,實現高速異步讀寫控制,W5300的讀寫信號線分別接在C6713上的讀寫信號線,中斷引腳連接C6713的INT4。
W5300通過介質接口的2路差分信號(PXIP/PXIN;TXOP/TXON)與網絡隔離變壓器連接。這些差分信號引腳都必須分別接1個51 Ω(±1%)的電阻和1個0.1 μF的電容,以達到良好的阻抗匹配效果。匹配電阻和電容應盡可能接近W5300,以減少傳輸線上的阻抗和容抗;同時,為了取得較好的傳輸效果,2路差分信號的走線長度應等長,且盡量靠近。選擇帶變壓器的RJ45接口,不僅可以可以隔離網絡上不同網絡設備間的不同電平,防止不同電壓通過網線傳輸損壞設備,而且還能慮除空間的電磁干擾,對設備起到一定的保護作用。其具體接口電路圖如圖2所示。

圖2 W5300與TMS320C6713接口電路
4.1 DSP開發環境CCS
CCS開發環境支持高級語言、匯編語言以及混和語言的程序設計。運用匯編語言進行DSP開發具有較高的效率;但是開發的周期長,且本文的算法復雜,完全采用匯編語言進行編程的難度很大[3]。隨著C優化編譯器的提高以及C語言本身的靈活性和易移植性,C語言已逐漸成為DSP軟件開發的一種趨勢。C語言作為一種高級語言,具有清晰易懂、可維護性和可移植性好以及通用性強等優點,尤其對算法的編寫更加容易;因此,本文采用C語言進行軟件設計。
4.2 W5300的驅動程序設計
W5300硬件驅動是通過對其寄存器編程控制來實現,完成數據的正確接收和發送。網絡通信的過程可分為網卡初始化、接收控制和發送控制3個部分。
初始化過程主要是對以太網控制器的工作參數進行配置,以便以太網控制器可以正常工作。由于W5300的寄存器地址直接映射到C6713的存儲空間CE2中,所以對W5300的寄存器進行讀寫操作就是對映射地址的讀寫操作,可以根據W5300的寄存器進行以太網控制器的工作參數設置。W5300可以通過初始化一些寄存器來實現通信鏈路的建立,W5300的初始化主要分3步進行:主機接口設置、網絡信息設置和內部存儲空間分配。程序實現如下。
void W5300_Init(void)
{
/* Software Reset */
ptr=(unsigned short *)MR;
*ptr=MR_RST;
Delay10ms();
// Set Hardware address 配置本機的硬件地址
// 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不支持上電復位,但支持軟件復位,復位信號的低電平至少要持續2 μs,在復位信號變成高電平后還需要至少持續10 ms,讓內部鎖相環處于穩定狀態。在設計中,將C6713的GP6設置成GPIO口來控制W5300的RST腳。程序實現如下:
GPDIR=GPDIR|0x40; // HD7(GP6) 配置為輸出,缺省上電后GPVAL=0,因此輸出低電平
GPVAL=GPVAL&0xffbf;// GP6輸出低電平,RESET
GPEN=GPEN|0x40; // GP6使能,由于HPI上電配置為禁止,因此使能輸出后W5300處于RESET狀態
Load_Parameters(); // 初始化,w5300的參數 上電順序一定要注意
Delay10ms();
GPVAL=GPVAL|0x40; // GP6輸出高電平,AIC32進入工作狀態
GPEN=GPEN|0x40;
參數設置完畢,初始化完成后,編譯下載到DSP后就可以在PC機上進行ping通信了。W5300的IP地址設置為:192.168.0.20;PC機的IP地址設置為:192.168.0.30。在DOS環境下輸入ping命令,結果如圖3所示,可以判斷初始化設置正確。

圖3 W5300與PC機ping通
完成初始化設置后,W5300可通過已打開的工作在TCP或UDP模式下的套接口進行數據的發送和接收。由于UDP是一種無連接不可靠的通信協議,本系統中沒有使用,因此下述只介紹TCP模式下W5300的工作情況[4]。
TCP是以連接為基礎的通信方式,它必須建立連接,然后利用連接的IP地址和端口號進行數據傳輸。TCP有2種連接方式:一種是服務器模式(被動開啟),即等待連接請求以建立連接;另一種是客戶端模式(主動開啟),即發送連接請求到服務器。對于一個點對點的網絡通信系統來說,客戶端和服務器必須同時存在,但是對于某一特定的硬件平臺,可以以其中的一種方式存在,在本系統中,W5300以服務器模式存在。W5300完成的功能包括套接口建立、接收客戶端的連接請求、數據接收和發送和接收客戶端的斷開連接請求等,建立的軟件流程如圖4所示。

圖4 TCP服務器模式流程圖
通過AIC32采集水下聲信號,C6713將數據通過W5300向PC機傳送。在PC機上使用TCP&UDP測試工具接收采集數據,觀察數據的正確性,數據截圖如圖5所示。通過使用Wireshark軟件對傳輸數據進行數據包抓取以及判斷其工作方式是否是TCP,可以證實在TCP模式下,W5300與PC機工作數據可靠,發送穩定,滿足了信號處理卡以太網傳輸設計的要求。

圖5 通過TCP&UDP工具接收數據
本文主要闡述了基于以太網控制芯片W5300在水下聲學信號處理卡中的設計與實現(電路板見圖6),并使用C語言編寫以太網芯片W5300驅動程序,代碼在CCS3.3編譯器上編譯通過,實現了嵌入式設備接入以太網解決DSP與PC的網絡通信的問題,為水下聲學探測信號處理卡與上位機PC通信提供了一種新的傳輸方式和途徑。

圖6 水下聲學探測信號處理卡
[1] 李方慧,王飛,何佩琨. TMS320C6000系列DSPs原理與應用[M].2版. 北京:電子工業出版社, 2003.
[2] 何梓濱,段發階,呂曉明,等. 基于DSP網的嵌入式視覺系統[J].計量技術, 2008 (2):22-26.
[3] 周國慶,尹燕磊,張留全,等. 基于以太網的電力智能監控終端的研究[J]. 微計算機信息, 2007, 23 (3):37-39.
[4] 陳道喜,陳冬火,張廣泉. TCP協議的安全性和活性驗證[J]. 蘇州大學學報:自然科學版, 2008, 24 (1):54-58.
責任編輯馬彤
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-),男,碩士,工程師,主要從事數?;旌霞杉夹g和傳感器應用技術等方面的研究。
2014-08-19