■廣州數(shù)控設(shè)備有限公司 (廣東 510530) 于亞芹
基于GSK-Link的遠(yuǎn)程IO單元設(shè)計(jì)
■廣州數(shù)控設(shè)備有限公司 (廣東 510530) 于亞芹
摘要:現(xiàn)場總線控制系統(tǒng)FCS是目前控制領(lǐng)域最新、最先進(jìn)的控制系統(tǒng)?,F(xiàn)場總線國際標(biāo)準(zhǔn)2000年頒布后,有力的促進(jìn)了現(xiàn)場總線這種新的控制系統(tǒng)在國際上的研究和應(yīng)用。本文介紹了基于廣州數(shù)控自主研發(fā)的GSK-Link工業(yè)總線的遠(yuǎn)程IO單元的設(shè)計(jì),對其硬件設(shè)計(jì)和通訊應(yīng)用做了詳細(xì)說明,并對基于FCS的工業(yè)控制網(wǎng)的通信及體系的未來發(fā)展情況給出了展望。
20世紀(jì)80年代中期,美國Rosemount公司開發(fā)了一種可尋址遠(yuǎn)程傳感器(HART)通信協(xié)議。采用在4 ~20m模擬量上疊加一種頻率信號的調(diào)制/解調(diào)方式傳輸信號,屬于模擬系統(tǒng)向字系統(tǒng)轉(zhuǎn)變過程中的過渡產(chǎn)品,并且采用雙絞線實(shí)現(xiàn)信號傳輸。HART協(xié)議是真正工業(yè)現(xiàn)總線的雛形。隨后出現(xiàn)了Modbus、AnyBus、CAN、Profibus、Fieldbus、WorldFIP、P-NET、Works、INTERBUS、DNET、CNET、LIGHTBUS、MODBU及CC-Link等等工業(yè)現(xiàn)場總線是連接智能現(xiàn)場設(shè)備和自動(dòng)化系統(tǒng)的數(shù)字式、雙向傳輸、多分支結(jié)構(gòu)的信網(wǎng)絡(luò)。它的關(guān)鍵標(biāo)志是能支持雙向、多節(jié)點(diǎn)、總線式全數(shù)字通訊?,F(xiàn)場總線是將自動(dòng)化最底層現(xiàn)場控制器和現(xiàn)場智能儀表設(shè)備互連實(shí)現(xiàn)實(shí)時(shí)控制通訊的絡(luò),遵循ISO/OSI國際標(biāo)準(zhǔn)化組織/開放系統(tǒng)互連參考模型(International Stananization/Open System Interconnect Reference Model)的全部或部分通訊協(xié)議。
廣州數(shù)控自主研發(fā)的GSK-Link工業(yè)以太網(wǎng)協(xié)議主要分為物理層,數(shù)據(jù)鏈路層和應(yīng)用層3個(gè)層次,物理層與傳統(tǒng)以太網(wǎng)通用,速度為100Mbps,數(shù)據(jù)鏈路層根據(jù)機(jī)床行業(yè)的需要,主要負(fù)責(zé)完成向伺服從站和IO單元發(fā)送運(yùn)行指令,接收各個(gè)從站的運(yùn)行參數(shù),并完成校驗(yàn)和出錯(cuò)重發(fā)。GSK-Link工業(yè)以太網(wǎng)可支持最多64個(gè)站點(diǎn)。GSK-Link所有從站之間的同步精度可達(dá)到20ns。
(1)數(shù)字量輸入輸出設(shè)計(jì)。IO單元是具有串行接口的IO模塊,通過GSK-Link接口與上位機(jī)通訊,可以為用戶提供多達(dá)200個(gè)通用的輸入和輸出接口。IO單元包括主板和IO板兩個(gè)部分,主板負(fù)責(zé)處理通訊,而輸入輸出信號的串行移位電路則放在IO板上,圖1是IO單元的整機(jī)原理框圖。主板采用1 片F(xiàn)PGA和1片M3內(nèi)核的ARM,F(xiàn)PGA負(fù)責(zé)運(yùn)行GSK -Link的數(shù)據(jù)鏈路層協(xié)議和輸入輸出數(shù)據(jù)的處理,ARM則負(fù)責(zé)應(yīng)用層協(xié)議。
串行輸入移位芯片SN65HVS881的功能框圖如圖2所示。當(dāng)LD為低時(shí),8個(gè)輸入數(shù)據(jù)和3位校驗(yàn)數(shù)據(jù)進(jìn)入到移位寄存器,當(dāng)L D為高時(shí),數(shù)據(jù)按照節(jié)拍,每個(gè)CLK向右移動(dòng)1位,直到全部數(shù)據(jù)都從SN65HVS881的SOP口移出到FPGA端口。SN65HVS881的優(yōu)點(diǎn)是同時(shí)提供了輸入電流和電壓的檢測,當(dāng)輸入電流大于4mA,電壓大于10V,才認(rèn)為輸入有效,有效防止了干擾。
圖1 IO單元的整機(jī)原理框圖
下面的這段語句是與SN65HVS881接口的VERILOG實(shí)現(xiàn),IN-WIDTH是輸入點(diǎn)的個(gè)數(shù)。當(dāng)LD為1時(shí),輸入數(shù)據(jù)按照時(shí)鐘節(jié)拍移位給FPGA并保存到din_shift_reg,當(dāng)計(jì)數(shù)器計(jì)滿時(shí),輸入移位寄存器dout_shift_reg已經(jīng)全部為新的輸入數(shù)據(jù),新的數(shù)據(jù)會保存到din _reg供上位機(jī)查詢。
always @(posedge clk or posedge reset)begin
if(reset)begin
din_shift_reg <= 0;
end else if(LD) begin
din_shift_reg <= {din_shift_reg[IN_WIDTH-2 : 0], SIP};
end else if(shift_cnt ==IN_WIDTH)begin
din _reg <= din_shift_reg;
end
end
輸出模塊的基本原理和輸入模塊相似,但過程正好相反。輸出移位芯片TPIC6A595的時(shí)序圖如圖3所示。當(dāng)RCK為低時(shí),待輸出的數(shù)據(jù)從SERIN依次移入TPIC6A595,每個(gè)SRCK上升沿?cái)?shù)據(jù)移動(dòng)1位,直到全部數(shù)據(jù)都從FPGA移入TPIC6A595,這時(shí)將RCK拉高,8個(gè)輸出數(shù)據(jù)被同時(shí)被送到TPIC6A595的8個(gè)輸出口,完成一輪輸出。串行輸出芯片TPIC6A595的優(yōu)點(diǎn)是帶有短路保護(hù),當(dāng)輸出電流大于300mA時(shí),輸出會立即斷開,極大的保證了電路的可靠性。根據(jù)客戶不同的需求,IO單元可以通過擴(kuò)展IO板的方式增加輸入輸出點(diǎn)數(shù)。
圖2 SN65HVS881的功能框圖
圖3 TPIC6A595時(shí)序圖
下面的這段語句是與TPIC6A595接口的verilog實(shí)現(xiàn),OUT_WIDTH是輸出點(diǎn)的個(gè)數(shù)。當(dāng)計(jì)數(shù)器shift_cnt計(jì)數(shù)值為0時(shí),輸出移位寄存器dout_shift_reg裝載新的輸出數(shù)據(jù),之后開始移位,當(dāng)計(jì)數(shù)器計(jì)滿時(shí),輸出RCK為高,完成一輪輸出操作。
always @(posedge srck or posedge reset)begin
if(reset)begin
dout_shift_reg <= 0;
end else if( RCK && shift_cnt == 0) begin
dout_shift_reg<= dout_reg;
end else if(~RCK)begin
dout_shift_reg <= {dout_shift_reg[OUT_ WIDTH-2 : 0], 1’b0};
end
end
(2)模擬量輸出電路設(shè)計(jì)。本IO單元配有4路0~10V的模擬量輸出接口。采用2片AD公司的AD5722,使用菊花鏈方式連接。AD5722是雙通道12位的DAC,可以軟件編程輸出5V,10V,10.8V等多種電壓,內(nèi)置1%精度的基準(zhǔn)源,采用SPI接口。
IO單元由于監(jiān)控著機(jī)床上的很多動(dòng)作部件,抗干擾設(shè)計(jì)尤為重要?;贕SK-Link的遠(yuǎn)程IO單元在百兆以太網(wǎng)的接口設(shè)計(jì)上加入了充分的抗干擾措施。除了使用TI公司的高速TVS器件,在布板布線上也完全考慮了長距離線纜可能帶來的高共模干擾,比如在變壓器下面預(yù)留足夠的空間隔離干擾。經(jīng)測試可達(dá)到靜電和脈沖群抗擾度國家4級標(biāo)準(zhǔn)。
GSK-Link的傳輸媒介采用超5類雙絞線,物理層使用通用的百兆以太網(wǎng)的物理層芯片,比如KSZ8721等,MAC層則通過FPGA實(shí)現(xiàn),負(fù)責(zé)將不同類型的數(shù)據(jù)包按照既定格式進(jìn)行發(fā)送,并將接收
的數(shù)據(jù)包按照協(xié)議定義解析和保存。
GSK-Link的數(shù)據(jù)包大致分為周期數(shù)據(jù)和非周期數(shù)據(jù)兩大類。周期數(shù)據(jù)由主站的A口發(fā)出,B口返回,主要包含有每個(gè)周期電機(jī)的運(yùn)行距離,輸入輸出數(shù)字量和模擬量;而非周期數(shù)據(jù)由主站的B口發(fā)出,A口返回,主要包含伺服的運(yùn)行參數(shù)等。
IO單元的數(shù)據(jù)為周期數(shù)據(jù),CNC主站每個(gè)通訊周期都會對輸出進(jìn)行刷新,并詢問新的輸入數(shù)據(jù)。本文介紹的IO單元作為從站可以串接在GSK-Link環(huán)路中任意位置,節(jié)點(diǎn)間的網(wǎng)線長度最大100m。
對于主頻80MHz的ARM來說,GSKLink通訊周期可以達(dá)到1ms甚至更小,GSK -Link采用雙環(huán)的拓?fù)浣Y(jié)構(gòu),總線拓?fù)淙鐖D4所示。
圖中的CNC系統(tǒng)主站是指機(jī)床的數(shù)控系統(tǒng),伺服單元用來驅(qū)動(dòng)電機(jī),IO模塊就是本文介紹的IO單元。GSK-Link工業(yè)以太網(wǎng)可支持最多64個(gè)站點(diǎn)。GSK-Link所有從站之間的同步精度可達(dá)到20ns。完全可以滿足機(jī)床行業(yè)的應(yīng)用。
圖4 GSK-Link總線拓?fù)?/p>
基于GSK-Link的遠(yuǎn)程IO單元使用起來方便靈活,擴(kuò)展性強(qiáng),目前已經(jīng)量產(chǎn),廣泛應(yīng)用于機(jī)床,自動(dòng)化生產(chǎn)線等領(lǐng)域。
隨著工業(yè)以太網(wǎng)的迅速發(fā)展,將來還會將網(wǎng)線升級為無線,比如通過工業(yè)wifi和藍(lán)牙的方式組網(wǎng)通訊,以實(shí)現(xiàn)更快的通訊速度和更靈活的組網(wǎng)方式。
收稿日期:(20150212)