USB数据通信接□模块的元器件选型
2013-10-17 来源:dzsc
PDIUSBD 12是一款性价比很高的USB器件,它通常用作微控制器系统中实现与微控制器进行通信的高速通 用并行接口,它还支持本地的DMA传输。
1.芯片工作方式
PDIUSBD12可编程为单周期DMA或突发模式DMA。在单周期DMA中DMREQ在每单个应答后直到被DMACK N重新激 活之前保持无效。在突发模式DMA中DMREQ在器件中突发编程时一直保持有效。该过程持续到PDIUSBD12通过 E0T N接收到一个DMA终止信息,这时产生一个中断指示本地CPU,DMA操作已经完成。
在DMA读操作时,DMREQ仅当缓冲区完全表示主机成功地发送了一个信息包到PDIUSBD12时才有效。由于具 有双缓冲,配置主机可以在第一个缓冲区被读出时对第二个缓冲区进行填充,这种并行的处理有效地增加了 数据吞吐量。当主机没有完全填满缓冲区的情况下(单向ISO配置时小于64或128字节),DMREQ会在缓冲区 的最后一个字节时无效,而不管当前的DMA突发计数。在更新了DMA突发计数的下一个包发送时,DMREQ再次 被激活。
DMA的写操作与之相似,当缓冲区未装满时,DMREQ一直有效;当缓冲区填满时,下一个IN标志将信息包送入主机,当传输完成之后DMREQ变为无效。同样,双缓冲配置也改善了数据的吞吐 量。在非同步传输中(批量模式和中断),在数据被发送到主机之前,缓冲区需要通过DMA写操作完全装满 。惟一的例外是,在DMA传输结束时,EOT N接收的信号将会停止DMA写操作并且在下一个IN标志置位时将缓 冲区的内容传送到主机。
在同步模式中,本地CPU和DMA控制器必须保证它们在一个USB帧(1ms)中能够吞吐的最大信息包的规模。 DMACK N的激活将自动选择主端点(端点2)而不管当前选择的端点。PDIUSBD12的DMA操作可通过普通的I/O 对其他端点的存取实现交叉存取。DMA操作可通过以下方式终止:复位DMA,使能寄存器位EOT N和DMACK N或 者使能RD_N/WR_N。
PDIUSBD12支持单地址模式中的DMA传输,也可以在DMA控制器的双地址模式中工作。在单地址模式中,DMA 通过DREQ、DMACK_N、EOT_N、WR_N和RD_N控制线实现传输。在双地址模式中,DMREQ、DMACK_N和EOT_N未用 ,取而代之的是CS_N、WR_N和RD_N控制信号,需要遵循PDIUSBD12的I/O模式传输协议。在读周期中对DMAC信 号源进行访问,在写周期对目标进行访问。传输需要两个单独的总线周期来储存暂存在DMAC中的数据。
这种实现USB接口的标准组件使得设计者可以在各种不同类型微控制器中选择最合适的微控制器。这种灵 活性减小了开发的时间风险以及费用,通过使用己有的结构和减少固件上的投资从而用最快捷的方法实现最 经济的USB外设的解决方案。
此外它还集成了许多特性,包括SoftConnetTM、GoodLinkTM、可编程时钟输出、低频晶振和终止寄存器集 合。所有这些特性都为系统显著节约了成本,同时使USB功能在外设上的应用变得容易。
2.芯片功能引脚
PDIUSBD12的功能框图如图1所示。
图1 PDIUSBD12的功能框图
PDIUSBD12引脚如图2所示。
图2 PDIUSBD12的引脚配置图
PDIUSBD12的引脚描述如表1所示。
表1 PDIVSBD12引脚描述