基于SJA1000的CAN总线和AT89C51单片机实现运动控制系统的设计

发布者:纸扇轻摇最新更新时间:2023-08-02 来源: elecfans关键字:SJA1000  CAN总线  AT89C51  单片机  运动控制系统 手机看文章 扫描二维码
随时随地手机看文章

1、引言

运动控制系统是以机械运动的驱动设备—电动机为控制对象, 以控制器为核心, 以电力电子、功率变换装置为执行机构, 在自动控制理论指导下组成的电气传动控制系统。在电气时代, 电动机一直在现代化的生产和生活中起着十分重要的作用。在近年来, 由于半导体制造设备等相关的电子制造设备市场大幅成长, 而使得机器设备上的运动控制系统出现了以下几点技术需求:


( 1) 多轴运动控制。机器设备因自动化程度提高而使得单一机器上所需要的轴数增多, 一台设备上十几轴是常见的事情。在轴数变多后, 如何协调各轴动作就是一个重要的课题。

( 2) 体积要小。由于厂房空间的限制, 机器的体积要求越小越好, 机器内控制器的体积也就被要求愈来愈小, 相对的走线空间也愈来愈小。

( 3) 要更精确。随着半导体制程已经精密到100nm 一下, 在制程及检测相关设备所要求的运动精度也要更精确, 其它如LCD 设备, SMD 制程设备也有相同要求。

( 4) 要更稳定。因为所有设备的投资经费庞大, 系统停机的成本就更显的突出, 因此所有机器设备制造商都必须追求系统的稳定性。同时也必须考虑在组件损坏要维修时, 必须能快速替换且不出差错。

综合以上几点的需求分析可以看到, 既要在一个控制器内进行多轴运动控制, 又要控制器的体积更小, 配线和维修要更容易, 这些条件看来是相冲突的。可以这样说, 现场总线技术便是应这些新机器设备的需求而产生的。


2、现场总线运动控制系统通信特性

用于运动控制的现场总线有两种通信控制策略: 事件触发和时间触发。事件触发中, 控制单元检测到事件发生后, 根据预定的算法计算出正确的应答, 然后将应答信息发送给数字伺服驱动器。从事件发生到应答信息的接收之间的延时必须是有限的, 也就是最大值必须是可知的, 它的值就是通信协议的实时性指标。但是, 事件触发中的事件是随机的、不可预知的, 所以导致现场总线通信的不确定性, 系统中的各个站点会争用传输介质,导致通信的冲突和不可靠, 很难保证高的实时性。事件触发通常是非周期性的, 使用非周期性数据传输实现最为简单, 但是也可以用周期性数据传输实现, 此时, 就必须标识哪个周期的数据为有效数据。


时间触发通常是周期性地进行的, 控制单元周期性地计算出控制数据, 然后及时发送控制数据给伺服驱动器。控制和通信是通过一个全局时钟进行驱动的, 系统的行为不仅在功能上得到确定, 而且在时间上也是确定的, 各站点不会争用传输媒介,整个系统是可靠的。时间触发控制中的通信周期时间应该等于控制周期时间, 或者通信周期时间能够被控制周期时间整除。周期性的时间触发中, 通信周期时间必须固定, 不能有明显的波动, 即数据传输必须有确定性, 也称为实时性。


总体而言, 用于运动控制的现场总线通信协议的性能要求有三点:

( 1) 可靠的通信, 以适合工业现场恶劣的环境;

( 2) 数据传输的实时性。周期性数据传输和非周期性数据传输都必须有很高的实时性, 响应时间通常为( 1~10) ms。

( 3)命令执行和状态反馈的同步性。为了达到各坐标轴的同步运动精度, 需要各轴在收到命令值之后必须在同一时刻同时执行位置控制指令和同时采样当前位置, 发送给控制单元。


3、CAN 总线运动控制系统总体设计

CAN 总线( Controller Area Network 控制局域网络) , 是一种普遍的应用。通过CAN 总线进行数据传输与控制, 使伺服电机的性能更加稳定, 能更好更灵活地地应用于运动控制系统中。

基于SJA1000的CAN总线和AT89C51单片机实现运动控制系统的设计

