基 于 SX 微 处 理 器 的 嵌 入 式 Internet 技 术 乐 德 广 及 其 应 用 系 统 的 设 计 1 1, 郭 东 辉, 刘 瑞 堂 1, Gerard Parr 2 1. 厦 门 大 学 技 术 物 理 研 究 所 厦 门 361005 2. 英 国 Ulster 大 学 信 息 学 院 N.Ireland, BT52 1SA 摘 要 : SX 微 处 理 器 是 美 国 Scenix 公 司 推 出 的 新 一 代 微 处 理 器 本 文 主 要 介 绍 SX 微 处 理 器 的 通 信 机 制 和 虚 拟 外 设 原 理 并 详 细 描 述 基 于 TCP/IP 协 议 的 Internet 技 术 和 Java 虚 拟 机 技 术 在 SX 微 处 理 器 控 制 下 的 具 体 实 现 方 案 最 后 给 出 了 基 于 SX 微 处 理 器 的 嵌 入 式 Internet 应 用 系 统 的 设 计 例 子 关 键 词 : SX 微 处 理 器 TCP/IP Java 虚 拟 机, 嵌 入 式 系 统 The Imbedded Internet technology and the Design Of its System Based on SX Microprocessor Deguang Le 1, Donghui Guo 1, Ruitang Liu 1, Gerard Parr 2 1. Institute of Technical Physics, Xiamen University, Xiamen 361005, China 2. Faculty of Informatics, University of Ulster, BT52 1SA, N.Ireland, UK Abstract: SX Microprocessor is a kind of new microprocessor developed by Scenix Inc., USA. This article is to introduce the communication engine of SX Microprocessor and the principle of its virtual peripheral. In this paper, we also detail on the prototype Internet solution for TCP/IP protocol and Java Virtual Machine with the SX Microprocessor. The application instances of embedded Internet system based on the SX Microprocessor are presented in this paper, too. Keywords: SX Microprocessor, TCP/IP, Java Virtual Machine, Imbedded System. 一 引 言 国 际 互 联 网 Internet 是 当 今 世 界 上 最 大 的 连 接 计 算 机 的 网 络 通 讯 系 统 Internet 的 兴 起 和 迅 猛 发 展 是 本 世 纪 信 息 技 术 发 展 的 最 伟 大 的 成 就 之 一 它 所 提 供 的 信 息 包 括 文 字 数 据 图 像 声 音 等 多 种 形 式 涉 及 社 会 的 各 个 领 域 人 们 梦 寐 以 求 的 全 世 界 范 围 内 大 规 模 的 信 息 资 源 共 享 现 已 成 为 现 实 随 着 网 络 技 术 的 不 断 进 步 一 场 新 的 更 加 深 入 Internet 革 命 正 在 悄 悄 酝 酿 一 方 面 微 处 理 器 技 术 的 飞 速 发 展 和 系 统 设 计 水 平 的 不 断 提 高 CPU 速 度 的 不 断 提 高 RISC 技 术 和 虚 拟 技 术 的 应 用 外 部 电 路 的 内 部 集 成 化 微 处 理 器 在 家 庭 和 工 业 的 各 个 领 域 得 到 了 广 泛 的 应 本 文 得 到 国 家 自 然 科 学 基 金 项 目 (No:69886002) 和 福 建 省 国 际 合 作 科 技 开 发 项 目 (No:98-I-7) 的 资 助 作 者 简 介 乐 德 广 男 1975 年 10 月 生 厦 门 大 学 物 理 系 硕 士 生 主 要 从 事 电 子 设 计 系 统 编 程 等 方 面 的 工 作 1
用 另 一 方 面 嵌 入 式 技 术 的 发 展 和 成 熟 各 种 网 上 信 息 产 品 Information Appliances 如 个 人 数 字 助 理 PDA TV 机 顶 盒 网 络 电 话 防 盗 系 统 等 嵌 入 式 设 备 都 要 求 与 Internet 联 网 把 微 处 理 器 技 术 应 用 到 嵌 入 式 Internet 系 统 中 将 成 为 今 后 的 发 展 方 向 目 前 包 括 Sun Scenix Microchip 在 内 的 许 多 家 公 司 都 在 致 力 于 嵌 入 式 微 处 理 器 技 术 的 开 发 并 提 供 了 多 种 嵌 入 式 Internet 应 用 的 解 决 方 案 Scenix 是 美 国 一 家 从 事 Internet 接 入 应 用 的 微 处 理 器 制 造 公 司 为 嵌 入 式 Internet 应 用 提 供 了 高 性 能 微 处 理 器 和 通 信 软 件 它 所 提 供 的 SX 系 列 微 处 理 器 能 够 执 行 实 时 虚 拟 外 设 功 能 可 用 于 实 现 通 信 网 络 连 接 Internet 连 接 等 系 统 本 文 详 细 介 绍 了 SX 嵌 入 式 芯 片 及 其 在 嵌 入 式 Internet 中 的 应 用 二 SX 微 处 理 器 的 通 信 机 制 与 虚 拟 外 设 技 术 SX 不 但 具 有 通 用 的 通 信 机 制 而 且 能 够 利 用 其 快 速 的 一 系 列 网 络 通 信 协 议 以 及 物 理 层 接 口 的 虚 拟 外 设 功 能 用 于 嵌 入 式 Internet 系 统 中 确 定 的 硬 件 平 台 实 现 从 简 单 到 复 杂 它 们 的 结 合 使 得 SX 能 够 完 美 的 应 1 通 信 机 制 [1] SX 采 用 了 全 新 的 类 似 RISC 的 计 算 机 体 系 结 构 内 部 集 成 了 快 速 的 片 上 指 令 FLASH/EEPROM 存 储 器 和 数 据 RAM 以 及 模 拟 比 较 器 定 时 器 等 多 种 功 能 部 件 在 精 简 指 令 集 的 同 时 尽 可 能 增 强 其 性 能 SX 具 有 单 字 长 指 令 系 统 在 一 个 指 令 中 既 包 含 操 作 码 又 包 含 操 作 数 使 SX 达 到 较 高 的 代 码 效 率 在 指 令 的 执 行 方 面 SX 采 用 一 种 四 阶 段 流 水 线 方 式 即 一 个 取 指 令 阶 段 一 个 解 码 阶 段 一 个 指 令 执 行 阶 段 和 一 个 回 写 阶 段 如 表 1 使 得 每 条 指 令 的 执 行 能 够 在 单 个 时 钟 周 期 内 完 成 大 大 提 高 了 指 令 的 运 行 速 度 在 I/O 通 讯 接 口 方 面 灵 活 且 强 大 的 I/O 控 制 可 根 据 实 际 需 要 把 I/O 口 设 置 为 TTL 电 平 或 CMOS 电 平 模 式 每 个 双 向 I/O 口 可 当 作 8 位 并 行 口 使 用 从 而 可 以 实 现 与 其 它 控 制 器 的 并 行 通 信 也 可 将 每 个 I/O 管 脚 独 立 编 程 设 置 为 输 出 或 输 入 另 外 在 系 统 稳 定 性 方 面 SX 能 够 对 供 电 电 压 进 行 检 测 一 旦 发 现 电 源 电 压 下 降 到 一 个 门 槛 值 时 就 使 系 统 复 位 而 当 电 压 回 复 到 门 槛 值 时 再 使 系 统 重 新 进 入 运 行 状 态 避 免 系 统 失 控 SX 的 内 部 设 有 看 门 狗 监 视 电 路 防 止 程 序 进 入 死 循 环 提 高 了 系 统 的 可 靠 性 和 稳 定 性 表 1 SX 系 列 微 处 理 器 指 令 的 流 水 线 操 作 程 序 指 令 时 钟 周 期 时 钟 周 期 时 钟 周 期 时 钟 周 期 时 钟 周 期 时 钟 周 期 1 2 3 4 5 6 第 1 条 指 令 取 指 令 解 码 指 令 执 行 回 写 第 2 条 指 令 取 指 令 解 码 指 令 执 行 回 写 第 3 条 指 令 取 指 令 解 码 指 令 执 行 回 写 第 4 条 指 令 取 指 令 解 码 指 令 执 行 第 5 条 指 令 取 指 令 解 码 第 6 条 指 令 取 指 令 2 虚 拟 外 设 技 术 [2] 能 SX 是 一 种 快 速 的 具 有 完 全 控 制 能 力 的 单 片 通 信 控 制 芯 片 所 谓 的 虚 拟 外 设 是 指 软 件 功 能 模 块 它 能 够 完 全 实 现 虚 拟 外 设 功 它 把 许 多 微 处 理 器 会 用 到 的 外 设 功 能 通 过 模 块 化 的 软 件 来 实 现 取 代 传 统 的 硬 件 接 口 功 能 从 而 大 大 减 少 了 系 统 的 硬 件 数 量 和 开 发 周 期 降 2
低 了 系 统 的 成 本 目 前 Scenix 已 经 实 现 了 包 括 PWM A/D LCD 模 块 控 制 频 率 发 生 / 测 量 频 谱 分 析 DTMF 发 生 / 检 测 开 关 电 源 控 制 语 音 / 音 乐 合 成 在 内 的 多 种 虚 拟 外 设 功 [2] 能 此 外 设 计 工 程 师 们 也 可 以 利 用 SX 的 虚 拟 外 设 函 数 库 开 发 自 己 所 需 要 的 虚 拟 外 设 功 能 模 块 增 加 设 计 的 灵 活 性 SX 的 虚 拟 外 设 作 为 中 断 服 务 子 程 序 在 应 用 软 件 中 运 行 由 于 SX 具 有 消 除 抖 动 和 确 定 性 的 中 断 响 应 能 力 每 次 都 可 在 精 确 的 时 钟 周 期 内 响 应 中 断 应 用 软 件 只 需 在 中 断 时 简 单 地 设 置 或 清 除 相 应 的 虚 拟 外 设 功 能 标 志 并 将 主 要 的 寄 存 器 自 动 地 存 储 到 特 殊 的 硬 件 堆 栈 中 就 可 使 虚 拟 外 设 能 够 像 外 围 硬 件 电 路 一 样 不 受 内 部 应 用 程 序 的 干 扰 而 正 确 执 行 例 如 当 SX 在 通 过 虚 拟 外 设 执 行 A/D 转 换 时 应 用 软 件 与 A/D 转 换 彼 此 之 间 并 不 会 互 相 影 响 当 一 个 A/D 转 换 结 束 时 虚 拟 外 设 通 过 设 置 一 个 标 志 位 通 知 应 用 程 序 可 以 获 取 A/D 转 换 的 结 果 因 此 虚 拟 外 设 也 被 称 为 芯 片 上 的 系 统 软 件 三 嵌 入 式 Internet 原 理 TCP/IP 是 Internet 网 络 环 境 中 既 成 事 实 的 开 放 系 统 平 台 它 包 括 HTTP SMTP POP3 TCP UDP IP TCMP PPP 等 协 议 要 想 使 一 个 内 部 网 络 或 网 络 设 备 对 外 部 世 界 来 讲 是 可 视 的 则 必 须 用 TCP/IP 进 行 通 信 通 过 TCP/IP 能 够 使 内 部 网 络 或 网 络 设 备 与 整 个 Internet 联 网 在 全 世 界 范 围 内 进 行 通 信 与 信 息 交 流 带 有 微 处 理 器 的 能 够 连 接 到 Internet 的 设 备 称 为 嵌 入 式 Internet 一 个 嵌 入 式 Internet 系 统 包 含 三 部 分 物 理 层 接 口 网 络 协 议 组 TCP/IP 微 处 理 器 如 图 1 每 一 部 分 对 于 实 现 智 能 的 网 络 化 系 统 都 是 必 不 可 少 的 Scenix 公 司 把 这 三 部 分 都 集 成 在 尺 寸 小 且 价 格 便 宜 的 SX 系 列 微 处 理 器 中 通 过 在 更 小 更 便 宜 的 高 速 SX 微 处 理 器 上 嵌 入 TCP/IP 网 络 协 议 以 及 物 理 层 接 口 就 可 以 很 方 便 的 和 Internet 连 接 物 理 层 接 口 网 络 协 议 组 微 处 理 器 图 1 嵌 入 式 Internet 结 构 1 TCP/IP 在 SX 中 的 实 现 由 于 8 位 微 处 理 器 本 身 的 局 限 性 SX 是 一 种 资 源 相 对 有 限 的 芯 片 它 带 有 最 大 容 量 为 4K 的 FLASH/EEPROM 和 256 个 字 节 的 RAM 因 此 TCP/IP 的 设 计 者 们 不 能 像 在 Intel 的 Pentium 机 上 设 计 TCP/IP 那 样 进 行 通 信 协 议 的 开 发 Scenix 公 司 通 过 以 下 三 个 方 面 来 实 现 SX 上 的 TCP/IP [3] 1 SX 的 时 实 处 理 SX 具 有 非 常 高 的 指 令 处 理 速 度 最 高 达 到 100MIPS 每 秒 执 行 百 万 条 指 令 这 种 高 性 能 使 SX 能 够 实 现 对 TCP/IP 数 据 包 的 时 实 处 理 确 保 在 SX 上 进 行 TCP/IP 通 信 时 的 可 靠 性 2 网 络 通 信 协 议 的 模 块 化 组 合 TCP/IP 包 含 从 应 用 层 传 输 层 网 络 层 到 物 理 层 的 一 系 列 协 议 且 每 层 可 采 用 的 协 议 又 有 好 几 种 Scenix 并 不 是 把 所 有 的 TCP/IP 协 议 都 集 成 在 一 块 它 根 据 具 体 的 嵌 入 式 Internet 应 用 在 SX 中 嵌 入 相 应 的 协 议 模 块 这 样 不 但 提 高 3
TCP/IP 运 行 效 率 而 且 节 省 系 统 资 源 3 全 新 的 字 节 处 理 方 式 SX 对 TCP/IP 数 据 包 采 用 发 送 或 接 收 一 个 字 节 数 据 的 同 时 对 数 据 进 行 打 包 或 解 包 处 理 而 不 是 等 到 数 据 打 包 好 后 在 发 送 或 等 数 据 包 接 收 完 后 在 进 行 解 包 因 此 可 以 避 免 用 RAM 作 为 数 据 缓 冲 区 而 且 字 节 处 理 方 式 与 采 用 包 缓 存 处 理 相 比 TCP/IP 数 据 包 的 大 小 不 受 缓 存 大 小 的 限 制 从 而 可 以 获 得 更 大 的 带 宽 利 用 率 和 与 其 它 TCP/IP 协 议 的 更 好 的 兼 容 性 2 物 理 层 在 SX 中 的 实 现 不 同 的 网 络 系 统 要 求 不 同 的 物 理 网 接 SX 通 过 可 互 相 转 换 的 虚 拟 外 设 功 能 实 现 了 包 括 V.23 Modem 红 外 数 据 收 发 器 IrDA 异 步 串 行 收 发 器 UART 芯 片 间 的 串 行 总 线 I 2 C 并 口 总 线 ISA 总 线 等 在 内 的 虚 拟 外 设 物 理 接 口 通 过 改 变 软 件 的 方 法 就 可 以 改 变 不 同 的 物 理 层 接 口 因 此 SX 用 于 嵌 入 式 Internet 系 统 时 只 需 很 少 的 物 理 硬 件 的 改 变 就 可 实 现 在 不 同 的 物 理 网 络 的 连 接 3 SX 的 嵌 入 式 Java 技 术 Java 是 由 美 国 SUN 公 司 开 发 的 新 一 代 网 络 编 程 语 言 由 于 具 有 平 台 无 关 性 稳 定 安 全 和 功 能 强 大 的 网 络 编 程 环 境 使 得 Java 成 为 Internet 应 用 的 理 想 开 发 工 具 Java 的 嵌 入 式 [4] 应 用 可 分 为 四 个 部 分 Personal-Java Embedded-Java JavaCard Java 芯 片 Scenix 采 用 了 基 于 Java 编 程 语 言 的 SX 微 处 理 器 直 接 在 芯 片 上 执 行 Java 虚 拟 机 Virtual [5] Machine VM 的 技 术 Scenix VM 是 嵌 入 式 领 域 中 最 小 且 完 整 的 集 成 Java 可 编 程 虚 拟 机 它 采 用 SUN 的 JavaCard 软 件 规 范 能 够 在 CPU 速 度 和 内 存 容 量 有 限 的 SX 微 处 理 器 上 快 速 有 效 的 运 行 Java 程 序 极 大 减 少 嵌 入 式 Internet 软 件 开 发 的 复 杂 程 度 因 此 SX 用 于 基 于 Java 语 言 的 嵌 入 式 Internet 应 用 时 比 一 般 处 理 器 性 能 优 异 得 多 四 SX 在 嵌 入 式 Internet 系 统 中 的 应 用 SX 的 RISC 结 构 和 它 的 指 令 的 极 限 运 行 速 度 加 上 它 独 有 的 虚 拟 外 设 技 术 使 它 在 嵌 入 式 Internet 系 统 中 得 到 了 广 泛 的 应 用 下 面 给 出 一 些 SX 在 嵌 入 式 Internet 系 统 中 的 应 用 实 例 1 嵌 入 式 Web 服 务 器 Web 是 全 球 范 围 的 信 息 浏 览 系 统 Web 的 工 作 基 于 客 户 机 / 服 务 器 模 型 由 Web 浏 览 器 和 Web 服 务 器 构 成 两 者 之 间 采 用 HTTP 进 行 通 信 基 于 SX 的 嵌 入 式 Web 服 务 器 包 含 了 [6] PPP 协 议 TCP 协 议 IP 协 议 ICMP 协 议 以 及 HTTP 协 议 它 能 和 Internet 上 的 任 何 类 型 Web 浏 览 器 进 行 交 互 式 通 信 并 能 够 提 供 各 种 类 型 的 网 络 资 源 服 务 如 HTML 文 本 文 档 图 像 java 脚 本 java applets PDF 文 件 以 及 可 执 行 文 件 等 这 些 资 源 通 过 I 2 C 虚 拟 外 设 存 储 在 外 部 扩 展 EEPROM 里 当 浏 览 器 与 Web 服 务 器 交 互 时 HTTP 通 过 统 一 资 源 定 位 器 Uniform Resource Locator URL 来 确 定 Web 服 务 器 应 该 为 浏 览 器 提 供 哪 些 资 源 URL 的 结 构 和 计 算 机 的 文 件 存 储 路 径 相 似 要 在 SX 上 实 现 这 种 文 件 系 统 不 仅 要 求 要 有 足 够 的 代 码 空 间 而 且 要 求 在 EEPROM [7] 上 进 行 文 件 查 询 SX 的 HTTP VP 采 用 了 一 种 灵 活 的 散 列 方 案 当 Web 服 务 器 收 到 一 个 请 求 时 SX 通 过 一 个 散 列 函 数 对 URL 进 行 简 单 的 字 符 求 和 运 算 产 生 一 个 8 位 的 散 列 值 把 这 个 散 列 值 乘 以 二 所 得 的 结 果 作 为 偏 移 地 址 用 于 查 询 一 个 存 放 16 位 文 件 地 址 的 地 址 表 用 这 种 方 法 避 免 了 把 URL 地 址 存 放 在 服 务 器 中 和 对 URL 地 址 进 行 字 符 串 比 较 节 省 了 系 统 采 4
资 源 在 Internet 通 信 中 为 了 显 示 不 断 变 化 的 信 息 要 求 Web 服 务 器 能 够 产 生 动 态 HTML [8] 文 档 采 用 Server push 技 术 提 供 对 屏 幕 的 连 续 更 新 称 为 活 动 文 档 它 要 求 Web 服 务 器 定 期 产 生 并 发 送 新 文 档 因 此 会 造 成 过 多 的 服 务 器 开 销 和 延 迟 Scenix 在 Web 服 务 器 上 嵌 入 一 个 被 称 为 Java applet 的 活 动 文 档 Java applet 是 用 Java 语 言 编 写 的 一 段 小 程 序 当 浏 览 器 请 求 一 个 活 动 文 档 时 服 务 器 就 返 回 一 段 程 序 供 浏 览 器 在 本 地 运 行 除 此 之 外 服 务 器 并 没 有 做 进 一 步 的 更 新 或 执 行 等 任 务 所 有 这 些 工 作 都 由 浏 览 器 自 身 在 本 地 完 成 节 省 了 嵌 入 式 Web 服 务 器 的 内 存 和 CPU 资 源 EEPROM 应 用 层 HTTP TCP 接 口 响 应 IP/ICMP SX 微 处 理 器 请 求 物 理 层 图 2iSX WEB 服 务 器 2 SX 以 太 网 络 通 讯 接 口 SX 能 够 嵌 入 到 应 用 系 统 中 快 速 建 立 起 应 用 系 统 和 Internet 的 连 接 现 有 的 具 有 数 字 I/O 接 口 或 串 行 总 线 接 口 RS-232/485 的 设 备 如 测 试 仪 器 PDA 网 络 打 印 机 等 通 过 SX 的 以 太 网 络 通 讯 接 口 如 图 3 把 数 字 I/O 接 口 或 RS-232/485 接 口 直 接 映 射 成 标 准 TCP/IP 协 议 从 而 使 现 有 的 应 用 系 统 以 即 插 即 用 的 方 式 方 便 的 与 Internet 联 网 为 人 们 的 工 作 和 家 庭 环 境 提 供 了 更 为 开 放 和 经 济 的 嵌 入 式 网 络 设 备 互 联 手 段 Internet RJ45 数 字 滤 波 器 以 太 网 控 制 器 SX 微 处 理 器 EEPROM 应 用 系 统 TTL 数 字 I/O 或 RS-232/485 图 3SX 以 太 网 络 通 讯 接 口 框 图 五 结 束 语 5
嵌 入 式 Internet 技 术 具 有 广 阔 的 应 用 前 景 其 应 用 领 域 包 括 信 息 家 电 POS 网 络 电 子 商 务 工 业 自 动 化 智 能 公 路 等 利 用 嵌 入 式 Internet 技 术 可 以 把 家 用 电 器 互 相 联 网 实 现 真 正 的 家 庭 生 活 的 自 动 化 创 造 网 络 生 活 新 方 式 办 公 设 备 的 网 络 化 实 现 信 息 的 数 字 化 管 理 和 控 制 解 决 工 业 控 制 系 统 与 Internet 互 联 的 问 题 实 现 无 限 时 空 的 远 程 监 视 和 控 制 参 考 文 献 : [1] Scenix Semiconductor Inc, SX_User's_Manual Rev.2.0, February, 1999 [2] Scenix Semiconductor Inc, SX Virtual Peripheral Methodology&Modules Rev.1.0, March, 2000 [3] Scenix Semiconductor Inc, TCP Virtual Peripheral Implementation, December, 1999 [4] 徐 剑 军 马 群 生 王 克 宏 Java 嵌 入 式 技 术 面 面 观 微 型 机 与 应 用 1998 1&2 [5] Scenix Semiconductor Inc, Programmable Virtual Machine for Java, February, 2000 [6] Scenix Semiconductor Inc, HTTP Virtual Peripheral Implementation, December, 1999 [7] DOUGLAS E.COMER, 计 算 机 网 络 与 互 联 网 Computer Networks and Intenets, 电 子 工 业 出 版 社, 1998 [8] Scenix Semiconductor Inc, SX-Stack Internet Connectivity User s Manual Rev.1.0, May, 2000 6