倪曉宇,楚建安,嚴建海
(西安工程大學 電子信息學院,陜西 西安 710048)
基于W5300以太網接口的伺服控制系統設計
倪曉宇,楚建安,嚴建海
(西安工程大學 電子信息學院,陜西 西安710048)
在DSP+CPLD伺服控制系統中,采用以太網控制器W5300,實現以太網的接入。介紹了W5300的工作原理,闡述了系統的硬件設計及軟件實現。該設計方案開發周期短、硬件連接簡單、體積小,能夠實現基于TCP協議的數據通信。關鍵詞:伺服控制;DSP;CPLD;W5300;數據通信
隨著伺服控制系統對系統的實時控制精度的要求越來越高,傳統單純的采用DSP作為主控器已無法滿足要求,現代伺服控制系統多采用DSP+CPLD的兩級控制。同時,由于網絡控制的優勢日益突出,使得網絡控制在工業控制中得到廣泛應用。其中,以太網接口技術廣泛應用在伺服控制領域。隨著互聯網硬件和軟件的迅猛發展,以太網接口成為目前使用最廣泛的網絡接口,具有接口簡單、通信速度高、傳輸距離遠、通信協議完善和工作性能穩定等優點,能夠實現遠程高速數據通信系統[1]。同時,DSP、CPLD和以太網控制器的價格不斷下降,使得將以太網接口控制器直接集成到基于DSP+ CPLD伺服控制系統中成為可能。
本文設計的基于 DSP+CPLD和以太網的伺服控制系統,其中,DSP、CPLD作為核心處理芯片,以太網接口芯片W5300發送和接收以太網數據。

圖1 伺服控制系統框圖Fig.1 Servo control system block diagram
該系統以TI公司中的TMS320F2812 DSP、ALTERA公司中MAX系列的EPM7128S CPLD和WIZnet公司以太網控制芯片W5300為核心。圖 1為伺服控制系統框圖。
在系統中,DSP、CPLD作為主控芯片,接收光電位置反饋信號并通過相關算法產生PWM波,PWM波經功率級放大后驅動伺服電機。系統預留了兩種控制模式,上位機可以通過I/O實現對伺服系統的控制,也可以用PC機經過以太網用作遠程監控。
1.1TMS320F2812 DSP和EPM7128S CPLD
選用TI公司的TMS320F2812 DSP作為主處理器,該芯片為專用的運動控制芯片,其性能高、功耗低、體積小、可靠性高,可為電機控制系統提供良好的硬件平臺。主要特性有:高性能靜態CMOS技術;高性能32位CPU;12位模數轉換器(ADC),16個通道;外部接口功能強大。DSP的主要作用:1)完成自動分段PI參數選取及角度位置控制算法的實現;2)完成相應的數字信號處理(包括信號的轉換、濾波等);3)對以太網控制芯片進行控制;4)驅動信號的輸出。
EPM7128S CPLD芯片具有128個邏輯宏單元,完全滿足我們的開發需求;而且,它具有ISP功能,即系統可編程功能,使得在整個硬件系統設計完成后還可通過JTAG接口對硬件進行重配置。CPLD的主要作用:1)實現DSP的外圍電路;2)完成位置檢測信號及邏輯判別、驅動信號保護、過流保護;3)將位置檢測信號送入DSP。
1.2W5300介紹
W5300是一款0.18μm CMOS工藝的器件,內部集成10 /100 M以太網控制器,MAC和TCP/IP協議棧。單芯片即可實現簡單快捷的網絡連接。W5300使用方便、穩定可靠,廣泛應用于高性能、低成本的Internet嵌入式領域。W5300的主要特性[2]:
W5300內含固件 TCP/IP協議棧:TCP,UDP,IPv4,ARP,ICMP,IGMP,PPPoE等網絡底層接口協議。內部包含8個可同時獨立工作的端口,支持8位/16位的總線連接方式,采用直接連接或間接連接的訪問模式,W5300可以很容易與主機接口,大大減小了硬件接口設計和網絡編程的工作量,并且可以實現可靠穩定運行的遠程數據通訊系統。在16位總線連接方式下,支持存儲器到存儲器的DMA功能。高速網絡數據傳輸,速率可達到50 Mbps。W5300內部包含16個8K字節的存儲單元,這些存儲單元依次映射在128K字節的存儲器空間,根據端口通信數據吞吐量動態調整內部TX/RX存儲器的分配。內嵌10BaseT/100BaseTX物理層并支持第三方物理(PHY)層。支持自動握手及信號線極性檢測功能。由于這些特性,使得W5300很容易與互聯網連接。
在硬件設計時選用DSP+CPLD的兩級控制作為主控芯片,完成對W5300的控制,其主要硬件連接圖如圖2所示。
本設計中W5300采用16位數據總線工作模式、直接尋址模式,CPLD可直接訪問W5300內部的各個存儲器或寄存器。DSP將接収到的信息傳遞給CPLD,CPLD進行內部邏輯譯碼、作出判斷后產生對W5300的控制信號,并傳遞到W5300。
W5300與RJ45之間采用網絡隔離變壓器T1-6T連接,其作用是:1)將W5300與其他設備隔離開,減少了干擾,增強有用信號的傳輸,增加了傳輸距離;2)連接TX和RX,使差分信號耦合到不同電平連接的端口;3)保護W5300在與其他端口電壓不匹配時不受損害能正常工作[3]。W5300芯片設有外置指示燈輸出,連接成功時,LINKED引腳輸出低電平。當有數據包發送時,發送端TXLED輸出低電平,接收端RXLED輸出高電平,以上條件必須全部滿足才可以實現以太網的數據傳輸[4]。
系統軟件設計的主要任務是在Quartus II環境下用硬件描述語言VHDL實現對W5300的控制。以實現W5300與上位機的以太網數據傳輸。在本系統的軟件設計中,僅選用W5300的8個SOCKET中的SOCKET0進行通訊[5]。W5300軟件流程圖如圖3所示。

