线上的。PD工USBD12的软连接(SoftConnet)技术使得在电路设计中可以省去此电阻,并可以通过软件设置。
图2 PDIUSBD12的原理图
(1)模拟收发器:集成的收发器接口可通过终端电阻直接与USB电缆相连。
(2)电压调整器:片内集成了一个3. 3V的调整器用于模拟收发器的供电,该电压还作为输出连接到外部上拉电阻。可选择D12提供的带有上拉电阻的软件连接技术。
(3)倍频电路(PLL)片内集成了6M到48M时钟乘法PLL,就可使用低成本的6M晶振。 (4)位时钟恢复:位时钟恢复电路使用4X过采样规则,从进入的USB数据流中恢复时钟。它能跟踪USB规定范围内的抖动和频漂。
(5)串行接口引擎(SIE):串行接口引擎实现了全部的USB协议层,完全由硬件实现而不需要固件的参与。该模块的功能包括同步模式的识别、并行/串行转换、位填充/解除填充、CRC校验/产生、PID校验/产生、地址识别和握手评估等。
(6)存储器管理单元(ME)和集成RAM:在进行数据传输并与微处理器的并口相连时,MMU和集成RAM作为USB间传输的缓冲区,允许MCU以它自己速率对USB信息包读写。 PDIUSBD12内部结构框图如图3所示:
(1)模拟收发器(ANALOG TX/RX ):集成的收发器直接通过终端电阻与USB电缆接口。 (2)电压调整器:片上集成的1个3.3V电压调整器为模拟收发器供电,也提供连接到外部1.5k Q上拉电阻的输出电压。PDIUSBDI2提供集成1.5k 0上拉电阻的SoftConnect技术。
(3)PLL(锁相环):片上集成I个6^-48MHz的倍频PLL,允许使用6MHz的晶振,EMI也由于使用低频晶振而减小。PLL的工作不需要外部器件。
(4)位时钟恢复:位时钟恢复电路用4倍过采样原理,从输入的USB数据流中恢复时钟,能跟踪USB规范中指出的信号抖动和频率漂移。
(5)串行接口引擎(S I E): PHILIPS的SIE完全实现USB协议层。考虑到速度,它是全硬件的,不需要固件(微程序)介入。这个模块的功能包括:同步模式识别、并/串转换、位填充/不填充、CRC
6
校验、PID确认、地址识别以及握手鉴定。
6MHZ 集成上行端口 3.3V 1.5K? D+ D+ RAM D- PLL 位时钟恢复 ANALOG TX/AX PHILIPS SIE 并行内存管理单元 softconnect 电压调整器 和DAM接口
图3 PDIUSBD12的内部框图
(6)Soft Connect:高速设备与USB的连接是靠把D+通过1个1.5k。的上拉电阻接到高电平来建立的。在PDIUSBD 12中,这个上拉电阻集成在芯片内,缺省情况下没有连接到VDD,这个连接是靠外部MCU发一个命令来建立。这使得系统微处理器可以在决定建立USB连接之前完成初始化。重新初始化USB总线连接也可以不用拔掉电缆来完成。
(7)Good Link: GoodLink是靠一个引脚接发光二极管实现的。在USB设备枚举时LED指示灯将立即闪亮:当PDIUSBD 12被成功枚举并配置时,LED指示灯将会一直亮;在PDIUSBD 12的USB数据传输过程中,LED将闪烁;在挂起期间,LED熄灭。这种特性可以使我们了解芯片状态和方便电路调试。
3.3 PDIUSBD12的端点描述
端点(Endpoint)是一个USB设备唯一可以确认的部分,它是主机与设备之间的通信流终点。一系列相互独立的端点在一起构成了USB逻辑设备。每个逻辑设备有一个唯一的地址,这个地址是在设备连上主机时,由主机分配的,而设备中的每个端点在设备内部有唯一的端点号。这个端点号是在设备设计时被给定的。每个端点都是一个简单的连接点,或者支持数据流进设备,或者支持其流出设备,两者不可得兼。端点具有确定端点与客户软件之间通信所需要的传输服务类型的功能,一个端点可通过下列几个方面的特性来描述自己:总线访问频率要求、总线延迟要求、带宽要求、端点号、错误处理的方法、接收或发送包的最大长度、传送类型、数据传输方向。 (1)端点0要求:所有USB设备都需要实现一个缺省的控制方法。这种方法将端
7
点0作为输入端点,同时也将端点0作为输出端点。USB系统用这个缺省方法初始化及一般地使用逻辑设备(即设置此设备)。缺省控制通道支持了对控制的传送,一旦设备接上,并加电,且又收到一个总线复位命令,端点0就是可访问的了。
(2)非0端点要求:设备可以有除0以外的其它端点,这取决于这些设备的实现。
低速设备在0号输入及输出端点外,只能有2个额外的可选端点。而高速设备可具有的额外端点数仅受限于协议的定义,协议中规定,最多15个额外的输入端点和最多15个额外的输出端点。非0端点在被配置前处于未知状态,在设备配置以后才能使用。
D12的端点适用于不同类型的设备,并可通过“Set Mode”命令配置为4种不同的模式:模式0(非同步模式),模式1(同步输出模式),模式2(同步输入模式),模式3(同步输入输出模式)。本设计中只用到了模式0配置,同步模式配置未使用。端点可用来存放从主机接受到或者设备发送来的数据,每个端点都有属于自己的缓冲区。模式0配置下的端点缓冲区如表1所示。
端点2(主端点)是进行吞吐大数据量的主要端点,具有64字节双缓冲区结构,可以减轻传输大量数据的任务:
[1]双缓冲。允许USB与本地CPU之间的并行读写操作这样就增加了数据的吞吐量缓冲区切换是自动处理的这导致了透明的缓冲区操作。
[2]支持DMA直接存储器访问操作。可以和对其它端点的正常I/0操作交叉进行。 [3] DMA操作中的自动指针处理。在跨过缓冲区边界时不需要本地CPU的干预。 [4]可配置为同步传输或非同步批量和中断传输。
表1 端点缓冲区配置(模式0)
端点号 端点索引 传输类型 端点类型 方向 缓冲区长度(字节) 0 0 1 1 2 3 2 4 5 控制输出 控制输出 普通输出 普通输出 普通输出 普通输出 默认 默认 普通 普通 普通 普通 输出 输入 输出 输入 输出 输入 16 16 16 16 64 64
8
3.4 PDIUSBD12的指令集
PDIUSBD12有自己的专用指令集,用于设置USB芯片、读取USB芯片的状态和控制USB总线传输。D12芯片内有一系列的寄存器对应着这些指令,微处理器把要设置的值按字节写入D12的这些寄存器,或者从D12的这些寄存器中读出USB总线的状态。D12有三种基本的类型的命令:初始化、数据流和通用命令。
(1)初始化命令
初始化命令在USB总线进行枚举处理时使用,这些命令用于使能端点的功能,还可用来设置USB分配的地址,包括:设置地址/使能、设置端点使能、设置模式(设置分频系数、软连接、端点模式以及中断模式等)、DMA设置等命令。
表2初始化命令指令集
命令名 接收者 编码 数据 初始化命令 设置地址使能 设置端点使能 设置模式 设置DMA (2)数据流命令
数据流命令用于管理USB端点和外部微控制器之间的数据传输,D12通过微控制器中断初始化大量的数据流。微控制器利用这些命令访问和决定端点的FIFO是否含有有效的数据。包括:读中断寄存器、选择端点、读最后处理状态寄存器、读缓冲区、写缓冲区、使缓冲区有效、清除缓冲区、设置端点状态、应答建立等命令。
表3数据流命令指令集
数据流命令 读中断寄存器 选择端点 器件 控制输出 控制输入 端点1输出 端点1输入 F4h 00h 01h 02h 03H 读2字节 读1字节(可选) 读1字节(可选) 读1字节(可选) 读1字节(可选) 器件 器件 器件 器件 D0h D8h F3h FBh 写1字节 写1字节 写2字节 写/读1字节
9
读最后处理状态 读缓冲区 写缓冲区 设置端点状态 应答设置 缓冲区清零 使缓冲区有效 端点2输出 端点2输入 控制输出 控制输入 端点1输出 端点1输入 端点2输出 端点2输入 选择的端点 选择的端点 控制输出 控制输入 端点1输出 端点1输入 端点2输出 端点2输入 选择的端点 选择的端点 选择的端点 04h 05h 40h 41h 42h 43h 44h 45h F0h F0h 40h 41h 42h 43h 44h 45h F1h F2h FAh 读1字节(可选) 读1字节(可选) 读1字节 读1字节 读1字节 读1字节 读1字节 读1字节 写n字节 写n字节 写1字节 写1字节 写1字节 写1字节 写1字节 写1字节 无 无 无 (3)普通命令:包括发送恢复、读当前帧数目两个命令。
表4普通命令指令集
普通指令 发送恢复 读当前桢树木 F6h F5h 无 读1或2字节 3.5 PDIUSBD12的管脚配置
PD12共有28个管脚,具有S028和TSSOP28两种封装形式,管脚图如图4具体的管脚功能如表5:
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机和USB接口技术(2)在线全文阅读。
相关推荐: