基于PDIUSBDl2芯片的USB接口设计
检测是哪一条数据线电压变高来确定设备是全速或低速,当D+数据线高时,就为全速;当D一数据线低时,就为低速。PDIUSBBDl2的全速模式通过软连接(SoftConnectTM)在D十上接1个1.5k12的上拉电阻。
3 固件设计
当设备连接到主机以后,主机通过给PDIUSBDl2的端点0发送包含标准USB请求的控制传输(即Setup包),PDIUSBDl2产生一个中断给MCU(INT0),MCU通过读PDIUSBDl2的中断寄存器和最后一次传输状态寄存器来对每一个请求作出响应,并通过PDIUSBDl2的端点0回送请求信息。主机从返回的信息中读取描述数据,分配和载人一个设备驱动程序并对设备进行配置。设备被配置好后,就可以使用配置中支持的端点来传输数据。这一部分工作由MCU来控制完成,并且该控制程序需要固化在ADuC812的内部ROM中,称之为固件(firmware)。
PDIUSBDl2的端点0有3个状态,其变化关系如图3所示,固件程序必须利用这3种状态关系来正确地处理控制传输。把主机通过PDIUSBDl2的端点0给设备发USB请求设为OUTs,通过端点0接收数据设为INs。MCU处理来自主机的Setup包(Control Out)的软件流程图如图4所示,MCU通过PDIUSBDl2的控制端点。给主机发送描述符数据(Control In)的软件流程图如图5所示。PDIUSBDl2的描述符数据必须严格遵循USBl.1协议第九章(Chap9)的规定,描述符数据包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符。
完成PDIUSBDl2的固件(Firmware)程序后,在USB设备驱动程序的开发中笔者使用了Jungo公司的WinDriver 5.03,应用程序的开发使用的是VC 6.0。
4 结 语
该USB接口适合于高速数据采集系统与主机进行数据通信,同时,他也为便携式系统提供了方便、快捷和可靠的接口解决方案。目前,USB已经广泛地应用在PC的外设上,特别是USB 2.0协议推出后,数据传输能力和速度大大提高,使得USB数码相机、数码摄像机能在短时间内完成大容量的图像传输。此外,USB的突出特点使得他必将在更广阔的领域得到应用。
- PDIUSBDl2芯片在USB接口电路中的应用(03-13)
- 基于引言DSP平台的USB接口设计(11-30)
- 低成本USB接口密钥的设计方法(12-21)
- USB接口类型(12-15)
- C#实现USB接口的程序代码(12-14)
- USB接口的基础理论知识(12-14)