摘 要: 數(shù)控網絡系統(tǒng)是數(shù)控系統(tǒng)發(fā)展的趨勢,在這類系統(tǒng)中,結點之間通信的最大要求是高實時性、高可靠性,最大特點是通信數(shù)據量較小,且具有周期性。本論文將根據數(shù)控網絡的這些特點,詳細介紹如何在物理層,用VHDL語言設計一個滿足這些要求的模塊,通過光纖實現(xiàn)點對點的通信。
關鍵詞:光纖通信,數(shù)控網絡,CNC, FPGA
1 引言:
數(shù)控技術是制造業(yè)實現(xiàn)現(xiàn)代化的戰(zhàn)略性基礎技術,同時也是提高國家綜合國力和國防現(xiàn)代化的重要戰(zhàn)略性基礎技術。隨著數(shù)字驅動技術及各種制造技術的發(fā)展,提高數(shù)控系統(tǒng)的靈活多變性,可擴展性,可移植性、互操作性、互交換性、可重用性已成為迫切的需要。為此,世界各先進工業(yè)國家紛紛將研制開放式數(shù)控系統(tǒng)體系結構列入重點發(fā)展計劃,為適應這一發(fā)展態(tài)勢,及進一步提高工廠生產的自動化,數(shù)控網絡系統(tǒng)必將成為未來數(shù)控技術競爭的制高點。而解決在這類網絡中數(shù)據的高實時,高可靠地傳輸,是構成數(shù)控網絡的一個核心問題。本論文將根據這網絡的特點集中介紹如何用光纖實現(xiàn)點對點的高速高可靠傳輸。
2 網絡數(shù)控的特點:
目在數(shù)控網絡系統(tǒng)中,應用的協(xié)議有SERCOS(Serial Real-time Communication System)和HSB (High speech Serial Bus)等。
[align=center]

圖1 :SERCOS網絡拓樸[/align]
SERCOS接口的控制器可以根據需要接上一個或幾個環(huán)結構。圖1的拓樸圖只是一個例子,由其拓樸結構也可以看出,它糅合使用了主從結構和環(huán)狀結構。
HSB的拓樸結構相對SERCOS要簡單些。它主要是主從式結構。
由于數(shù)控系統(tǒng)的特點,它對底層設備間的數(shù)據通信要求比較高,必須保證高實時性和高可靠性的要求。例如CNC(Computer Numeric Controller)控制器主機單元和插補軸單元、驅動單元等的連接,這類控制器具有ms級的較短控制周期,同時要求較高的通信可靠性,通信錯誤將導致較嚴重的后果,如加工零件的報廢等。為了在工廠那種比較惡劣的環(huán)境中確保這些要求的滿足,構成的數(shù)控網絡的通信介質得用光纖。
這類高實時性、高可靠性的底層設備間典型的通信周期是1~5ms之間,典型的有效通信數(shù)據量在500~2000bit之間。以上特點決定了CNC控制器通信存在短周期、短數(shù)據幀等特點, 所以在物理層用VHDL在FPGA上設計點對點通信模塊時,必須考慮到這些基本的要求。
不管是構成SERCOS還是HSB網絡,為了能夠擴展更多的結點,點對點的有效位速度都應該不小于4M,雖然組網要求的有效位速率大于4Mbps,但是由于協(xié)議本身的開銷,以及為了保證高可靠性而必須的通信冗余量,這類網絡中實際通信位速率要遠大于有效位速率。其通信效率保守估計只有15%~30%。
3 光纖通信在數(shù)控網絡中的實現(xiàn)
不管是SERCOS還是HSB結構的數(shù)控網絡系統(tǒng),當經過仲裁從站獲得總線控制權后,主站跟從站的通信就是點對點的通信。所以依據數(shù)控系統(tǒng)中傳輸?shù)臄?shù)據特點,實現(xiàn)點對點的高實時、高可靠光纖通信是基本環(huán)節(jié)。這一環(huán)節(jié)是在物理層來實現(xiàn)的。
在物理層點對點通信的外圍接口模型如下:
[align=center]

圖2 :外圍接口模型[/align]
該模塊是用VHDL語言在FPGA中實現(xiàn)的。它的功能是將在數(shù)據鏈路層打包好的數(shù)據幀編碼后通過光纖傳送到總線上去,以及從總線上接收串行的數(shù)據解碼后交給數(shù)據鏈路層。物理層的主要工作幾乎都由該模塊來實現(xiàn)。
該模塊的具體任務包括:與數(shù)據鏈路層接口、與光纖收發(fā)器的接口、數(shù)據的編解碼、數(shù)據的并串轉換、數(shù)據過采樣或數(shù)據時鐘恢復、數(shù)據字對齊等功能。
1):與鏈路層接口:
Outport[15..0]:要發(fā)送到總線中的十六位數(shù)據,低八位是高八位數(shù)據的地址。
inport[15..0]:從總線中接受到的十六位數(shù)據, 低八位是高八位數(shù)據的地址。
senddata:發(fā)送數(shù)據信號,當給它一個跳變時,outport中數(shù)據將進行CRC、4b/5b編碼,然后從data_out中串行發(fā)送。
Ack_y:當接收到一個對方發(fā)送過來的,表明對方已經正確接收到數(shù)據的握手信號時,它會發(fā)生一次跳變。
Ack_n:當接收到一個對方發(fā)送過來的,表明對方沒有正確接收到數(shù)據的握手信號時,它會發(fā)生一次跳變。
Receive_ok:當接收到對方發(fā)來的數(shù)據并且crc校驗正確后,它會有一個跳變,同時把數(shù)據從inport端口輸出,給對方發(fā)送一個接收正確的握手信號幀。當接收的數(shù)據沒有通過crc校驗時,receive_ok不變,數(shù)據不輸出,只給對方發(fā)送一個接收錯誤的握手信號幀。
2):與光纖的接口:
data_in:發(fā)送的串行數(shù)據。
data_out:接收的串行數(shù)據。
3):數(shù)據編解碼:
發(fā)送數(shù)據時,先用4b/5b編碼,然后用CRC編碼;接收數(shù)據時,則反過來,先用CRC解碼,然后用4b/5b解碼。本模塊采用的循環(huán)碼生成多項式是歐洲標準的CRC-16。
4):數(shù)據并串轉換:
將outport中十六位數(shù)據編碼后串行輸出,從光纖總線中接收到的串行數(shù)據解碼后在inport中并行輸出。
5):數(shù)據過采樣或數(shù)據時鐘恢復:
在異步通信模式下,需要用采樣辦法將介質上傳輸?shù)臄?shù)據進行0、1判決,以生成接收端數(shù)據,由于異步模式下缺乏發(fā)送端的相位信息,難以保證采樣點位于數(shù)據的中間位置,即通信“眼圖”的中部,該處的數(shù)據有足夠的保持時間,是最佳判決點,因此在接受端采用過采樣的方法,每個bit的數(shù)據周期內,采樣數(shù)據5次,且在數(shù)據發(fā)生0->1的變化時開始采樣,取最中間的采樣結果作為該次采樣的結果。
發(fā)送的數(shù)據幀格式如下:

發(fā)送的幀的類型有:數(shù)據幀、握手幀(接收正確的握手幀和接收錯誤的握手幀),所以在該模塊中必須要解決好它們的互斥和優(yōu)先級的問題。 在本模塊中是用狀態(tài)機的機制來實現(xiàn)的:給數(shù)據幀、接收正確握手幀、接收錯誤握手幀分別給個標志位:sign_data、sign_ack_y、sign_ack_n。當有數(shù)據幀要發(fā)送時,sign_data置1。當發(fā)送完數(shù)據幀時,sign_data復位為0,握手幀也一樣,模塊的狀態(tài)為:idle、SendingAck_y、SendingAck_n、SendingData,它們的狀態(tài)跳轉關系如下:
[align=center]

圖3 :狀態(tài)機跳轉圖[/align]
從跳轉關系圖也可以看出,當同時有握手幀和數(shù)據幀要發(fā)送時,是先發(fā)送握手幀的,這是因為握手幀比起數(shù)據幀來要短得多,所以先發(fā)送它能提高整體傳輸效率。
數(shù)據鏈路層對該模塊的操作是:把要發(fā)的數(shù)據幀發(fā)給ouport端口,然后給senddata一個跳變沿,此信號為開始發(fā)送信號。如果收到ack_y握手信號,則發(fā)下一幀數(shù)據,如果接收到ack_n握手信號,表示發(fā)送失敗,則重發(fā),如果在合理的時間內沒接收到握手信號,則定義為超時,也重發(fā),如果重發(fā)了三次還是失敗,則用中斷方式通知系統(tǒng),通信失敗。這樣就能保證數(shù)控系統(tǒng)中數(shù)據傳輸?shù)臏蚀_可靠。不會出現(xiàn)因某幀數(shù)據傳輸失敗而導致比較嚴重的后果,比如工件的報廢。
4 仿真
該仿真用的采樣時鐘是100M(用quartusII綜合出來后實際的采樣時鐘還可以更高),從結果可以看出:從senddata跳變把outport的數(shù)據鎖存,并開始發(fā)送數(shù)據開始,到接收到握手信號的周期是1.15us,在這十六位數(shù)據中,低八位是地址,高八位才是有效數(shù)據,所以其有效位速率為6.95M,該有效速度完全能滿足數(shù)控網絡的要求。
雖然這是仿真結果,但在實際數(shù)控系統(tǒng)中運行時的效果跟它是一樣的,該光纖通信模塊在實際系統(tǒng)中的調試已經結束。
5 結束語
在工廠自動化越來越高的今天,用光纖構成的數(shù)控網絡系統(tǒng)必將大大提高中國企業(yè)的核心競爭力。為中國企業(yè)全面參與國際競爭提供技術質量保證。
參考文獻
[1] M. Week and Jochen Wolf .STEP-NC-The STEP compliant NC Programming Interface:Evaluation and Improvement of the modern Interface [Z].IMS Forum. Ascona/Switzerland,October/2001.
[2] 鄒澤明等. 網絡數(shù)控系統(tǒng)與企業(yè)信息系統(tǒng)的集成研究[J]. 機床與液壓,2003,(5).
[3] 陳衛(wèi)福,楊建武. 開放式數(shù)控系統(tǒng)及SERCOS接口應用技術 .機械工業(yè)出版社.
[4] 董孝義,王延堯. 新一代光纖通信與同步網原理與發(fā)展[M].天津:天津科學技術出版社.
[5] 周凱. 數(shù)控系統(tǒng)體系結構研究 [J] 中國機械工程2002, 13 (5).
[6] 黃智偉,王彥. FPGA系統(tǒng)設計與實踐.電子工業(yè)出版社.
[7] 劉小俊等,基于VHDL語言的全雙工異步接收發(fā)送器電路設計 . 微計算機信息 . 2005. Vol.21 No.1 P.156-157