对数据存储业来说,磁盘驱动器生产商通过增加磁道密度(以每英寸的磁道数为单位)和磁盘转速(以每分钟转数为单位)来扩大计算机硬盘驱动器的容量和改善其性能。随着磁密度的增加,两相邻磁道间的距离变小了。因此,所允许的读/写头和磁道的偏离误差,即磁盘驱动器业内所说的误定位,也相应的降低了,这样硬盘很容易受到伤害。他的工作原理决定其必须使用抗恶劣环境加固技术,而且主要针对机械物理环境和气候环境实施加固。对磁盘存储设备来说,机械物理环境中最为恶劣的是振动、冲击环境。本文采用了外加固主动控制理论与技术,将电磁主动控制技术用于计算机外部设备(微型盘)的振动冲击外加固,并且构建了以 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的S PI (串行外设接口)是一个高速、同步串行I/O口,他可以设置每次产生的串行数据流的位数(1~16位),并且对于位传输速度也可以编程控制。 SPI的时钟输出信号线SPICLK能够提供4种类型的时钟信号。其中有一种带延时的上升沿时钟,可使SPI在上升沿之前的半个周期内发送数据,或在SPICLK信号上升沿后接收数据。这恰好符合DAC7611时钟信号的要求。
由于DSP片内资源有限,设计中在片外扩展了用于存放数据的 RAM CY71021,其读写时间为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为核心的数字控制系统可以实现实时控制,而且低频段的相位误差非常小,同时又可以兼顾较高频段,适用范围大。此外,他稳定性好、精度高,并易于实现复杂模型的控制。