微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PDIUSBD12的USB数据采集系统的设计

基于PDIUSBD12的USB数据采集系统的设计

时间:01-31 来源:互联网 点击:

1引 言

随着计算机微处理器芯片性能的高速发展,计算机逐渐在各种领域中广泛使用,但随之而来的问题是计算机本身软硬件资源的严重不足。为节省计算机的软硬件资源,USB接口应运而生。

USB在诞生之初便面对许多已趋成熟

的计算机接口的挑战,这既要求它有对于其他接口的明显优势,并不断完善,才可能被广大用户接受。表1[1]是USB和其他常见总线在几个参数上的比较。

表1 USB及其他常用总线的比较

USB的优势特点:

(1)速度快。高速模式速率为12Mbps,低速模式速率也可达到1.5Mbps。USB2.0理论上传输率可以达到480Mbps。

(2)安装配置容易。USB设备支持即插即用,支持热拔插。系统对其进行自动配置,不占用中断资源或者DMA资源。USB为接缆和连接头提供了单一模型,解决了插槽紧张问题。

(3)易于扩展。用USB连接的外围设备数目最多达127个,通过集线器可以使外设距离达到12米。

(4)总线供电。USB总线提供最大达5V,500mA电流,对于功耗较小的设备来说这是非常有效的。

(5)使用灵活。USB共有4种传输模式以适应不同设备的需要。

(6)价格便宜。实现USB功能的模块具有低廉的价格。

2 接口芯片PDIUSBD12[2]介绍

PDIUSBD12是Philips公司推出的一种并行接口芯片,它支持多路复用、非多路复用和DMA并行传输。芯片遵循协议USB1.1,支持不同用途的传输类型。PDIUSBD12需要外接微控制器(MCU)来进行协议处理和数据交换,它对MCU没有特殊的要求,因此设计者可以选择适合类型的MCU对芯片进行控制,也可以利用Philips公司的固件结构来做开发。

图1 PDIUSBD12内部结构

PIDUSBD12内部含有集成收发器接口,可通过端口电阻直接连接到USB通信电缆。PDIUSBD12片内集成有3.3V调节器,可给收发器提供电源。该电压可以外接1.5kΩ的上拉电阻作为输出,也可以连接内部集成的1.5kΩ的上拉电阻作为SoftConnectTM的内部电源;由于片内集成了6~48MHz 倍频PLL,因此只需外接低频晶振就可工作,EMI会相应降低。

位时钟恢复电路将时钟从USB数据流中恢复出来,还可以对频率漂移和信号抖动进行跟踪。

SIE(串行接口引擎)能完整地执行USB协议,它已经被完全固化在芯片内部,因此不需要任何固件干涉。这一部分包括同步识别、并行/串行转换、CRC检测/产生、PID确认/产生、地址识别以及握手评定/产生。

SoftConnect(软连接)可通过MCU将指令发到D+(全速设备)来实现。PDIUSBD12的初始化在MCU发命令之前完成。下一次连接无需拔出USB线就可完成。

对MCU来说,PDIUSBD12是一个有8位数据总线和1位地址线的存储设备,它支持地址数据总线复用、非地址数据总线复用以及DMA数据传输方式。

当外设经PDIUSBD12连接到集线器后,集线器就会检测外设的连接状态并向主机报告。一旦发现有设备连接,主机就发送一系列请求给集线器,使得集线器在主机和设备之间建立一个通信通道。然后主机开始列举设备,列举成功后,主机即可从外设获得相关的配置信息对外设进行配置。只有经过配置以后的外设才能被主机识别,并能和主机进行通信。

3 硬 件 设计

此数据采集系统的硬件框图如图2所示。由于USB的协议框架比较大,所以MCU使用带有8kEPROM的89C52。USB接口芯片为 PDIUSBD12。89C52和D12的连接有独立的地址数据总线方式和复用的地址数据总线方式。由于PDIUSBD12既要接受来自89C52的命令又要和89C52进行通信,而他们使用共同的接口D[0…7],所以D12地址的含义是对命令和数据的选择。在第一种方式中,用A0脚表示地址位:A0为 1表示命令,A0为0表示读写的是数据,将它与89C52的一个IO口相连。在发送命令(数据)前先对A0进行置1(0),然后再把命令(数据)的内容送到数据总线上。此时,D12的ALE脚未使用,可直接接地。而我们在此处是使用第二种连接方式,命令和数据使用不同的地址,地址字节中仅LSB位具有实际意义。对偶数地址赋值表示送往D12的是读/写数据,对奇数地址赋值表示往D12写入一个命令。这种接法中,D12的ALE与89C52的ALE相连,ALE的时序关系与89C52跟一般存储器相连相同,在下降沿对地址锁存。此时,A0不使用,应该接高电平。89C52的P0口直接与D12的数据总线相连,作为并行数据和命令传输通道。它的时钟可以直接从D12的CLKOUT接入,而不需要外接晶振。

图2 硬件框图

单片机采集外界模拟量,转换成数字量,再经过PDIUSBD12通过USB接口传送给PC机。这其中主要的难点是89C52和PDIUSBD12之间的通信问题,所以我们把主要精力集中在USB协议这一部分上,重点调通它们之间的通信。

4 软 件 设 计

4.1固件设计[3][4]

USB单片机固件程序通常由三部分组

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

网站地图

Top