查看: 5936|回复: 13

请教MC9S08AC8能和SJA1000组成CAN系统吗?

[复制链接]

该用户从未签到

4

主题

48

帖子

0

新手上路

Rank: 1

积分
73
最后登录
1970-1-1
发表于 2010-6-2 11:15:52 | 显示全部楼层 |阅读模式
使用MC9S08AC8单片机和SJA1000芯片连接组成CAN收发系统.我查了SAJ1000的资料,说是对它的操作,要采用MCU外扩RAM的形式访问.这个我就有点迷茫了,例如:我AC8的PE0-PE7连接SJA1000的AD0-AD7 PB2连接SJA1000的/CS 那SJA1000的地址如何确定呢?
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-6-2 11:23:26 | 显示全部楼层

    RE:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    飞思卡尔有带CAN总线的芯片,你可以直接选择这类型的芯片,就免去这个烦恼。我认为,这个意思是将SJA1000作为一个外扩RAM操作。使用总线的方式来读取,你可以看手册后面的读写指令图表。
    该会员没有填写今日想说内容.

    该用户从未签到

    4

    主题

    48

    帖子

    0

    新手上路

    Rank: 1

    积分
    73
    最后登录
    1970-1-1
     楼主| 发表于 2010-6-2 12:51:15 | 显示全部楼层

    RE:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    你好!MC9S08AC6的手册上讲PTE口的地址为0x0008(8位),这个可以确定,但是对SJA1000的操作需要/CS拉低,即PTB2为低,这时对SJA1000的地址就变为低8位加高8位中的1位,这个时候的地址如何计算我就有点搞不清了,呵呵!
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-6-2 14:13:31 | 显示全部楼层

    RE:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    MC9S08AC6的手册上讲PTE口的地址为0x0008(8位),是指AC6的PTE地址,与SAJ1000没有直接关系。在操作SAJ1000的时候,不光要使用CS位,还有读写位、AS、E等。我是这样理解的,你通过SAJ的D0-D7正好读取或写入1个字节。建议你好好的查看一下,SAJ后面图表的说明。
    该会员没有填写今日想说内容.

    该用户从未签到

    4

    主题

    48

    帖子

    0

    新手上路

    Rank: 1

    积分
    73
    最后登录
    1970-1-1
     楼主| 发表于 2010-6-2 15:29:16 | 显示全部楼层

    回复:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    CAN总线控制器SJA1000的ADO-AD7连接到 AT89C51的P0口。片选端CS取反后连接到AT89C51的P2.7,当P2.7为1时,CPU片外存储器地址可选中SJA1000。CPU通过这 些地址可对SJA1000执行相应的读/写操作(即:SJA1000首地址为8000H)SJA1000的RD、WR、ALE分别与AT89C51的对应引脚相连。

    这是我从网上查到的SJA1000和51的连接方式.上面说CS拉低时单片机选中外部的存贮地址0x8000,然后对SJA1000的操作通过AD0-AD7进行,
    也即操作地址从0x8000-0x80ff共256字节,相当于基址+变址的寻址方式.RD、WR、ALE是时序操作的辅助信号.我的原理图如下: 我的/CS连接在PTB3脚,这时选中CS时按照51接法原理图是要产生一个外部存贮器的地址,对于AC8来说这个地址如何确定呢?
    https://www.nxpic.org.cn/file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/moz-screenshot.jpg
    MC9S08AC8-SJA1000原理图.JPG
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2010-6-2 15:59:52 | 显示全部楼层

    RE:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    我有时间帮你研究一下,不过我还是建议使用飞思卡尔的带CAN总线的芯片,这样会免去这些麻烦事的。
    该会员没有填写今日想说内容.

    该用户从未签到

    4

    主题

    48

    帖子

    0

    新手上路

    Rank: 1

    积分
    73
    最后登录
    1970-1-1
     楼主| 发表于 2010-6-2 16:38:23 | 显示全部楼层

    回复:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    谢谢! PCB图已经画好了才发现这个问题.还是前期工作做的不扎实!

    该用户从未签到

    33

    主题

    441

    帖子

    0

    新手上路

    Rank: 1

    积分
    7703
    最后登录
    1970-1-1
    发表于 2010-6-4 14:56:12 | 显示全部楼层

    RE:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    这个完全没有问题,不过是用GPIO模拟总线读写时序而已,可能速度上会有影响,但实现功能肯定没问题的。

    该用户从未签到

    27

    主题

    418

    帖子

    0

    新手上路

    Rank: 1

    积分
    228
    最后登录
    1970-1-1
    发表于 2010-6-5 10:06:26 | 显示全部楼层

    RE:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    直接用dz60省去很多麻烦

    该用户从未签到

    4

    主题

    48

    帖子

    0

    新手上路

    Rank: 1

    积分
    73
    最后登录
    1970-1-1
     楼主| 发表于 2010-6-6 22:23:04 | 显示全部楼层

    回复:请教MC9S08AC8能和SJA1000组成CAN系统吗?

    真是8楼一句话,惊醒我这个梦中人啊!我发现我的思维受51的例子影响的太大了,以至于进入了误区.8楼说的对!对SJA1000的操作,无非就是能发送地址,然后再接受数据,仅此而已.那么对于我的例子来说,获取SJA1000地址的时候,就是8条IO口设为输出,然后从0X00变化到0XFF的过程,寻址范围为256字节.也就是说SJA1000的基地址是0x00,由于对SJA1000的操作需要CS拉低,而此时的CS线在9S08里的作用就不像51那里作为SJA1000的基地址选择线,而仅仅作为SAJ1000的片选信号线而已.至于从SJA1000获取数据,则需要把8个IO口设为输入每次获取一个字节的数据.今天来不及了明天试试看如何,呵呵!
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-3 01:01 , Processed in 0.100740 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表