1、L EARNIN G GARDEN 学 习 园 地paper mesnet. com. cn(投 稿 专 用 ) 2009 年 第 2 期 Microcontrollers 另 一 种 方 法 是 利 用 标 准 C/ C + + 语言 编 写 源 代 码 ,然 后 经 C/ C + + 编 译 器 、 汇 编 器 和 链 接 器进 行 编 译 链 接 ,最 后 生 成 目 标 可 执 行 代 码 。 这 两 种 代 码开 发 方 法 都 使 得 开 发 人 员 不 得 不 花 费 大 量 的 时 间 在 代 码的 编 写 上 面 ,增 大 产 品 开 发 难 度 ,延 长 产 品 开 发 周
2、 期 ,从而 影 响 开 发 效 率 1 。Math Works 公 司 和 TI 公 司 联 合 开 发 的 工 具 包 Matlab Link for CCS Development Tools ,已 经 能 把 Mat2lab 和 TI 公 司 的 DSP 集 成 开 发 环 境 CCS( Code ComposerStadiu) 及 目 标 DSP 连 接 起 来 。 利 用 此 工 具 可 以 像 操 作Matlab 变 量 一 样 来 操 作 TI DSP 的 存 储 器 或 寄 存 器 ,即 整个 目 标 DSP 对 于 Matlab 像 透 明 的 一 样 ,开 发 人 员 在
3、 Mat2lab 环 境 下 ,就 可 以 完 成 对 CCS 的 操 作 。 Matlab Link forCCS Development Tools 可 以 支 持 CCS 能 够 识 别 的 任 何 目标 板 ,包 括 TI 公 司 的 DSK、 EVM 板 和 用 户 自 己 开 发 的 目标 DSP 板 。 如 果 把 Matlab Link for CCS DevelopmentTools 与 MathWorks 公 司 和 TI 公 司 联 合 开 发 的 另 外 一 个工 具 包 Embedded Target for the TI TMS320C2000DSP Platfor
4、m 配 合 使 用 ,则 可 以 直 接 由 Matlab 的 Simu2link 模 型 生 成 DSP 的 可 执 行 代 码 ,即 在 集 成 的 、 统 一 的Matlab 环 境 下 可 完 成 DSP 开 发 的 整 个 过 程 。1 DSP 代 码 自 动 生 成 流 程首 先 ,根 据 系 统 的 设 计 思 路 在 Matlab/ Simulink 平 台下 搭 建 系 统 模 型 ( .mdl) ,仿 真 满 意 后 通 过 Matlab 提 供 的Real Time Workshop ( RTW) 生 成 面 向 TI 编 译 器 的 工 程文 件 代 码 ( .prj)
5、 ,并 进 一 步 完 成 代 码 的 编 译 ,链 接 生 成 DSP可 执 行 机 器 码 ( .out) ,最 后 下 载 到 目 标 DSP 板 上 运 行 ,完成 系 统 的 开 发 2 。上 述 开 发 过 程 全 部 在 Matlab/ Simulink 环 境 下 进 行 ,开 发 人 员 不 需 要 写 任 何 代 码 ,只 需 利 用 Matlab 的 模 型 模块 完 成 系 统 设 计 即 可 ;而 且 开 发 人 员 在 系 统 设 计 过 程 可 对系 统 进 行 仿 真 验 证 ,保 证 系 统 设 计 的 正 确 性 。 图 1 为 DSP代 码 自 动 生 成
6、 的 开 发 流 程 。图 1 DSP 代 码 自 动 生 成 开 发 流 程学 习 园 地 L EARNIN G GARDEN80 2009 年 第 2 期 adv mesnet. com. cn(广 告 专 用 )2 三 相 异 步 电 机 转 速 控 制 系 统 的 设 计本 设 计 采 用 开 环 恒 压 频 比 ( VVVF) 与 空 间 矢 量 脉 宽调 制 (SVPWM) 相 结 合 的 算 法 ,驱 动 控 制 三 相 异 步 电 动机 。 控 制 系 统 主 要 模 块 及 其 功 能 如 下 : RAMP_CN TL 缓 升 缓 降 模 块 。 该 模 块 类 似 低 通滤
7、 波 器 ,实 现 给 定 信 号 的 缓 慢 变 化 ,避 免 信 号 的 突 变 给 电机 造 成 冲 击 。 V/ F 模 块 。 基 频 以 下 ,通 过 对 定 子 电 压 幅 值 与 频率 的 协 调 控 制 ,保 持 定 子 磁 通 恒 定 ,实 现 恒 转 矩 控 制 ,在 低频 段 ,系 统 要 补 偿 定 子 压 降 ;基 频 以 上 ,保 持 额 定 电 压 ,实现 恒 功 率 控 制 。 IPAR K模 块 。 该 模 块 实 现 PAR K逆 变 换 ,实 现 两相 旋 转 坐 标 到 两 相 静 止 坐 标 的 转 换 。 SV GEN 模 块 。 该 模 块 计
8、算 出 应 用 SVPWM 产 生给 定 定 子 参 考 电 压 所 需 的 3 个 比 较 值 Ta、 Tb、 Tc ,再 经DSP 的 比 较 单 元 ,产 生 控 制 功 率 器 件 的 开 关 信 号 。 PWM 模 块 。 配 置 该 模 块 ,控 制 DSP PWM 的 工 作模 式 ,包 括 载 波 频 率 、 有 效 电 平 、 工 作 时 钟 频 率 等 。图 2 为 控 制 系 统 的 原 理 框 图 。图 2 电 机 控 制 算 法 框 图3 控 制 系 统 的 实 现3. 1 Matlab/ Simulink平 台 下 系 统 的 建 模 及 仿 真根 据 系 统 控
9、制 算 法 , 利 用 Matlab Link for CCSDevelopment Tools 工 具 包 和 Simulink 常 用 工 具 包 的 功 能模 块 ,搭 建 控 制 系 统 的 仿 真 模 型 ,如 图 3 所 示 。建 模 过 程 中 要 处 理 好 数 据 格 式 的 设 置 。TMS320F2812 是 一 款 定 点 DSP ,为 了 能 进 行 浮 点 运 算 ,一般 会 在 DSP 数 据 处 理 中 使 用 Q 格 式 。 所 以 在 建 立 模 型 的时 候 就 要 设 置 好 数 据 格 式 ,尤 其 要 注 意 那 些 和 前 后 两 级 模块 都 有
10、 连 接 的 数 据 格 式 的 设 置 。 为 方 便 处 理 ,这 里 将 所 有可 设 置 的 数 据 都 配 置 为 Q24 格 式 。 在 空 间 矢 量 发 生 模 块和 C28x PWM 之 间 要 加 一 个 数 据 转 换 模 块 ,因 为 空 间 矢量 发 生 模 块 输 出 是 一 个 归 一 化 的 Q24 数 据 , 而 C28xPWM 的 默 认 输 入 数 据 格 式 是 16 位 整 数 ,所 以 直 接 将 这两 级 连 在 一 起 可 能 会 导 致 出 错 。转 换 公 式 为 :W (1 ,2 ,3) = T (a ,b ,c) 224 216根 据 实
11、 际 的 电 路 配 置 C28x PWM 参 数 ,可 以 设 定 合适 的 死 区 、 PWM 信 号 的 有 效 电 平 等 。最 后 要 注 意 的 是 ,一 定 要 加 入 F2812 eZdsp 模 块 。 虽然 该 模 块 对 模 型 的 仿 真 无 影 响 ,但 是 在 实 现 代 码 自 动 生 成的 时 候 需 要 通 过 模 块 进 行 相 关 参 数 的 设 置 。完 成 系 统 建 模 后 ,对 模 型 进 行 仿 真 验 证 。 试 验 中 ,将 给定 的 频 率 分 别 设 置 为 0. 5 Hz 和 5 Hz 两 种 情 况 。 根 据 理 论设 计 ,在 给
12、定 输 入 条 件 下 ,空 间 矢 量 发 生 模 块 的 输 出 Ta 、Tb、 Tc 对 应 为 0. 5 Hz 和 5 Hz 的 马 鞍 波 。 Ta 仿 真 输 出 波形 如 图 4 所 示 。 通 过 观 察 对 比 ,验 证 了 模 型 的 正 确 性 。3. 2 DSP 代 码 的 直 接 生 成下 面 介 绍 通 过 Matlab/ Simulink 仿 真模 型 实 现 DSP 代 码 直 接 生 成 的 方 法 。(1) 配 置 F2812 eZdsp 模 块主 要 配 置 信 息 包 括 BuildAction 和DSPBoardLabel ,其 中 BuildActi
13、on 配 置 代码 生 成 的 功 能 。 有 4 种 功 能 模 式 可 供 用 户选 择 :Code 模 式 ,只 生 成 C 代 码 ; Project 模 式 ,只 生 成 工 程文 件 ;Build 模 式 ,生 成 工 程 文 件 并 编 译 、 链 接 ;Build andLoad 模 式 ,生 成 工 程 文 件 ,编 译 链 接 并 下 载 到 目 标 板 。DSP BoardLabel 配 置 用 户 所 用 仿 真 器 型 号 ,如 果 配 置 型号 不 对 将 无 法 生 成 代 码 。此 处 所 用 仿 真 器 为 F2812 XDS510 Emulator ,选 择
14、Build and load 功 能 模 式 。(2) 配 置 Real2Time Workshop进 入 Simulink 的 Simulation2Configuration Parame2ters ,单 击 Real2Time Workshop 进 入 配 置 界 面 。 具 体 配 置图 3 控 制 系 统 仿 真 模 型L EARNIN G GARDEN 学 习 园 地paper mesnet. com. cn(投 稿 专 用 ) 2009 年 第 2 期 Microcontrollers & Embedded Systems 81 图 4 Ta 仿 真 输 出 波 形如 下 :Sy
15、stem target file : ti_c2000_grt . tle。Make command : make_rtw。Template makefile : ti_c2000_grt . t mf 。Real2Time Workshop 的 具 体 配 置 方 法 可 参 考 参 考 文献 3 。(3) 代 码 自 动 生 成在 Real2Time Workshop 界 面 点 击 generate code 按钮 。 Matlab 将 根 据 设 置 自 动 生 成 DSP 工 程 文 件 自 动 连 接打 开 CCS 开 发 环 境 ,并 且 对 C 代 码 进 行 编 译 、 链
16、接 ,下 载到 目 标 板 。 通 过 CCS IDE 可 以 看 到 ,RTW 代 码 的 生 成 过程 中 建 立 了 Project . prj 工 程 文 件 ,其 中 包 括 :源 文 件 、 库 文件 、 链 接 文 件 等 。(4) 代 码 验 证通 过 示 波 器 观 察 DSP 的 PWM1、 PWM3、 PWM5 引 脚的 输 出 波 形 (接 示 波 器 脚 针 前 PWM 信 号 要 先 经 过 低 通 滤波 器 ) 。 理 论 上 ,经 过 低 通 滤 波 器 后 , PWM 输 出 信 号 应 该为 频 率 与 给 定 频 率 一 致 的 马 鞍 波 。 图 5 为
17、 通 过 示 波 器 观测 到 的 PWM1 引 脚 的 波 形 输 出 ,根 据 输 出 波 形 可 判 断 代码 的 正 确 性 。最 后 ,进 行 带 电 机 运 行 测 试 。 实 验 中 ,使 用 110 V 交流 电 供 电 的 80 W 三 相 异 步 电 动 机 。 运 行 实 验 中 ,电 机 转速 运 行 平 稳 ,变 速 平 滑 ,控 制 系 统 达 到 预 期 设 计 要 求 。由 于 生 成 的 代 码 是 C 代 码 ,因 此 在 后 期 ,还 可 以 根 据需 要 方 便 地 修 改 生 成 的 代 码 ,完 善 设 计 。图 5 PWM1 输 出 波 形4 结
18、论通 过 上 述 例 子 ,验 证 了 通 过 Matlab/ Simulink 直 接 生成 DSP 代 码 开 发 方 法 的 可 行 性 。 采 用 这 种 开 发 方 法 ,开发 人 员 不 需 写 一 行 代 码 就 可 实 现 DSP 系 统 的 代 码 开 发 ,极 大 地 减 轻 了 开 发 人 员 的 工 作 负 担 ,提 高 了 工 作 效 率 。 学习 使 用 该 开 发 方 法 对 广 大 DSP 应 用 开 发 人 员 具 有 很 大 的实 用 意 义 。参 考 文 献 1 张 祥 ,杨 志 刚 ,张 彦 生 . Matlab/ Simulink 模 型 到 C/ C
19、 + + 代 码的 自 动 实 现 J .重 庆 工 学 院 学 报 ,2006 ,20 (11) : 1112113.2 齐 星 刚 ,赵 刚 ,李 原 . 在 Matlab/ Simulink 平 台 上 DSP 代 码 的自 动 生 成 J . 中 国 测 试 技 术 ,2005 ,31 (1) : 87288.3 田 伟 ,熊 晋 魁 . Simulink 模 型 的 C/ C + +代 码 实 现 J . 应 用 技术 ,2004 ,31 (11) : 16218.卢 小 锦 (研 究 生 ) ,主 要 研 究 方 向 为 运 动 控 制 。(收 稿 日 期 :2008210215)