LLC子層各服務命令接口以及上層數據的收發工作最終都要通過收發鏈路層數據幀實現。NCSF總線支持集總幀和非集總幀報文。非集總幀由頭部、指令區、數據區和校驗區組成,通信數據區直接由從站數據信息封裝得來,組成相對簡單。集總幀主要包括集總幀頭部和數據部,頭部為數據幀控制信息,數據部為各從站數據的集合舊』。下面是集總幀頭部和從站數據結構定義,具體結構可根據具實現調整。
MAC子層通過查詢對象字典將應用層命令調用和APDU映射為MAC子層服務,然後接口函數封裝相應從站數據,最終各從站數據被組裝成集總幀發送。集總幀沿著環路傳輸,當經過一個從站時,該從站將對數據幀進行掃描,查找、讀取本站數據,然後把發反饋數據寫入集總幀,並繼續轉發經過處理的集總幀。
為實現數據幀的收發和管理控制工作,MAC子層需要維護數據收發緩衝區,長度寄存器,狀態寄存器,控制狀態寄存器,中斷清除寄存器和計時器寄存器。MAC子層收發程序通過設置控制寄存器,長度寄存器和中斷清除寄存器收發數據,通過檢查狀態寄存器判斷收發狀態進行差錯控制和安全管理。FPGA上總線系統的數據流向見圖8,涉及操作請參考應用層處理程序設計和數據鏈路層程序設計部分。需要注意的是,MAC子層接收到的反饋信息需要通過查詢對象字典和地址映射表以周期/非周期數據的形式傳遞到應用層,然後由應用層迸一步處理轉發。
圖8 FPGA總線系統數據流同關係
4 性能分析
基於SoC的NCSF總線系統使用FPGA軟核MicroBlaze為現場總線NCSF協議棧的實現提供快速的專用處理器,由於該處理器具有運行速度快、佔用資源少、可配置性強等優點,且只用於通信控制,可以滿足數控現場總線對實時性的要求。本設計採用Xilinx XC3S500E晶片,表3中給出了總線系統綜合時晶片邏輯資源的使用情況,數據表明系統資源佔用率相對較低,可實現在FPGA上。
表4給出了新系統性能測試結果,數據表明新設計完全可以滿足數控系統對現場總線數據的實時、高速、可靠傳輸的要求。
同時,NC主機上僅實現NCSF總線協議棧用戶層行規的內容,比完整的協議棧實現佔用更少的CPU時間,降低了NC主機的負載,提高了NC主機的響應速度。
FPGA實現部分配合FPGA內部的高精度時鐘、CRC處理、PHY控制等硬邏輯模塊實現NCSF總線通信控制,增加了總線系統的獨立性、可擴展性,提高了總線的通信性能、穩定性和可靠性,使得總線系統的升級改造可以獨立於數控系統從而降低了數控系統的開發維護成本。
5 結束語
針對數控系統軟體對強實時性,高可靠性總線系統的應用需求,本文在瀋陽計算技術研究所研發的NCSF總線的基礎上,提出了一種基於SoC的總線系統的實現方法。測試結果表明,新設計可提供速率為100Mps,同步抖動小於0.61μs,通信周期為31.25μs的通信服務,能夠滿足高檔數控工具機的加工需求。同時該方法增加了總線系統的獨立性、可擴展性,可在一定程度上減少數控系統響應時間提高總線系統的實時性。