基于CAN 总线的网络化运动控制系统的研究
时间:12-07
来源:互联网
点击:
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总线还使得系统具有很好的扩展性能。这样为向多轴或多点的分布式运动控制网络发展打下坚实的基础。
主控制器笔者采用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总线还使得系统具有很好的扩展性能。这样为向多轴或多点的分布式运动控制网络发展打下坚实的基础。
电动机 电力电子 半导体 电子 自动化 LCD 总线 CAN总线 电路 传感器 收发器 单片机 电路图 滤波器 相关文章:
- 基于DSP高精度伺服位置环设计(06-21)
- 基于DSP的工业缝纫机控制系统设计(09-23)
- 无传感器交流电动机控制技术提高了运行效率(10-15)
- 一种变频调速系统的SVPWM控制设计(02-03)
- FPGA在步进电机控制中的应用(03-07)
- 用C8051F构成的采集与控制系统(03-09)