圖3 W5300軟件流程圖Fig.3 W5300 software flow chart
3.1W5300復位
W5300工作之前需要進行上電復位,且復位信號RESET至少要保持2 μs的低電平,然后變為高電平,等待至少10 ms使得W5300內部鎖相環穩定后,再進行W5300初始化等操作。
3.2W5300初始化
初始化分3個步驟:
第一步,主機接口設置。1)設置數據總線為16位數據總線直接訪問工作模式;2)中斷屏蔽寄存器IMR寫入 0xFFFF,不屏蔽任何中斷。
第二步,設置網絡信息。1)設置數據通信的基本網絡信息。如硬件地址寄存器SHAR、網關 IP地址寄存器 GAR、子網掩碼寄存器SUBR和本機IP地址寄存器SIPR;2)設置重復發送的時間間隔和重復發送的次數。
第三步,分配SOCKET0的內部TX/RX存儲空間。1)定義內部TX/RX存儲器空間的大小;2)定義SOCKET0的TX/RX存儲器空間的大小。
3.3SOCKET0建立連接
在本設計中,W5300工作在TCP服務器模式下。為了實現TCP通信,需要對SOCKET0進行初始化設置,然后設置W5300工作在TCP服務器模式下,最后建立連接。SOCKET0控制寄存器 S0_CR運行OPEN命令,S0_SSR改變為SOCK_INIT,則SOCKET0的初始化設置完成。S0_CR運行LISTEN命令,S0_SSR變為 SOCK_LISTEN,則W5300工作在TCP服務器模式。當S0_SSR改變為SOCK_ESTABLISHED,則SOCKTE0成功建立連接,可以進行數據通信[5]。
3.4數據通信
數據通信包括接收數據和發送數據:1)接收數據時,先判斷SOCKET0接收數據報長度寄存器S0_RX_RSR的值是否為零。為零,則重復判斷。不為零,表示接收到數據。再通過S0_RX_FIFOR寄存器將數據從RX寄存器中依次讀取。最后執行REVC命令,表明W5300已經接收完數據。2)發送數據時,首先判斷TX存儲器的存儲空間是否夠用,再將需要發送數據通過S0_TX_FIFOR復制到SOCKET0的TX存儲器中,然后再將發送數據字節長度值寫入SOCKET0的寫長度寄存器S0_TX_WRSR。最后運行SEND命令,完成數據的發送。W5300在TCP協議下通過以太網將數據傳遞給PC機[6]。
本文介紹了基于DSP+CPLD伺服控制系統的以太網接入。該設計方案開發周期短、硬件連接簡單、體積小,能夠實現基于TCP協議的數據通信。
[1]LAN/MAN Standards Committee.IEEE Std.802.3-2005/ Corl-2006part 3:Carrier Sense Multiple Access with CollisionDetection(CSMA/CD)AccessMethodand Physical Layer Specifications Corrigendum 1[S].2006.
[2]WIZnet.W5300 Data sheet Ver1.2.2[R].2008.
[3]劉欣.基于W5300的以太網嵌入式測試系統設計[J].計算機測量與控制,2014,22(4):1050-1052.
[4]游雪峰,文玉梅,李平.以太網分布式數據采集同步和實時傳輸研究[J].儀器儀表學報,2006(4):384-388.
[5]吳昊,嚴勝剛,薛雙喜.基于W5300的以太網數據傳輸系統的設計與實現[J].電子設計工程,2012,20(9):92-94.
[6]喬立巖,梁宇,趙浩然,等.基于W5300的以太網接口設計[J].電子測量技術,2012,35(7):129-132.
The servo control system based on W5300 Ethernet interface design
NI Xiao-yu,CHU Jian-an,YAN Jian-hai
(School of Electronics and Information,Xi’an Polytechnic University,Xi’an 710048,China)
In the DSP+CPLD servo control system,using the Ethernet controller W5300,realizes the Ethernet connection. Introducing the working principle of W5300,and elaborated the system hardware design and software implementation.The design development cycle short,simple hardware connection,small volume,can realize the data communication based on TCP protocol.
servo control;DSP;CPLD;W5300;data communication
TN919
A
1674-6236(2016)03-0102-02
2015-03-27稿件編號:201503387
倪曉宇(1989—),男,江西瑞昌人,碩士研究生。研究方向:控制工程。