LPC2XXX系列ARM带CAN的波特率计算

发布者:草莓熊猫最新更新时间:2016-12-06 来源: eefocus关键字:LPC2XXX系列  ARM  CAN  波特率计算 手机看文章 扫描二维码
随时随地手机看文章

        最近正在学习ARM的CAN部分,发现CAN的波特率计算方法网上竟然查不到,我就自己推到一个吧,有什么不对的地方大家指正啊。

        当VPB时钟为4*11059200Hz时,常用波特率与总线时序器对照表(周立功给的,11059200kHz的波特率都是近似的,有误差)

BPS = (SAM << 23)|(TSEG2 << 20)|(TSEG1 << 16)|(SJW << 14)| BRP

#define    BPS_5K                (1 << 23)|(1 << 20)|(6 << 16)|(0 << 14)| 879

#define    BPS_10K              (1 << 23)|(1 << 20)|(6 << 16)|(0 << 14)| 439

#define    BPS_20K              (1 << 23)|(1 << 20)|(6 << 16)|(0 << 14)| 219

#define    BPS_40K              (1 << 23)|(1 << 20)|(6 << 16)|(0 << 14)| 109

#define    BPS_50K              (1 << 23)|(1 << 20)|(6 << 16)|(0 << 14)| 87

#define    BPS_80K              (1 << 23)|(1 << 20)|(4 << 16)|(0 << 14)| 68

#define    BPS_100K            (1 << 23)|(1 << 20)|(6 << 16)|(0 << 14)| 43

#define    BPS_125K            (0 << 23)|(1 << 20)|(4 << 16)|(0 << 14)| 43

#define    BPS_200K            (0 << 23)|(1 << 20)|(6 << 16)|(0 << 14)| 21

#define    BPS_250K            (0 << 23)|(1 << 20)|(4 << 16)|(0 << 14)| 21

#define    BPS_400K            (0 << 23)|(1 << 20)|(6 << 16)|(0 << 14)| 10

#define    BPS_500K            (0 << 23)|(1 << 20)|(4 << 16)|(0 << 14)| 10

#define    BPS_666K            (0 << 23)|(1 << 20)|(2 << 16)|(0 << 14)| 10

#define    BPS_800K            (0 << 23)|(1 << 20)|(1 << 16)|(0 << 14)| 10

#define    BPS_1000K          (0 << 23)|(1 << 20)|(1 << 16)|(0 << 14)| 8




以下是我自己推导的(仅供参考)



CANBTR(0xE00xx014)


31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

SAM

TSEG2

TSEG1

SJW

0

0

0

0

BRP






波特率BPS=


                           LPC2XXX系列ARM带CAN的波特率计算 - djb69 - 兵哥哥Landy







SAM 0:125K及以上波特率

       1:100K及以下波特率

.

.





下面再详细说一下(看数据手册和资料自己理解的,仅供参考)



LPC2XXX系列ARM带CAN的波特率计算 - djb69 - 兵哥哥Landy

一个数据位(bit)分为10段(Tscl),每个Tscl的时间就是(BRP+1)/fpclk

一个数据位(bit)包括位同步时间段(Tsync)、传播时间段(Tpseg)、相位缓冲段1(Ttseg1)、相位缓冲段2(Ttseg2),采样点位于Ttseg1结束处。

位同步时间段(Tsync):用于同步总线上不同的节点,这一段内要有一个跳变沿,显性电平到隐性电平边沿最好出现在此段中。

传播时间段(Tpseg):用于补偿网络内的物理延时时间。网络的物理延迟指发送单元的输出延迟、总线上信号的传播延迟、接收单元的输入延迟。

相位缓冲段1(Ttseg1)、相位缓冲段2(Ttseg2):用于补偿边沿阶段的误差,由于各单元以各自独立的时钟工作,细微的时钟误差会累积起来,该段可用于吸收此误差。这两个段可以通过重新同步(SJW)加长或缩短。

采样点:读取总线电平,并将读到的电平作为位值的点。

.

Tsync的时间为1个Tscl,Ttseg1的时间为TSEG1 + 1个Tscl,Ttseg2的时间为TSEG2 + 1个Tscl。LPC2XXX数据手册和ZLG的书没提到Tpseg,我个人认为10个Tscl段除了Tsync、Ttseg1、Ttseg2外就剩Tpseg了,所以没必要设置Tpseg。(或者LPC2XXX的CAN没有??)

既然如此,Ttseg1和Ttseg2的时间就可以确定了,ZLG给的规则是:Ttseg2>=2Tscl,Ttseg2>=2Tsjw,Ttseg1>=Ttseg2,每个Tscl的时间就是(BRP+1)/fpclk


关键字:LPC2XXX系列  ARM  CAN  波特率计算 引用地址:LPC2XXX系列ARM带CAN的波特率计算

上一篇:串口通讯基础及S3C2410 UART控制器
下一篇:IAR调试S3C6410的笔记(二)

推荐阅读最新更新时间:2024-03-16 15:23

