TI中文支持网
TI专业的中文技术问题搜集分享网站

请教MSP430F149通过SJA1000驱动CAN实现通信

sja1000的寄存器是要映射到430F149的哪个地址空间呢?
是数据存储器RAM(基地址0x0200)
还是外围模块寄存器OR特殊功能寄存器(基地址0x00)呢?

灰小子:

你的硬件连接是怎么样的?

msp430一般是不对外开放总线的,要通过io模拟。另外,sja1000我记得是工作在5V电压的,和430F149通讯一般要经过电平转换ic。

lizhuo li:

回复 灰小子:

电路图是用430的P6口模拟数据地址总线,P1口的一些引脚作为功能引脚比如ALE,CS,WE,RE等等。在单片机与SJA1000之间用了SN74LV164245进行电平转换。

我之前用过2812实现CAN通信,所以电路大都是在哪里搬过来的。在那个程序中SJA1000的基地址被映射到了2812的存储空间的某一个保留区,这个很好理解。就是为了控制外设所以保留的存储空间,把SJA1000的基地地址设定在该存储空间的起始地址,接下来就一个接一个的定义就好了。但是430F149就不一样了。也有外围模块寄存器,特殊功能寄存器00H——01FFH。搞糊涂了,不知道到底要映射到哪里开始。

lizhuo li:

回复 灰小子:

你好,对430还处在刚接触的状态,不太理解您说的用I/O模拟原来的操作是什么意思。

举个例子来说。现在用430的P6口接SJA1000的数据地址线,1.1 1.1 1.3 1.4接ALE CS WE RE。现在我要对sja1000的某个寄存器进行写操作,大致是怎么个流程呢(忽略时序)?

谢谢

lizhuo li:

回复 Jacky Xu:

谢谢各位,虽然我还是不太理解I/O模拟的原理,但是按照各位提供的方法已经可以对其进行读写了。

赞(0)
未经允许不得转载:TI中文支持网 » 请教MSP430F149通过SJA1000驱动CAN实现通信
分享到: 更多 (0)