关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于CAN 总线的网络化运动控制系统的研究

基于CAN 总线的网络化运动控制系统的研究

作者: 时间:2009-08-14 来源:网络 收藏

的设计,主要工作在于对控制器节点的设计,包括硬件和软件两部分。硬件设计,主要在于选择合适的芯片和硬件电路分别设计图1所示控制器节点的5个基本组成部分,即主控制器、主控制器与传感器/执行器的接口模块、主控制器与CAN控制器的接口模块、CAN控制器和CAN总线收发器。软件设计,主要工作在于选择合适的系统软件和应用开发软件分别设计各种接口驱动软件、系统管理软件和控制功能软件。

本文引用地址:https://www.eepw.com.cn/article/163650.htm

4系统硬件设计

主控制器笔者采用AT89C51单片机作为处理核心,采用PCA82C250作为CAN总线收发器,图2给出了SJA1000的CAN总线系统电路图。为了增强抗干扰能力,SJA1000的TX0和RX0引脚并没有直接和PCA82C250的TXD,RXD相连接,而是通过高速光耦6N137后与PCA82C250相连,这样可以实现总线上各CAN节点之间的电气隔离,光耦6N137的两侧使用完全独立的两组电源VCC和+5V。


SJA1000与单片机的接口比较简单,AD0~AD7直接连接到AT89C51的P0端口,RD、WR和ALE信号也直接和AT89C51的相应引脚进行连接,MODE接+5V设置SJA100控制器为Interl模式。SJA1000的片选信号CS由AT89C51的P2.0决定,因此系统中SJA1000的寻址空间从地址0开始,可以使用此地址加上SJA1000内部寄存器地址的偏移量来访问SJA1000内部RAM空间。SJA1000的中断输出信号INT与AT89C51的INT0引脚相连,以便AT89C51以中断方式或查询方式对报文收发作出响应。

5系统程序设计

SJA1000的CAN总线建立通信的过程包括系统初始化、接收和发送。

5.1SJA1000的初始化程序

AT89C51在上电后首先运行其自身的复位程序,并在此后调用SJA1000的配置程序。配置程序在设置SJA1000的寄存器前,必须通过读复位模式/请求标志来检查SJA1000是否已处于复位模式,因为要写入配置信息的寄存器仅在复位模式下可以被写入。初始化程序中,首先将SJA1000设为复位状态,随后定SJA1000使用PeliCAN模式,CLKOUT引脚输出频率为外接晶振频率的1/2,为单验收滤波器模式。
SJA1000的初始化流程(图略)。
在清除SJA1000的复位模式/请求标志进入工作模式时,必须先检查标志是否确实被清除、是否进入了工作模式后,才能进行下一步的操作。在进入工作模式后,CAN控制器的中断可被使能,并开始正常的发送或接收报文。

5.2SJA1000的报文发送接收

根据CAN协议规范,报文的传输由CAN控制器SJA1000独立完成。在报文的发送过程中,单片机AT89C51必须将要发送的报文送入系统发送缓冲区,在将系统发送缓冲区中的数据移至CAN控制器发送缓冲器之前,必须判断发送缓冲器是否被释放。
报文的接收由CAN控制器SJA1000独立完成,收到的报文在接收缓冲器内,同时将状态寄存器的接收缓冲器状态标志RBS和接收中断标志RI置位。如果报文接收被使能,单片机可以将接收缓冲器内的新报文读出,并存储到单片机的内存单元或外部数据存储器中,然后释放接收缓冲器。SJA1000报文接收过程可以由SJA1000的中断请求或查询SJA1000的控制段状态标志来控制。

6小结

分析传统的已不满足电子制造设备的要求和现场总线通信特性,提出了基于SJA1000的CAN总线的运动控制系统方案,为交流伺服的和应用作出了一次有益的新探索。CAN总线可以很好地满足现场总线运动控制系统对实时响应的较高要求,同时使用CAN总线还使得系统具有很好的扩展性能。这样为向多轴或多点的分布式运动控制网络发展打下坚实的基础。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