2.系统控制节点硬件组成 系统的控制节点硬件结构如图2所示,可以同时测试四个电机。硬件部分主要包括:电机的电流和输出脉冲(OP)信号采集和信号调理电路、PWM输出电路、复位上电电路、组合逻辑电路CPLD,CAN通信和键盘显示接口等部分。其中DSP采用的是TI公司的高集成高性能DSP芯片TMS320F2810。CAN通信部分采用了PHILIPHIS公司的集成CAN控制芯片SJA1000(CAN总线控制器)和PCA82C250(CAN总线收发器),系统中设置CAN总线的最大传输量为500Kb/s,且晶振频率定为16MHZ,CAN总线系统任意两个节点之间的最大距离为130M,此时总线定时BTR0值为00H,BTR1值定为1CH。当IMP708复位上电时, F2810控制器通过通用I/O(GPIO)口给电机加电,同时通过F2810片内的PWM模块输出占空比可调的矩形波信号控制电机的转速。电机的电流信号和输出脉冲信号经过信号调理芯片MAX472进入到F2810的片内A/D转换器,转换成数字信号供DSP处理。DSP计算出来的电流和转速值显示在液晶显示器上,同时通过CAN总线传送到上位PC机。各个节点通过键盘可以输入测试参数,包括PWM信号的占空比、转速和电流的上下限参数等,也可以通过CAN总线由上位PC机设置。
图2 测试节点硬件结构图
2.1 电机电流和输出脉冲信号的采集调理电路 由于所检测的电机的电流会因型号不同而差别很大,范围在几十毫安到二、三安培。本系统中,采用了美国MAXIM公司的双向精密电流传感放大器MAX471[2]。MAX471内置35mΩ的精密传感电阻,可测量的电流范围是±3A,在工作温度范围内,其精度为2%,其响应时间、速度和漂移等指标均很理想,可以适应3A以内的各种规格直流电机的电流测量。电流信号通过RS+和RS-输入到MAX471的采样电阻RSENSE上,MAX471通过一个2kΩ的输出电阻将电流转换成0~3V的电压信号,直接送到DSP的A/D转换器中。 输出脉冲信号是从电机的I/O端直接输出的一串方波信号,其频率和电机的转速成正比,用于检测电机的转速。输出脉冲信号是电压信号,经电阻分压转换到0~3V内,然后经过一个电压跟随器传送到F2810的A/D输入端。 2.2 PWM输出信号驱动电路 F2810片内的事件管理器模块可以提供多达16路的PWM输出信号,最小的死区时间宽度是一个CPU时钟周期,最小的PWM脉冲宽度和脉宽的增减量为一个CPU时钟周期,可以很方便地用来控制直流电机[5]。由于电机要求的PWM控制信号的幅值是5~10V,因此从DSP输出的PWM信号还需经过一个高速开关管反向器升压后送至电机的PWM控制端。 2.3 复位电路 系统的复位电路采用IMP708芯片,该芯片有上电复位、看门狗和电源监控功能。在系统的程序由于外部干扰导致“跑飞”时,IMP708的看门狗在一可选择的时间间隔内产生复位信号热启动系统。IMP708具有电源监控功能,通过IMP708和DS1556的双重监控能够保证使系统可靠运行。 2.4 键盘和液晶显示电路(LCD) 键盘采用标准的PS/2口的小数字键盘,用来输入设置参数。键盘和DSP之间采用复杂可编程逻辑器件(CPLD)作译码电路,将键盘的扫描码映射到DSP的I/O扩展地址0x8001。当有键按下时,CPLD发送一个中断信号到DSP,然后DSP从I/O扩展地址0x8001读取扫描码。液晶显示模块(LCD)和DSP之间通过CPLD译码,将命令控制I/O映射到地址0x8001,将数据控制I/O地址映射到0x8003和0x8004[6]。因为LCD是5V器件,所以其8位数据线不能和3.3V的DSP直接相连,需要在数据线上加电平隔离和转换芯片74LS245。
3.CAN通信协议设计 CAN遵从OSI层模型,按照OSI标准模型,CAN结构划分为两层:数据链路层和物理层,它们由CAN控制器的硬件实现电平变换和帧的封装。CAN网络中包括4种不同类型的帧。其中,数据帧将数据由发送器传至接收器;远程帧由节点发送以请求具有相同ID标志符的数据帧;出错帧可由任何节点发送,以控制总线错误;而超载帧用于提供先前和后续数据帧或远程帧之间的附加延时。另外,数据帧和远程帧以帧空间同先前帧隔开。在实际应用中,还需要建立自己的上层协议。在本系统设计中,采用简单实用的“命令项加数据项”结构[3],其完整数据帧结构如图5所示。考虑到工在业控制中,功能一般不多,因此命令项的长度设定为1B(可描述128种命令)。而在本控制系统中,命令所需参数一般不会大于7B,故数据项长度直接设为7B。
|