当前位置:首页 > 单片机 > 单片机
[导读]  USB是近年来应用在PC领域的新型接口技术,是一些PC大厂商,如 MICroSOFt、Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间 的矛盾而制定的一种串行通信的标准,自1995年在Comdex上亮相以

 USB是近年来应用在PC领域的新型接口技术,是一些PC大厂商,如 MICroSOFt、Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间 的矛盾而制定的一种串行通信的标准,自1995年在Comdex上亮相以来至今已广泛地为各 PC厂家所支持。现在生产的PC几乎都配备了USB接口,Microsoft 的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系统都增加了对 USB的支持。

  USB的主要优点:

  ① 使用方便。连接外设不必再打开机箱;允许外设热插拔,而不必关闭主机电源。
  ② 速度快。USB接口的最高传输率可达12 Mb/s;提供低速方式,速率为1.5 Mb/s。扣除用于总线状态控制和错误检测等数据传输,最大理论速度也能 达到1.2 Mb/s和9.6 Mb/s。
  ③ 连接灵活。一个USB口理论上可以连接127个USB设备。连接的方式也十分灵活,既可以使用串行连接,也可以使用集线器Hub,把多个设备连接在一起,再同PC机的USB口相接。
  ④ 独立供电。USB接口提供了内置电源。

  现在的USB生产厂商很多,几乎所有的硬件厂商都有USB 的产品。USB控制器一般有两种类型:一种是MCU集成在芯片里面的,如 Intel的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以及 MOTOLORA、National SEMIconductors等公司的产品;另一种就是纯粹的USB接口芯片,仅处理 USB通信,如PHILIPS的PDIUSBD11(I2C接口)、 PDIUSBP11A、PDIUSBD12(并行接口),National Semiconductor的USBN9602、USBN9603、USBN9604等。前一种由于开发时需要单独的开发系统,因此 开发成本较高;而后一种只是一个芯片与MCU接口实现USB通信功能,因此成本较低,而且可靠性高。本文主要介绍PHILIPS公司的PDIUSBD12器件。

1 PDIUSBD12芯片特点和内部结构

  PDIUSBD12是一个性能优化的USB器件,通常用于基于微控制器的系统并与微控制器通过高速通 用并行接口进行通信,也支持本地DMA传输。该器件采用模块化的方法实现一个 USB接口,允许在众多可用的微控制器中选择最合适的作为系统微控 制器,允许使用现存的体系结构并使固件投资减到最小。这种灵活性减少了开发时间、风险和成本, 是开发低成本且高效的USB外围设备解决方案的一种最快途径。 PDIUSBD12完全符合USB1.1规范,也能适应大多数设备类规范的设计,如成像类、大 容量存储类、通信类、打印类和人工输入设备等,因此,PDIUSBD12 非常适合做很多外围设备,如打印机、扫描仪、外部大容量存储器( Zip驱动器)和数码相机等。现在用SCSI实现的很多设备如果用 USB来实现可以直接降低成本。

  PDIUSBD12挂起时的低功耗以及LazyCLOCk输出符合ACPI、OnNOW和USB电源管理设备的要求。低功耗工作允许实现总线供电的外围设备。

  PDIUSBD12还集成了像SoftConnect、GoodLink、可编程时钟输出、低频晶振和终端电阻等特性。所 有这些特性都能在系统实现时节省成本,同时在外围设备上很容易实现更高级的 USB功能。

1.1 主要特性

  ◇ 符合USB 1.1协议规范;
  ◇ 集成了SIE、FIFO存储器、收发器和电压调整器的高性能USB接口芯片;
  ◇ 适应大多数设备类规范的设计;
  ◇ 与任何微控制器/微处理器有高速(2MB/s)的并行接口;
  ◇ 完全自动DMA操作;
  ◇ 集成了320 B的多配置FIFO存储器;
  ◇ 主端点有双缓存配置,增加吞吐量,容易实现实时数据传输;
  ◇ 在块传输模式下有1MB/s的数据传输率,在同步传输模式下有 1Mb/s的数据传输率;
  ◇ 具有总线供电能力,有非常好的EMI性能;
  ◇ 在挂起时有可控制的LazyClock输出;
  ◇ 可通过软件控制USB总线连接SoftConnect;
  ◇ 在USB传输时有闪亮的USB连接指示灯GoodLink;
  ◇ 时钟频率输出可编程;
  ◇ 符合ACPI、OnNOW和USB电源管理要求;
  ◇ 具有内部上电复位和低电压复位电路;
  ◇ 有SO18和TSSOP28封装;
  ◇ 能在-40~+85 ℃工业级工作;
  ◇ 片内8kV静电保护;
  ◇ 双电压工作:(3.3±0.3)V或扩大的5 V电压范围(3.6~5.5 V);
  ◇ 多中断模式,方便块传输和同步传输。

1.2 内部结构

  PDIUSBD12的内部框图如 图 1 所示。


