AT43USB380:AT43USB370的USB 2.0 OTG升级方案

电子说

1.4w人已加入

描述

AT43USB380:AT43USB370的USB 2.0 OTG升级方案

在电子设计领域,不断地对原有的产品进行升级和优化是推动技术进步的重要途径。今天我们要探讨的AT43USB380,就是Atmel公司对AT43USB370进行的一次重要升级,它在支持USB 2.0 On - The - Go(OTG)规范方面表现出色。

文件下载:AT43USB380E-AC.pdf

一、AT43USB380概述

AT43USB380是AT43USB370主机/功能处理器的直接升级版本,旨在支持USB 2.0 OTG规范。它既可以作为单芯片主机/功能处理器独立工作,也可以与外部Atmel电荷泵配合,构成完整的OTG解决方案。

从功能上看,AT43USB380作为主机/功能处理器与AT43USB370基本等效,在现有AT43USB370设计中,只需进行少量硬件修改,就可以用AT43USB380替代AT43USB370。不过,两者在引脚分配上存在差异,这主要是因为AT43USB380增加了片上OTG接口。

二、硬件特性

1. 片上OTG接口

为支持OTG功能,AT43USB380增加了片上OTG接口。该接口包含ID、DISCHARGE、PUMP、CONTROL、EN、SESS_VLD、SESS_END、SESS_HIGH和SESS_LOW等信号。在OTG会话期间,这些信号用于确定AT43USB380和连接的支持OTG的USB设备的角色,是作为主机还是功能设备。大家在设计时,要特别关注这些信号的连接和配置,以确保OTG功能的正常实现。

2. 8/16/32位通用主机处理器接口

AT43USB380具有可变宽度的通用主机处理器接口,而AT43USB370仅支持32位主机接口。AT43USB380主机接口的宽度由固件配置决定,这为设计带来了更大的灵活性。在实际应用中,我们可以根据具体需求选择合适的接口宽度,以优化系统性能。

3. 简化的系统接口

与AT43USB370相比,AT43USB380不再需要用于握手的GPIO。系统处理器可以直接写入AT43USB380寄存器,从而消除了PROG、SEL、READY、DONE、MORE、INTR_IN等信号的需求。WAIT_N信号也仅作为SYS_CLK同步的预防措施,并非必需。这种简化的设计减少了硬件复杂度,提高了系统的稳定性。

4. 多达16个GPIO引脚

GPIO引脚与主机处理器接口复用。当主机处理器接口为8位或16位时,主机处理器接口中最多16个未使用的引脚可以用作GPIO引脚。同时,还提供了高级API来访问这些GPIO引脚,方便开发者进行功能扩展。

三、固件开发环境

在固件开发环境方面,AT43USB380与AT43USB370共享相同的高级API和低级固件库。此外,AT43USB380的固件套件还增加了以下内容:

1. 特定于OTG支持的高级API

新增的高级API数量少于10个,这些API为开发者提供了方便的接口,用于实现OTG功能。

2. 嵌入式低级OTG固件

AT43USB380硬件中嵌入了支持主机协商协议(HNP)和会话请求协议(SRP)的低级OTG固件。这些协议对于OTG会话的建立和管理至关重要,开发者需要深入理解并正确使用。

同时,AT43USB380与AT43USB370共享相同的调试工具。在开发过程中,可以将AT43USB380视为一个黑盒,通过少量(少于25个)符合ANSI C标准的高级API与它进行通信。实际的USB协议(包括HNP和SRP)对主机处理器是透明的。

四、引脚描述

