论文部分内容阅读
自动对焦在图像测量分析系统中有着非常重要的作用。本文提出了面向对象的自动对焦思想,就是要充分考虑影响对焦效率的有关硬件因素,从而实现整个对焦运动控制过程的较优控制,这在解决实际产品的自动测试中发挥了积极作用。
本文以电机控制专用DSP和FPGA作为控制核心,设计了一种新型的步进电机双内核控制结构,此方法将数据采集、数据处理和电机控制执行流程分别在2个处理器中进行,使DSP全力进行算法运算,减少由于采集数据而引起的时间延迟。从而提高整个控制系统的动、静态性能。
1系统硬件构成及其原理
1.1 系统的硬件构成
本系统由核心控制器TMS320LF2407A和EP2C20、步进电机驱动电路和增量式光电编码器等部分组成。
根据TMS320LF2407A DSP和Cyclone II FPGA的特点,本文将双核控制器的职能划分为:FPGA同步采集两相步进电动机轴上的增量式光电编码器的编码信号,以及电机驱动端的电流传感器、电压传感器信号,据此获得电机转动时轴上的转速和位置信息。TMS3201F2407A处理器芯片读取FPGA采集的两相步进电动机反馈信号,对电机的转速和位置信号进行相关的控制算法运算,并通过SPWM算法产生PWM驱动信号。驱动信号经光耦隔离后发送到功率模块的驱动端,产生两相激励电压,实现对步进电机的控制。系统的硬件结构如图1所示:
图1 双内核系统硬件结构
1.2 工作原理
步进电机的控制算法包括位置、速度、电流三个控制器和SPWM 调制算法,其中电流控制和SPWM的运算要在100us内完成,这些算法都由DSP来完成。同时,DSP电机控制专用的事件管理模块使电机使能控制和PWM信号输出简单易行。由SCI模块设计了系统和PC机的接口软件,方便参数管理和生产调试;SPI接口的E2PROM 用于系统参数保存;数字IO接口传输上位机的一些开关控制信息,方便了控制状态的改变也缓解了FPGA接口有限的问题。
FPGA承担系统大部分的数字电路以及模拟转换的工作,使系统电路的设计集成化,这种控制结构增强了系统的稳定性。FPGA所实现的功能包括:光电编码器信号的处理、上位机位置脉冲计数、模拟信号AD采集和处理、键盘的定时扫描、显示器的动态刷新、保护电路的快速锁存。这些信号按不同的功能模块由FPGA 的不同进程实现既提高了系统的实时性,又方便了软件的编制和系统维护。这些信号经过FPGA处理后,保护信息根据级别的不同以外部中断的方式通知DSP,其他信息则等待DSP读取。
TMS320LF2407A工作频率为40 MHz,为保证DSP和FPGA在工作时序上的一致性,FGPA的时钟源由DSP的CI KOUT脚提供,使FGPA同步工作在40MHz。DSP地址线A0~A15和数据线D0~DIS分别于FGPA的I/O相连,IS为I/O地址空间扩展选通脚,该引脚总保持为高电平,当需要访问I/O空间时,引脚输出低电平选通FPGA。RD和WE分别为读写控制信号。FGPA所需完成数据显示、键盘扫描、采集电流和电压A/D转换结果、采集光电编码器数据和位置传感器数据等功能,所有控制信号和采集信号的储存在0x0000~0x03FF地址范围之内。
1.3 DSP和FPGA的通信方式
DSP和FPGA 的数据交换是任务细分和协作的基础。利用数据、地址总线,以及读信号RD)、写信号(WR)和IO空间控制信号(IS),根据DSP的IO空间控制时序设计。总线通信时,DSP把FPGA 映射成通过IS信号扩展的IO空间,当运行IN和OUT两条IO空间操作指令时,IS输出低电平, 同时根据读写的状态,RD、WR也输出有效电平,地址和数据总线输出操作指令相关的地址、数据信息。把DSP的IS、RD、WR 以及16位数据总线、低8位地址总线和FPGA直连,根据DSP对IO空问的操作时序编写FPGA的通信进程。
2系统软件设计
2.1 步进电机控制方案设计
PI调节器是自动控制系统中最常用的一种控制器,使用PI调节器可使系统稳定,并有足够的稳定欲度,同时还能满足稳态精度指标,达到消除稳态速差的目的。
当输入是误差函数e(t)、输出函数是u(t)时,PI调节器的传递函数为:
式中---调节器比例部分的放大系数;
---PI调节器的积分时间常数。
按式(1),u(t)和e(t)关系的时域表达式可以写成:
其中,=为比例系数,=为积分系数。将上式离散化成差分方程,其第k拍输出为:
则第k-1拍输出为:
由(3)式减去(4)式得:
式(5)就是本系统采用的增量式光电编码器的PI调节器算法公式。可以看出,增量式算法只需要当前和上一拍的偏差就可计算输出的偏差量。PI调节器的输出可由下式求得:
比例调节器的输出只取决于输入偏差量的现状,而积分调节器的输出则包含了输入偏差量的全部历史,在控制的快速性上,积分控制不如比例控制,在消除无静差的角度上,积分控制又优于比例控制,因此比例积分控制综合了比例控制和积分控制两种规律的优点,即比例部分能迅速响应控制作用,积分部分则最终消除稳态误差。
2.2 DSP软件设计
DSP软件设计编程采用C语言与汇编语言混合编程,程序主体用C语言编写,对于占用处理器时间较多的算法程序和I/O接口操作则采用汇编语言编程,汇编代码可以以C语言可调用的函数或内联代码的形式出现,把C语言和汇编语言的优点有机结合起来。通过读取状态寄存器ST0和ST1来判断电机的旋转方向,然后输出相应的控制脉冲个数;判断要求的脉冲信号是否输出完毕。首先根据步进电机运行控制表来建立控制数组,该数组中存放电机转动时DSP端口的状态值。以上述接口电路为例,数组中应存放OxBF,0XBB,0xB3,0xB7,0XBF。电机正转时,数组正序调用;反转时,数组反序调用。为了实现这一功能,可以定义一个指针变量指向数组地址,单片机就根据指针变量指向的内容在定时中断到来时进行控制输出。软件程序由主程序和中断程序组成。
2.3 FPGA软件设计
EP2C20将DSP的地址总线以及数据总线定义为SINGAL类型变量。由于LF2407A拥有l6位的地址及数据总线,在FPGA中定义的addr_dsp和data_dsp都为l6位变量,其定义方式都为由低到高的方式。在每个时钟信号的上升沿,FPGA判断DSP是否访问I/O地址空问,下降沿即对IS引脚的状态进行判别。如果DSP正在请求访问I/O地址空间,FPGA还需判断读写控制信号引脚WE和RD。FPGA将所访问的地址空间映射到内部的RAM空间,然后访问相应的地址,即可实现对FPGA的操作。
3 仿真与实验分析
為了分析系统双核控制结构的运行结果,在步进电机的运行状态下,把要采集的数据存储在DSP外扩的64KB数据存储区,然后由仿真器导出处理。步进电机的参数:额定功率1.5KW,额定转速4000r/min,通信频率9600bps,光电编码器的规格是200P/R。仿真结果显示,系统运行时位置跟随的偏差稳定为500个脉冲左右,速度稳定值为4000r/min,达到稳定值的时间为40ms。系统位置运行状态正常,满足控制要求。
4 结语与展望
本文设计的步进电机控制系统的双内核控制结构, 能够充分利用DSP和FPGA芯片的内部资源,任务分配合理,方便了系统控制算法和外围电路的实现。系统运行的实验证明,这种双核控制系统切实可行,在减少了系统元件的数量的基础上,
实现了高速运动的稳定控制。
注:文章内的图表、公式请到PDF格式下查看
本文以电机控制专用DSP和FPGA作为控制核心,设计了一种新型的步进电机双内核控制结构,此方法将数据采集、数据处理和电机控制执行流程分别在2个处理器中进行,使DSP全力进行算法运算,减少由于采集数据而引起的时间延迟。从而提高整个控制系统的动、静态性能。
1系统硬件构成及其原理
1.1 系统的硬件构成
本系统由核心控制器TMS320LF2407A和EP2C20、步进电机驱动电路和增量式光电编码器等部分组成。
根据TMS320LF2407A DSP和Cyclone II FPGA的特点,本文将双核控制器的职能划分为:FPGA同步采集两相步进电动机轴上的增量式光电编码器的编码信号,以及电机驱动端的电流传感器、电压传感器信号,据此获得电机转动时轴上的转速和位置信息。TMS3201F2407A处理器芯片读取FPGA采集的两相步进电动机反馈信号,对电机的转速和位置信号进行相关的控制算法运算,并通过SPWM算法产生PWM驱动信号。驱动信号经光耦隔离后发送到功率模块的驱动端,产生两相激励电压,实现对步进电机的控制。系统的硬件结构如图1所示:
图1 双内核系统硬件结构
1.2 工作原理
步进电机的控制算法包括位置、速度、电流三个控制器和SPWM 调制算法,其中电流控制和SPWM的运算要在100us内完成,这些算法都由DSP来完成。同时,DSP电机控制专用的事件管理模块使电机使能控制和PWM信号输出简单易行。由SCI模块设计了系统和PC机的接口软件,方便参数管理和生产调试;SPI接口的E2PROM 用于系统参数保存;数字IO接口传输上位机的一些开关控制信息,方便了控制状态的改变也缓解了FPGA接口有限的问题。
FPGA承担系统大部分的数字电路以及模拟转换的工作,使系统电路的设计集成化,这种控制结构增强了系统的稳定性。FPGA所实现的功能包括:光电编码器信号的处理、上位机位置脉冲计数、模拟信号AD采集和处理、键盘的定时扫描、显示器的动态刷新、保护电路的快速锁存。这些信号按不同的功能模块由FPGA 的不同进程实现既提高了系统的实时性,又方便了软件的编制和系统维护。这些信号经过FPGA处理后,保护信息根据级别的不同以外部中断的方式通知DSP,其他信息则等待DSP读取。
TMS320LF2407A工作频率为40 MHz,为保证DSP和FPGA在工作时序上的一致性,FGPA的时钟源由DSP的CI KOUT脚提供,使FGPA同步工作在40MHz。DSP地址线A0~A15和数据线D0~DIS分别于FGPA的I/O相连,IS为I/O地址空间扩展选通脚,该引脚总保持为高电平,当需要访问I/O空间时,引脚输出低电平选通FPGA。RD和WE分别为读写控制信号。FGPA所需完成数据显示、键盘扫描、采集电流和电压A/D转换结果、采集光电编码器数据和位置传感器数据等功能,所有控制信号和采集信号的储存在0x0000~0x03FF地址范围之内。
1.3 DSP和FPGA的通信方式
DSP和FPGA 的数据交换是任务细分和协作的基础。利用数据、地址总线,以及读信号RD)、写信号(WR)和IO空间控制信号(IS),根据DSP的IO空间控制时序设计。总线通信时,DSP把FPGA 映射成通过IS信号扩展的IO空间,当运行IN和OUT两条IO空间操作指令时,IS输出低电平, 同时根据读写的状态,RD、WR也输出有效电平,地址和数据总线输出操作指令相关的地址、数据信息。把DSP的IS、RD、WR 以及16位数据总线、低8位地址总线和FPGA直连,根据DSP对IO空问的操作时序编写FPGA的通信进程。
2系统软件设计
2.1 步进电机控制方案设计
PI调节器是自动控制系统中最常用的一种控制器,使用PI调节器可使系统稳定,并有足够的稳定欲度,同时还能满足稳态精度指标,达到消除稳态速差的目的。
当输入是误差函数e(t)、输出函数是u(t)时,PI调节器的传递函数为:
式中---调节器比例部分的放大系数;
---PI调节器的积分时间常数。
按式(1),u(t)和e(t)关系的时域表达式可以写成:
其中,=为比例系数,=为积分系数。将上式离散化成差分方程,其第k拍输出为:
则第k-1拍输出为:
由(3)式减去(4)式得:
式(5)就是本系统采用的增量式光电编码器的PI调节器算法公式。可以看出,增量式算法只需要当前和上一拍的偏差就可计算输出的偏差量。PI调节器的输出可由下式求得:
比例调节器的输出只取决于输入偏差量的现状,而积分调节器的输出则包含了输入偏差量的全部历史,在控制的快速性上,积分控制不如比例控制,在消除无静差的角度上,积分控制又优于比例控制,因此比例积分控制综合了比例控制和积分控制两种规律的优点,即比例部分能迅速响应控制作用,积分部分则最终消除稳态误差。
2.2 DSP软件设计
DSP软件设计编程采用C语言与汇编语言混合编程,程序主体用C语言编写,对于占用处理器时间较多的算法程序和I/O接口操作则采用汇编语言编程,汇编代码可以以C语言可调用的函数或内联代码的形式出现,把C语言和汇编语言的优点有机结合起来。通过读取状态寄存器ST0和ST1来判断电机的旋转方向,然后输出相应的控制脉冲个数;判断要求的脉冲信号是否输出完毕。首先根据步进电机运行控制表来建立控制数组,该数组中存放电机转动时DSP端口的状态值。以上述接口电路为例,数组中应存放OxBF,0XBB,0xB3,0xB7,0XBF。电机正转时,数组正序调用;反转时,数组反序调用。为了实现这一功能,可以定义一个指针变量指向数组地址,单片机就根据指针变量指向的内容在定时中断到来时进行控制输出。软件程序由主程序和中断程序组成。
2.3 FPGA软件设计
EP2C20将DSP的地址总线以及数据总线定义为SINGAL类型变量。由于LF2407A拥有l6位的地址及数据总线,在FPGA中定义的addr_dsp和data_dsp都为l6位变量,其定义方式都为由低到高的方式。在每个时钟信号的上升沿,FPGA判断DSP是否访问I/O地址空问,下降沿即对IS引脚的状态进行判别。如果DSP正在请求访问I/O地址空间,FPGA还需判断读写控制信号引脚WE和RD。FPGA将所访问的地址空间映射到内部的RAM空间,然后访问相应的地址,即可实现对FPGA的操作。
3 仿真与实验分析
為了分析系统双核控制结构的运行结果,在步进电机的运行状态下,把要采集的数据存储在DSP外扩的64KB数据存储区,然后由仿真器导出处理。步进电机的参数:额定功率1.5KW,额定转速4000r/min,通信频率9600bps,光电编码器的规格是200P/R。仿真结果显示,系统运行时位置跟随的偏差稳定为500个脉冲左右,速度稳定值为4000r/min,达到稳定值的时间为40ms。系统位置运行状态正常,满足控制要求。
4 结语与展望
本文设计的步进电机控制系统的双内核控制结构, 能够充分利用DSP和FPGA芯片的内部资源,任务分配合理,方便了系统控制算法和外围电路的实现。系统运行的实验证明,这种双核控制系统切实可行,在减少了系统元件的数量的基础上,
实现了高速运动的稳定控制。
注:文章内的图表、公式请到PDF格式下查看