關于對CAN寄存器的尋址方式
在CEPARK CAN開發(fā)板中,我們對于CAN寄存器的訪問
,相當于MCU來說是外部RAM的。
那原理圖硬件上又是如何組成外部RAM的呢?
根據(jù)我們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口既要傳地址又要傳數(shù)據(jù)。
送數(shù)據(jù)還是送地址是通過ALE來控制的。在平時,ALE
端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩
器頻率的1/6。統(tǒng)擴展時用來把先送出的地址鎖存起
來,等到高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板原理圖及程序下載地址:
http://bbs.cepark.com/viewthread.php?tid=6481&fromuid=6136
評論