33
递递递 递递递递 http://www.embedcontrol. com 递递递递 CAN-bus CAN-bus 递递递递 递递递递 LPC2000 系系 ARM CAN 系系

CAN-bus 应用教程

  • Upload
    marlin

  • View
    88

  • Download
    0

Embed Size (px)

DESCRIPTION

CAN-bus 应用教程. LPC2000 系列 ARM CAN 应用. LPC ARM 简介. ARM 处理器简介 嵌入式系统简介 嵌入式开发流程简介 相关开发工具简介. ARM 是 A dvanced R ISC M achines 的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的 RISC (精简指令集)处理器。 公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和 OEM 厂商,并提供服务。. ARM 处理器简介. ARM 公司简介. - PowerPoint PPT Presentation

Citation preview

Page 1: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

CAN-bus CAN-bus 应用教程应用教程

LPC2000 系列 ARM CAN 应用

Page 2: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC ARM LPC ARM 简介简介ARM 处理器简介嵌入式系统简介嵌入式开发流程简介相关开发工具简介

Page 3: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ARM ARM 处理器简介处理器简介

ARM 是 Advanced RISC Machines 的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的 RISC (精简指令集)处理器。

公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和 OEM 厂商,并提供服务。

ARM 公司简介

Page 4: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ARM ARM 处理器简介处理器简介

将技术授权给其它芯片厂商

形成各具特色的 ARM 芯片

. . .

ARM 公司简介

Page 5: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ARM ARM 处理器简介处理器简介ARM 处理器的版本 V1 ~ V5目前流行的 ARM 处理器 ARM7 ~ ARM1

0

SecurCore , Xscale

Page 6: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ARM7TDMIARM7TDMI ARM7TDMI 基于 ARM 体系结构 V4 版本,是目前低端的 ARM 核。具有广泛的应用,其最显著的应用为数字移动电话。

支持高密度 16 位的 Thumb 指令集;支持片上调试;支持 64 位乘法;支持 EmbededICE 观察硬件;

ARM7TDMI 的可综合( synthesizable )版本(软核),对应用工程师来说其编程模型与 ARM7TDMI 一致;

ARM7 T D M I - S

Page 7: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ARM7TDMIARM7TDMI基本特性

ARM7TDMI 处理器使用流水线来增加处理器指令流的速度。这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供 0.9MIPS/MHz的指令执行速度。

ARM7TDMI 的流水线分 3 级,分别为:

取指译码执行

三级流水线 , 实现高指令吞吐

Page 8: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

ARM7TDMIARM7TDMI结构简单 , 响应迅速

精简指令集计算机( RISC ),比复杂指令集计算机( CISC )要简单得多。小的 , 高性价比的处理器宏单元使其同时具备低功耗,中断响应实时的特点

灵活的存储器访问方式

对存储器的访问可以是字节( 8Bit ),半字( 16Bit )和字( 32Bit )

Page 9: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

嵌入式系统简介嵌入式系统简介

监控程序

操作系统

实时操作系统

分时操作系统

多道批处理操作系统

时 间 先 后

适用于多个用户共享系统资源

适用于计算中心等较大的计算机系统

适用于嵌入式设备和有实时性要求的系统中

嵌入式系统的发展

Page 10: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

嵌入式系统简介嵌入式系统简介实时系统的特点

实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性 , 与实时应用软件相结合成为有机的整体起着核心作用 , 由它来管理和协调各项工作

操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。

Page 11: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

嵌入式系统简介嵌入式系统简介

中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。

循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。

ISR

ISR

ISRISR

后台 前台

中断服务程序 时间

Page 12: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

嵌入式系统简介嵌入式系统简介

前后台系统

ISR 任务

ISR

非占先操作系统

任务A

任务B

任务C

ISR

占先操作系统

任务A

任务B

任务C

Page 13: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列微控制器系列微控制器概述

LPC2000 系列微控制器基于 ARM7TDMI-S CPU内核。支持 ARM 和 Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和 POS 机等场合。

Page 14: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

