0 引言
數控系統的開放化是數控技術發展的一個重要方向。這個開放性包括功能的可定制和底層設備通信總線接口的開放性。借助開放化數控系統概念平臺,可在功能及性能等方面全面提升數控系統的延展空間。傳統的數控系統采用的是并行傳輸控制模式,這種模式在目前一般的數控加工領域可行,但面對聯動軸數不斷增加、功能擴展不斷增多、各軸空間距離的不斷拓展等諸多更新的要求,這種傳統的工作模式就很難滿足要求。此外,傳統數控系統一般通過模擬信號線、脈沖信號線、RS232串行通信等方式來實現底層通信功能。這不僅效率低、而且可靠性差,成為阻礙數控系統性能提高的瓶頸。設計具有高速率、高實時性和高可靠性的計算機實時網絡數控系統,從而解決底層通信與控制問題,成為必然趨勢。
1 基于光纖的串行通信數控系統特點
基于光纖的串行通信數控系統可以有效解決傳統數控系統存在的上述問題。
首先,在功能方面,通過設立主站點控制器,借助光纖通信將各從站被控單元逐個串接起來,從而形成一個網絡。站點之間由于可以通過光纖線路連接,空間距離的延伸拓展非常容易。從站站點個數理論上限為127個,這使得聯動軸數也得到可觀的擴充。通過在主從站點之間制定通信協議,后續擴展功能可在基本通信協議的基礎上不斷添加完善,非常靈活。
其次,在性能方面,光纖通信是近年來發展十分迅速的新興技術,擁有很多更具優勢的特性,如:通信容量大、傳輸距離遠;信號串擾小、保密性能好;抗電磁干擾、傳輸質量佳;光纖尺寸小、重量輕,便于敷設和運輸等。其中,高速可靠的數據傳輸為數控系統性能精度的提高提供了保障。
2 系統底層硬件架構
基于光纖通信的數控系統底層總體架構如圖1所示。系統采用研祥智能科技有限公司的PCI04主板作為核心控制器,該主板具有如下特點:支持133MHZ前端系統總線,最大內存容量高達512MB,為高速數據處理提供了可靠保證;集成了S3 Graph.ics ProSavage4 2D/3D圖形加速控制器,支持CRT和LCD顯示,方便數控界面的顯示;外圍接口豐富,集成了CompactFlash接口、PS2鍵盤/鼠標接口、USB接口、并口,串口等,便于外接擴展功能設備。
圖1基于光纖通信的數控系統底層架構
主從站均用Ahera公司的Cyclone系列FPGA芯片作為通信協議控制芯片,光纖環路數據傳輸接口則采用武漢電信器件有限公司的LVPECL光收發合一模塊。另外,FPGA芯片的控制信號及伺服反饋信號均通過光電耦合隔離處理。
3 串行通信協議設計
3.1 串行通信協議架構
通信協議采用自頂向下的分層模塊化設計思想及主從協議分離設計思想。協議總共分為4層:物理層、數據鏈路層、網絡層、應用層。物理層介于通信介質和數據鏈路層之間,處理傳輸的各種物理信號,包括電信號、光信號等,使得數據鏈路層與介質無關。增加協議的適應性。具體完成的功能包括:與數據鏈路層接口對接、數據的編解碼、數據的并串轉換、數據過采樣或數據時鐘恢復、數據字對齊等。
數據鏈路層完成數據幀的封包和拆包、CRC校驗,超時重發,出錯重發機制,握手機制,發送各種數據類型之間的互斥機制等??傊瑢W絡層而言,該層應該是透明化的。
網絡層負責同步、計時,總線擁有權切換,數據轉發開關的切換。將通過ISA總線發送的數據打包,添加目的站和源站地址信息;將上傳給ISA總線的信息進行地址信息解析并緩存數據,等待ISA總線讀取。協議采用的編址方式為靜態編址,即通過外部硬件設置站點地址。當發送廣播地址時,各站點均接收數據。
應用層相當于硬件抽象層或軟硬件協同設計抽象層,主要是根據硬件功能,抽象出一個個的C函數接口,供應用軟件調用。
物理層主要用光纖信號輸入處理模塊Fiberln和光纖信號輸出處理模塊FiberOut來封裝;數據鏈路層用Fiberlnout模塊來封裝,它調用了前面兩個模塊并加上鏈路層的其他功能;在網絡層,主站用Mainprotocol封裝,從站用ViceProtocol來封裝。應用層實現的功能相對不多,分別在主站模塊及CNC系統軟件層實現。主從站協議實現的總體架構如圖2所示。
圖2主從站協議架構
3.2 協議通信的主要實現過程
串行通信協議采取時分復用的介質訪問控制方式。在通信周期內,分配給各站點的時間長度固定。系統的周期數據(實時數據)和非周期數據(非實時數據)傳輸時采用一致的工作時序,每個站的時間片起始位置在時序上是固定的,一個單位時間內完成一次主站數據的傳輸或者伺服數據的反饋。主站時間片起始時刻位于通信周期的開始,緊隨同步信號之后。從站時間片長度設為單位時間片長度,從站的起始時刻根據自身ID號計算獲得。
通信周期時間片的分配如圖3所示。
圖3通信周期時間片分配
光纖通信環路內,主站與從站數據通信處理的具體實現過程如下:
(1)系統上電,主站數據處理模塊、各從站數據處理模塊內部所有通信協議模塊均初始化。
(2)主站等待來自處理器的相關指令,當收到數據傳輸指令后,主站進入下一步工作階段。
(3)主站測試通信環路是否暢通,給整個環路發送檢測信號,若主站能十次正確接收到,則測試成功。主站進入下一步工作階段,否則產生錯誤中斷,并返回到步驟(2)。
(4)主站向通信環路廣播同步信號,各個從站同時收到同步信號,同步信號在環路傳輸一圈,若最終主站能夠收到自己發出的同步信號,表示環路站點同步成功,進入下一步工作階段;若主站不能收到自身發出的同步信號,將再次發送同步信號,連續十次同步失敗,則主站產生相應的出錯中斷,并返回步驟(2)。
(5)主站和各個從站收到同步信號時,一個數據傳輸周期開始,主站和各個從站的時間計數器模塊開始計數,在通信周期內,各個站根據自己的地址和當前計數值,確定哪個時間槽屬于該站點,當屬于自己的時間槽到來時,該站點便擁有總線的數據發送權,向總線發送數據;數據傳輸周期開始后,主站在屬于自己的時間槽內往從站發送數據。與此同時,主站接收ISA總線數據并對數據進行標志、緩存,完成數據的編碼,實現握手機制,超時重發、出錯重發,對發送數據進行并串轉換及對接收的數據進行串并轉換。
(6)主站發送一幀數據后,等待相應從站的應答信號,若收到從站的負應答信號,表示數據沒有被從站正確接收,主站將重發上一幀數據并再次等待從站的應答信號,若連續兩次收到從站的負應答信號,則產生錯誤中斷并返回步驟(2);若收到從站的正應答信號,表示數據被從站正確接收,主站在自己的時間槽內繼續發送下一幀數據,若沒有新的數據發送則等待該時間槽的結束。
(7)主站時間槽結束后,從站在屬于自己的時間槽內往主站發送數據,從站發送一幀數據后,等待主站的應答信號,若收到主站的負應答信號,表示數據沒有被主站正確接收,從站將重發上一幀數據并再次等待主站的應答信號,若連續兩次收到主站的負應答信號,從站產生錯誤中斷并返回等待新一次的同步信號;若收到主站的正應答信號,表示數據被主站正確接收,從站在自己的時間槽內繼續發送下一幀數據,若沒有新的數據可以發送則等待該時間槽的結束。
(8)主站和各個從站的時間計數器模塊計數到設定值時,當前數據傳送周期結束,主站返回步驟(2),等待處理器指令或開始下一次數據傳送周期,從站等待主站的同步信號。
以上階段依次進行,不斷循環,直到控制器終止傳輸或者環路傳輸錯誤被迫中斷。
3.3 數據編碼特點
在曼徹斯特編碼和差分曼徹斯特編碼中,每位中間都有一次電平跳變,因此波特率是數據速率的2倍。對于lOOMbps的高速網絡,若采用該類編碼方式,就需要200M的波特率,硬件成本是lOOM波特率硬件成本的5-10倍。
本系統的通信協議直接對基帶進行編碼,以適合光纖作為通信介質的傳輸方式。為提高編碼效率,盡量減小硬件開銷,同時方便同步信號的提取,這里采用4B/5B碼對源碼進行編碼。例如,用于同步的報文起始符為連續的15個0,通過4B/5B編碼可以有效地消除源碼中可能存在的這種碼組。4B/5B編碼的規則如表1所示。
5位二進制代碼的狀態共有25=32種,從中取1的個數不少于2個的狀態來表示0~F,這樣就可以保證在介質上傳輸的代碼能提供足夠多的同步信息。
4 聯合通信仿真及結果分析
在QuartusU6.0軟件環境下設計好主從站各模塊VHDL代碼。為模擬主從站通信,設計一個新的頂層文件調用主從站模塊,用該模塊調用1個主站、3個從站。通過該頂層文件,仿真主站與3從站之間的數據通信。
仿真時,由主站給各從站發送數據,各從站接收到相應的數據后,立即將接收到的數據重新發送給主站。根據各從站接收到的數據和主站接收到的數據,可以判斷環路通信是否正常。
主站發往從站1、從站2、從站3的數據分別初始化為隨后發送的數據則循環左移一位,發送時間間隔略大于通信周期,為100us(設置的協議通信周期為90us)。由結果可知,該通信協議能準確無誤地實現主從站點間的數據傳輸。根據設計,該通信協議能夠達到的最高有效數據傳輸速率為5.33Mb/s。如果對系統時鐘進行倍頻處理,該速率還可以進一步提高,如:系統時鐘頻率提高至150MHZ,最高有效數據傳輸速率為8Mb/s。
5 結束語
本文通過設計串行通信協議,并借助FPGA構建主從站,仿真實現了數控系統中基于光纖的環路高速串行通信。該設計目前已經在實際數控系統中得到成功運用,其簡便靈活、高實時高穩定的性能很好地解決了傳統數控系統存在的不易擴展、通信可靠性不高等問題。該設計為數控系統的開放性研究提供了一個很好的發展方向,后期可進一步通過優化VHDI.代碼,改善通信部分細節,縮短通信周期等方式提高其通信性能。
(審核編輯: 智匯胡妮)
分享