测试方案

  1. CAN0和CAN1相连,互相收发数据。连接方式如下图:

  1. 使用扩展模式CAN1发送数据CAN0接收数据。
  2. 使用标准模式CAN1发送数据CAN0接收数据。
  3. 使用EJTAG中bin文件夹内的can.c代码,使用callbin的方式测试CAN的收发。Can.c中CAN默认工作在扩展模式。当测试CAN的标准模式时需要对代码进行如下修改。

软件流程

  1. 设置控制器进入复位模式
    1. 检测到有复位请求后将中止当前接收/发送的信息而进入复位模式,一旦向复位位传送了 1-0 的下降沿 CAN 控制器将返回工作模式
  2. 设置总线定时。
    1. 总线定时0寄存器对应BTR0
    2. 总线定时1寄存器对应BTR1
  3. 设置标准模式还是扩展模式
    1. 向偏移地址为1的寄存器写0x81则为扩展模式
    2. 向偏移地址为1的寄存器写0x1则为标准模式
  4. 设置过滤,当消息的ID与上验收屏蔽值等于验收代码与上验收屏蔽值时,控制器接收消息。
    1. 扩展模式,设置寄存器偏移地址为16~23的寄存器,下图红色方框中。

  1. 标准模式,设置寄存器偏移地址为4、5的寄存器

  1. 向控制寄存器的RRbit写0,进入正常工作模式。
  2. 使能中断
    1. 扩展模式:向偏移地址为4的寄存器写入0xff。
    2. 标准模式:向控制寄存器写入0x1e打开中断。
  3. 发送数据
    1. 扩展模式:将发送的数据写入如下图所示寄存器。

  1. 标准模式:将发送的数据写入如下图所示寄存器。

  1. 需要保证发送的帧不被接受端所过滤掉。
  1. 发送数据:数据写入后,将命令寄存器的TR置1。
    1. 两种模式操作相同。
  2. 接收数据:查询中断寄存器的RI接收中断是否为1。为1则说明接收到数据。
    1. 两种模式操作相同。
  3. 读取接收的数据
    1. 扩展模式

  1. 标准模式

注意

CAN在每次发送/接收数据后需要复位。

CAN的两种帧格式

龙芯CAN测试(sja1000)的更多相关文章

  1. 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机

    龙芯3A5000 已经上市,与龙芯3A5000配套的三大编译器GCC.LLVM.GoLang和三大虚拟机Java.JavaScript..NET均已完成开发,从老伙计哪里搞来一台3A5000 机器,安 ...

  2. 在龙芯小本上安装Debain8.10

    (图片是LEMOTE8089D笔记本,来自互联网) YX原来送了一个LEMOTE笔记本给我.CPU是首款真正的国产,龙芯2F,兼容mips的指令集. 笔记本原来的操作系统是Debian6,后来升级到了 ...

  3. 使用U盘为龙芯笔记本安装操作系统

    摘要:在没有光驱的情况下,可以使用dd命令或者ultraISO软件制作Linux安装U盘,方法适合龙芯和X86.AMD64的设备. 前段时间,由于开发需要,拿到了一部龙芯3A3000的笔记本.出厂的安 ...

  4. [转帖]全国产 台式机/笔记本/服务器都有 方正龙芯3A3000整机三连发

    台式机/笔记本/服务器都有 方正龙芯3A3000整机三连发 2019年03月29日 17:17 4171 次阅读 稿源:快科技 7 条评论 https://www.cnbeta.com/article ...

  5. [转帖]龙芯下一代处理器微结构GS464E细节曝光

    龙芯下一代处理器微结构GS464E细节曝光 [日期:2015-05-26] 来源:Linux公社  作者:Linux [字体:大 中 小] http://www.linuxidc.com/Linux/ ...

  6. [Cnbeta]龙芯处理器性能怎么样

    龙芯处理器性能怎么样?下一代CPU同频性能可达英特尔90% 在高性能处理器领域,英特尔是天花顶一般的存在(先不算地位特殊的IBM公司),国内发展CPU处理器的公司很多,绝大多数实力跟英特尔相比都差很远 ...

  7. Buildroot 龙芯1C支持指南

    本文转载自:https://github.com/pengphei/smartloong-sphinx/blob/master/source/cn/loongson1c_buildroot_guide ...

  8. 龙芯GO!龙芯平台上构建Go语言环境指南

    龙芯软件生态系列——龙芯GO!龙芯平台上构建Go语言环境指南2016-07-05 龙芯中科1初识Go语言Go语言是Google公司于2009年正式推出的一款开源的编程语言,是由Robert Gries ...

  9. .NET Core 对龙芯的支持情况和对 .NET Core 开发嵌入式的思考

    目录 .NET Core 对龙芯的支持情况和对 .NET Core 开发嵌入式的思考 一,遗憾的尝试 二,.NET Core在嵌入式下的几点不足 三,.NET Core 龙芯移植的进展和资料 .NET ...

随机推荐

  1. 【spring data jpa】根据一个时间字段 查询 时间段的处理方法

    处理方法  包含结束时间00.00.00 Date createDate = boxCodeLog.getCreateDate(); if (createDate != null){ LocalDat ...

  2. javascript 中contentWindow和 frames和iframe之间通信

    iframe父子兄弟之间通过jquery传值(contentWindow && parent),iframe的调用包括以下几个方面:(调用包含html dom,js全局变量,js方法) ...

  3. Python自然语言处理资料库

    1.LTP [1]- 语言技术平台(LTP) 提供包括中文分词.词性标注.命名实体识别.依存句法分析.语义角色标注等丰富. 高效.精准的自然语言处理技术.经过哈工大社会计算与信息检索研究中心 11 年 ...

  4. 用java源代码学数据结构<七>: BST

    /* * 以int类为例 * 其它的类必须能够比较 * */ //二叉搜索树的节点点 class BSTNode{ int item; BSTNode lc; BSTNode rc; BSTNode ...

  5. 页面嵌入QQ功能(点QQ建立一个临时会话,显示在页面的固定位置)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 使div变成半透明的css样式

    .layer { opacity:0.9; filter:alpha(opacity=90); zoom:1; }

  7. 设计模式 - 迭代器模式(iterator pattern) 具体解释

    迭代器模式(iterator pattern) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 迭代器模式(iterator pattern) : 提供一 ...

  8. webDriver API——第15部分Expected conditions Support

    class selenium.webdriver.support.expected_conditions.alert_is_present Bases: object Expect an alert ...

  9. vue 不能检测数组长度 值变化原因解析

    1.vue不能检测数组长度或者值的变化 (1)数组长度变化 未检测到 <!DOCTYPE html> <html lang="en"> <head&g ...

  10. Linux下SVN部署/安全及权限配置,实现web同步更新

    转自:http://www.cnblogs.com/me115/archive/2013/04/07/3002058.html 本文包含以下内容: SVN服务器安装 SVN权限管理 SVN使用SASL ...