器件型号 引脚数 片内 RAM 片内 Flash 10 位 AD通道数 CAN控制器 备注LPC2114 64 16KB 128KB 4 - -LPC2124 64 16KB 256KB 4 - -LPC2210 144 16KB - 8 - 带外部

存储器接口

LPC2212 144 16KB 128KB 8 -LPC2214 144 16KB 256KB 8 -LPC2119 64 16KB 128KB 4 2 -LPC2129 64 16KB 256KB 4 2 -LPC2194 64 16KB 256KB 4 4 -LPC2290 144 16KB - 8 2 带外部

存储器接口

LPC2292 144 16KB 256KB 8 2

LPC2294 144 16KB 256KB 8 4

LPC2131 64 8KB 32KB 8 - -LPC2132 64 16KB 64KB 8 -

带 1路DAC

LPC2134 64 16KB 128KB 双 8路 -LPC2136 64 16KB 256KB 双 8路 -LPC2138 64 32KB 512KB 双 8路 -

LPC2000 系列器件信息

Page 15: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000 系列芯片内部框图LPC2000 系列微控制器包含四大部分: ARM7TDMI-S

CPU

AHB To VPB桥 EMC

VIC

I2C串行接口

SPI串行接口

UART0 & 1

CAN

看门狗定时器

系统控制

外部中断

TIMER0/1

ADC

通用 I/O

PWM0

实时时钟

SRAM

Flash

AHB总线

ARM7 局部总线系统功能

ARM7TDMI-S CPUARM7局部总线及相关部件AHB高性能总线及相关部件VLSI 外设总线及相关部件

Page 16: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列微控制器系列微控制器系统控制模块

系统控制模块包括一些系统构件和控制寄存器,它们具有众多与芯片内其它外设无关的功能。系统控制模块包括:系统时钟单元、复位、外部中断输入、存储器映射控制、功率控制和唤醒定时器。

Page 17: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列微控制器系列微控制器系统时钟

CPU正常工作需要有合适的时钟信号,包括 ARM7内核使用的 CCLK时钟,和芯片外设使用的 PCLK时钟

通过 LPC2000 系列微控制器的时钟产生单元产生 ARM7内核和芯片外设正常工作所需要的时钟节拍

Page 18: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列微控制器系列微控制器

ARM7 核 桥 外设

时钟产生

FCCLK FPCLK

FOSC

CPU时钟结构

系统时钟概述

Page 19: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列微控制器系列微控制器 时钟产生单元

时钟产生单元包括晶体振荡器、锁相环振荡器( PLL)和 VPB分频器。

PLL晶体振荡器

VPB分频器

FCCLK

FPCLK

FOSC

10 ~ 25MHz

10 ~ 60MHz

Page 20: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列微控制器系列微控制器功率控制

支持两种节电模式:空闲模式和掉电模式。另外还具有外设的功率控制特性,允许独立关闭应用中不需要的外设,这样可以进一步降低功耗。

空闲模式-内核停止运行直到发生中断或者复位, CCLK 不停

掉电模式-处理器完全停止,振荡器关闭,功耗几乎为零

外设的功率控制-控制外设的电源使能

Page 21: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列微控制器系列微控制器中断控制器 ARM7TDMI内核具有两个中断输入,分别为 IRQ中断和 FIQ中断。但是芯片内部有许多中断源,最多可以有 32个中断输入请求。向量中断控制器的作用就是允许哪些中断源可以产生中断、可以产生哪类中断、产生中断后执行哪段服务程序。

19 个中断输入

VIC将 32个中断输入进行分配13 个未使用

FIQ中断

向量 IRQ中断

非向量 IRQ中断

中断源 0

中断源 1

……

中断源 18

Page 22: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列微控制器系列微控制器中断控制器

VICVectCntl0 ~ 15 -向量中断源优先级

VICVectAddr0 ~ 15 -各级中断向量地址

VICDefVectAddr -非向量中断地址

VICIntEnable-中断使能

VICIntEnClr -中断禁能

VICVectAddr -中断向量地址

Page 23: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000CANLPC2000CAN 控制器控制器特点

