Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1598884
  • 博文数量: 354
  • 博客积分: 8137
  • 博客等级: 中将
  • 技术积分: 5137
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-26 15:40
文章分类

全部博文(354)

文章存档

2010年(300)

2009年(54)

分类: 嵌入式

2010-09-09 16:58:28

关于对CAN寄存器的寻址方式

在CEPARK CAN开发板中,我们对于CAN寄存器的访问

,相当于MCU来说是外部RAM的。

那原理图硬件上又是如何组成外部RAM的呢?

根据我们51单片机RAM扩展的知识,在外部RAM扩展中

,我们要用到ALE,P0,P2,RD,WR,CS。
来看看我们硬件是如何连接的

MCU        SJA1000
P00~P07    AD0~AD7
ALE        ALE
RD         RD/E
WR         WR
CS         P20

在外部寻址方式中,我们要用到P0,P2口,组成一个

16的地址。P0口既要传地址又要传数据。
送数据还是送地址是通过ALE来控制的。在平时,ALE

端以不变的频率周期输出正脉冲信号,此频率为振荡

器频率的1/6。统扩展时用来把先送出的地址锁存起

来,等到高8位地址送出后再一起送给外扩的RAM。
P2口,我们这里中用到了P20口,P20口接到了CS上,

因为要片选SJA1000,所以P20一定要为0。我们CAN的

寄存器相当于MCU的地址就是XXXX XXX0 0000

0000~XXXX XXX0 1111 1111.我们一般取X为1,也就

是0xfe00~0xfeff;

ALE        ALE
RD         RD/E
WR         WR
这三条连线只要这样连接好了,他的操作都是由硬件

来完成不用我们操心了。

通过以上的连接是的使得SJA100成为了单片机的外部

存储器。存储器地址为:0xfe00~0xfeff;

CEPARK can板原理图及程序下载地址:
阅读(2004) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~