如图1 所示, 基于CAN 总线的运动控制系统与控制系统典型结构相比, 有两个显著的特点。第一是其控制对象为伺服运动控制对象, 第二是其网络化控制器包括CAN 总线通信媒介和CAN 控制器节点两部分。多个CAN 控制器节点通过CAN 总线通信媒介平行互联为一个单层结构的基于CAN 总线的伺服运动控制系统。当需要更多轴运动控制时, 只需要简单的再增加新运动控制节点, 把新的运动控制节点作为新的CAN 总线节点挂接到CAN 总线上就可以形成一个分布式多轴运动控制系统, 而且无需在硬件上对原有的运动控制节点做任何的修改。也可通过互联网关与IE( Industry Ethernet) 或Intranet/Internet 上下互联为一个多层结构的网络化伺服运动控制系统。


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


4、系统硬件设计

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

基于SJA1000的CAN总线和AT89C51单片机实现运动控制系统的设计

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.1 SJA1000 的初始化程序

AT89C51 在上电后首先运行其自身的复位程序, 并在此后调用SJA1000 的配置程序。配置程序在设置SJA1000 的寄存器前, 必须通过读复位模式/ 请求标志来检查SJA1000 是否已处于复位模式, 因为要写入配置信息的寄存器仅在复位模式下可以被写入。初始化程序中, 首先将SJA1000 设为复位状态, 随后定SJA1000 使用PeliCAN 模式, CLKOUT 引脚输出频率为外接晶振频率的1/2, 为单验收滤波器模式。

SJA1000 的初始化流程( 图略) 。

在清除SJA1000 的复位模式/ 请求标志进入工作模式时,必须先检查标志是否确实被清除、是否进入了工作模式后, 才能进行下一步的操作。在进入工作模式后, CAN 控制器的中断可被使能, 并开始正常的发送或接收报文。


5.2 SJA1000 的报文发送接收

根据CAN 协议规范, 报文的传输由CAN 控制器SJA1000独立完成。在报文的发送过程中, 单片机AT89C51 必须将要发送的报文送入系统发送缓冲区, 在将系统发送缓冲区中的数据移至CAN 控制器发送缓冲器之前, 必须判断发送缓冲器是否被释放。

报文的接收由CAN 控制器SJA1000 独立完成, 收到的报文在接收缓冲器内, 同时将状态寄存器的接收缓冲器状态标志RBS 和接收中断标志RI 置位。如果报文接收被使能, 单片机可以将接收缓冲器内的新报文读出, 并存储到单片机的内存单元或外部数据存储器中, 然后释放接收缓冲器。SJA1000 报文接收过程可以由SJA1000 的中断请求或查询SJA1000 的控制段状态标志来控制。


6、小结

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


关键字:SJA1000  CAN总线  AT89C51  单片机  运动控制系统 引用地址:基于SJA1000的CAN总线和AT89C51单片机实现运动控制系统的设计

上一篇:采用DS18B20和AT89C51设计高精度的多路温度监测系统与进行仿真调试
下一篇:51单片机引脚功能图解 51单片机内部结构及功能

推荐阅读最新更新时间:2024-11-16 23:25

