当前位置:首页 >> 信息与通信 >>

基于USB的ARM仿真器的研究与设计


技术与方法

Technique and Method

基于 USB 的 ARM 仿真器的研究与设计
郭 华 ,陈 新 华 ( 山 东 科 技 大 学 , 山 东 青 岛 266510)
要 : 基 于 USB 接 口 的 仿 真 器 , 提 出 了 一 种 采 用 PHILIPS 公 司 ARM7 内 核 、 LPC

2148 为 主 控 制 器的设计方案, 并给出了硬件电路设计。 利用本仿真器通过第三方软件可以实现目标机的调试和在 线 编程。 硬 件电路 设计 简单,是 取代并 口方式 仿真 器的一 种经济 可行的 方案 。 关 键 词 : ARM 仿 真 器 ; 调 试 系 统 ; USB 接 口 ; JTAG
中 图 分 类 号 : TP302.1 文献标识码: B



Research and design of ARM emulator based on USB
GUO Hua , CHEN Xin Hua
(Shandong University of Science and Technology , Qingdao 266510 , China) Abstract : In this article , a new design of emulator for ARM is proposed which is based on USB interface , choosing Philips ARM7 LPC2148 as the MCU. The hardware circuit is described in detail. The third-party software can interact with the emulator for in-system programming and debug. With the sample circuit , it is really a economical and feasible way to displace the emulator that using the parallel port. Key words : ARM emulator ; debug system ; USB interface ; JTAG 基 于 JTAG 仿 真 器 的 调 试 是 目 前 ARM 开 发 中 采 用 最 多 的 一 种 方 式 。 大 多 数 ARM 设 计 采 用 了 片 上 JTAG 接 口 , 并 将 其 作 为 测 试 、 调 试 方 法 的 重 要 组 成 。 JTAG 仿 真 器 通 过 ARM 芯 片 的 JTAG 边 界 扫 描 口 与 ARM CPU 核 通信 ,实现 了完全 非插 入式调 试,不 使用 片上资 源 ,不 需 要 目 标 存 储 器 , 不 占 用 目 标 系 统 的 任 何 端 口 。 由 于 JTAG 调试的目标程序是在目标板上执行 ,使得仿真更加接近 于目标硬件
[ 1]

调 试 主 机 , 运 行 AXD 、 gdb 等 调 试 器

协 议 转 换 器 , ( 如 multi - ice , ulink 等 )

调 试 目 标 , 以 ARM 核 为 处 理 器 的 目 标 机 图 1

ARM 调 试 系 统 结 构 图



目前针对嵌入式系统开发的调试工具品种繁多 ,如

仿真器用来将调试主机发出的高层调试命令转换 为 底 层 的 ARM JTAG 调 试 命 令 。 因 为 目 标 机 无 法 识 别 调试主机发送来的高级命令,因此就需要仿真器将调试 主 机 发 出 的 高 层 调 试 命 令 转 换 为 底 层 的 ARM JTAG 调 试 命 令 [ 3] 。 在 整 个 调 试 系 统 中 起 到 重 要 的 作 用 , 其 性 能 也决定了整个调试系统性能。

ARM 公 司 的 AXD debugger 软 件 与 Mutil-ICE 仿 真 器 等 。
但是大部分嵌入式调试工具价格过高,因此设计实现一 种 速 度 快 、 性 能 稳 定 、 价 格 低 廉 、 易 于 实 现 的 ARM 调 试 工具是十分必要的。

1 ARM JTAG 调 试 原 理
ARM 典 型 的 调 试 系 统 结 构 如 图 1 所 示 。 调 试 系 统
包括调 试主 机、仿 真器和 调试 目标。 调 试 主 机 是 一 台 运 行 调 试 软 件 ( 例 如 ADS ) 的 计 算 机。调 试主 机可 以发出 高层 的调试 命令 ,例如 设置断 点、 访 问 内 存 等 [ 2] 。

