数据存储业来说,磁盘驱动器生产商通过增加磁道密度(以每英寸的磁道数为单位)和磁盘转速(以每分钟转数为单位)来扩大计算机硬盘驱动器的容量和改善其性能。随着磁密度的增加,两相邻磁道间的距离变小了。因此,所允许的读/写头和磁道的偏离误差,即磁盘驱动器业内所说的误定位,也相应的降低了,这样硬盘很容易受到伤害。他的工作原理决定其必须使用抗恶劣环境加固技术,而且主要针对机械物理环境和气候环境实施加固。对磁盘存储设备来说,机械物理环境中最为恶劣的是振动、冲击环境。本文采用了外加固主动控制理论与技术,将电磁主动控制技术用于计算机外部设备(微型盘)的振动冲击外加固,并且构建了以 DSP 为硬件平台的数字主动控制系统。

  

2 数字控制系统的硬件设计

从 1982 年 TI(美国德州仪器公司)推出通用可编程 DSP 芯片以来,DSP 技术取得了迅猛的发展。

  

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 为核心的数字控制系统可以实现实时控制,而且低频段的相位误差非常小,同时又可以兼顾较高频段,适用范围大。此外,他稳定性好、精度高,并易于实现复杂模型的控制。