AT43USB380的引脚功能丰富,涵盖了系统接口、USB接口、电荷泵接口、振荡器和时钟、JTAG接口、测试引脚以及电源/接地引脚等多个方面。详细的引脚描述如下表所示: 信号名称 方向 极性 宽度 描述
System Interface
SYS_CLK I 1 主机系统时钟输入,用于WAIT_N和DREQ_N的同步(同步要求可通过内部寄存器设置启用/禁用)
A[7:0] I 8 系统地址总线
CS_N I LO 1 来自系统(ARM®)的CHIP_SELECT信号
D[15:0] B 16 系统数据总线[15:0]
D[31:16]/ GPIO[15:0] B 16 BWIDTH[1:0]=1x : 系统数据总线[31:16] BWIDTH[1:0]=0x : GPIO[15:0]
DACK_N I LO 1 来自系统(ARM)的DMA确认
DREQ_N O LO 1 向系统(ARM)的DMA请求
INTR_OUT O HI 1 向系统(ARM)的中断
OE_N I LO 1 来自系统(ARM)的OUTPUT_ENABLE
WAIT_N O LO 1 向系统(ARM)的WAIT
WE_N I LO 1 来自系统(ARM)的WRITE_ENABLE
BWIDTH[1:0] I 2 系统数据总线大小: 00 : 8位接口D[7:0] 01 : 16位接口D[15:0] 1x : 32位接口D[31:0]
WAKEUP_N I LO 1 来自系统的唤醒请求
USB Interface
DM B 1 USB线(D - )
DP B 1 USB线(D + )
ID I 1 OTG设备类型识别;用于区分Mini - A和Mini - B插头
RPU_EN O 1 启用D + 线的电阻上拉
RPD_EN O 1 启用D + /D - 线的电阻下拉
Charge Pump Interface
CPClk O 1 电荷泵时钟输出
EN O 1 电荷泵;启用电荷泵
PUMP_EN O 1 电荷泵;启用电荷泵
SESS_VLD I 1 电荷泵;当VBUS > VSESS_VLD时为高电平,否则为“0”
SESS_END I 1 电荷泵;当VBUS > VSESS_END时为高电平,否则为“0”
SESS_LOW I 1 电荷泵;当VBUS > VSESS_LOW时为高电平,否则为“0”
SESS_HIGH I 1 电荷泵;当VBUS > VSESS_HIGH时为高电平,否则为“0”
LOW_CUR O 1 限制电荷泵的电流输出。在配置为B设备时,用于VBUS脉冲期间
DISCHARGE O 1 电荷泵;将VBUS接地
Oscillator, Clocks
XTAL1 I 1 振荡器输入
XTAL2 O 1 振荡器输出
LFT I 1 PLL环路滤波器
CLK_SEL I 1 晶体和外部振荡器之间的时钟源选择
RESET_N I LO 1 USB处理器的复位
Jtag Interface
TCK/SI I 1 TP3 = 0: JTAG时钟 - 来自JTAG控制器;TP3 = 1: SI - EEPROM
TDI/SCK I 1 TP3 = 0: JTAG串行数据输入 - 来自JTAG控制器;TP3 = 1: SCK - EEPROM
TDO/SO O 1 TP3 = 0: JTAG串行数据输出 - 来自JTAG控制器;TP3 = 1: SO - EEPROM
TMS/CS I 1 TP3 = 0: JTAG模式选择 - 来自JTAG控制器;TP3 = 1: CS - EEPROM
TRST_N I LO 1 来自JTAG控制器的JTAG复位
Test Pins
TP0 I 1 测试引脚0
TP1 I 1 测试引脚1
TP2 I 1 测试引脚2
TP3 I 1 测试引脚3
TP4/SCAN_EN I 1 测试引脚4/SCAN_EN
TP_CLK /D_CLK O 1 时钟测试输出/SIE DPLL提取的时钟
TP_RCV_DATA /RCV_DATA O 1 提取的串行数据测试输出
Power/Ground Pins
VEXT18 O 3 1.8V稳压输出
VDD I 5 3.3V输入
VSS 10 接地

同时,文档还给出了详细的引脚分配表,这里就不一一列举了。大家在进行硬件设计时,一定要仔细对照引脚描述和分配表,确保引脚连接正确。

五、USB - OTG接口连接(主机模式)

在主机模式下,AT43USB380的USB和电荷泵连接如图所示(文档中的Figure 1)。从图中可以看到,需要连接多个电阻、电容等元件,并且要正确连接电荷泵的各个引脚,以确保系统正常工作。大家在实际设计中,要根据电路图仔细进行元件选型和布局,注意信号的干扰和电源的稳定性。

总之,AT43USB380为电子工程师提供了一个强大的USB 2.0 OTG解决方案。通过对其硬件特性、固件开发环境和引脚等方面的了解,我们可以更好地利用这个芯片进行产品设计。大家在使用过程中,遇到问题可以随时查阅相关文档,或者与Atmel的技术支持人员沟通。你在设计中是否使用过类似的芯片呢?有没有遇到过一些独特的问题?欢迎在评论区分享你的经验。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分