图1 PDIUSBD12内部结构框图

  ① 模拟收发器。集成的收发器直接通过终端电阻与USB电缆接口。

  ② 电压调整器。片上集成的1个3.3 V电压调整器为模拟收发器供电,也提供连接到外部1.5 kΩ上拉电阻的输出电压。作为选择,PDIUSBD12提供集成1.5 kΩ上拉电阻的SoftConnect技术。

  ③PLL。片上集成1个6~48 MHz的倍频PLL(锁相环),允许使用6 MHz的晶振,EMI也由于使用低频晶振而减小。PLL的工作不需要外部器件。

  ④ 位时钟恢复。位时钟恢复电路用4倍过采样原理从输入的USB 数据流中恢复时钟,能跟踪USB规范中指出的信号抖动和频率漂移。

  ⑤ PHILIPS串行接口引擎PSIE。PHILIPS的SIE完全实现USB协议层。考虑到速度,它是全硬件的, 不需要固件(微程序)介入。这个模块的功能包括:同步模式识别、并 /串转换、位填充/不填充、CRC校验、PID确认、地址识别以及握手鉴定。

  ⑥ SoftConnect。高速设备与USB的连接是靠把D+通过1个1.5 kΩ的上拉电阻接到高电平来建立的。在PDIUSBD12中,这个上拉电阻是集成在芯片 内的,缺省是没有连接到VDD,这个连接是靠外部 MCU发一个命令来建立的。这使得系统微处理器可以在决定建立 USB连接之前完成初始化。重新初始化USB总线连接也可以不用拔掉电缆来完成。

  ⑦ GoodLink。GoodLink是靠一个引脚接发光二极管实现的。在 USB设备枚举时LED指示灯将立即闪亮;当PDIUSBD12被成功枚举并配置时, LED指示灯将会始终亮;经过PDIUSBD12的USB数据传输过程中, LED将一闪一闪,传输成功后LED熄灭;在挂起期间,LED熄灭。这种特性可以使我们知道 PDIUSBD12的状态,方便电路调试。

  ⑧ 存储器管理单元MMU和集成RAM。MMU和集成RAM能缓冲USB(工作在 12Mb/s)数据传输和微控制器之间并行接口之间的速度差异,这允 许微控制器以自己的速度读写USB包。

  ⑨ 并行和DMA接口。并行接口容易使用、速度快并且能直接与主微控制器接口。对于微控制 器,PDIUSBD12可以看成是一个有8位数据总线和1位地址线的存储设备。 PDIUSBD12支持多路复用和非多路复用的地址和数据总线。在主端点(端点 2)和局部共享存储器之间也可使用DMA(直接存储器存取)传输。它支持单周期模式和块传送模式 两种DMA传输。

2 PDIUSBD12的引脚说明及典型连接

2.1 PDIUSBD12引脚说明

  PDIUSBD12引脚如 图 2 所示,引脚如 表 1 所列。


图2 PDIUSBD12的引脚图

表1 PDIUSBD12引脚说明

2.2 PDIUSBD12的典型连接

  PDIUSBD1与80C51的连接电路如 图 3 所示。在这个例子中, ALE始终接低电平,说明采用单独地址和数据总线配置。A0 脚接80C51的任何I/O引脚,控制是命令还是数据输入到PDIUSBD12 。80C51的P0口直接与PDIUSBD12的数据总线相连接,CLKOUT 时钟输出为80C51提供时钟输入。


图3 PDIUSBD12与80C51的连接电路图

3 软件设计

3.1单片机方面软件设计

  对于 单片机 控制程序,目前没有任何厂商提供自动生成固件(firmware)的工具,因此所有程序都 要由自己手工编制。USB单片机控制程序通常由三部分组成:第一、初始化单片机和所有的外围电路 (包括PDIUSBD12);第二、主循环部分,其任务是可以中断的;第三、中断服务程序,其任务是对时 间敏感的,必须马上执行。根据USB协议,任何传输都是由主机(host)开始的,这样,单片机作它 的前台工作,等待中断。主机首先要发令牌包给USB设备(这里是PDIUSBD12),PDIUSBD12接收 到令牌包后就给单片机发中断,单片机进入中断服务程序,首先读PDIUSBD12的中断寄存器,判断 USB令牌包的类型,然后执行相应的操作。因此,USB单片机程序主要就是中断服务程序的编写。在USB单片机程序中要完成对各种令牌包的响应,其中比较难处理的是SETUP包,主要是端口0的编程。

   单片机 与PDIUSBD12的通信主要是靠单片机给PDIUSBD12发命令和数据来实现的。 PDIUSBD12的命令字分为三种:初始化命令字、数据流命令字和通用命令字。PDIUSBD12给出了各种命令的代码和地址。单片机先给PDIUSBD12的命令地址发命令,根据不同命令的要求再发送或读出不同的数据。因此,可以将每种命令做成函数,用函数实现各个命令,以后直接调用函数即可。

  在编写USB的 单片机 程序时,需要注意:

  ① 单片机 的中断应设置为电平触发;中断后一定要读上次传输状态寄存器(命令40-45H),以清 除中断寄存器中的中断标志。这样,PDIUSBD12的中断输出才能变回高电平,这一点非常重要。
  ② 在接收到Setup包后,一定要调用ACK setup命令重新使能端口0。
  ③ 在向IN端点写完数据后,一定调用Validate Buffer(命令FAH),指明缓冲区中的数据有效,可以发送到主机。
  ④ 当读完数据后,一定调用Clear Buffer(命令F2H),以保证可以接收新的包。
  ⑤ 可以通过调用ReadChipID(命令FDH)检查PDIUSBD12是否工作。该命令要读两个字节数据。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