网站大量收购闲置独家精品文档,联系QQ:2885784924

CAN总线控制器SJA1000的初始化程序设计 汇编.doc

CAN总线控制器SJA1000的初始化程序设计 汇编.doc

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

CAN总线控制器SJA1000的初始化程序设计 汇编 CAN总线控制器SJA1000的初始化程序设计(汇编)2011-04-11 21:36CAN总线控制器SJA1000的初始化程序设计 CAN(Controller Area Network)即控制器局域网络,属于现场总线的范畴,由于其具有很高的实时性、 可靠性和灵活性,越来越广泛地被应用于各种工业现场,并被公认为是最有前途的现场总线之一.SJA1000是Philips公司推出的一种高性能的CAN总线控制器,作为Philips公司早期CAN总线控制:~PCA82C200的替代产品,它不仅和PCA82C200的基本CAN模式(BasicCAN)兼容,而且还增加了一种新的操作模式--增强CAN模式(PeliCAN),这种模式支持CAN2.0B协议. 1 SJA1000在控制系统中的位置和作用 CAN作为控制器局域网络。其网络层次结构中的数据链路层和物理层是保证通信质量至关重要和不可缺少的一部分.SJA10ooCAN总线控制器就是扮演这个角色。它以一块可编程芯片上的逻辑电路的组合来实现这些功能,提供了与模块控制器及微控制器的接口.通过对它的编程。CPU可以设置它的工作方式,控制它的工作状态,与CAN收发器(PCA82C250)进行数据的接收和发送。把应用层建立在它的基础之上[ 2 SJA1000的内部寄存器及功能 SJA1O00的内部寄存器主要有:模式寄存器MOD,其内容用来改变CAN控制器的行为方式,可读可写;命令寄存器CMR,其一个命令位启动CAN传输层的一个动作,只写;状态寄存器SR,反映CAN控制 器的状态,只读;中断寄存器IR,用作中断源的识别,只读;中断使能寄存器IER,允许或禁止不同类型的中断源产生中断,可读可写;接受代码寄存器ACR,用于定义要接受的报文的位模式,可读可写;接受屏蔽寄存器AMR,用于定义某些报文的位为无关,可读可写;总线定时寄存器BTR0,用于定义波特率和同步跳转速度,可读可写;总线定时寄存器BTR1,用于定义一个位周期的长度、采样点的位置和在每个采样点的采样数目,可读可写;输出控制寄存器OCR,用于由软件控制建立不同输出驱动的配置,可读可写;时钟分频寄存器CDR.主要用于BasicCAN和PeliCAN的选择及控制CLKOUT的频率. 3 SJA1000硬件接口设计 CAN总线控制器SJA1000的ADO-AD7连接到AT89C51的 P0口,片选端CS取反后连接到AT89C51的P2.7.P2.7为1时,CPU片外存储器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读/写操作(即:SJAl0o0首地址为8000H).SJA1000的RD、WR、ALE分别与AT89C51的对应引脚相连.由于SJA1000是低电平复位,而AT89C51是高电平复位,所以两者的复位端接法不同.另外,SJA1000的11脚MODE接高电平,选择Intel二分频模式.SJA1000的l6脚(INT)是中断信号输出端,在中断允许的情况下,有中断发生时,l6脚出现由高电平到低电平的跳变,因此16脚可直接与AT89C51的外部中断输入脚(INT0)相连接,从而使89C51可通过中断方式访问SJA1000.为了增强CAN总线节点的抗干扰能力,采用SJA1000的具有光电隔离的CAN总线接口.SJA1000的发送输出端TX0与接收输入端RXO、RX1分别经高速集成光电耦合器6N137隔离后,与CAN总线接口驱动芯片82C250的TXD和RXD相连,82C250直接与CAN物理总线相连. CAN总线驱动器82C250作为智能节点与CAN总线问的收发器,实现的是CAN网络物理层功能,它将 来自SJA1000的rIⅥ电平转换成符合IEEE1 1898电气标准的差分电平在CAN总线上传送.通过在82C250 的8脚(R。)与地之间接不同阻值的电阻,可选择3种不同工作方式:高速、斜率控制和待机 4 SJA1000的初始化程序设计 SJA1000的初始化程序设计主要是通过对SJA1000的寄存器写入相应的控制字,从而确定SJA1000的工作方式.有3种方式可使SJA1000进入表1 Rs选择的3种工作方式初始化程序:一是上电复位,二是硬件复位,三是软件复位即在运行期间给SJA 1000发一个复位请求,置复位请求位为l.在复位期SJA1000需要初始化的寄存器有:控制寄存器CR或模式寄存器MOD、时钟分频寄存器CDR、接受代码寄存器ACR、屏蔽寄存器AMR、中断使能寄存器IER、总线定时寄存器BTR(确定总线速率)、输出控制寄存器OCR(确定TX0、TX1引脚的驱动方式)等.因为这些寄存器仅能在SJAl00o复位期间进行写访问,因此在对这些寄存器初始化前,必须确保系统进

文档评论(0)

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

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

1亿VIP精品文档

相关文档