CAN总线技术课件.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAN总线技术课件

1) 电源 SJA1000有三对电源引脚,用于CAN控制器内部不同的数字和模拟模块。 VDD1/VSS1:内部逻辑(数字) VDD2/VSS2:输入比较器(模拟) VDD3/VSS3:输出驱动器(模拟) 为了有更好的EME性能电源应该分隔开来,例如为了抑制比较器的噪声,VDD2可以用一个RC滤波器来抑制噪声。 2) 复位 为了使SJA1000正确复位,CAN控制器的XTAL1管脚必须连接一个稳定的振荡器时钟,引脚17的外部复位信号要同步并被内部延长到15个tXTAL。这保证了SJA1000所有寄存器能够正确复位。要注意的是必须要考虑上电后的振荡器的起振时间。 3) 振荡器和时钟方案 SJA1000能用片内振荡器或片外时钟源工作。另外CLKOUT管脚可被使能,向主控制器输出时钟频率。图10.29显示了SJA1000应用的四个不同的定时原理。如果不需要CLKOUT信号,可以通过置位时钟 分频寄存器(ClockOff=1)关断。示例中采用的是CPU的时钟由SJA1000提供方案。 CLKOUT信号的频率可以通过时钟分频寄存器改变: fCLKOUT=fXTAL/时钟分频因子(1、2、4、6、8、10、12、14)。 上电或硬件复位后时,钟分频因子的默认值由所选的接口模式(引脚11)决定。如果使用16MHz的晶振,Intel模式下CLKOUT的频率是8MHz,Motorola模式中复位后的时钟分频因子是12,这种情况CLKOUT会产生1.33MHz的频率。 a) 两个独立的时钟 d) SJA1000和CPU由外部时钟提供 b) SJA1000的时钟由CPU提供 c) CPU的时钟由SJA1000提供 图10-29振荡器和时钟方案 4) 睡眠和唤醒 置位命令寄存器的进入睡眠位(BasicCAN模式)或模式寄存器(PeliCAN模式)的睡眠模式位后,如果没有总线活动和中断等待,SJA1000就会进入睡眠模式,振荡器在15个CAN位时间内保持运行状态。此时,微型控制器用CLKOUT频率来计时,进入自己的低功耗模式,如果出现三个唤醒条件之中的一个,振荡器会再次启动并产生一个唤醒中断,振荡器稳定后,CLKOUT频率被激活。 5) CPU接口 SJA1000支持直接连接到两个微型控制器系列:80C51和68xx。通过SJA1000的MODE引脚可选择接口模式: Intel模式: MODE=高 Motorola模式:MODE=低 地址/数据总线和读/写控制信号在Intel模式和Motorola模式的连接如图10.30所示。Philips基于80C51系列的8位微控制器和XA结构的16位微型控制器都使用Intel模式。 80C51类型接口 SJA1000 80C51 68××类型接口 68×× SJA1000 图10.30 SJA1000在Intel 模式和Motorola 模式的连接图 为了和其他控制器的地址/数据总线和控制信号匹配,必须要附加逻辑电路。但是必须确保在上电期间不产生写脉冲。另一个方法在这个时候使片选输入是高电平,CAN控制器无效。 3 . 软件设计 1) CAN BUS通信的总体流程 通过CAN 总线建立通讯的步骤是: 系统上电后的任务: ? 根据SJA1000的硬件和软件连接设置主控制器; ? 设置CAN 控制器用于通讯的各控制器,如模式、验收滤波器、位定时等数值。 在应用的主过程中的任务: ? 准备要发送的报文,并激活SJA1000发送它们; ? 处理CAN控制器接收的报文信息; ? 在通讯期间对发生的错误进行处理。 图10.31 表示了程序的总体流程。 程序结束 控制器上电复位 等待至SJA1000完全上电 配置控制线路(中断、复位、片选等),建立控制器和SJA1000之间的通信 初始化TJS1000 主程序和中断服务程序,包括与SJA1000通信 控制器上电复位 图10.31 通信的总体流程 2) 通信软件设计 CAN 总线节点的通信软件设计主要包括三大部分:CAN 节点初始化程序;报文发送程序;报文接收程序。熟悉这三部分程序的设计,就能编写出利用CAN 总线进行通信的一般应用程序。 如果通信任务比较复杂,还要需详细了解有关CAN 总线错误处理、总线脱离处理、接收滤波处理、波特率参数设置和自动检测以及CAN 总线通信距离和节点数的计算等方面的内容。 下面就初始化程序和报文发送程序的设计进行简要介绍。 ① 初始化子程序 SJA1000 的初始化只有在复位模式下才可以进行。 初始化主要包括:工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器AMR 和接收代码寄存器ACR 的设置、波特率参数设置、和中断允许寄存器IE

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档