免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

CAN總線在基于ARM嵌入式數(shù)控系統(tǒng)中的應(yīng)用

來(lái)源:互聯(lián)網(wǎng)

點(diǎn)擊:1185

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:CAN總線嵌入式 數(shù)控系統(tǒng)

    CAN是一種多主方式的串行通訊總線,與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有可靠性、實(shí)時(shí)性和靈活性。因此,CAN已經(jīng)在汽車、航空、工業(yè)控制、安全防護(hù)等領(lǐng)域得到了廣泛應(yīng)用。

      目前,在數(shù)控機(jī)床通訊方面,采用較多的是PROFIBUS,完全采用CAN總線通訊方式的目前還沒(méi)有。本系統(tǒng)采用32位ARM處理器,對(duì)CAN總線通信系統(tǒng)進(jìn)行了嘗試。

    1 系統(tǒng)構(gòu)成

       1)六個(gè)伺服電動(dòng)機(jī)各由一個(gè)下位機(jī)控制。上位機(jī)和下位機(jī)均以ARM9微控制器為核心,對(duì)其API接口進(jìn)行擴(kuò)展,通過(guò)CAN總線電路進(jìn)行通訊,組成全數(shù)字式的數(shù)控系統(tǒng);

      2)上位機(jī)還包含了鍵盤輸入、LED顯示、LCD顯示與觸摸屏控制、RS23}串口和以太網(wǎng)接口以及USB接口等電路:

      3)數(shù)控系統(tǒng)所必需的機(jī)床面板信號(hào)控制與顯示等各個(gè)結(jié)構(gòu)模塊電路包括指令觸發(fā)與開關(guān)量控制PLC, ADC與DAC等電路控制等)均通過(guò)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通過(guò)SP胺口與MCP25巧進(jìn)行通信。通過(guò)使用標(biāo)準(zhǔn)SP讀寫命令對(duì)寄存器進(jìn)行讀寫操作。SPI系統(tǒng)使用四個(gè)I/O引腳,它們是主機(jī)輸入從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出從機(jī)輸入數(shù)據(jù)線MCSI串行時(shí)鐘9CK和低有效的選擇線器本系統(tǒng)采用的S3C241 D微處理器包括兩路SPI每一路分別有兩個(gè)8位轉(zhuǎn)移寄存器,用來(lái)發(fā)送和接收數(shù)據(jù)。

      MCP25l 5是一款獨(dú)立的CAN控制器,支持CAN 20B技術(shù)規(guī)范中所定義的標(biāo)準(zhǔn)數(shù)據(jù)幀、擴(kuò)展數(shù)據(jù)幀及遠(yuǎn)程幀標(biāo)準(zhǔn)和擴(kuò)展),有三個(gè)發(fā)送緩沖器和兩個(gè)接收緩沖器,支持(0,0)和(1,1) SPI模式。MCP2515內(nèi)部提供了六個(gè)幀過(guò)濾寄存器和兩個(gè)屏蔽寄存器,對(duì)于幀Id的過(guò)濾最長(zhǎng)可達(dá)29位。在本設(shè)計(jì)應(yīng)用時(shí)每個(gè)節(jié)點(diǎn)可以設(shè)置一個(gè)獨(dú)有接收濾波條件,同時(shí)設(shè)置若干種公共接收濾波條件。這使得MCP2515在應(yīng)用于六軸數(shù)控機(jī)床中,可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等幾種信息的發(fā)送方式。

      MCP2551是一個(gè)可容錯(cuò)的高速CAN收發(fā)器,為CAN協(xié)議控制器提供差分收發(fā)能力。

    3 CAN總線接口軟件設(shè)計(jì)

      CAN總線軟件接口為應(yīng)用層訪問(wèn)CAN控制器MCP2515提供了一個(gè)便捷的侄道”,該通道”屏蔽了CAN控制器工作的實(shí)現(xiàn)細(xì)節(jié),使得應(yīng)用層面向通信是透明的。

      驅(qū)動(dòng)程序是應(yīng)用程序與硬件之間的一個(gè)中間軟件層。它使某個(gè)特定的硬件響應(yīng)一個(gè)定義良好的內(nèi)部編程接口,同時(shí)完全隱蔽了設(shè)備的工作細(xì)節(jié)二用戶通過(guò)一組標(biāo)準(zhǔn)化的調(diào)用來(lái)完成相關(guān)操作,這些標(biāo)準(zhǔn)化的調(diào)用和具體設(shè)備驅(qū)動(dòng)無(wú)關(guān),而驅(qū)動(dòng)程序的任務(wù)就是把這些調(diào)用映射到具體設(shè)備對(duì)于實(shí)際硬件的特定操作上團(tuán)。

      總線報(bào)文通過(guò)中斷進(jìn)行接收,此中斷在接收緩沖器滿時(shí)被觸發(fā)。報(bào)文傳送至某一接收緩沖器,與該接收緩沖器對(duì)應(yīng)的中斷標(biāo)志寄存器的RXNIF位將置1。一旦緩沖器中的報(bào)文處理完畢,MCU就必須將該位清除以接收下一條報(bào)文。該控制位提供的鎖定功能確保在MUC尚未處理完上一條報(bào)文前,MCP2515不會(huì)將新的報(bào)文載入接收緩沖器。在程序中通過(guò)使能CAN 1TTC寄存器中的RXXIE位,來(lái)使能接收中斷,提高了系統(tǒng)工作效率。

      驅(qū)動(dòng)程序的接口主要分為三部分:

      (1)與內(nèi)核通信的接口。

      內(nèi)核通過(guò)主設(shè)備號(hào)將設(shè)備驅(qū)動(dòng)程序和設(shè)備文件相連,而構(gòu)成驅(qū)動(dòng)的一個(gè)重要數(shù)據(jù)結(jié)構(gòu)就是Cle_operaLions內(nèi)核就是通過(guò)這個(gè)結(jié)構(gòu)來(lái)訪問(wèn)驅(qū)動(dòng)程序的。它包含指向驅(qū)動(dòng)程序內(nèi)部大多數(shù)函數(shù)指針,它的每一個(gè)成員名稱對(duì)應(yīng)著一個(gè)系統(tǒng)調(diào)用。

      (2)與系統(tǒng)啟動(dòng)代碼的接口,完感沙寸設(shè)備的初始化。

      在Linux初始化或驅(qū)動(dòng)動(dòng)態(tài)加載的時(shí)候要調(diào)用初始化函數(shù),它包括以下內(nèi)容:

     ?、俪跏蓟O(shè)備相關(guān)的參數(shù):

     ?、谧?cè)設(shè)備;

     ?、壑袛嘧?cè)。

      (3)與設(shè)備的接口,完成對(duì)設(shè)備的讀寫等操作。

      外部數(shù)據(jù)和命令通過(guò)5I}}腳傳送到器件中,且數(shù)據(jù)在SCK時(shí)鐘信號(hào)的上升沿傳送進(jìn)去。MCP257 5在SCK的下降沿通過(guò)510引腳將數(shù)據(jù)傳送出去。

    4 結(jié)語(yǔ)

      本項(xiàng)目實(shí)現(xiàn)了上位機(jī)將鍵盤、觸摸屏等設(shè)備的輸入數(shù)據(jù)利用CAN總線有選擇性的對(duì)下位機(jī)進(jìn)行傳輸,系統(tǒng)中各MCU間及MCU與PLC間可相互通訊。實(shí)際運(yùn)行證明了該系統(tǒng)能夠較好完成六軸聯(lián)動(dòng)通信系統(tǒng)的要求。由于選擇了總線控制,系統(tǒng)得以數(shù)字化,使系統(tǒng)可靠性得到大大提高,同時(shí)簡(jiǎn)化方案節(jié)約了成本。由于CAN總線具有高傳輸速率及高可靠性,在數(shù)控機(jī)床上必將有著廣闊的前景。



    (審核編輯: 智匯胡妮)

    聲明:除特別說(shuō)明之外,新聞內(nèi)容及圖片均來(lái)自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。