<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Android系統下CAN總線(xiàn)驅動(dòng)程序的設計與實(shí)現

Android系統下CAN總線(xiàn)驅動(dòng)程序的設計與實(shí)現

作者: 時(shí)間:2013-04-25 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要 嵌入式操作,不但需要在Linux內核中添加驅動(dòng)設備,還要 HAL層的調用。以S5PV 210微處理器與控制器MCP2515為例,分析了設備驅動(dòng)原理,以及Android下CAN設備的開(kāi)發(fā)流程和方法,了相關(guān)的重要數據結構和代碼,了CAN開(kāi)發(fā)。
關(guān)鍵詞 CAN;Android;Android HAL

Android是指“機器人”,由Google公司于2007年11月5日發(fā)布的基于Linux平臺的開(kāi)源手機操作,是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。Android是一個(gè)開(kāi)放平臺,在嵌入式移動(dòng)設備領(lǐng)域里具有良好的應用前景,但在不同的設備上往往有不同的硬件支持,要在A(yíng)ndroid中添加這些硬件應用,不是單純地在Linux內核中添加驅動(dòng)模塊,還必須在用戶(hù)空間和應用框架中添加對應的支持。
控制器局域網(wǎng)絡(luò )(Control Area Network,CAN),屬于現場(chǎng)總線(xiàn)的范疇,是德國B(niǎo)osch公司在20世紀80年代初,為解決現代汽車(chē)中眾多的控制與測試儀器之間的數據交換而開(kāi)發(fā)的一種串行數據通信總線(xiàn)。由于CAN總線(xiàn)的數據通信具有良好的可靠性、實(shí)時(shí)性和靈活性,CAN已經(jīng)在汽車(chē)工業(yè)、航空工業(yè)、工業(yè)控制等領(lǐng)域中得到了廣泛應用。文中以S5PV210微處理器為硬件平臺,通過(guò)擴展其SPI接口,實(shí)現了CAN控制器MCP 2515在A(yíng)ndroid操作下的驅動(dòng)程序開(kāi)發(fā)。

1 系統硬件結構
系統數據的收發(fā)都要通過(guò)CAN總線(xiàn)模塊,CAN總線(xiàn)模塊框圖如圖1所示,S5PV210通過(guò)SPI接口實(shí)現與MCP2515的連接,MCP2515的CAN輸入輸出引腳和CAN總線(xiàn)收發(fā)器MCP2551接在一起,構成一個(gè)完整的CAN總線(xiàn)收發(fā)模塊。

本文引用地址:http://dyxdggzs.com/article/148042.htm

a.JPG


1.1 S5PV210的SPI接口
接口協(xié)議(Setial Peripheral Interface,SPI)是Motorola公司推出的一種使用時(shí)鐘線(xiàn)和2根數據線(xiàn)傳輸數據的同步串行協(xié)議,即串行外設接口。S5PV210提供的SPI接口主要用于S5PV210與外圍低速器件之間進(jìn)行同步串行數據傳輸,可以實(shí)現全雙工通信,傳輸速度最高可達5 Mbit·s-1。SPI總線(xiàn)接口主要用于主從分布式的通信網(wǎng)絡(luò ),由4根線(xiàn)即可完成主從之間的數據通信,這4根線(xiàn)分別為:時(shí)鐘線(xiàn)(SCLK)、數據輸入線(xiàn)(SI)、數據輸出線(xiàn)(SO)和片選線(xiàn)(CS),其中CS的有效與否完全由主控制器決定,時(shí)鐘信號也由主控制器發(fā)出。
1.2 CAN控制器MCP2515
MCP2515是Microchip生產(chǎn)的一款獨立CAN協(xié)議控制器。MCP2515支持CAN1.2、CAN2.0A、主動(dòng)和被動(dòng)CAN2.0B等版本的協(xié)議,能夠發(fā)送和接收標準和擴展報文,它還同時(shí)具備驗收過(guò)濾以及報文管理功能。圖2為MCP2515的結構框圖。該器件主要由3個(gè)部分組成:(1)CAN協(xié)議引擎。(2)為器件及其運行進(jìn)行配置的控制邏輯和SRAM寄存器。(3)SPI協(xié)議模塊。

b.JPG


1.3 CAN收發(fā)器MCP2551
MCP2551是一個(gè)可容錯的高速CAN器件,可作為CAN協(xié)議控制器和物理總線(xiàn)接口。MCP2551可為CAN協(xié)議控制器提供差分收發(fā)能力,它完全符合ISO—11898標準,且滿(mǎn)足24 V電壓要求。它的工作速率達1 Mbit·s-1。

塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理

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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>