2 方案设计
本 文 提 出 了 一 种 采 用 PHILIPS 公 司 的 ARM7 芯 片 LPC2148 设 计 , 具 有 USB2.0 通 信 方 式 、 高 速 稳 定 的 ARM 仿真 器实 现方案 ,如图 2 所示 。 守 护 进 程 接 收 从 IDE 集 成 开 发 环 境 发 送 来 的 调 试 命 令 , 将 其 通 过 USB 总 线 转 发 到 ARM 仿 真 器 , ARM 仿

66

《 微 型 机 与 应 用 》 2010 年 第 9 期

技术与方法

Technique and Method USB 接 口 电 路 如 图 4 所 示 。 为 了 使 LPC2148 的 软 件
可 以 更 灵 活 地 控 制 USB 设 备 与 主 机 之 间 的 连 接 , 本 接 口 电 路 使 用 P0 . 31 ( 只 能 使 用 该 引 脚 ) 来 实 现 SoftConnect 特 性 。 当 P0.31 输 出 低 电 平 时 , D + 线 通 过 电 阻 上 拉 到

VDD3.3 , 通 知 USB 主 机 : USB 设 备 与 其 建 立 连 接 ; 当
真 器 再 将 调 试 命 令 转 换 成 JTAG 格 式 的 信 号 并 发 送 到 I/

P0.31 输 出 高 电 平 时 , D + 线 断 开 与 VDD3.3 的 连 接 , 通 知 USB 主 机 : USB 设 备 已 经 断 开 与 USB 主 机 的 连 接 。 Q1 选 用 的 是 P 沟 道 MOS 管 ,而 不 选 用 普 通 的 PNP 三
极 管 , 因 为 MOS 管 是 电 压 驱 动 型 , 驱 动 电 流 几 乎 为 0 ; 而 普 通 的 PNP 三 极 管 是 电 流 驱 动 , 需 要 一 定 的 驱 动 电 流 。 导 通 时 , P0.31_P17 有 可 能 被 拉 低 , LPC2148 要 求 该 引 脚 在 复 位 引 脚 为 低 电 平 期 间 不 能 被 拉 低 , 否 则 JTAG 口 将 被 禁 止 , 因 此 必 须 选 用 P 沟 道 的 MOS 管 。 LPC2148 的 P0.23 引 脚 为 USB 设 备 控 制 器 , 用 于 检 测 USB 总 线 是 否 插 入 检 测 引 脚 [ 4] 。

O 口,从而控制调试目标执行特定的操作,达到调试的
目 的 。 同 理 , 从 调 试 目 标 返 回 的 数 据 , 先 经 过 ARM 仿 真 器 的 译 码 , 再 经 过 守 护 进 程 返 回 到 IDE 开 发 环 境 , 从 而 形成一个完整的调试系统。

3 硬件电路设计
本 设 计 的 最 大 特 点 是 采 用 了 LPC2148 作 为 主 控 芯 片 。 该 芯 片 内 部 集 成 了 ARM7TDMI -S 微 控 制 器 和 完 全 兼 容 USB2.0 的 设 备 控 制 器 , 支 持 32 个 物 理 (16 个 逻 辑 ) 端点;支持控制、批量、中断和同步端点;所有端 点都有 一 个 双 向 的 DMA 通 道 。 因 为 芯 片 内 部 集 成 了 USB 控 制 器 ,大大降低了电路板的设 计难 度和 开发成 本 。 其 硬件 电路框图如图 3 所示。

4 仿真器固件程序设计
仿 真 器 LPC2148 芯 片 中 的 固 件 程 序 实 现 的 功 能 包 括 : 通 过 USB 与 上 位 机 软 件 进 行 通 信 , 并 将 上 位 机 发 送 过 来 的 、 经 过 封 装 的 USB 数 据 流 转 换 为 JTAG 信 号 , 并 最终送到相应的引脚或者将相应引脚的数据经过封装 后 ,通 过 USB 传 送 到 PC 机 中 。 图 5 为 应 用 程 序 的 流 程 图 。

(1) 本 机 JTAG 调 试 电 路
为 了 便 于 调 试 和 烧 写 程 序 , 将 芯 片 LPC2148 的

JTAG 接 口 接 到 一 个 20 引 脚 的 标 准 JTAG 插 口 。 本 设 计
中 使 用 引 脚 P0.8 、 P0.9 、 P0.10 、 P0.12 、 P0.14 作 为 外 部

JTAG 接 口 , 尽 量 不 用 有 其 他 接 口 功 能 的 引 脚 , 如 P0.11 、 P0.14 接 口 与 I2C 接 口 SCL1 、 SDA1 功 能 复 用 , 以 便 于 将
来的硬件升级。 为了增强带负载能力, 使用一片

74HC244 芯 片 , 同 时 为 了 尽 量 兼 容 大 部 分 ARM 开 发 板
上 的 不 同 JTAG 插 口 , 本 设 计 提 供 了 一 个 20 引 脚 的

主 函 数 首 先 将 作 为 JTAG 接 口 使 用 的 5 个 引 脚 设 置 成 相 应 属 性 , 并 完 成 USB 设 备 初 始 化 , 配 置 中 断 向 量 、 开中断,然后进入无限循环函数。 无 限 循 环 函 数 首 先 处 理 USB 事 件 , 如 USB 控 制 传

JTAG 插 口 和 一 个 14 引 脚 的 JTAG 插 口 。 (2)USB 电 路 ( 包 括 供 电 电 路 )

图 4

USB 接 口 电 路 原 理 图

《 微 型 机 与 应 用 》 2010 年 第 9 期

欢 迎 网 上 投 稿 www.pcachina.com

67

技术与方法

Technique and Method
#define READ_TDO 0x07 // 读 TDO 信 号 命 令 0x08 0x09 // 读 写 指 令 , 对 TDI 写 一 位 , 对 TDO 一 位 // 写 TMS 信 号 命 令

输 、 USB 总 线 复 位 等 。 然 后 判 断 标 志 位 是 否 收 到 数 据 , 如 果未收到则继续执行无限循环;如果收到了数据,则将 数据从端点缓冲区读出 ,再交 给数 据处理 函数 处理 。 数 据处理函数按照上位机程序对数据封装方式进行解析, 根 据 解 析 的 命 令 ( 读 取 TDI 、 写 TMS 或 TDO 等 ) , 通 过 分 支处理跳到相应的处理函数。 在这个过程中如果上位机 要读取调试目标数据,可将相 应的值 按同 样格式 进行 封 装 , 然 后 通 过 USB 发 送 到 上 位 机 。 数 据 封 装 格 式 如 图 6 所示。
命令码 CMD 数据 DATA(62 B ,不足 62 B 补零 ) 图 6 数据封装格式 校验和 SUM

#define WRITE_AND_READ #define WRITE_TMS

#define WRITE_TMS_CHAIN 0x0A // 写 TMS 扫 描 链 命 令 本 仿 真 器 经 实 际 测 试 下 载 速 度 稳 定 在 30 KB/s 左 右,具有单步、全速、设置断点(两个硬断点和无数 软断 点)等功能。 本文提出了一种具有硬件电路设计简单、价 格 低 廉 、 调 试 速 度 快 的 ARM 仿 真 器 设 计 方 案 , 是 取 代 传 统 并 口 方 式 ARM 仿 真 器 的 一 种 确 实 可 行 的 方 案 。 参考文献 [1 ] 田 泽 . 嵌 入 式 系 统 开 发 与 应 用 [M] . 北 京 : 北 京 航 空 航 天
大 学 出 版 社 , 2004.

(1 B)

(1 B)

C 语言定义的命令码如下:
#define UNKOWN_COMMAND #define PORT_DIRECTION #define PORT_SET #define PORT_GET #define PORT_SETBIT #define PORT_GETBIT #define WRITE_TDI 0x02 0x03 0x04 0x05 0x06 0x01 0x00 // 未 知 指 令 // 设 置 端 口 方
向为输入或输出

[2 ] 邓 春 梅 . 嵌 入 式 系 统 软 件 仿 真 技 术 的 研 究 与 实 现 [D]. 成
都 : 电 子 科 技 大 学 , 2004.

[3] 杨 晶 箐 .USB 接 口 的 边 界 扫 描 测 试 控 制 器 的 设 计 与 实 现 [D]. 成 都 : 成 都 电 子 科 技 大 学 , 2006. [4] 周 立 功 , 张 华 . 深 入 浅 出 ARM7 -LPC213x/214x [M] . 北 京 :
北 京 航 空 航 天 大 学 出 版 社 , 2005.

// 将 JTAG 端 口 的 引
脚都设为高电平

// 读 JTAG 端 口 的 引
脚数据

( 收 稿 日 期 : 2009-10-12 ) 作者简介:
郭 华 , 男 , 1978 年 生 , 硕 士 , 讲 师 , 主 要 研 究 方 向 : 嵌 入 式系统应用。 陈 新 华 , 女 , 1951 年 生 , 教 授 , 主 要 研 究 方 向 : 嵌 入 式 与 集成电路应用。

// 设 置 JTAG 端 口 的 某 // 读 取 JTAG 端 口 的 某 // 写 TDI 信 号 命 令

一 位 为 1 , 由 DATA [0] 中 数 据 决 定 设 置 的 具 体 位 数 一 位 为 1 , 由 DATA [0] 中 数 据 决 定 读 取 的 具 体 位 数

( 上 接 第 65 页 ) 误 差 : 0.54 cm/s 。 水 速 方 向 : 向 换 能 器 流 动 。 从实验 1 可知,理论值和文中提到的动态跟踪测量 方法 、精度达到一致。 流速分辨 率完 全可 以满足 工程 要 求,且计算复杂度小。 实验 2 的数据表明,实验值和真实 值 之 间 的 波 动 在 允 许 的 范 围 2 cm/s 内 。 满 足 工 程 需 求 。 设计中利用欠采样的性质,对多普勒信号进行提取 和估计, 在多普勒信号的提取中充当着混频器的作用; 在基于局部频带细化过程中起到了频谱搬移的作用。 为 了判定流速方向,把 发射 信号 频率调 到中 频,可以 根据 欠采样性质判定流速方向。 测量过程中一旦流速方向和 流速范围确定,可以根据事先 设置的 流速 阈值选 择相 应 频段的抽取带通滤波器,对相应 局部的 频带 进行选 择抽 取 , 进 而 做 细 化 处 理 分 析 ( 欠 采 样 下 的 ZFFT) 。 事 实 证 明 , 这种方法大大提高了流速分辨率,而且可测流速范围也 较宽。 参考文献 [1] 张 羽 , 汪 源 源 , 王 威 琪 . 超 声 多 普 勒 信 号 平 均 频 率 估 计
方 法 的 比 较 研 究 [J]. 声 学 技 术 , 2000 , 19(3) : 127-129.

[3] 陈 方 明 , 王 浩 .Doppler 测 速 系 统 初 速 度 的 一 种 快 速 算 法 [J]. 国 外 电 子 测 量 技 术 , 2005 , 24(7):41 -43. [4] 张 睿 . 带 通 欠 采 样 技 术 在 软 件 接 收 机 中 的 应 用 [J]. 西 安
电 子 科 技 大 学 学 报 ( 自 然 科 学 版 ) , 2000 , 27(3):327-328.

[5] 周 良 将 , 梁 兴 东 , 丁 赤 飚 . 高 精 度 相 位 特 性 测 系 统 设 计
与 实 现 [J]. 电 子 测 量 与 仪 器 学 报 .2009:193-194.

[6] 李 慧 光 . 欠 采 样 频 率 的 选 取 [J]. 传 感 技 术 学 报 , 1998 , 12 (4) : 16-19. [7] 丁 康 , 谢 明 , 张 彼 德 , 等 . 基 于 复 解 析 带 通 滤 波 器 的 复 调
制 细 化 谱 分 析 原 理 和 方 法 [J]. 振 动 工 程 学 报 , 2001 , 14

