新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Android系統下CAN總線驅動程序的設計與實現

        Android系統下CAN總線驅動程序的設計與實現

        作者: 時間:2013-04-25 來源:網絡 收藏

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

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

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

        本文引用地址:http://www.104case.com/article/148042.htm

        a.JPG


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

        b.JPG


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

        塵埃粒子計數器相關文章:塵埃粒子計數器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临桂县| 广灵县| 徐州市| 玉门市| 峨眉山市| 浦城县| 佛坪县| 拜泉县| 平邑县| 丹凤县| 黔东| 抚顺市| 分宜县| 南漳县| 濮阳市| 宣恩县| 巴东县| 济源市| 瑞昌市| 大冶市| 开鲁县| 霍林郭勒市| 吴旗县| 来凤县| 台安县| 呼图壁县| 新津县| 绥宁县| 海安县| 木里| 鄄城县| 东辽县| 江津市| 栾城县| 永州市| 长武县| 晋州市| 怀仁县| 牡丹江市| 郑州市| 湖北省|