自顶向下基于DSP Builder的PID控制系统开发
发布时间:2008/5/27 0:00:00 访问次数:519
在控制领域中,pid控制足最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制。此外,随着控制理论的发展,专家系统、模糊逻辑、神经网络、灰色系统理论和传统的pid控制策略相结合又派生出各种新型的pid类控制器,形成庞大的pid家族,很多算法大大改进了传统p1d控制器的性能。然而,这些算法在工业中的实际应用范围却远远落后于传统pid算法,其中一个原因就足传统的单片机加分立元件构成的工业控制系统在实施更新更复杂的算法时,算法的复杂性或使得系统硬件设计调试更加复杂,或使得单片机内软件代码行增多,延时加大,开发周期变长。稳定性和可靠性在新系统设计时成为不能忽视的一个问题。
而近年来,微电子技术的迅速发展,使得集成电路设计和工艺水平有了很大的提高,随着超深亚微米技术的发展,使得原先由许多ic组成的电子系统集成在一个单片硅片上成为可能,构成所谓的片上系统(system 0n chip,soc),同时也促进了相应eda工具的蓬勃发展。
控制算法的极大丰富和微电子领域工艺技术及eda工具的飞速发展,使得我们可以将两个领域的应用优势集合在一起,在eda工具的帮助
2离散pid控制算法
2.1 pid算法
比例、积分、微分(pid)控制是控制系统中技术最成熟,运用最广泛的一种控制方式。其基本原理是根据反馈控制系统的偏差值按比例、积分、微分函数关系进行运算,所得结果输出给执行机构,执行机构根据偏差值的运算结果来控制被控对象。
e(t)为控制器的输入即控制系统的给定量与输出量的偏差;u(t)为控制器的输出;kp为比例系数;tl为积分时间常数;td为微分时间常数。 在连续时间域中,pid控制器算法的表达式为:
2.2 pid算法的离散化
由于计算机控制只能根据采样时刻的偏差值计算控制量,因此需对上式进行离散化处理。按模拟pid控制算法式(1),以一系列的采样时刻点kt代表连续时间t,以矩形法数值积分(和式)近似代替积分,以一阶向后差分(增量)近似代替微分,即:
可得离散pid表达式:
式中,积分系数k1=kp/tl,微分系数kd=kptd,t为采样周期,k为采样序号,k=1,2,…,e(k一1)和e(k)分别为第(k一1)和第k时刻所得的偏差信号。
2.3 pid控制系统框图
一般控制系统的pid系统控制框图如图1所示。其中,source为系统设定值,feedback为系统反馈值,e(t)为反馈误差,u(t)为pid控制器输出值。图中"pid控制算法"框图子系统即需要我们在算法级用dsp builder进行自顶向下的设计仿真。
3基于dsp builder的pid控制系统fpga设计步骤与开发
3.1 simulink工具箱的a1tera dsp builder 组件
在利用fpga进行系统的开发应用上,已有了全新的设计工具和设计流程。dsp builder。就是altera公司推出的一个面向dsp之类的芯片级开发的系统级工具。他是作为matlab的一个simulink工具箱(tool box)出现的,他使得用fpga设计专用芯片系统完全可以通过simulink的图形化界面进行,只要简单地对dsp builder工具箱中的模块进行调用即可。值得注意的是,dsp builder中的基本模块是以算法级的描述出现的,易于用户从系统或者算法级进行理解,甚至不需要十分了解fpga本身和硬件描述语言。这为传统控制系统领域的工程师开发基于fpga/asic的可靠控制系统芯片自顶向下的算法级设计提供了便利的条件。
3.2 在matlab中用dsp builder完成顶层算法设计
设计方法可以从与硬件完全无关的系统级开始,首先利用matlab强大的系统设计、分析能力和dsp builder提供的模块(或ip核)完成顶层系统设计及系统仿真测试。
根据图1的原理,在matlab中进行设计仿真,simulink顶层设计模型如图2所示。
在顶层设计模型中,除"pid控制子系统"外,其他部分均采用一般simulink组件设计。为了在验证仿
在控制领域中,pid控制足最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制。此外,随着控制理论的发展,专家系统、模糊逻辑、神经网络、灰色系统理论和传统的pid控制策略相结合又派生出各种新型的pid类控制器,形成庞大的pid家族,很多算法大大改进了传统p1d控制器的性能。然而,这些算法在工业中的实际应用范围却远远落后于传统pid算法,其中一个原因就足传统的单片机加分立元件构成的工业控制系统在实施更新更复杂的算法时,算法的复杂性或使得系统硬件设计调试更加复杂,或使得单片机内软件代码行增多,延时加大,开发周期变长。稳定性和可靠性在新系统设计时成为不能忽视的一个问题。
而近年来,微电子技术的迅速发展,使得集成电路设计和工艺水平有了很大的提高,随着超深亚微米技术的发展,使得原先由许多ic组成的电子系统集成在一个单片硅片上成为可能,构成所谓的片上系统(system 0n chip,soc),同时也促进了相应eda工具的蓬勃发展。
控制算法的极大丰富和微电子领域工艺技术及eda工具的飞速发展,使得我们可以将两个领域的应用优势集合在一起,在eda工具的帮助
2离散pid控制算法
2.1 pid算法
比例、积分、微分(pid)控制是控制系统中技术最成熟,运用最广泛的一种控制方式。其基本原理是根据反馈控制系统的偏差值按比例、积分、微分函数关系进行运算,所得结果输出给执行机构,执行机构根据偏差值的运算结果来控制被控对象。
e(t)为控制器的输入即控制系统的给定量与输出量的偏差;u(t)为控制器的输出;kp为比例系数;tl为积分时间常数;td为微分时间常数。 在连续时间域中,pid控制器算法的表达式为:
2.2 pid算法的离散化
由于计算机控制只能根据采样时刻的偏差值计算控制量,因此需对上式进行离散化处理。按模拟pid控制算法式(1),以一系列的采样时刻点kt代表连续时间t,以矩形法数值积分(和式)近似代替积分,以一阶向后差分(增量)近似代替微分,即:
可得离散pid表达式:
式中,积分系数k1=kp/tl,微分系数kd=kptd,t为采样周期,k为采样序号,k=1,2,…,e(k一1)和e(k)分别为第(k一1)和第k时刻所得的偏差信号。
2.3 pid控制系统框图
一般控制系统的pid系统控制框图如图1所示。其中,source为系统设定值,feedback为系统反馈值,e(t)为反馈误差,u(t)为pid控制器输出值。图中"pid控制算法"框图子系统即需要我们在算法级用dsp builder进行自顶向下的设计仿真。
3基于dsp builder的pid控制系统fpga设计步骤与开发
3.1 simulink工具箱的a1tera dsp builder 组件
在利用fpga进行系统的开发应用上,已有了全新的设计工具和设计流程。dsp builder。就是altera公司推出的一个面向dsp之类的芯片级开发的系统级工具。他是作为matlab的一个simulink工具箱(tool box)出现的,他使得用fpga设计专用芯片系统完全可以通过simulink的图形化界面进行,只要简单地对dsp builder工具箱中的模块进行调用即可。值得注意的是,dsp builder中的基本模块是以算法级的描述出现的,易于用户从系统或者算法级进行理解,甚至不需要十分了解fpga本身和硬件描述语言。这为传统控制系统领域的工程师开发基于fpga/asic的可靠控制系统芯片自顶向下的算法级设计提供了便利的条件。
3.2 在matlab中用dsp builder完成顶层算法设计
设计方法可以从与硬件完全无关的系统级开始,首先利用matlab强大的系统设计、分析能力和dsp builder提供的模块(或ip核)完成顶层系统设计及系统仿真测试。
根据图1的原理,在matlab中进行设计仿真,simulink顶层设计模型如图2所示。
在顶层设计模型中,除"pid控制子系统"外,其他部分均采用一般simulink组件设计。为了在验证仿