(1 ):30-35. [8] 罗 守 男 . 基 于 超 声 多 普 勒 方 法 的 管 道 流 量 测 量 研 究 [D].
北 京 : 清 华 大 学 , 2004.

( 收 稿 日 期 : 2010-01 -04) 作者简介:
李 建 立 , 男 , 1983 年 生 , 硕 士 , 主 要 研 究 方 向 : 信 号 与 信 息处理。 刘 纪 元 , 男 , 1963 年 生 , 博 士 , 教 授 , 博 士 生 导 师 , 主 要 研究方向:雷达、声纳信号处理。 焦 学 峰 , 男 , 1968 年 生 , 博 士 , 研 究 员 , 总 工 程 师 , 主 要 研究方向:微弱信号处理。

[2] 孙 兴 亮 . 多 普 勒 测 速 技 术 — 信 号 处 理 技 术 [D]. 西 安 : 西
安 电 子 科 技 大 学 , 2005.

68

《 微 型 机 与 应 用 》 2010 年 第 9 期


相关文章:
仿真器概念及实现技术
III, Hitool for ARM/PowerPC 等多系列仿真器。...实现方式,直接采用最普通的商用 CPU 去 设计仿真器...USB, PCMCIA 1394, LCD, 像 Ethernet 等, 就需要...
嵌入式系统设计必备ARM仿真器知识
嵌入式系统设计必备 ARM 仿真器知识 一、嵌入式产品的开发周期 典型的嵌入式微...Nohau 的仿真器使用这三种芯片来实现有效的程序调试。 五、Bondout、增强型 ...
嵌入式系统之ARM仿真器比较
Multi ARM 仿真器 1、IAR J-Link 仿真器 性能特点 * * * * * * * * * * * * * * * * * * * * * USB 2.0接口; 支持任何 ARM7/ARM9 核 ...
嵌入式编程环境及仿真器简介
器开发的工具,为满足基于 MCU 进行嵌入式软件开发的工程师需求而设计,支持 ARM...ST-Link-II:ST 公司的仿真接口,USB 1.1 全速,USB 电源供电,自适应目标系统...
自制ARM仿真器
Multi-ICE 的系统构架是由硬 件实现 PC 并口到 ...基于USB的ARM仿真器的研... 暂无评价 3页 ¥2...嵌入式系统设计师必备的... 17页 免费 arm仿真器...
2012软考嵌入式系统设计师必备的在线ARM仿真器知识
本文提供了一些关于在线 ARM 仿真器的信息,以及给作为嵌入式系统设计师的你带来...Nohau 的仿真器使用这三种芯片来实现有效的程序调试。 五、Bondout、增强型 ...
arm仿真器的性能特点
集成开发环境相结合, 处理器内核, 可以与 ADS V1.2 集成开发环境或 SDT2....ARM仿真器使用手册 12页 1下载券 基于USB的ARM仿真器的研... 3页 1下载券...
8086仿真器和国内仿真器价格
(/S)/8xC196F 标题:pic 仿真器和 usb 仿真器...13. 贴片式设计,机器加工,保证品质! 14.PCB 尺寸...接口的仿真支持基于 Atmel SAM ARM Cortex-M 的 ...
ARM 32位系列仿真器
ARM 32位系列仿真器_计算机硬件及网络_IT/计算机_专业...H-JTAG USB 仿真器是 H-JTAG 团队自主设计的一款...与 H-JTAG/H-FLASHER 配合使用,可以实现高速调试与...
基于单片机的PLC设计与实现毕业设计论文
RTC(实时时钟)、CAN 接口、EEPROM、I2C接口、SPI接口、USB的接口类型、看门狗。...有具体要求,芯片供电使用DC5V,便于设计系统外围电路;芯片支持ISP可节省仿真 器的...
更多相关标签:
arm仿真器 | arm仿真器的作用 | arm仿真器软件 | arm仿真器接口图 | j link v8 arm 仿真器 | arm仿真器驱动 | arm仿真器维修 | arm 仿真器无法识别 |