新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MCP2515的Linux CAN總線驅(qū)動(dòng)程序設(shè)計(jì)

基于MCP2515的Linux CAN總線驅(qū)動(dòng)程序設(shè)計(jì)

作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
1.前言

CAN(Controller Area Network)總線,即控制器局域網(wǎng)總線,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。由于其高性能、高可靠性、及獨(dú)特的設(shè)計(jì)和適宜的價(jià)格而廣 泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)控制、智能樓宇、醫(yī)療器械、交通工具以及傳感器等領(lǐng)域,并已被公認(rèn)為幾種最有前途的現(xiàn)場(chǎng)總線之一。CAN總線規(guī)范已經(jīng)被國(guó)際標(biāo)準(zhǔn)化組織制 訂為國(guó)際標(biāo)準(zhǔn)ISO11898,并得到了眾多半導(dǎo)體器件廠商的支持。

本文引用地址:http://2s4d.com/article/201612/324434.htm

本文使用華清遠(yuǎn)見(jiàn)FS2416平臺(tái)。FS2416使用Socket網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和字符設(shè)備驅(qū)動(dòng)兩種方式向Linux內(nèi)核提供MCP2515的驅(qū)動(dòng),本文詳細(xì)介紹了使用Socket方式設(shè)計(jì)的基于MCP2515的Linux CAN總線驅(qū)動(dòng)程序。

2.FS2416簡(jiǎn)介

圖1 FS2416開(kāi)發(fā)板

FS2416采用的是三星公司的ARM926EJ內(nèi)核CPU S3C2416,無(wú)論從性能上,還是成本上, S3C2416都強(qiáng)于2440,是2440的最完美替代者。

作為32/16 bit RISC指令集、低成本、低功耗、高性能的微處理器。S3C2416使用了65nm的制作工藝從而降低成本、功耗及提高性能,其使用的ARM926EJ的 核心,集成了2D圖形加速,添加了低功耗模式,支持內(nèi)部ROM/RAM引導(dǎo),支持moviNand啟動(dòng)和低功耗音頻編解碼。此外相對(duì)于其他ARM9芯片, 它的外設(shè)也得到了升級(jí),有更多的資源。

圖2 FS2416板級(jí)資源介紹

3.MCP2515簡(jiǎn)介

MCP2515是一種獨(dú)立的CAN總線通信控制器,是Microchip公司首批獨(dú)立CAN解決方案的 升級(jí)器件,其傳輸能力較Microchip公司原有CAN控制器(MCP2510)高兩倍,最高通信速率可達(dá)到1Mbps。MCP2515能夠接收和發(fā)送 標(biāo)準(zhǔn)數(shù)據(jù)幀和擴(kuò)展數(shù)據(jù)幀以及遠(yuǎn)程幀,通過(guò)兩個(gè)接收屏蔽寄存器和六個(gè)接收過(guò)濾寄存器濾除無(wú)關(guān)報(bào)文,從而減輕CPU負(fù)擔(dān)。

MCP2515主要功能參數(shù)及電氣特性如下:
(1)支持CAN技術(shù)規(guī)范2.0A/B, 最高傳輸速率達(dá)到1Mbps;
(2)支持標(biāo)準(zhǔn)數(shù)據(jù)幀、擴(kuò)展數(shù)據(jù)幀和遠(yuǎn)程幀,每幀數(shù)據(jù)域長(zhǎng)度可為0~8個(gè)字節(jié);
(3)內(nèi)含兩個(gè)的接收緩沖器和三個(gè)發(fā)送緩沖器,并且可編程設(shè)定優(yōu)先級(jí);
(4)內(nèi)含六個(gè)29位(bit)的接收過(guò)濾寄存器和兩個(gè)29位(bit)的接收屏蔽寄存器;
(5)高速SPI接口,支持SPI 0,0和1,1模式;
(6)一次性模式可確保報(bào)文被一次性傳輸;
(7)具有可編程時(shí)鐘脈沖輸出引腳,可作為其他芯片時(shí)鐘信號(hào)源;
(8) 幀起始(SOF)信號(hào)輸出功能可被用于在確定的系統(tǒng)中(如時(shí)間觸發(fā)CAN-TTCAN)執(zhí)行時(shí)隙功能,或在CAN總線診斷中決定早期總線出級(jí);
(9) 采用低功耗CMOS技術(shù),工作電壓:2.7V~5.5V, 工作電流:5mA(待機(jī)狀態(tài)1μA);
(10)工作溫度范圍:(I)-40℃到+85℃,(E)-40℃到+125℃。

4.硬件設(shè)計(jì)

MCP2515與S3C2416的硬件連接圖如圖3所示。如硬件原理圖可知MCP2515芯片連接在 S3C2416芯片的SPI0上,中斷接在GPF1上;MCP2515輸出連接SN65HVD230 CAN總線收發(fā)器,SN65HVD230是德州儀器公司生產(chǎn)的3.3V CAN收發(fā)器。為了節(jié)省功耗,縮小電路體積,MCP2515 CAN總線控制器的邏輯電平采用LVTTL,SN65HVD230就是與其配套的收發(fā)器。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