新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > CAN總線接口擴展設計與驅動開發

        CAN總線接口擴展設計與驅動開發

        作者: 時間:2012-10-23 來源:網絡 收藏

        2.3 初始化
        控制器MCP2515正常運行之前,需要完成初始化。初始化工作是在函數Init_MCP2515內完成的。首先設置通信的波特率,隨后屏蔽中斷,設置屏蔽和接收寄存器,接著是清除接收和發送緩沖區,最后打開中斷。
        2.4 CAN收發實現
        根據CAN通信協議的特性,CAN的收發程序中均包含標識符(ID)和數據。下面介紹了接收程序,在MCP2515中包含了兩個接收緩沖器RxB0和RxB1,且每個接收緩沖器配有多個驗收過濾寄存器。文中在中斷方式下,通過設置驗收過濾寄存器對符合條件的報文數據進行接收,函數流程如圖4所示。

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

        e.JPG


        2.5 流函數編寫
        MCP2515的流程序編譯后生成DLL,然后建立CANBus.def文件將其中的函數導出。這一文件中包含CAN_Init()、CAN_IOCon trol()以及CAN_PowerUp()等一組標準函數,這些函數是用于完成標準的文件I/O函數和電源管理等。最終要將此文件添加到本程序的工程中。
        因此在對設備進行讀寫操作時,首先要先通過CreatFile()函數凋用CAN_Open()打開設備,在此過程中CAN_Open()函數用到了初始化函數CAN_Init()返回的句柄,而CAN_Read()和CAN_Write()函數需要CreatFile()成功執行后返回的句柄。在應用程序中可通過ReadFile()和Write File()函數來調用CAN_Read()和CAN_Write()來對設備進行讀寫操作。
        2.6 注冊表
        具體的流接口程序和注冊表是分不開的,在WINCE內核中添加注冊表文件CANBus.reg,內容為
        [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\CANBus]
        “Prefix”=“CAN“
        “Dll”=“CANBus.dll”
        “Order”=dword:1
        “Index”=dword:1

        3 結束語
        討論了ARM11處理器S3C6410的CAN接口的方法,利用該處理器內部集成的SPI接口出了詳細的硬件電路,并了基于WINCE系統的CAN接口流驅動程序。試驗驗證CAN網絡通信完全正常,證明了該方案的可實施性。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赞皇县| 洛阳市| 蒙自县| 定安县| 扶沟县| 江山市| 洛阳市| 苍山县| 深圳市| 溧水县| 四子王旗| 右玉县| 电白县| 德化县| 阜康市| 麻城市| 荃湾区| 无棣县| 盐津县| 松江区| 桂阳县| 五台县| 涟水县| 仙居县| 武隆县| 营山县| 清涧县| 山阳县| 龙陵县| 札达县| 弥勒县| 离岛区| 岚皋县| 中西区| 睢宁县| 广灵县| 武山县| 香港 | 汉阴县| 衡山县| 武隆县|