查看: 1500|回复: 0

RioTboard canbus驱动测试及应用编程

[复制链接]
  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-8-23 00:46:43 | 显示全部楼层 |阅读模式
    分享到:
    i.MX6 CAN接口,Linux中加入canbus驱动,Linux canbus应用程序编程

    使用硬件
    RioTboard
    使用软件
    linux Mfgtools 串口软件
    正文
    1. i.mx6 CAN接口

    从上图可以看出,CAN1和CAN2的引脚复用情况,RioTboard没有单独引出CAN接口,通过上表和RioTboard的电路图,我们发现可以使用SD3_DAT1作为CAN2的RX引脚,SD3_DAT0作为CAN2的TX引脚。

    最终跳线图

    2. 驱动修改
    修改引脚配置,将/* USDHC3 */的引脚功能去除。
    修改arch/arm/mach-mx6/board_mx6dl_RIoTboard.h如下所示:
    在arch/arm/mach-mx6/board_mx6solo_RIoTboard.c mx6_RIoTboard_board_init函数中添加can驱动,我添加的代码如下:

    上面sd3初始化的代码被屏蔽。
    在1178行添加can初始化函数。编译完成,下载到RioTboard中后会在启动log多了CAN启动相关信息。
    3. 相关软件编译
    我们使用网上现有的测试软件来测试linux环境下的canbus。后面我们可以参考下面的开源代码,实现自己的应用程序。
    1)首先编译libsocketcan
    下面的canutils需要这个库。
    修改Makefile文件CC=arm-linux-gcc
    ./configure --prefix=/usr/local/arm/libsocketcan --host=arm-linux --build=i386
    make
    make install
    编译成功,在 <安装路径>/lib/pkgconfig/下有个libsocketcan.pc文件,将其拷贝到PC的/usr/lib/pkgconfig/目录下。
    2)编译canutils-4.0.6
    ./configure --host=arm-linux --prefix=/usr/local/arm/canutils libsocketcan_LIBS=
    -lsocketcan LDFLAGS=-L/usr/local/arm/libsocketcan/lib CPPFLAGS=
    -I/usr/local/arm/libsocketcan/include
    (其中--host是指定交叉工具链,--prefix是指定库的生成位置,libsocketcan_LIBS是指定canconfig需要链接的库,LDFLAGS是指定外部库的路径,CPPFLAGS是指定外部头文件的路径)
    make
    make install
    将canutils安装目录下bin/和sbin/的程序拷贝到文件系统相应的目录下。
    4. 使用方法
    配置can0接口波特率为1MHz
    canconfig can0 bitrate 1000000
    打开can0
    ifconfig can0 up
    发送数据测试
    cansend can0 -i0x100 11 22 33 44
    接收数据
    canecho can0 –v &(后台运行)
    5. 测试架构及测试结果
    使用了一块STM32F207的板子,这块板子上自带VP230 CANBUS收发器。我们在RioTboard上另接了一个VP230的模块。

    下面的小模块为VP230模块。
    VP230模块特写

    STM32F207和VP230芯片特写。
    测试界面,左边的为STM32F207的调试信息,右边为RioTboard调试信息。两版通信正常。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-18 21:54 , Processed in 0.117629 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.