作者:王学龙,宋汐瑾
1 引 言
对数据存储业来说,磁盘驱动器生产商通过增加磁道密度(以每英寸的磁道数为单位)和磁盘转速(以每分钟转数为单位)来扩大计算机硬盘驱动器的容量和改善其性能。随着磁密度的增加,两相邻磁道间的距离变小了。因此,所允许的读/写头和磁道的偏离误差,即磁盘驱动器业内所说的误定位,也相应的降低了,这样硬盘很容易受到伤害。他的工作原理决定其必须使用抗恶劣环境加固技术,而且主要针对机械物理环境和气候环境实施加固。对磁盘存储设备来说,机械物理环境中最为恶劣的是振动、冲击环境。本文采用了外加固主动控制理论与技术,将电磁主动控制技术用于计算机外部设备(微型盘)的振动冲击外加固,并且构建了以DSP为硬件平台的数字主动控制系统。
2 数字控制系统的硬件设计
从1982年TI(美国德州仪器公司)推出通用可编程DSP芯片以来,DSP技术取得了迅猛的发展。目前DSP芯片市场中,主要由TI,ADI,AT&T和Motorola公司占据。本文综合实际要求,采用一款由TI公司生产的新型16位定点DSP芯片:TMS320F243,他集成了A/D,PWM调制等几种先进外设,特别适于对电机的数字化控制。
2.1 控制系统原理
数字信号处理器(DSP)具有实时信号处理能力和强大的运算功能。该系统的工作原理是基础加速度传感器拾取基础振动冲击加速度信号,然后送人前置放大器,由DSP将电荷放大器输出信号经A/D采样后,完成对信号的一次积分(转换为速度信号)和二次积分(转换为位移信号)运算,将两次积分结果做求和运算,再将结果经D/A转换后输入到功率放大器,最后将功率放大器输出信号以控制电压的形式加在执行机构上,执行机构会产生相应的作动力来抵消来自基础的振动和冲击。由于DSP片内集成了10b的A/D,所以可直接将模拟信号与DSP相接,图1是整个数字控制系统的原理框图。
2.2 DAC接口与外部存储器扩展
系统中的D/A器件选用了URR-BROWN公司的DAC761l。由于DSP内部10bA/的电压输入范围为0-5V,输入信号经A/D转换后由数值0-1 023(十进制数)来分别对应0~5V的电压信号。所以DSP的输入信号已不是正负对称信号,并且系统中DAC7611的输出范围为0~4.095V,而系统后级中功放的输入应是零均值的,所以需要对DAC输出信号利用运算放大器进行电平变换。
另外,DAC7611对于时钟信号的要求非常严格。他要求其时钟信号的上升沿发生在每一位数据的传送过程中。TMS320F243的SPI(串行外设接口)是一个高速、同步串行I/O口,他可以设置每次产生的串行数据流的位数(1~16位),并且对于位传输速度也可以编程控制。 SPI的时钟输出信号线SPICLK能够提供4种类型的时钟信号。其中有一种带延时的上升沿时钟,可使SPI在上升沿之前的半个周期内发送数据,或在SPICLK信号上升沿后接收数据。这恰好符合DAC7611时钟信号的要求。
由于DSP片内资源有限,设计中在片外扩展了用于存放数据的RAMCY71021,其读写时间为12ns,与DSP的速度匹配。并且该芯片在未被操作时会自动采用低功耗工作方式。在利用DSP的串行外设接口向D/A传送数据时,系统还采用光耦器件将数、模电路进行隔离。外围接口电路如图2所示。
由于系统加电后,程序首先是从片内的FLSH程序ROM开始执行的,所以一定要把引脚MP/MC接成微处理器方式。
3 数字控制系统的软件设计
3.1 控制算法
经过深入研究和大量的分析、计算,得出该系统的机电动力学模型如下:
系统的传感检测方程:
其中:u为基础振动加速度:
c1,k1分别为与基础振动相关的二次积分和一次积分系数。
设u为u的电荷放大信号,根据控制要求,该系统主要利用DSP完成以下运算:
并采用均值补偿法对积分结果进行修正,实现数字系统的控制。将上式离散化则生成:
显然这需要2次积分运算,其运算过程如下:
其中:m1(n),m2(n)分别是一、二次积分运算的均值。
3.2 系统软件设计与实现
系统头文件(扩展名为.h)的主要功能就是将DSP内部的各个特殊功能寄存器的名称与其默认地址相对应。在汇编语言的执行过程中DSP指针会直接按寄存器名去访问在头文件中规定过的地址。命令文件(扩展名为.cmd)实际上是DSP的资源配置文件,在PAGE0页(程序空间)他定义了各程序模块的起始地址和空间长度,对片内、外各程序段、中断矢量表的定义等;在PAGEl页(数据空间)他定义了各数据模块的起始地址和空间长度,如对各种参数片内、外数据区的定义等。此外,应注意遵守DSP实际存储器及存储空间的约定。
由于该系统主要是通过DSP的ADC模块和SPI模块与其外围器件通信,所以在软件设计中需要对他们的工作模式进行配置。对于片内ADC的工作模式:首先应该确定ADC的启动模式,然后使ADC达到10kHz的采样率。为了保证准确的采样率,通过DSP内部计数器计数产生中断作为ADC的启动方式。由于TMS320F243的机器指令周期为50ns,所以在两次采样时间间隔内至多可以运行约2 000个指令周期,否则就不能完成实时运算。对于SPI模块:首先设定其通信方式为主模式,使数据按时序从SPISIMO管脚移出;然后设定每次传输串行数据的位数、时钟信号方式、传输速率等。由于DSP片外D/A器件为12b,而DSP的数据总线位16b,所以必须将最后的运算结果进行相应调整后再由SPI送出。
另外,DSP内部的A/D由数值0~1 023(十进制数)来分别对应0~5V的输入电压信号,所以应由值511来表示零均值点,这一点在均值补偿时要特别注意。系统程序流程图如图3所示。
4 结 语
采用DSP直接实现机电控制是近年才发展起来的一项技术,他比传统控制方法具有鲜明优点。实验表明,以DSP为核心的数字控制系统可以实现实时控制,而且低频段的相位误差非常小,同时又可以兼顾较高频段,适用范围大。此外,他稳定性好、精度高,并易于实现复杂模型的控制。