操作和 SJA1000 相似,易于上手三个独立发送缓冲区,提高数据发送效率更人性化的验收过滤机制,增强对离散 ID 的验收支持更方便的高级应用软件 ( 协议 )设计, ASM 、 C/C++支持。

Page 24: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列系列 CANCAN 控制器控制器 32 位的 SJA1000

CAN打开 控制器模块电源

设置总线分频器( ) CAN 波特率

配置验收过滤器

设置出错警告值

CAN配置 中断使能

配置发送优先级( ) I D/ Tx 帧 优先级

CAN设置 控制器模式( ) / 只听 正常

配置管脚连接

进入软件复位状态

退出软件复位

Page 25: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列系列 CANCAN 控制器控制器 发送缓冲寄存器

每组发送缓冲都有 4个寄存器组成,一旦启动发送命令, CAN控制器就会按照 CAN协议的格式把这组内容发送到总线上

PRI ODLCFF RTR

CAN I D

DATA0DATA1DATA2DATA3

DATA4DATA5DATA6DATA7

0xE0044038

0xE004403C

0xE0044040

0xE0044044

CANTFI

CANTID

CANTDA

CANTDB

Page 26: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列系列 CANCAN 控制器控制器 发送命令

CANCMRTRATRRBCDOSRRSTB1STB2STB3

CAN命令的发送全部由命令寄存器的不同组合完成,命令寄存器为只写寄存器,每次操作只能一次写入

LPC2000CAN控制器支持的发送方式:正常发送,单次发送,自发自收,单次自发自收

Page 27: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列系列 CANCAN 控制器控制器接收缓冲

I D I ndexDLCFF RTR

CAN I D

DATA0DATA1DATA2DATA3

DATA4DATA5DATA6DATA7

0xE0044020

0xE0044024

0xE0044028

0xE004402C

CANRFS

CANRID

CANRDA

CANRDB

BP

每个 CAN控制器只有一组接收缓冲,但是 CPU本身的 RAM 资源可以作为缓冲使用,所以,效率不会降低。

Page 28: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列系列 CANCAN 控制器控制器验收过滤

内置 2K验收过滤 RAM以硬件查表的方式完成验收过滤直观的独立或者范围验收 ID 设置

Page 29: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

SFF_sa 0 d :=000 h :=0 0000000 b

column_lower column_upper

0123

22232425

SFF_GRP_sa 52 d :=034 h :=0 0011010 b

EFF_sa 100 d := 64 h :=0 0110010 b

EFF_GRP_sa 112 d := 70 h :=0 0111000 b

ENDofTable 128 d :=080 h :=0 1000000 b

lower_boundary 3

lower_boundary 41

upper_boundary

lower_boundary 42

upper_boundary

lower_boundary 3 5 upper boundary

6

ID Index #

Look-up Table RAM

88d =

84d =

52d =

00d =

04d =

44d =

48d = 30h

34h

54h

58h

00h

04h

2Ch

PB BASE+Address

22

1

3

23

0

2

2524

2

4 upper boundary

26 d

34 d

35 d

100d 64h 38 38 d

92d = 5Ch lower_boundary 3 6 upper boundary 36

68h

d

39 39 d104d

112d 70h 41 d

116d 74h

120d 78h 42

124d 7Ch

d

Page 30: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 系列系列 CANCAN 控制器控制器总线定时器

BRPSJ WTSEG1TSGE2SAM

Tscl3)TSEG2(TSEG1 TtsyncTtseg2Ttseg1 Tbit

Fvpb

11)(BRPTscl

2TsclTtseg2

2TsjwTtseg2

Ttseg2Ttseg1

Page 31: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

基于基于 ARMARM 的的 CANCAN 函数库函数库特点

可配置功能全移植性好,使用灵活

Page 32: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

LPC2000LPC2000 开发工具开发工具EasyJTAG 与 AXD 调试环境ADS 编译环境菲利普 ISP下载软件

Page 33: CAN-bus  应用教程

传递价值 成就你我 http://www.embedcontrol.com

致远电子

谢谢