基于DSP和FPGA的经纬仪控制系统设计
时间:11-28
来源:互联网
点击:
2 软件结构设计
2.1 FPGA的硬件编程设计
FPGA作为一种硬件可编程芯片,主要采用原理图加硬件编程语言Verilog或是VHDL来完成。最顶层采用原理图连接方式将底层功能模块连接起来,底层采用硬件编程语言构建功能模块电路。由于VHDL相对于Verilog编程语言更严密,格式更规范,所以在本文设计的系统中,采用VHDL进行FPGA的编程。底层模块按功能主要分为以下几个模块:地址译码模块、中断管理模块、I/O管理模块、信息显示模块、A/D采样模块、通信模块。FPGA内部组成如图3所示。
地址译码的主要功能是将DSP输入的外部地址信号进行译码后送给FPGA的I/O管理模块,管理FPGA的编码器信号接收和A/D信号采集。在该系统中把DSP的XINFF Zone 0区分配给FPGA使用。DSP分配给FPGA的地址空间,通过译码电路处理模块进行再分配和再扩充后分配给FPGA的其他外设使用。这样DSP可以间接控制FPGA的信息显示模块、外部中断等资源。
I/O管理模块主要负责各种数字量输入输出以及特定信号的状态设置。I/O模块连接FPGA的主要外设,以接收外设的信息并给外设输出一定的控制命令。中断管理模块功能是扩展DSP的外设中断源,接收各种外设中断并进行中断排序,对多个中断输入进行优先级控制和编码。这样可以使系统拥有多路信号的实时信号处理能力,并分担DSP的调度管理任务,使DSP能利用更多的资源去进行复杂的位置、插值、数据滤波等算法处理。
2.2 DSP伺服控制算法实现
为了提高控制系统的跟踪精度,在硬件平台基础上构建了双闭环反馈回路。双闭环反馈回路主要包括速度反馈和位置反馈回路。位置反馈信息主要通过光电编码器完成。光电编码器获取位置后通过RS422接口直接送给FPGA进行预处理,然后再通过与DSP通信通道送入DSP内部运算。速度信息由采样电路进行离散化后送入DSP内部运算。控制系统原理如图4所示。
伺服控制原理是把脱靶量或数引位置与系统的实际位置进行相减得到误差量,把误差量送给位置校正环节进行放大,然后把位置信号输出与经过调节器后的速度前馈补信号相加作为速度校正环节的输入信号,再通过速度校正环节处理。系统根据速度回路的输出信号对PWM进行脉宽调制。最后把DSP输出的PWM送入功率转换电路进行处理后送入电机执行。这样电机向误差量变小的方向运动,直至达到控制精度为止。
TMS320F2812属于定点运算芯片,在编程进行伺服控制时需要浮点运算的算法,此时,要进行一定的处理[4-5]。TI公司提供了用于定点DSP仿真实现浮点运算的算法库文件IQmath.h,调用该文件可以很好地将伺服运算程序移到F2812中运行,并保证了一定的精度。对多个电机的控制尽量采用中断方式工作,以降低DSP的开销,提高实时性。算法中的常用中间变量尽量分配到0等待的SRAM存储空间上运行,这样可以提高程序读写数据的速度,提高算法的运行效率。程序流程图如图5所示。
伺服控制算法通过速度反馈和位置反馈来实现,速度反馈算法和位置反馈算法通过中断方式完成。这样可以提高DSP实时处理能力。
2.3 仿真实验结果与分析
基于DSP和FPGA的伺服跟踪控制的正弦仿真结果如图6所示。
从图6可以看出,控制系统的控制性能较好,其稳态误差较小。仿真结果表明,基于DSP和FPGA的跟踪控制系统有效、可行。
光电经纬仪为了提高跟踪精度,对伺服控制系统有较高要求,并采用复杂的控制算法来实现精度要求,基于DSP和FPGA组成的伺服控制系统是一个效率很高的系统,有较大的发展潜力。随着光电经纬仪的发展,传统的基于PC104的控制系统已很难满足要求,升级成本也很高,DSP和FPGA构成的控制系统可以替代PC104系统。本文设计的经纬仪跟踪系统通过实验测试表明具有较好的效果,但对DSP和FPGA的协调处理还有些不足,系统的升级优化还有较大的空间。
2.1 FPGA的硬件编程设计
FPGA作为一种硬件可编程芯片,主要采用原理图加硬件编程语言Verilog或是VHDL来完成。最顶层采用原理图连接方式将底层功能模块连接起来,底层采用硬件编程语言构建功能模块电路。由于VHDL相对于Verilog编程语言更严密,格式更规范,所以在本文设计的系统中,采用VHDL进行FPGA的编程。底层模块按功能主要分为以下几个模块:地址译码模块、中断管理模块、I/O管理模块、信息显示模块、A/D采样模块、通信模块。FPGA内部组成如图3所示。
地址译码的主要功能是将DSP输入的外部地址信号进行译码后送给FPGA的I/O管理模块,管理FPGA的编码器信号接收和A/D信号采集。在该系统中把DSP的XINFF Zone 0区分配给FPGA使用。DSP分配给FPGA的地址空间,通过译码电路处理模块进行再分配和再扩充后分配给FPGA的其他外设使用。这样DSP可以间接控制FPGA的信息显示模块、外部中断等资源。
I/O管理模块主要负责各种数字量输入输出以及特定信号的状态设置。I/O模块连接FPGA的主要外设,以接收外设的信息并给外设输出一定的控制命令。中断管理模块功能是扩展DSP的外设中断源,接收各种外设中断并进行中断排序,对多个中断输入进行优先级控制和编码。这样可以使系统拥有多路信号的实时信号处理能力,并分担DSP的调度管理任务,使DSP能利用更多的资源去进行复杂的位置、插值、数据滤波等算法处理。
2.2 DSP伺服控制算法实现
为了提高控制系统的跟踪精度,在硬件平台基础上构建了双闭环反馈回路。双闭环反馈回路主要包括速度反馈和位置反馈回路。位置反馈信息主要通过光电编码器完成。光电编码器获取位置后通过RS422接口直接送给FPGA进行预处理,然后再通过与DSP通信通道送入DSP内部运算。速度信息由采样电路进行离散化后送入DSP内部运算。控制系统原理如图4所示。
伺服控制原理是把脱靶量或数引位置与系统的实际位置进行相减得到误差量,把误差量送给位置校正环节进行放大,然后把位置信号输出与经过调节器后的速度前馈补信号相加作为速度校正环节的输入信号,再通过速度校正环节处理。系统根据速度回路的输出信号对PWM进行脉宽调制。最后把DSP输出的PWM送入功率转换电路进行处理后送入电机执行。这样电机向误差量变小的方向运动,直至达到控制精度为止。
TMS320F2812属于定点运算芯片,在编程进行伺服控制时需要浮点运算的算法,此时,要进行一定的处理[4-5]。TI公司提供了用于定点DSP仿真实现浮点运算的算法库文件IQmath.h,调用该文件可以很好地将伺服运算程序移到F2812中运行,并保证了一定的精度。对多个电机的控制尽量采用中断方式工作,以降低DSP的开销,提高实时性。算法中的常用中间变量尽量分配到0等待的SRAM存储空间上运行,这样可以提高程序读写数据的速度,提高算法的运行效率。程序流程图如图5所示。
伺服控制算法通过速度反馈和位置反馈来实现,速度反馈算法和位置反馈算法通过中断方式完成。这样可以提高DSP实时处理能力。
2.3 仿真实验结果与分析
基于DSP和FPGA的伺服跟踪控制的正弦仿真结果如图6所示。
从图6可以看出,控制系统的控制性能较好,其稳态误差较小。仿真结果表明,基于DSP和FPGA的跟踪控制系统有效、可行。
光电经纬仪为了提高跟踪精度,对伺服控制系统有较高要求,并采用复杂的控制算法来实现精度要求,基于DSP和FPGA组成的伺服控制系统是一个效率很高的系统,有较大的发展潜力。随着光电经纬仪的发展,传统的基于PC104的控制系统已很难满足要求,升级成本也很高,DSP和FPGA构成的控制系统可以替代PC104系统。本文设计的经纬仪跟踪系统通过实验测试表明具有较好的效果,但对DSP和FPGA的协调处理还有些不足,系统的升级优化还有较大的空间。
红外 嵌入式 DSP FPGA 电路 总线 LTE 单片机 PWM 电压 IGBT LED 二极管 显示器 OLED Verilog VHDL 编码器 仿真 相关文章:
- 基于红外超声光电编码器的室内移动小车定位系统(06-30)
- 基于双Nios II的红外图像实时Otsu局部递归分割算法设计(07-21)
- 红外热成像诊断技术在建筑搂宇的多种应用(03-08)
- 基于ARM9和GSM/GPRS的无线可移动红外监测报警系统(10-15)
- 智能家居系统中自动窗帘控制系统的设计实现(07-05)
- 基于ZigBee与红外的家居监控系统(09-29)