Can总线测试

1 Can总线

  控制器局域网 (Controller Area Network, 简称 CAN 或 CANbus)是一种通信协议,其特点是允许网络上的设备直接互相通信,网络上不需要主机(Host)控制通信。是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。CAN总线原理是通过CAN总线、传感器、控制器和执行器由串行数据线连接起来。它不仅仅是将电缆按树形结构连接起来,其通信协议相当于ISO/OSI参考模型中的数据链路层,网络可根据协议探测和纠正数据传输过程中因电磁干扰而产生的数据错误。

2 Can通信协议类型

2.1 Canopen

2.2 ControlNet

2.3 DeviceNet

3 Can网络协议

Sokcetcan

linuxcan

Beaglebone back can接口操作

1 Beaglebone back 提供了两个can接口,具体如下图所示,P9部分的19、20组成Dcan0,24、26组成Dcan1。

2 在进行操作前,首先在终端输入ifconfig命令,查看是否有can0接口,如果没有,需要为其制作对应的dts文件。

cd /lib/firmware

vim BB-DCAN0-01-00A0.dts

dtc -O dtb -o BB-DCAN0-01-00A0.dtbo -@ BB-DCAN0-01-00A0.dts

echo BB-DCAN0 > /sys/devices/bone_capemgr.*/slots

ifconfig -a

3 ip link set can0 type can bitrate 25000 triple-sampling on

ip link set can0 type can loopback on

ipconfig can0 up

candump can0

cansend can0 1 2 3 4

4

4参考连接

1 三种高层协议比较

2 CAN总线

3 linux-can协议源码(can-utils\linux-can\iproute2...)

4 CanFestival协议栈源码

5 can与Canopen总线(虹科)

6 linux内核下的can文档

Beaglebone Back学习六(Can总线测试)的更多相关文章

  1. Beaglebone Back学习五(PWM测试)

    PWM测试 参考链接 1 Enable PWM on BeagleBone with Device Tree overlays 2Using PWM on the Beaglebone Black 3 ...

  2. Unity学习(六)5.x依赖打包

    http://blog.sina.com.cn/s/blog_89d90b7c0102w2ox.html unity5已经封装好了接口,所以依赖打包并没有那么神秘和复杂了. 打包: 1.定义好资源的a ...

  3. (转)MyBatis框架的学习(六)——MyBatis整合Spring

    http://blog.csdn.net/yerenyuan_pku/article/details/71904315 本文将手把手教你如何使用MyBatis整合Spring,这儿,我本人使用的MyB ...

  4. Shell学习(六)——条件判断总结

    Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizh ...

  5. Hbase深入学习(六) Java操作HBase

    Hbase深入学习(六) ―― Java操作HBase 本文讲述如何用hbase shell命令和hbase java api对hbase服务器进行操作. 先看以下读取一行记录hbase是如何进行工作 ...

  6. TweenMax动画库学习(六)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  7. SVG 学习<六> SVG的transform

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  8. 20145209刘一阳《JAVA程序设计》第六周课堂测试

    第六周课堂测试 1.现有以下代码,哪些选项插入到第5行可以通过编译?(BDF) 1.import java.util.*; 2. 3.Class FindStuff { 4.public static ...

  9. C#多线程学习(六) 互斥对象

    如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类. 我们可以把Mutex看作一个出租车,乘客看作线程.乘客首先 ...

随机推荐

  1. linux:ifconfig命令

    许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...

  2. oracle函数、包、变量的定义和使用、重点”结构体和数组”

    函数 实例1:输入雇员的姓名,返回该雇员的年薪 create function fun1(spName varchar2) ,); begin +nvl(comm,) into yearSal fro ...

  3. 线程NSThread的使用

    // // ZYThreadViewController.h // Thread // // Created by yejiong on 15/11/4. // Copyright © 2015年 z ...

  4. 使用addClass()设置自增类名

    今天在翻阅JQuery API的时候发现,addClass()方法不仅可以添加类,同时可以调用回调函数. 代码如下: <body> <p>item1</p> < ...

  5. use selenium in scrapy webdriver

    https://pypi.python.org/pypi/selenium from selenium import webdriver from selenium.webdriver.common. ...

  6. python(3)-队列

    队列分为双向队列和单向队列: 对于双向队列,同样需要先import collections 创建队列 >>> import collections >>> d = ...

  7. [未完成]关于POI的使用

    关于POI的使用关于POI的使用关于POI的使用关于POI的使用

  8. python中那些双下划线开头得函数和变量--转载

    Python中下划线---完全解读     Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用'from module import *'导入 __xxx__ 系统定义名字 __x ...

  9. 定义label标签宽度需要设置display:inline-block;

    label{    display:inline-block;     width:120px;    line-height:22px;    text-align: right;}

  10. Linux 文件/文件夹操作命令

    1 cd命令 命令格式:cd  [目录名]    (cd和目录之间使用空格隔开) cd      进入用户主目录: cd  ~  进入用户主目录: cd  -  返回进入此目录之前所在的目录: cd  ...