基于DSP-LF2407A和CAN总线的分布式电机控制系统设计
扫描二维码
随时随地手机看文章
引言
CAN(Controller Area Network)控制器局域网,主要用于各种设备监测及控制的局域网。最初由德国Bosch公司用于汽车的监控系统而设计,具有良好的功能特性和极高的可靠性,现场抗干扰能力极强, 总线形式为串行数据通信总线。
TI 的24X系列芯片,具有处理性能优良(30MIPS),外设集成度高,程序存储器容量大,A/D转换速度快等特点,是基于工业控制而设计的DSP(数字信号处理)类芯片。LF2407A以其丰富的集成外设,提供了电机数字化控制解决方案。其嵌入式CAN总线控制器,基于CAN2.0B规范要求,提供了CAN通信功能,可为实现分布式工业监控局域网络提供了一个解决方案。
CAN总线简介
CAN属于现场总线的范畴,有效支持分布式控制或实时控制的串行通信网络。CAN的应用范围很广,从高速的网络到低价位的多路界限都可以使用CAN 。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。
区别与传统的控制系统采用按控制回路进行一对一连接的方法,现场总线采用智能现场设备,具有运算、控制和通信功能,可以在现场完成数据采集、数据分析、控制处理等功能,并将有关数据发送到主机及其它现场设备,实现可彻底的分布式控制。
CAN总线特点:
1系统的开放性。2现场设备具有高度的自治性和智能化的特点。3系统的高度分散性。4对现场环境的适应性强。
CAN节点的分层结构
.CAN对象层(the object layer)
.CAN传输层(the transfer layer)
.物理层(the physical layer)
对象层的功能是报文滤波以及状态和报文的处理。传输层是CAN协议的核心。它把接受到的报文提供给对象层,以及接受来自对象层的报文。物理层定义实际信号的传输方法。物理层的作用是在不同节点之间根据所有的电气属性进行位信息的实际传输。
图1 CAN节点分层结构
LF2407A简介
DSP(Digital Signal Processing)数字信号处理,是以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。LF2407A是一款新型工控型数字信号处理芯片,具有如下特点:
一、芯片特点:
1) 32位CPU,32位ALU,16*16位并行乘法器,3个定标移位器,8个16位辅助寄存器;544字片内数据/程序DARAM,2K的SARAM,32K片内程序FLASH,64K数据和存储器寻址范围;
2) 四级流水线操作,八级硬件堆栈,五个外部中断;
3) 两个事件管理器EVA、EVB,包含:16路PWM通道,10路比较CMP单元,4个16位通用定时计数器,6个捕获单元CAP,4个积分编码脉冲QEP单元;
4) 16路10位A/D 转换,转换时间为500ns,最高采样率为1MHz;
5) 41个可单独编程的多路复用I/O引脚;基于锁相环电路(PLL)的时钟模块;带实时中断的看门狗定时器模块(WATCH_DOG);串行通信接口(SPI)和串行外设接口(SPI),及CAN 通信模块接口;
6)33ns指令周期,每秒执行30MIPS,系统+3.3伏供电。
二、LF2407A 内嵌CAN 控制器
LF2407A芯片内嵌CAN控制模块,集成了一个全CAN功能的16位控制芯片,且与CAN2.0B协议完全兼容,支持标准格式和扩展格式。LF2407A的CAN模块包含两大部分:CAN控制/状态寄存器和CAN邮箱RAM区。其结构框图如下:
图 2 LF2407-A CAN模块框图
CAN控制/状态寄存器部分包含16个16位的CAN控制/状态寄存器,分别为控制寄存器、状态寄存器、中断寄存器和接收屏蔽寄存器。完成对象层和传输层包括的所有由ISO/OSI 模型定义的数据链路层的服务和功能。实现控制帧结构、执行仲裁、错误检测、出错标定、故障界定等。
CAN 控制器接口----PCA82C250:PCA82C250 是CAN 协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对CAN 控制器提供差动接收能力,符合“ISO11898 ”标准。
系统结构
本系统为一个基于分布式现场总线CAN总线进行通讯,以DSP为微控制器的电机控制系统。为一个具有DSP的高速处理能力和CAN总线通信的高性能和高可靠性的优点结合起来的分布式工业控制系统。系统设计主体分为两部分:其一执行部件:LF2407-A控制电机动作;其二为网络通讯:CAN实现分布式监控通信。
节点 1 节点
图 3 系统结构框图
其系统结构主要可分为三层:第一层、PC机与CAN总线接口层----实现PC机与CAN通讯总线之间的可视化操作控制,以PC-CAN----智能型CAN总线通讯适配卡实现;第二层、CAN总线与DSP控制器LF2407接口层----实现CAN总线和LF2407-A板的CAN控制器的物理接口和通讯;第三层、LF2407的I/O口与步进电机的驱动接口----实现对LF2407-A板的电气隔离保护和步进电机的大电流驱动,完成电机的实际动作。
PC机作为该系统的上位机,有效的利用PC机计算能力强、容量大、人机界面良好的优点。PC-CAN是具有高性能价格比的智能CAN总线通讯适配卡,它使PC机方便的连接到CAN总线上,实现CAN总线与主机PC的高速数据交换。PC-CAN上自带光电隔离,保护PC机避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。
PCA82C250: 为LF2407内嵌式CAN 控制器与CAN 总线的接口收发器。8脚,高速,可达1Mbps传输速率。它提供了对CAN总线的差动发送能力以及对CAN控制器的差动接收能力。
图5 DSP 2407-A与步进电机驱动接口
驱动电路接口实现了DSP芯片与步进电机之间的电气隔离,保护了DSP芯片的安全性,又完成了从DSP输出弱电流(不足10mA)到步进电机驱动所需的大电流(+1.5A)的转换,提供电机所需驱动电流。其中,TLP521为DSP与步进电机之间的光电隔离耦合器,它起了电平隔离作用,保护了DSP芯片,又完成了信号转换。RIF530 为VMOS管,是步进电机的驱动电流开关。
CAN 总线物理层:CAN 的物理链接通信介质可采用双绞线、同轴电缆或光纤。采用非破坏性的基于优先权的总线仲裁方式。在本系统中,以双绞线作为通信介质。
软件设计
本系统的软件设计是完成基于CAN总线的分布式控制系统的关键所在。CAN总线的多机通讯由软件编程实现数据的接受和发送。在两块LF2407-A板上实现两节点通讯:一块为本地节点,接受远程节点的请求数据帧,并发送数据帧;另一块为远程节点,发送一个请求帧以请求远程节点发送数据。
主要分为:1、电机控制系统整体---实现系统初始化,并生成电机控制频率信号,以中断方式实现电机控制字的修改,延时子程序实现电机的转速控制,初始化CAN模块。2、CAN 发送一个远程帧请求-----初始化CAN请求帧,令CAN邮箱3为发送请求帧邮箱,CAN邮箱0为接收数据帧邮箱。邮箱3发送一个请求帧请求电机控制字数据,当查询到接收报文标志位为1时(RMP=1),邮箱0接收数据。3、CAN 初始化一个自动回答远程帧请求----初始化CAN自动回答远程帧请求,令CAN邮箱3为发送邮箱。当接受到一个远程请求时,发送一帧数据。以下以CAN 初始化一个自动回答远程帧请求为例给出软件程序流程图,见图6。
图6 CAN 初始化一个自动回答远程帧请求程序流程图
结束语
本文研究了基于CAN总线的分布式电机控制系统的组成和实现。将DSP的高速处理能力与CAN现场总线的高可靠性和高稳定性结合起来,对于构建新型实时快速响应分布式工业控制网络提供了一个较好的解决方案。尤其针对本款工控芯片LF2407A的内嵌模块:脉冲宽度编码PWM,比较单元CMP,捕获单元CAP,积分编码脉冲QEP单元等提供了直流交流电机的直接控制应用,免去以往在单片机控制系统中所需作的大量繁琐的算法编程,有效的加快工控系统的开发应用.