89C51及74LS273、74LS244组成的单片机系统功能实现
已知系统的连接如图所示,试编写程序实现下列功能: (1)编写显示程序,显示“123456”。 (2)编写主程序,功能为:当有键按下(0~7号)时,都显示键号; 无键按下,保持原有显示状态。
[工业控制]
89C51及74LS273、74LS244组成的<font color='red'>单片机</font>系统功能实现
航顺车规HK32MCU批量应用于斯柯达汽车前装
近几年,随着汽车电子电气化、自动驾驶化的演进,整车集成的ECU越来越多,各ECU功能也是各有侧重,汽车越来越智能化。航顺车规HK32AUTO39A家族于2018年立项布局,2019年量产,通过三年的市场推广和汽车市场生态建设,被众多汽车前装整车厂和Tier1采用,航顺车规HK32AUTO39A家族已大批量应用于斯柯达汽车前装。 航顺车规级SoC HK32AUTO39A大批量应用于斯柯达汽车中控娱乐系统。该系统内置解码模块采用航顺车规HK32AUTO39A作为核心芯片,通过该芯片内置的CAN控制器、结合外部CAN收发器连接到CAN通信总线上,其抽象物理拓扑图如下: HK32AUTO39A通过CAN接口跟车内其他EC
[汽车电子]
航顺车规HK32<font color='red'>MCU</font>批量应用于斯柯达汽车前装
基于单片机的智能照明控制系统设计
随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。本文介绍了基于单片机AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对学校教室室内照明的控制。系统以单片微型计算机为核心外加多种接口电路组成,共有六个主要部分:AT89C51芯片、光信号采集电路、人体信号采集电路、时钟控制电路DS12887、输出控制电路、定时监视器电路。 主控制
[单片机]
基于<font color='red'>单片机</font>的智能照明<font color='red'>控制系统</font>设计
pic单片机调试IIC
1、ADC采样 如果采用DMA,最多只能设置16个通道,多于16个通道时,用中断,在中断中切换通道 2、I2C 采用软件模拟I2C时, IIC总线有个特点就是开漏输出,这是总线竞争的需要,如果要做到开漏输出,有些IO口本来有这样的功能,如果用这样的IO口去仿真就比较方便。但如果IO口没有开漏输出功能,那就只能在输入和输出之间切换。所以还是比较烦的。当在需要输出低电平的时候将IO口设置成输出并输出0,输出高电平时将IO口设置成输入(高阻状态),让外部上拉电阻将电平拉高。
[单片机]
单片机小白学习之路(十六)---定时器和计数器的理解(二)
目标:定时器和计数器的理解(二) 3.定时器/计数器工作方式 (1)方式0 TL0是5位的寄存器,计数满了就向TH0进位并清0 GATE是门控信号GATE=1时,T/C(定时/计数器)启动收到双重控制要求TR0/TR1和INT0/INT1同时为高,GATE=0时,T/C的启动仅收到TR0/TR1的控制,通常把GATE置0 GATE置1,经过非门为0到或门,INT0必须为1和TR0必须为1,与门才是1,才能开始计数/定时 GATE置0,经过非门为1到或门,或门只要有一个1就是1,所以GATE=0时,T/C的启动仅收到TR0/TR1的控制 (2)方式1 方式1的计数位数是16位,由TL0作为低8位,TH0作为高8位,组
[单片机]
MRAM挥军MCU设计
目前在微控制器(MCU)上采用MRAM等新兴存储器并不普及,主要是因为这些新技术的成本比起NOR快闪存储器或SRAM更高。不过,随着制程微缩超过14nm,预计情况将会发生变化… 随着越来越多具成本效益的应用选择磁阻随机存取存储器(MRAM),不仅为其带来了成长动能,业界生态系统也开始支持这一新兴存储器选择。 eVaderis最近发布一项超低功耗MCU参考设计的共同开发计划,采用格芯(Globalfoundries)基于22nm FD-SOI (22FDX)平台的嵌入式MRAM技术。两家公司正寻求支持一系列的低功耗应用,例如以电池供电的物联网(IoT)产品、消费和工业MCU,以及汽车控制器。 Globalfoundrie
[半导体设计/制造]
LCD使用时需要注意的几个小问题,AT89C51写入字符LCD点阵源代码分享
  LCD使用中须关注的七个问题:   问题一:要避免LCD屏幕工作超负荷   使用LCD屏幕要尤其注意其工作时间。当连续满负荷工作96小时以上,它就会迅速老化,严重时,甚至会烧坏,造成使用者受到巨大的经济损失。这是因为LCD屏幕的象素点是有液晶体构成,长时间工作,很容易使某些像素点(Pixel Dot)过热,一旦超过极限会导致永久性损坏。这就形成了常说的“坏点”(某些媒体称为“黑点”)。所以,如果用户不得不长时间工作时,也一定要让屏幕得到间歇性的休息,不能长时间地显示同一内容。而当屏幕处于等待工作状态时,就要降低亮度。52硬件论坛上高手就说使用屏幕保护程序是很好的习惯,这举手之劳不仅可以延缓液晶屏老化,延长其使用寿命,而且可以避
[单片机]
嵌入式频率计的设计
1   引   言      本频率计的设计以AT89C51单片机为核心,利用他内部的定时/计数器完成待测信号周期/频率的测量。单片机AT89C51内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1(使用12 MHz时钟时,每1μs加1),这样以机器周期为基准可以用来测量时间间隔。在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入在每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期),所
[应用]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved