摘 要:提出了一种利用 TI 公司的 TMS320C5410 型 DSP 作为算法处理模块, 用偏最小二乘法(PLS)进行多元校正的光度分析仪设计方案, 以解决因 PLS 中大量矩阵运算而运算速度降低问题, 并对该方案的软硬件设计进行了详细讨论。
随着科学技术的发展, 对物质含量的准确测定要求越来越高, 由于组分之间的相互干扰和仪器本身的噪声, 致使对组分的测定不能准确进行。为此, 科学工作者提出了许多校正方法, 偏最小二乘法就是其中的一种。由于该方法需要进行大量的矩阵运算, 要求处理器要有较高的运算速度才能满足实际工作需要。
文中利用 TI 公司的 TMS320C5410 型 DSP 作为算法处理模块, 提出了一种偏最小二乘法光度分析仪设计方案。该方案具有运算速度快、精度高的特点, 具有很好的推广价值。
1 偏最小二乘法(PLS)原理
PLS 是一种多变量校正方法, 其数学基础是主成分分析。设浓度矩阵和相应的量测响应矩阵分别为 Y和 X, 有:
X=TP+E (1)
Y=UQ+F (2)
式中, T 和 U 分别为 X 的 Y 的得分矩阵, P 和 Q 分别为 X和 Y的载荷矩阵, E 和 F 分别为用 PLS 拟合矩阵 X和 Y时所引进的误差。
在 PLS 中, 用矩阵 Y的列去计算矩阵 X的因子, 同时, 矩阵Y的因子由矩阵 X的列去预测。分解得到的 T和 U 矩阵分别是除去了大部分测量误差的响应和浓度的信息。在 PLS 中, 利用各列向量相互正交的特征响应矩阵 T 和特征浓度矩阵 U 进行回归:



图中, 由吸收池和参比池过来的光信号经光电转换器转换为电压信号后, 再由数据采集卡对被测信号进行采样, 然后送入计算机, PC 机将接收到的数据再送进 DSP 系统进行 PLS 运算, 最后, DSP 将运算结果返回 PC 机, 以便显示结果和存储及打印。本文主要讨论图 1 中的 DSP 系统。
TI 公司的 TMS320C5410 DSP 是一个 16 位定点数字信号处理器, 具有运算能力强、功耗小的特点。其改进的哈佛结构, 程序空间与数据空间相互独立, 内部 8 条高度并行的总线, 片上集成存储器和主机接口等多种智能外设, 以及专门用途的硬件逻辑, 并具有完善的寻址方式和强大的指令集, 使得该芯片具有很高的处理速度和广泛的使用性。
(1)TMS320C5410 与 PC 机之间数据通信的设计
文中采用主- 从式的 PC- DSP 系统。PC 机的任务主要是提供良好的人机交互环境, DSP 作为系统的快速处理的执行者,以高速完成算法地实现。图 2 给出了 PC 与 DSP 主- 从式电路原理图。
主- 从式处理器系统的设计关键在于处理器之间的数据交换。主- 从处理器间的数据交换主要有串行、并行和共享存储器方式。其中共享存储器方式又分为 DMA 方式和双端口存储器方式。文中采用 CYPRESS 公司的双口 RAM CY7C026V 实现PC 机与 C5410 之间的数据交换。
CY7C026V是一 16K×16 的双端口 RAM, 其内部具有两组独立的地址、数据总线及读写控制线, 采用 CY7C026V 可以不加任何逻辑构成 16K×16 位的双端口存储系统。CY7C026V的两个端口与普通的 RAM 一样, 允许 DSP 和主机进行读写操作。
需要注意的是, 当主机和 DSP 同时访问其内部同一存储单元,进行同时读或同时写时, 要考虑写入和读出数据的完整性。
CY7C026V 采用 Semaphore(以下简称 SEM)信号来避免这种冲突。即主计算机在将数据写入双口 RAM 后, 设置输入 SEM,通知 C5410 读取测量数据。C5410 进行 PLS 算法处理后, 将处理结果写入双口 RAM, 并设置输出 SEM, 通知主机读取。
(2)C5410 与外部 Flash 的接口
采用外部 Flash 的作用是存放用户程序, 如 PLS 程序, 文中采 用 Silicon Storage 公 司 的 新 一 代 256K ×16 位 的SST39VF400A。该芯片的特点是擦除和编程都采用 SuperFlash技术来实现, 使得编程所需要的电流较低, 擦除时间短, 从而使得功耗较低。同时保证编程和擦除时间不受已编程数据块的影响。这样, 在系统设计时可以不用考虑软件或硬件上调整系统的读 /写速度。SST39VF400A 与 C5410 的连接如图 2 所示。

C5410 内部具有 16K×16 位的 ROM, 其内部有 Bootload-er 程序。在 DSP 工作于微计算机方式下可以启动 ROM 中的引导程序, 将用户程序( 如本文的 PLS 程序) 从外部 Flash 引导到内部 RAM 中全速运行。PLS 处理后的数据通过双端口 RAM 依次传送到主机方, 把数据数值存储在 PC 机内, 以便进行相应的数值分析、实时显示检测结果并绘制相应的图形等。
2.2 软件系统设计
PLS 软件系统设计是在 TI 公司的 DSP 集成开发 环 境CCS3.1 下进行的。整个软件系统包括 A/D、DSP 等硬件的初始化, DSP 与双端口 RAM 以及 Flash 的通信程序, PC 机与双端口 RAM 的通信程序, PLS 算法以及界面显示等。本文主要讨论PLS 算法程序。
编 程 语 言 既 可 选 择 C54x的汇编语言也可使用 C 语言。汇编语言在低层的初始化和 I/O 控制编程方面效率高, 但对于PLS 这类复杂算法的编程却不如 C 语言简捷, 且汇编语言的可读性和移植性差。因此这里采用 C 语言进行 PLS 程序设计,而对上述其它的涉及硬件方面的程序则采用汇编语言进行设计。PLS 设计流程如图 3 所示。对生成的.out 文件可通过仿真器进行调试。系统调试完成后, 利用 CCS 自带的 HEX 转换工具将 COFF 文件格式的.out文件转换为编程器要求的格式,再用编程器将该格式文件写入Flash 中。
3 结束语
偏最小二乘法是一种比较完善的多元校正方法, 但由于其需要进行大量的矩阵运算, 因而对处理器的运算速度要求较高。文中利用 TI 公司的 TMS320C5410 型 DSP 作为算法处理模块, 提出了一种偏最小二乘法光度分析仪设计方案, 并对该方案的软硬件设计进行了详细讨论。该方案具有运算速度快、精度高的特点, 具有很好的推广价值。

参考文献
[1] 郭纯孝.计算化学[M].北京: 化学工业出版社, 2004: 306- 314
[2] 乔瑞萍, 崔涛, 张芳娟.TMS320C54xDSP 原理及应用[M].西安:




