31.6.3 主机操作
这节给出一个在正常执行USB主机模式操作的概览。更多的通用USB和USB协议的描述,请参考串行总
线规格书2.1版本。
31.6.3.1 设备检测和不连接
在设备检测之前,软件必须设置在CTRLB里VBUS OK位(CTRLB.VBUSOK)寄存器当VBUS是可用的。这个宣
布了USB主机的USB操作能开始了。当CTRLB.VBUSOK是0,甚至如果USB HOST被配置成使能,主操作被暂停。当
USB被配置设置CTRLB.VBUSOK将允许主操作。
设备检测通过软件用主机状态寄存器里的线状态段来管理的(STATUS.LINESTATE)。设备连接检测通过
主机控制器,当DP或DM是拉高,依据设备的速度。
设备不连接是通过主机控制器检测,当DP和DM用STATUS.LINESTATE寄存器拉低。
在INTFLAG(INTFLAG.DDISC)设备不连接中断比特被设置如果一个设备不连接被检测到。
31.6.3.2 主机术语
在主机模式中,术语管道是用来代替端点。一个主管道相关于设备的端点,参考"Universal Serial
Bus Specification revision 2.1"来得到更多的信息。
31.6.3.3 USB复位
当用户写一个1到CTRLB中USB复位比特(CTRLB.BUSRESET),USB发送一个USB复位信号。
当USB复位被发送, USB复位发送中断比特在INTFLAG(INTFLAG.RST)被设置并且所有管道将禁止。
如果总线提前处于一个挂起状态(开始帧使能比特在CTRLB(CTRLB.SOFE)是零)USB将要转到恢复状态,
导致总线异步设置主机唤醒中断标志(INTFLAG.WAKEUP)。CTRLB.SOFE比特将要被设置为了在USB复位后产生
SOFs。
在USB复位时以下寄存器被清除:
。所有管道配置寄存器(PCFG)
。主机帧数量寄存器(FNUM)
。批量输出/PING执行登记的时间间隔(BINTERVAL)
。主机起始帧控制寄存器(HSOFC)
。管道中断使能清除/设置寄存器(PINTENCLR/SET)
。管道中断标志寄存器(PINTFLAG)
。在管道状态寄存器中管道冻结比特(PSTATUS.FREEZE)
在复位后用户应检查速度状态段在状态寄存器(STATUS.SPEED)来发现当前的速度,依据外设的能力。
|