2 USB OTG主/从机系统设计
USB OTG主/从机系统设计包括硬件设计和软件设计两大模块。其中硬件电路主要是USB接口电路板的设计;软件设计包括设备初始化、系统的功能设计、设备驱动程序设计等,下面分别介绍系统软、硬件系统的设计方法。
2.1 系统硬件电路设计
USB OTG主/从机设计的硬件电路如图2所示,图中ATmega 32的PD口和IPA口用于控制ISP1362的时序,PB口和PC口则用于与ISP1362的D[0..15]进行数据交换。ISP1362芯片有Port1和IPort2两个USB接口。Port1是个综合接口,可以配置成downstream、upstream或者是OTG;Port2是作为固定的downstream,主要接一般的USB设备。当ISP1362做主机时,主机内部的寄存器通过检测其相应状态寄存器的值就可以判断是Port1还是Port2接了设备,从而进行相应的处理。
ISP1362的Port1口主/从机功能通过ID、OTGMODE两引脚电平的高低组合来确定。当OTGMODE引脚接低,无论ID电平如何,则芯片的Port1口只能OTG用;如果OTGMODE接高,ID接低,芯片的Port1口作主机使用;OTGMODE接高,ID也接高时,则芯片的Port1口作外设使用。在电路中通过15kΩ的上拉电阻和下拉电阻实现ID、OTGMODE两引脚电平的高低变化。