微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PDIUSBDl2芯片的USB接口设计

基于PDIUSBDl2芯片的USB接口设计

时间:03-09 来源:互联网 点击:

检测是哪一条数据线电压变高来确定设备是全速或低速,当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的突出特点使得他必将在更广阔的领域得到应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top