|
Atmel嵌入式调试器EDBG中文用户手册
简介 Atmel的嵌入式调试器(EDBG)是一个板载调试器,并集成到Atmel微控制器开发套件。除了支持通过Atmel Studio开发环境编程和调试,EDBG提供了主机和目标MCU之间的数据流功能。
1. 概览 Atmel的嵌入式调试器(EDBG)是用于Atmel设备套件的板载调试器。 EDBG使用户不需要额外的调试器就能够调试目标设备。EDBG也具有其他的功能:数据网关接口(DGI)和虚拟串口,可用于将数据流传输到主机。Atmel EDBG将会枚举为复合USB设备,且每个功能有单独的接口。 Atmel EDBG嵌入在所有的Xplained Pro评估套件里。Atmel EDBG的所有功能不一定适用于所有的套件 - 根据具体套件的功能对EDBG进行出厂配置。 Atmel Studio读取这些配置信息来显示正确的功能并且简化用户界面。当支持的扩展板连接到套件时,EDBG检测这些套件,并将套件的功能报告给Atmel Studio。
1.1 功能 ● 板载编程和调试,通过SWD,JTAG和PDI方式 ● 虚拟串口接口,通过UART连接目标 ● 在目标单片机与PC机之间进行数据流传输的数据网关接口(DGI) ● 提供SPI,USART和TWI接口 ● GPIO用于精确状态指示 ● 扩展板身份识别 ● 通过LED灯指示电源和状态 ● 睡眠模式以降低功耗
2. 编程和调试 Atmel EDBG具有编程和调试基于Atmel AVR内核和Atmel ARM内核的微控制器的能力。支持以下接口: ● Atmel ARM Cortex-M编程和调试接口 ● 串行线调试(SWD) ● Atmel megaAVR编程和调试接口 ● JTAG ● Atmel AVR XMEGA编程和调试接口 ● 编程和调试接口(PDI)
请参见具体套件的用户指南上有关连接接口的详细信息。
3. 虚拟串口 EDBG的特点是带有一个实现虚拟串口的CDC类的USB接口。使用UART连接到目标设备保证计算机和目标之间很方便地进行通信。 通过下面的配置选项来实现: ● 波特率:灵活精确的配置,最大可达2Mbps ● 奇偶校验:无,偶校验,奇校验,标记,空格 ● 停止位:1位,1.5位,2位
终端应用程序必须指定这些配置选项,并且将这些配置传送到连接的EDBG虚拟串口上的。目标MCU的UART必须配置成与虚拟串口相匹配。 需要注意的是,当计算机上没有终端应用程序连接到虚拟串口时,EDBG的UART引脚均为三态。此机制依赖于终端程序发送DTR信号。 Atmel Studio的终端插件支持虚拟串口。其他大多数的终端应用程序也可以正常使用。
4. 数据网关接口 Atmel EDBG的特点是带有一个从目标设备到计算机的流数据接口,称为数据网关接口(DGI)。也就是说该接口可以作为辅助设备用于目标设备上运行的应用程序调试和功能示范。 DGI包含多个数据流的通道。以下的章节列出了可用的信道。 请注意,在全部的开发套件中,并不是所有的接口都需要实现,并且不同的开发套件可以实现这些接口中不同的几个。详情请参阅具体套件的用户指南。
4.1 SPI接口 串行外设接口(SPI)通过四个数字信号连接到EDBG的DGI:MOSI、MISO、SCK和CS。EDBG的SPI设置成运行在从机模式,也就是说目标设备必须设置为主机模式。 CS(片选)线,低电平有效,指示EDBG的SPI在等待接收和/或发送数据。 如果主机希望从EDBG从机的DGI接口接收数据,必须通过使用发起一个传输轮询它们。所有的引脚都是均为三态,直到接口从PC激活并且CS线被拉低。 可以配置SPI模块的模式(时钟相位和数据设置)。有效设置为0-3。每次传输的位个数也可以是每次传输5位到8位之间。 正常工作模式下,DMA将自动缓存输入的数据传输。另外,也可以使时间戳来获得输入数据的更加准确的计时。注意,该时间戳将增加每次数据传输的开销,预计会产生更低的最大吞吐量和需要更长的字节间延迟。发送数据到目标设备时,DMA总是使用。
4.2 USART接口 通用同步/异步接收器/发送器(USART)接口是通过三个数字信号连接到EDBG的DGI:RX、TX和XCK。所有的引脚均处于三态,直到接口从PC激活。 可以支持同步和异步两种模式。如果工作在异步模式下,必须提供正确的波特率设置。波特率配置灵活而且精确,最大可达2Mbps。可以支持无校验、偶校验、奇校验、标记(MARK)和空格(SPACE)的奇偶校验设置。停止位可以设置为1、1.5和2个停止位。可以使用5位到8位的传输大小。如果在同步模式中使用的,必须由目标设备提供时钟信号。 正常工作模式下,DMA将自动缓存输入的数据传输。另外,也可以使时间戳来获得输入数据的更加准确的计时。注意,该时间戳将增加每次数据传输的开销,预计会产生更低的最大吞吐量和需要更长的字节间延迟。发送数据到目标设备时,DMA总是使用。
4.3 TWI接口 两线接口(TWI)通过两个信号连接到EDBG的DGI:SDA和SCL。EDBG的双线接口设置为从机模式,这意味着必须由主机模式的目标设备启动通信。在通讯开始止前,接口必须由PC启用。 TWI接口的从机地址可以配置,但默认设置为0x28。 发送带写位的从机地址,其次是数据字节,这样目标设备到EDBG的DGI的通信完成。主机发送带读位的从地址后必须轮询EDBG的DGI以获取数据。EDBG的DGI将发送1字节长度,然后直接跟着数据。
4.3.1 信息接口 可以使用TWI总线请求来自EDBG的信息。这可以通过发送如下所述的专门序列完成。 ● 启动条件 ● 地址 + 写 ● 请求令牌 ● 启动条件(重新开始) ● 地址 + 读 ● 响应 ● ... ● 停止条件 该序列开始时,发送一个正常的起始条件,跟着带有清零的RW位的一个地址字节(默认地址为0x28)。然后请求令牌标识所请求的信息被发送。通常情况下,一个收到的字节将被放入DGI缓冲区,但重复开始将触发EDBG来解析接收到的令牌。然后带有置位的RW位的地址被发送。EDBG将开始推送所请求的数据到TWI总线。所有响应字节必须由主机确认,而最后一个字节必须是空的。
4.3.1.1 扩展板 令牌: 0xE1 EDBG有10个引脚指定用于扩展板的识别。上电时采样这些引脚并且存储扩展板的识别信息。这些信息可以通过使用扩展板令牌进行检索。这个请求的响应的第一部分是一个2字节BE(第1个字节是最高有效位)的扩展板图包含哪些扩展槽被填充的信息。在扩展图的位0如果是1则代表EXT1被填充,“0”代表没有填充。 如果存在有扩展模块,每个ID芯片内容的64字节被发送。如果扩展板存在时,它会以EXT1开始发送内容,否则没有数据发送。 例如:EXT2和EXT5的扩展板可用。该响应是: ● 0x00 (扩展板图高位) ● 0x12 (扩展板图低位) ● 0x41 'A' (EXT2 ID 内容的第一个字节) ● 0x74 't' (第二个字节) ● 0x6D 'm' (第三个字节) ● 0x65 'e' (第四个字节) ● 0x6C 'l' (第五个字节) ● 0x53 'S' (第六个字节) ● ... 剩余的58个字节 ● 0x41 'A' (EXT5 ID 内容的第一个字节) ● 0x74 't' (第二个字节) ● 0x6D 'm' (第三个字节) ● ... 剩余的61个字节 ● 0x00 (数据结束)
4.3.1.2 套件数据 令牌: 0xD2 EDBG有256字节用于存储套件的具体数据,如MAC地址、校准值等。详情请参阅套件文档中有关数据是如何组织的。该信息可以通过使用套件数据令牌进行检索。注意,并不是所有的套件有具体数据,而且整个部分将读为0。 发送令牌后,存储的套件特定数据将被逐字节发送,起始是位置0,直到检测到一个停止条件。
4.4 GPIO接口 多达四个通用输入/输出(GPIO)信号连接到EDBG的DGI。在输入模式中,它们可以用作目标器件的状态指示。在输出模式中,它们可以用作虚拟的控制信号用来模拟按钮。 GPIO接口始终带有时间标记。它仅对于切换速度相对较慢的(<250kHz)信号有用。
4.5 时间戳模块 通过时间戳模块到嵌入的定时参考,DGI接口接收的数据可以发送到数据流中。实际运行时,时间戳是一个步进(32/60)微秒的递增计数器,提供大约半微秒的时间戳精度。 时间戳模块没有使用DMA,因为在接收的每个数据单元上,需要CPU干预。这意味着较低的最大数据吞吐量,同时要求更大的每个数据单元之间的延迟。
5. 技术概述
5.1 引脚用法 所有EDBG未使用的引脚都是三态的。这样做是为了避免信号冲突。需要注意的是串行通信线的三态和外部干扰有可能导致使得目标MCU接收到非预期的数据。
5.2 电源功耗 EDBG在枚举过程中需要500mA的电流消耗,因此必须先连接到能够提供供该电流的USB主机。不可能准确预测设置时所需的电流量,因为EDBG是众多评估工具套件的一部分。 EDBG在使用过程中单独消耗约100mA电流。当EDBG没有检测到VBUS电压,但使用其他方式供电时(例如通过Xplained Pro PWR插头),EDBG将进入睡眠模式以使功耗最小。在睡眠模式下的功耗根据设计会有所不同,但应该是远低于为1mA。
5.3 LED控制 EDBG控制两个LED指示灯,电源指示灯和状态指示灯。当套件供电时,电源指示灯默认点亮,但可以通过EDBG被禁用,以降低套件的功耗。当主机打开USB接口上的连接时,该状态指示灯点亮。在通讯活动时,状态指示灯会闪烁。 如果EDBG进入bootloader模式,无论是状态指示灯和电源指示灯会同时闪烁。当固件升级过程中,LED将交替闪烁。 EDBG的LED的动作总结在第9页的表5-1.“EDBG的LED控制”。 表5-1.“EDBG的LED控制” | 运行模式 | 电源指示灯 | 状态指示灯 | | 正常运行 | 开发板通电时,电源指示灯点亮。 | 活动指示灯,EDBG每次有动作时LED就闪烁。 |
| Bootloader模式(空闲) | 状态指示灯和电源指示灯同时闪烁 | | Bootloader模式(固件升级) | 状态指示灯和电源指示灯交替闪烁 | |