




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SJA1000的CAN总线控制系统的设计与实现作者:贺国栋 张瑞华0引言CAN-bus(Controller Area Network)即控制器局域网是国际上应用最广泛的现场总线之一。最初CAN-bus被设计作为汽车环境中的微控制器通讯工具,用于在车载各电子控制装置ECU之间交换信息,从而形成汽车电子控制网络。如今,CAN-bus作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,已被广泛应用到各个自动化控制系统中。而且CAN-bus总线在通信能力、可靠性、实时性、灵活性、易用性、传输距离等方面较RS-485总线有着明显的优势。因而用CAN总线取代RS-485总线将是大势所趋。1CAN总线的主要特性CAN总线与其它通信网的不同之处有二:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符来过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化数据安全,可满足控制系统及其它较高数据要求的系统需求。CAN具有以下主要技术特性:(1)CAN遵从ISO模型,采用了其中的物理层、数据链路层与应用层。采用双绞线,通信速率最高可达到1 Mbps40 m,直接传输距离最远可达10 kin5 kbps。同一段总线内最多可挂接110个设备。(2)CAN的信号传输采用短帧结构,每一帧有效字节数为8个。因而传输时间短,受干扰的概率低。当节点发生严重错误时,CAN可自动关闭该节点,同时切断与总线的联系,以使总线上其它节点不受影响,因此CAN总线具有很强的抗干扰能力。(3)CAN可支持多主工作方式,网络上任一节点在任何时候均可主动向其它节点发送信息,同时也支持点对点、一点对多点和全局广播方式来接收发送数据。处于优先级低的节点会主动停止发送,以此来避免总线冲突。2 CAN总线接口硬件电路的设计硬件电路的设计主要是CAN通信控制器与微处理器之间和CAN总线收发器与物理总线之间的接口电路的设计。CAN通信控制器是CAN总线接口电路的核心,主要完成CAN的通信协议,而CAN总线收发器的主要功能是增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),实现热防护等。2.1 CAN总线接口电路SJA1000 硬件接口原理图如图l所示。图中,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是低电平复位,而AT89C51是高电平复位,所以两者的复位端接法不同。另外,当SJA1000的11脚MODE接高电平时,可选择Intel二分频模式。 SJA1000的16脚(INT)是中断信号输出端,在中断允许的情况下,有中断发生时,16脚会输出由高电平到低电平的跳变,因此将AT89C51的外部中断输入脚(INT0)与该脚相连接,即可通过中断方式来访问SJA1000。为了增强CAN总线节点的抗干扰能力,本设计采用SJA1000的具有光电隔离的CAN总线接口。SJA1000的发送输出端TX0与接收输入端RXO、RX1分别经高速集成光电耦合器6N137隔离后,与CAN总线接口驱动芯片82C250的TXD和RXD相连,82C250直接与CAN物理总线相连。CAN总线驱动器PCA82C250是CAN控制器和物理总线之间的接口,具有可向总线的差动发送数据和CAN控制器的差动接收数据的功能。2.2设计注意事项在进行电路设计时应注意以下几点:(1)总线两端必须接两个终端匹配电阻Rs,若忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低。(3)SJA1000 的TX1脚悬空时,RX1引脚的电位必须维持在约0.5Vcc上,否则,将不能形成CAN协议所要求的电平逻辑。因本系统传输距离近,环境干扰小,可以不用电流隔离,这样可以直接把82C250的Vref端(约为0.5 Vcc)与SJA1000的RX1相连,从而简化了电路设计。(4)设计时将SJA1000的CLOCKOUT的时钟信号接至AT89C51的时钟电路输入端,来作为AT89C51的外部时钟输入,从而解决了时钟同步问题:同时将SJA1000中断输出信号INT接至AT89C51的INT0端,通过中断方式与AT89C51进行通信。3系统软件设计系统上电后首先对82C250和SJA1000进行初始化。以确定工作主频、波特率、输出特性等,然后通过查询方式获取模数转换采样值,并把该值通过 SJA1000传送到CAN总线上由上位PC机来进行显示控制。而对来自CAN总线上的信息则采用中断方式处理,系统每接收到一帧信息,便产生一次中断以触发微处理器进入中断模式,然后在中断服务程序中读取该帧信息并传送到现场。SJA1000的初始化程序如下:MOVDPTR,#CR:控制寄存器CR的地址送DPTRMOVA,#01HMOVXDPTR,A:进入复位模式MOVDPTR,#CDRMOVA,#00HMOVXDPTR,A:选择BASICCAN模式、时钟不输出MOVA,#NODECODEMOVXDPTR,A;节点号NODECODE写入ACRMOVXDPTR,#AMRMOVA,#00HMOVDPTR,A;AMR置为0,当且仅当RXID0=ACR时接收数据MOVDPTR,#BTR0;设定总线时序寄存器BTR0,系统采用12MHz晶振MOVA,#85H;分频后总线时钟频率为2MHzMOVXDPTR,A;同步跳转宽度为3tsclMOVDPTR,#BTR1;设定总线时序寄存器BTR1MOVA,#OB4H:位同步时间为1个tsc1,采样开始位置TSEG1=5tsc1MOVXDPTR,A;TSEG2=4tsc1,每一位时间10tsc1(200kHz),每位采样3次MOVDPTR,#OCR;设置输出控制寄存器MOVA,#1AH:数据从TX0按正常输出模式同极性输出MOVDPTR,A;TX1不用MOVDPTR,#CR;初始化完成,使控制器退出复位模式,进入工作模式工作。MOVA,#06HMOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天然气管道建设规范
- 高效落实任务承诺书9篇
- 秋天的思念落叶的诉说抒情作文15篇
- 农业种养殖生物技术应用协议
- 客户关系管理系统与客户信息分析
- 电商平台运营策略优化建议表
- 青春的烦恼我心中的成长作文(10篇)
- 产品市场分析报告模板框架
- 勇攀知识高峰的小学生活作文13篇范文
- 小学英语连读技巧详解
- 供应商审计培训课件
- 国家临床版3.0手术操作编码(ICD-9-CM3)
- 发展汉语初级综合1:第3课课件
- 2021人工智能训练师职业技能标准(职业编码:4-04-05-05)
- 第二十章-颅内和椎管内血管性疾病
- 消防救援队伍作战训练安全行动手册
- 质保金支付申请表
- 苏科版一年级上册《心理健康教育》全一册全部教案(共9课)
- 建筑工程质量安全检查记录表
- 35kV变电站施工组织设计资料
- 保障农民工工资支付协调机制和工资预防机制
评论
0/150
提交评论