CAN總線在嵌入式數控系統中的應用
CAN是一種多主方式的串行通訊總線,與一般的通信總線相比,CAN總線的數據通信具有可靠性、實時性和靈活性。因此,CAN已經在汽車、航空、工業控制、安全防護等領域得到了廣泛應用。
目前,在數控機床通訊方面,采用較多的是PROFIBUS,完全采用CAN總線通訊方式的目前還沒有。本系統采用32位ARM處理器,對CAN總線通信系統進行了嘗試。
1 系統構成
圖1所示為基于ARM 9多處理器六軸嵌入式數控系統,它具有以下特點:
1)六個伺服電動機各由一個下位機控制。上位機和下位機均以ARM9微控制器為核心,對其API接口進行擴展,通過CAN總線電路進行通訊,組成全數字式的數控系統;
2)上位機還包含了鍵盤輸入、LED顯示、LCD顯示與觸摸屏控制、RS23}串口和以太網接口以及USB接口等電路:
3)數控系統所必需的機床面板信號控制與顯示等各個結構模塊電路包括指令觸發與開關量控制PLC, ADC與DAC等電路控制等)均通過CAN總線由上位機控制。
2 CAN控制器硬件結構
CAN控制器硬件電路如圖2主要由ARM 9芯片微控制器S3C X410, CAN總線控制器MCP2515,CAN總線收發器MCP2551、高速光藕6N 137和5V電源隔離模塊HDN 1-555等組成。
MCU通過SP胺口與MCP25巧進行通信。通過使用標準SP讀寫命令對寄存器進行讀寫操作。SPI系統使用四個I/O引腳,它們是主機輸入從機輸出數據線MISO、主機輸出從機輸入數據線MCSI串行時鐘9CK和低有效的選擇線器本系統采用的S3C241 D微處理器包括兩路SPI每一路分別有兩個8位轉移寄存器,用來發送和接收數據。
MCP25l 5是一款獨立的CAN控制器,支持CAN 20B技術規范中所定義的標準數據幀、擴展數據幀及遠程幀標準和擴展),有三個發送緩沖器和兩個接收緩沖器,支持(0,0)和(1,1) SPI模式。MCP2515內部提供了六個幀過濾寄存器和兩個屏蔽寄存器,對于幀Id的過濾最長可達29位。在本設計應用時每個節點可以設置一個獨有接收濾波條件,同時設置若干種公共接收濾波條件。這使得MCP2515在應用于六軸數控機床中,可以實現點對點、一點對多點及全局廣播等幾種信息的發送方式。
MCP2551是一個可容錯的高速CAN收發器,為CAN協議控制器提供差分收發能力。
3 CAN總線接口軟件設計
CAN總線軟件接口為應用層訪問CAN控制器MCP2515提供了一個便捷的侄道”,該通道”屏蔽了CAN控制器工作的實現細節,使得應用層面向通信是透明的。它們之間的相互關系如圖3所示。
評論