基于PDIUSBD12芯片和ADuC812芯片实现串行总线接口设计

网友投稿 268 2022-11-05

基于PDIUSBD12芯片和ADuC812芯片实现串行总线接口设计

(1)有较高的传输速率 USBl.1支持全速和低速2种方式。全速速率为12 Mb/s,低速速率为1.5 Mb/s;USB 2.0除支持USB 1.1的2种速度方式外,还增加了速率可达480Mb/s的高速方式。

(3)他易于扩展 通过根集线器可携带127个设备,真正实现多个外设共用一个接口。

此外,USB还有可靠性高、成本低、功耗小等优点而倍受欢迎。

1 PDIUSBD12芯片和ADuC812芯片简介

1.1 PDIUSBD12简介

PDIUSBD12是Philips公司推出的一款特点突出USB接口芯片。该芯片使用8位并行数据线连接到MCU,1位地址线用来区分写命令或读写数据,他支持3个USB端点,1个端点能保存128B,另2个能保存256B。

1.2 ADuC812简介

由PDIUSBDl2和ADuC812构成的USB接口电路如图2所示。PDIUSBDl2的8位并行数据接人ADuC812的PO口,地址线A15(P2.7)作为PDIUSBDl2的片选,地址线A14(P2.6)作为PDIUSBDl2的命令或数据的选择线。在片选信号有效的前提下(P2.7=0),当P2.6=1时,给PDIUSBDl2发命令;当P2.6=0时,给PDIUSBDl2写数据或从PDIUSBDl2的Buffer中读数据;因此,地址0x7FFF发命令,地址0x3FFF读写数据。PDIUSBDl2与ADuC812的数据交换采用中断方式(外部中断0)。他的一个输出(GL_N)接LED对其状态进行监控,这个LED在USB被连接时会发光,在进行数据传输时会闪烁,LED常亮或一直不亮说明USB接口有问题。

USB设备通过4线电缆接入主机或USB Hub,这4线分别是:Vcc(总线电源),GND(地线),D+和D一(数据线)。主机通过D+和D一上的电压变化来检测到设备的状态,当没有设备连接到USB端口时,D+和D一线上的下拉电阻就将2条数据线拉到近地,当检测到任一条数据线电压接近Vcc,而其他保持近地电压,那么主机就知道该设备已经准备好了。

主机通过检测是哪一条数据线电压变高来确定设备是全速或低速,当D+数据线高时,就为全速;当D一数据线低时,就为低速。PDIUSBBDl2的全速模式通过软连接(SoftConnectTM)在D十上接1个1.5k12的上拉电阻。

3 固件设计

PDIUSBD12的端点0有3个状态,其变化关系如图3所示,固件程序必须利用这3种状态关系来正确地处理控制传输。把主机通过PDIUSBD12的端点0给设备发USB请求设为OUTs,通过端点0接收数据设为INs。MCU处理来自主机的Setup包(Control Out)的软件流程图如图4所示,MCU通过PDIUSBD12的控制端点。给主机发送描述符数据(Control In)的软件流程图如图5所示。PDIUSBDl2的描述符数据必须严格遵循USBl.1协议第九章(Chap9)的规定,描述符数据包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符。

完成PDIUSBD12的固件(Firmware)程序后,在USB设备驱动程序的开发中笔者使用了Jungo公司的WinDriver 5.03,应用程序的开发使用的是VC 6.0。

4 结 语

该USB接口适合于高速数据采集系统与主机进行数据通信,同时,他也为便携式系统提供了方便、快捷和可靠的接口解决方案。目前,USB已经广泛地应用在PC的外设上,特别是USB 2.0协议推出后,数据传输能力和速度大大提高,使得USB数码相机、数码摄像机能在短时间内完成大容量的图像传输。此外,USB的突出特点使得他必将在更广阔的领域得到应用。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux——引导过程与服务控制
下一篇:干货分享:细说双 11 直播背后的压测保障技术
相关文章

 发表评论

暂时没有评论,来抢沙发吧~