倪曉宇,楚建安,嚴(yán)建海
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
基于W5300以太網(wǎng)接口的伺服控制系統(tǒng)設(shè)計
倪曉宇,楚建安,嚴(yán)建海
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安710048)
在DSP+CPLD伺服控制系統(tǒng)中,采用以太網(wǎng)控制器W5300,實現(xiàn)以太網(wǎng)的接入。介紹了W5300的工作原理,闡述了系統(tǒng)的硬件設(shè)計及軟件實現(xiàn)。該設(shè)計方案開發(fā)周期短、硬件連接簡單、體積小,能夠?qū)崿F(xiàn)基于TCP協(xié)議的數(shù)據(jù)通信。關(guān)鍵詞:伺服控制;DSP;CPLD;W5300;數(shù)據(jù)通信
隨著伺服控制系統(tǒng)對系統(tǒng)的實時控制精度的要求越來越高,傳統(tǒng)單純的采用DSP作為主控器已無法滿足要求,現(xiàn)代伺服控制系統(tǒng)多采用DSP+CPLD的兩級控制。同時,由于網(wǎng)絡(luò)控制的優(yōu)勢日益突出,使得網(wǎng)絡(luò)控制在工業(yè)控制中得到廣泛應(yīng)用。其中,以太網(wǎng)接口技術(shù)廣泛應(yīng)用在伺服控制領(lǐng)域。隨著互聯(lián)網(wǎng)硬件和軟件的迅猛發(fā)展,以太網(wǎng)接口成為目前使用最廣泛的網(wǎng)絡(luò)接口,具有接口簡單、通信速度高、傳輸距離遠(yuǎn)、通信協(xié)議完善和工作性能穩(wěn)定等優(yōu)點,能夠?qū)崿F(xiàn)遠(yuǎn)程高速數(shù)據(jù)通信系統(tǒng)[1]。同時,DSP、CPLD和以太網(wǎng)控制器的價格不斷下降,使得將以太網(wǎng)接口控制器直接集成到基于DSP+ CPLD伺服控制系統(tǒng)中成為可能。
本文設(shè)計的基于 DSP+CPLD和以太網(wǎng)的伺服控制系統(tǒng),其中,DSP、CPLD作為核心處理芯片,以太網(wǎng)接口芯片W5300發(fā)送和接收以太網(wǎng)數(shù)據(jù)。
圖1 伺服控制系統(tǒng)框圖Fig.1 Servo control system block diagram
該系統(tǒng)以TI公司中的TMS320F2812 DSP、ALTERA公司中MAX系列的EPM7128S CPLD和WIZnet公司以太網(wǎng)控制芯片W5300為核心。圖 1為伺服控制系統(tǒng)框圖。
在系統(tǒng)中,DSP、CPLD作為主控芯片,接收光電位置反饋信號并通過相關(guān)算法產(chǎn)生PWM波,PWM波經(jīng)功率級放大后驅(qū)動伺服電機。系統(tǒng)預(yù)留了兩種控制模式,上位機可以通過I/O實現(xiàn)對伺服系統(tǒng)的控制,也可以用PC機經(jīng)過以太網(wǎng)用作遠(yuǎn)程監(jiān)控。
1.1TMS320F2812 DSP和EPM7128S CPLD
選用TI公司的TMS320F2812 DSP作為主處理器,該芯片為專用的運動控制芯片,其性能高、功耗低、體積小、可靠性高,可為電機控制系統(tǒng)提供良好的硬件平臺。主要特性有:高性能靜態(tài)CMOS技術(shù);高性能32位CPU;12位模數(shù)轉(zhuǎn)換器(ADC),16個通道;外部接口功能強大。DSP的主要作用:1)完成自動分段PI參數(shù)選取及角度位置控制算法的實現(xiàn);2)完成相應(yīng)的數(shù)字信號處理(包括信號的轉(zhuǎn)換、濾波等);3)對以太網(wǎng)控制芯片進行控制;4)驅(qū)動信號的輸出。
EPM7128S CPLD芯片具有128個邏輯宏單元,完全滿足我們的開發(fā)需求;而且,它具有ISP功能,即系統(tǒng)可編程功能,使得在整個硬件系統(tǒng)設(shè)計完成后還可通過JTAG接口對硬件進行重配置。CPLD的主要作用:1)實現(xiàn)DSP的外圍電路;2)完成位置檢測信號及邏輯判別、驅(qū)動信號保護、過流保護;3)將位置檢測信號送入DSP。
1.2W5300介紹
W5300是一款0.18μm CMOS工藝的器件,內(nèi)部集成10 /100 M以太網(wǎng)控制器,MAC和TCP/IP協(xié)議棧。單芯片即可實現(xiàn)簡單快捷的網(wǎng)絡(luò)連接。W5300使用方便、穩(wěn)定可靠,廣泛應(yīng)用于高性能、低成本的Internet嵌入式領(lǐng)域。W5300的主要特性[2]:
W5300內(nèi)含固件 TCP/IP協(xié)議棧:TCP,UDP,IPv4,ARP,ICMP,IGMP,PPPoE等網(wǎng)絡(luò)底層接口協(xié)議。內(nèi)部包含8個可同時獨立工作的端口,支持8位/16位的總線連接方式,采用直接連接或間接連接的訪問模式,W5300可以很容易與主機接口,大大減小了硬件接口設(shè)計和網(wǎng)絡(luò)編程的工作量,并且可以實現(xiàn)可靠穩(wěn)定運行的遠(yuǎn)程數(shù)據(jù)通訊系統(tǒng)。在16位總線連接方式下,支持存儲器到存儲器的DMA功能。高速網(wǎng)絡(luò)數(shù)據(jù)傳輸,速率可達(dá)到50 Mbps。W5300內(nèi)部包含16個8K字節(jié)的存儲單元,這些存儲單元依次映射在128K字節(jié)的存儲器空間,根據(jù)端口通信數(shù)據(jù)吞吐量動態(tài)調(diào)整內(nèi)部TX/RX存儲器的分配。內(nèi)嵌10BaseT/100BaseTX物理層并支持第三方物理(PHY)層。支持自動握手及信號線極性檢測功能。由于這些特性,使得W5300很容易與互聯(lián)網(wǎng)連接。
在硬件設(shè)計時選用DSP+CPLD的兩級控制作為主控芯片,完成對W5300的控制,其主要硬件連接圖如圖2所示。
本設(shè)計中W5300采用16位數(shù)據(jù)總線工作模式、直接尋址模式,CPLD可直接訪問W5300內(nèi)部的各個存儲器或寄存器。DSP將接収到的信息傳遞給CPLD,CPLD進行內(nèi)部邏輯譯碼、作出判斷后產(chǎn)生對W5300的控制信號,并傳遞到W5300。
W5300與RJ45之間采用網(wǎng)絡(luò)隔離變壓器T1-6T連接,其作用是:1)將W5300與其他設(shè)備隔離開,減少了干擾,增強有用信號的傳輸,增加了傳輸距離;2)連接TX和RX,使差分信號耦合到不同電平連接的端口;3)保護W5300在與其他端口電壓不匹配時不受損害能正常工作[3]。W5300芯片設(shè)有外置指示燈輸出,連接成功時,LINKED引腳輸出低電平。當(dāng)有數(shù)據(jù)包發(fā)送時,發(fā)送端TXLED輸出低電平,接收端RXLED輸出高電平,以上條件必須全部滿足才可以實現(xiàn)以太網(wǎng)的數(shù)據(jù)傳輸[4]。
系統(tǒng)軟件設(shè)計的主要任務(wù)是在Quartus II環(huán)境下用硬件描述語言VHDL實現(xiàn)對W5300的控制。以實現(xiàn)W5300與上位機的以太網(wǎng)數(shù)據(jù)傳輸。在本系統(tǒng)的軟件設(shè)計中,僅選用W5300的8個SOCKET中的SOCKET0進行通訊[5]。W5300軟件流程圖如圖3所示。
圖3 W5300軟件流程圖Fig.3 W5300 software flow chart
3.1W5300復(fù)位
W5300工作之前需要進行上電復(fù)位,且復(fù)位信號RESET至少要保持2 μs的低電平,然后變?yōu)楦唠娖?,等待至?0 ms使得W5300內(nèi)部鎖相環(huán)穩(wěn)定后,再進行W5300初始化等操作。
3.2W5300初始化
初始化分3個步驟:
第一步,主機接口設(shè)置。1)設(shè)置數(shù)據(jù)總線為16位數(shù)據(jù)總線直接訪問工作模式;2)中斷屏蔽寄存器IMR寫入 0xFFFF,不屏蔽任何中斷。
第二步,設(shè)置網(wǎng)絡(luò)信息。1)設(shè)置數(shù)據(jù)通信的基本網(wǎng)絡(luò)信息。如硬件地址寄存器SHAR、網(wǎng)關(guān) IP地址寄存器 GAR、子網(wǎng)掩碼寄存器SUBR和本機IP地址寄存器SIPR;2)設(shè)置重復(fù)發(fā)送的時間間隔和重復(fù)發(fā)送的次數(shù)。
第三步,分配SOCKET0的內(nèi)部TX/RX存儲空間。1)定義內(nèi)部TX/RX存儲器空間的大小;2)定義SOCKET0的TX/RX存儲器空間的大小。
3.3SOCKET0建立連接
在本設(shè)計中,W5300工作在TCP服務(wù)器模式下。為了實現(xiàn)TCP通信,需要對SOCKET0進行初始化設(shè)置,然后設(shè)置W5300工作在TCP服務(wù)器模式下,最后建立連接。SOCKET0控制寄存器 S0_CR運行OPEN命令,S0_SSR改變?yōu)镾OCK_INIT,則SOCKET0的初始化設(shè)置完成。S0_CR運行LISTEN命令,S0_SSR變?yōu)?SOCK_LISTEN,則W5300工作在TCP服務(wù)器模式。當(dāng)S0_SSR改變?yōu)镾OCK_ESTABLISHED,則SOCKTE0成功建立連接,可以進行數(shù)據(jù)通信[5]。
3.4數(shù)據(jù)通信
數(shù)據(jù)通信包括接收數(shù)據(jù)和發(fā)送數(shù)據(jù):1)接收數(shù)據(jù)時,先判斷SOCKET0接收數(shù)據(jù)報長度寄存器S0_RX_RSR的值是否為零。為零,則重復(fù)判斷。不為零,表示接收到數(shù)據(jù)。再通過S0_RX_FIFOR寄存器將數(shù)據(jù)從RX寄存器中依次讀取。最后執(zhí)行REVC命令,表明W5300已經(jīng)接收完數(shù)據(jù)。2)發(fā)送數(shù)據(jù)時,首先判斷TX存儲器的存儲空間是否夠用,再將需要發(fā)送數(shù)據(jù)通過S0_TX_FIFOR復(fù)制到SOCKET0的TX存儲器中,然后再將發(fā)送數(shù)據(jù)字節(jié)長度值寫入SOCKET0的寫長度寄存器S0_TX_WRSR。最后運行SEND命令,完成數(shù)據(jù)的發(fā)送。W5300在TCP協(xié)議下通過以太網(wǎng)將數(shù)據(jù)傳遞給PC機[6]。
本文介紹了基于DSP+CPLD伺服控制系統(tǒng)的以太網(wǎng)接入。該設(shè)計方案開發(fā)周期短、硬件連接簡單、體積小,能夠?qū)崿F(xiàn)基于TCP協(xié)議的數(shù)據(jù)通信。
[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的以太網(wǎng)嵌入式測試系統(tǒng)設(shè)計[J].計算機測量與控制,2014,22(4):1050-1052.
[4]游雪峰,文玉梅,李平.以太網(wǎng)分布式數(shù)據(jù)采集同步和實時傳輸研究[J].儀器儀表學(xué)報,2006(4):384-388.
[5]吳昊,嚴(yán)勝剛,薛雙喜.基于W5300的以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2012,20(9):92-94.
[6]喬立巖,梁宇,趙浩然,等.基于W5300的以太網(wǎng)接口設(shè)計[J].電子測量技術(shù),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—),男,江西瑞昌人,碩士研究生。研究方向:控制工程。