基于ARM7 LPC21xx开发存储测试系统的方法介绍
存储测试技术是在特殊环境下记录运动物体参数的最有效的手段。本文介绍了基于ARM7 LPC21xx开发存储测试系统的方法。Philips公司16/32位微控制器LPC21xx是基于支持实时仿真和嵌入式跟踪的16/32 w位ARM7TDMIS CPU的微控制器,它具有掉电和空闲两种节电模式,可用电池供电并且长期工作。利用微控制器内部自带的10位A/D转换器来采样,用SPI与nRF24L01模块通信。 存储测试技术[1]方法是记录在特殊环境下运动物体参数的行之有效的方法。它是先将测试数据存入存储器,待装置回收后通过特定接口与上位机进行通信,还原数据信息。在许多消费类电子产品中,对数据采集存储系统的实时性和功耗提出了更高的要求,不仅要
[单片机]
基于<font color='red'>ARM</font>7 LPC21xx开发存储测试系统的方法介绍
ARM芯片S3C2440A智能小车可移动视频监控系统
  本文介绍的智能小车可移动视频监控系统,以“飞思卡尔杯”智能小车竞赛提供的车模装置为基础,利用ARM芯片S3C2440A控制图像采集、网络传输、速度采集干扰小的模块,利用FPGA芯片控制电机驱动、舵机控制、电量采集干扰大的模块,当上位机通过Internet访问智能小车服务器时,在监控界面上点击按钮来控制小车的运行、图像拍摄、速度采集。   1 系统总体设计   该系统采用三星公司的ARM芯片S3C2440A作为主控制芯片及Altera公司的FPGA芯片EP2C5T144C8作为辅助控制芯片,ARM上装有Windows CE5.0操作系统。S3C2440A内置丰富的外设资源包括中断控制器、GPIO、I2C、相机接口等接口电路,
[单片机]
<font color='red'>ARM</font>芯片S3C2440A智能小车可移动视频监控系统
ARM 概述
1.1 ARM-Advanced RISC Machines   ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。   1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。   ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供
[单片机]
2016年全球汽车车载网络节点的总数将达30亿个
随着1993年车载网络(IVN)的诞生,CAN成为首个全球标准,后在人们对于汽车的舒适、安全、节能、信息娱乐等需求的不断推动下,如今每个汽车的车载网络节点已增至平均10个,而Lin、FlexRay和以太网等技术也不断引入到汽车车载网络,“今年在车载以太网等新技术的推动下,加上对安全与节能的更强追求,车载网络节点平均有可能增加到20个。”NXP汽车网络产品线全球市场及业务发展总监李晓鹤表示。他称NXP正是在全力投入此市场,也是全球最早将CAN技术引入汽车的半导体厂商,与博士公司一起共同拥有CAN的专利。 “预计,2016年全球汽车车载网络节点的总数将达30亿个。”李晓鹤分析,“网络将无所不在于汽车的每个角落。”他对各个车载细分市
[嵌入式]
恩智浦利用信号质量提升技术解决CAN FD带宽限制难题
恩智浦利用信号质量提升技术解决CAN FD带宽限制难题 • 长安汽车成为第一家采用恩智浦TJA146x CAN信号质量提升收发器的OEM • 借助恩智浦的CAN SIC技术,CAN FD网络能够在大型复杂网络中运行,实现更快的数据传输速率 • OEM能够在网络设计和ECU布置方面具有更高的自由度 荷兰埃因霍温——2021年10月19日——恩智浦半导体(NXP Semiconductors N.V.,)今日宣布其CAN信号质量提升(SIC)技术已用于TJA146x收发器系列中,并已经成功应用到长安汽车最新的平台中。恩智浦的CAN SIC技术有效提升了CAN信号质量,使CAN FD网络能够在更大型复杂网络中
[网络通信]
恩智浦利用信号质量提升技术解决<font color='red'>CAN</font> FD带宽限制难题
arm力天电子 lpc2148流水灯驱动程序详解
一个破流水灯程序看了两天了,void WriteByte(unsigned char data)这部分还是没看懂,力天电子上面介绍说这部分三端口的数据输入,选出8位的串行数据。 选择16,17,18,19四个控制位,主要跟电路图的连接有关,4块74HC595,组成32位(如图所示),从下往上依次是0~31为,图中写反了。因此到D13对应的引脚应该是16,D12对应的是17,D11对应的是18,D10对应的是19. 当16,17,18,19分别为低电平时二极管才能够导通发光。高电平时熄灭 1#include NXP/iolpc2148.h 2#define SCLK 0x01 24 //指定P1.24管脚,通过
[单片机]
<font color='red'>arm</font>力天电子 lpc2148流水灯驱动程序详解
基于LPC2220FBD144型ARM7芯片实现配电综合测控仪的应用方案
为了能对大量负荷进行在线监控。很多公司较早地研制了基于单片机技术,能对配电变压器或配电线路负荷运行参数、电容器投切、电量采集等进行综合监控的配电综合测控仪。 但是,由于供电系统负荷的复杂性,特别是用户非线性负荷的大量使用,企业对谐波等电能质量问题越来越重视,因此,对配电综合测控仪的要求也随之提高,而且普遍要求增加谐波、频率监测和通信组网等功能。为了解决这些问题。本文以PHILIPS公司的ARM7芯片LPC2220FBD144为核心,研制出了新一代的配电综合测控仪。 1 硬件电路设计 1.1 硬件电路总体结构 本装置的硬件结构框图如图1所示,它主要由数据采集、运算处理、数据存储、键盘显示、通信接口等单元组成。其中运算处理单元
[单片机]
基于LPC2220FBD144型<font color='red'>ARM</font>7芯片实现配电综合测控仪的应用方案
基于ARM的车辆检测系统控制单元设计
   引言   由于交通需求的不断增加,有越来越多的环形感应线圈检测器用于交通检测。这些埋设在道路表面下的线圈可以检测到车辆通过时的电磁变化进而精确地算出交通流量。交通流量是交通统计和交通规划的基本数据,通过这些检测结果可以用来计算占用率(表征交通密度),在使用双线圈模式时还可以提供速度、车辆行驶方向、车型分类等数据,这些数据对于交通管理和统计是极为重要的。通常高速公路车辆检测系统由多通道环形检测单元LD4和控制单元CCU组成,本文采用PHILIPS公司最新推出的ARM7内核微处理器LPC2114设计实现了车辆检测系统控制单元部分,并且和5个LD4环形检测器一起构成10通道高速公路车辆检测系统,其原理框图如图1所示。   
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved