EasyARM-iMX257如何配置出低速率CAN

在EasyARM-iMX257 Linux开发指南 V1.02.01“5.6 socket CAN编程socket CAN编程”中提到如何配置CAN总线,其计算公式为:

CAN速率
= 66500000
/ (br_presdiv
* (
br_propseg
+ br_pseg1+
br_pseg2+ 1)

其中br_pseg2为8,是不可以修改的固定值。

可以修改的是br_presdiv、br_propseg、br_pseg1。

所以在当决定CAN总线的速率前,需要计算在指定的速率下,br_presdiv、br_propseg、br_pseg1是什么值。

典型的速率值为:
500k: br_presdiv:7 br_propseg:5 br_pseg1:5 br_pseg2:8

1000k: br_presdiv:3 br_propseg:7 br_pseg1:6 br_pseg2:8

手册说明:br_presdiv是一个8位的寄存器,也就是说最大为255;

br_propseg、br_pseg1是一个3位的寄存器,也就是说最大为8;

在这种情况下,根据计算公式配置出:250Kbsp和125Kbsp还是可以的,但是想要配制出5Kbsp、10Kbsp就是不可能的事!

但是当需要5Kbsp、10Kbsp总线频率的时候怎么办?

看完IMX25RM原厂手册,就会豁然开朗!

FlexCAN有两个时钟源,一个是66.5Mhz另一个是24.576 MHz,通过CTRL控制寄存器中的CLK_SRC来控制选择时钟源!系统默认是高速的FlexCAN时钟即66.5Mhz,所以上面的计算公式为66500000!而当选择24.576
MHz时,计算公司修改为24576000,就可以很容易配置出5Kbsp和10Kbsp;

典型的速率值为:
5k: br_presdiv:255 br_propseg:5 br_pseg1:5 br_pseg2:8

10k: br_presdiv:128br_propseg:5 br_pseg1:5 br_pseg2:8

如何修改底层驱动选择24.576 MHz时钟?

修改/linux-2.6.31/drivers/net/can/flexcan/drv.c 70-73行代码为以下四行即可(可用CLK定位):

if (flexcan->br_clksrc)

reg &= ~__CTRL_CLK_SRC;

else

reg |= __CTRL_CLK_SRC;

修改之后,编译烧写内核,按照文档中描述的方法,按照给出的5K和10K的典型值,配置出5Kbsp和10Kbsp就可以了!

至此,低速率CAN配置搞定!!

EasyARM-iMX257如何配置出低速率CAN的更多相关文章

  1. MOD_EXPIRES安装和配置 提高网站速率

    MOD_EXPIRES安装和配置 提高网站速率   实施这一方法将节省你难以置信数额的带宽,极大地加快你的网站为你的网站访客.基本上,对于图片,CSS , JavaScript以及其他文件可以通过优化 ...

  2. win8防火墙配置出站规则禁止QQ访问

    我们知道Windows自带防火墙可以自定义入站出站规则,那么今天我们就通过配置出站规则禁止QQ访问,在2015年少登QQ,多忙工作,登上人生巅峰,赢娶白富美,哈哈 首先,通过控制面板打开防火墙,可以看 ...

  3. [Android Studio 权威教程]配置出“NB”的Android Studio

    前几篇博客我们已经安装好了As,并且创建了我们的第一个HelloWrod ,这片blog我们继续配置出一个NB的Android Studio 假设你是一个才開始接触到AS或者想从Eclipse转型到A ...

  4. ASP.NET Aries 入门开发教程2:配置出一个简单的列表页面

    前言: 朋友们都期待我稳定地工作,但创业公司若要躺下,也非意念可控. 若人生注定了风雨飘摇,那就雨中前行了. 最机开始看聊新的工作机会,欢迎推荐,创业公司也可! 同时,趁着自由时间,抓紧把这系列教程给 ...

  5. CentOS7安装nagios并配置出图详解

    目录 开始之前 系统环境 监控内容 所需软件包 台机器,全都按照CentOS7最小化模式安装系统 系统版本号 [root@localhost ~]# cat  /etc/redhat-release ...

  6. 如何在低速率网络中测试 Web 应用

    大家看到标题后的第一个问题可能是:“我们需要这样做吗?” 如果我们开发的是局域网 Web 应用的话,可能没有必要这样做.但如果我们的 Web 应用面向的是互联网上的成千上万的用户,这样做就很必要了.因 ...

  7. sharepoint 2013安装--没安装成功--机器配置太低了

    油管上的sharepoint2013安装教程 https://www.youtube.com/watch?v=3lQVMGWJQho 下载脚本的网址 http://gallery.technet.mi ...

  8. 配置node低版本支持ES7

    由于node的版本为6.*,不升级情况下,能使用ES7的 async await 特性, 在目录下 添加 start.js package.json里添加依赖配置 重新npm install 下载依赖 ...

  9. jeecms 配置可以低级别用户流程

    使用管理员admin登录后台,进入用户—>管理员(本站)à添加,填写用户名.密码等信息,如下图: 需要注意几个权限控制的问题: 1,  等级,值越大等级越高,等级高的管理员可以审核等级低的管理员 ...

随机推荐

  1. [Unity UGUI序列帧]简单实现序列帧的播放

    在使用序列帧之前需要准备好序列帧的图集,打图集的操作参考 [Unity UGUI图集系统]浅谈UGUI图集使用 准备好序列帧图集,序列帧的播放原理就是获取到图集中的所有图片,然后按照设置的速度按个赋值 ...

  2. python3.x 基础七:面向对象进阶

    类的高级方法: 1.静态方法:在类方法前增加关键字@staticmethod,将普通方法变成静态方法,不能再次传值,不能访问实例变量或者类变量,与类的关系仅仅是通过类名进行调用 2.类方法:在类方法前 ...

  3. tomcat启动失败怎么回事?

    1.系统环境没有配置好 2.web.xml文件里有错误拼写

  4. ExtJS按钮

    var toppanel = Ext.create('Ext.panel.Panel',{ layout : { type : 'absolute' }, bodyStyle : { backgrou ...

  5. [微信营销企划之路]003.Access forbidden!

    引言 继<[微信营销企划之路]001.环境搭建(XAMPP+WeiPHP)>后,有不少朋友反应按照001教程配置虚拟多站点(<VirtualHost/>)后,部分站点会出现Ac ...

  6. SD.Team回复形象小人偶

  7. 01 . Memcached简介及部署

    Memcached简介 memcached是一个自由开源,高性能,分布式内存对象存储系统 基于内存的key-valued存储,用来存储小块的任意数据(字符串,对象) 他是一个简洁的key-value存 ...

  8. 2019-ICLR-DARTS: Differentiable Architecture Search-论文阅读

    DARTS 2019-ICLR-DARTS Differentiable Architecture Search Hanxiao Liu.Karen Simonyan.Yiming Yang GitH ...

  9. 如何减小SRAM读写操作时的串扰

    静态存储器SRAM是一款不需要刷新电路即能保存它内部存储数据的存储器.在SRAM 存储阵列的设计中,经常会出现串扰问题发生.那么要如何减小如何减小SRAM读写操作时的串扰,以及提高SRAM的可靠性呢, ...

  10. Rocket - diplomacy - resolveStar

    https://mp.weixin.qq.com/s/W1cS9sgwLFjOOm86d05NIA   介绍各类型节点如何确定星型绑定所包含的连接数.     1. 定义   ​​ resoveSta ...