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