Loading
新闻中心库存中心价格中心PDF中心图片中心
ICGLE 电子技术支持中心,为电气人员和相关企业提供全面的信息(IC技术\IC库存\IC图片\PDF资料等)服务
总线设计PCB设计单片机DSPARM
JAVA驱动设计C/C++汇编J2EE网络协议中间件技术嵌入式系统无线通信通信网络模拟技术接口电路显示光电传感与控制EDA/PLD
气流体控制电子产品电机及工具通信设备仪器仪表电线电缆建筑电气低压电器高压电器电源工控自动化广电设备医疗器械More..
电源设计仪器仪表技术专递电路图片电子专栏储存技术汽车电子测量测试音响技术家用电器
成功方案市场分析行业标准应用前沿芯片应用综合专区
基于I2C总线技术的USB接口设计
来源:电子产品世界   作者:梁  磊
字体大小:[大][中][小]

class=content style=display:block;padding:0px 10px>

1、前言

       USB(Universal Serial Bus)通用串行总线是在1994年底由康柏、IBM、Microsoft等多家 公司联合制订的,但是直到1999年,USB才真正被广泛应用。同时,他也得到了各PC厂商、芯片制造商和PC外设厂商的广泛支持,USB外设在国内外以惊人的速度发展,迄今为止,各种USB的外设已经有数千种。为PC外围设备设计USB接口已成为大势所趋。  

       随着单片机技术的发展,单片机的功能日益强大,外围电路日益复杂,其有限的管脚也就显 得捉襟见肘。目前采用普通单片机外加USB接口芯片开发USB外设时,USB接口器件大都是采 用并行接口与单片机相连接,这样再加上一些控制信号线,总共需要占用单片机十余个管脚 ,对于一般对传输速度要求不是很高的设备显得有些浪费,特别是对于为产品转型而 进行的USB接口开发,势必会影响原来的电路连接和功能设置。因此,采用一种既能保持较 高的传输速度,又能减少单片机引脚使用的USB接口开发方法很有必要。本文介绍一种 采用Philips公司带I2C接口的USB接口芯片PDIUSBD11进行USB接口开发的方法,他使用高速通用I2C接口与单片机相连接。    

       2 背景介绍   

       2.1 USB背景介绍  

       USB是一些PC厂商为解决日益增加的PC外设与有限的主板插槽和端口间的矛盾制定的一种 串行通信标准。他传输速度快,能提供3种传输方式:低速模式(速率为1.5 Mb/s);中速模 式(速率为12 Mb/s);高速模式(速率为360 Mb/s以上)。数据传输可靠,USB设备在发送 数据时支持 数据侦错和纠错功能,增强了数据传输的可靠性。设备安装和配置容易,安装USB设备不必 再打开机箱,增减设备不用关闭计算机,所有USB设备支持热插拔,系统对他进行自动配置 。易于扩展,外设接口之间采用菊花链形式连接通过使用Hub扩展可连接多达127个外设。能 够采用总线供电,USB总线提供最大达5 V电压,500 mA电流,可为小型设备供电。使用灵活,USB共有4种传输模式:控制传输(control)、同步传输( synchronization )、中断传输 (interrupt)、批量传输(bulk),以适应不同设备需要。   

       2.2 I2C总线技术介绍  

       I2C总线技术是Philips公司研制出来的串行扩展技术。他是一种简单、双向二线制同步串 行总线,他只需要2根线(串行时钟线SCL和串行数据线SDA)即可在连接于总线上的器件之 间传送信息。对于并不要求很高的数据传输速度的外设,I2C总线的使用无疑简化了系统 ,增加了硬件构成的灵活性,是一种高效、方便的串行扩展总线。  

       使用I2C传输数据有2种基本方法。第一种是采用I2C总线标准的单片机或IC器件,其内 部含有I2C接口电路,使用这种方法可直接从接口读写数据。第二种是采用软件程序模拟I2C总线的时序来完成接口功能,使用这种方法可任意从单片机中选取2个I/O口,作为串 行时钟线SCL和串行数据线SDA,使用灵活。    

       3 PDIUSBD11芯片介绍   

       3.1 PDIUSBD11 芯片特点  

       PDIUSBD11 是一款性价比很高的USB 器件,他通常用作微控制器系统中实现与微控制器进行 通 信的高速通用I2C接口。这种实现USB 接口的标准组件使得设计者可以在各种不同类型微 控制器中选择出最合适的微控制器。这种灵活性减小了开发的时间风险以及费用,通过使用 已 有的结构减少固件上的投资。从而用最快捷的方法实 现最经济的USB外设的解决方案。PD IUSBD11适用于电脑监视器、操纵杆、键盘和其他一些使用I2C或SMBUS结构的器件 。PDIUSBD11符合USB 11协议规范、I2C串行接口和SMBUS协议规范。他完全符合人机接 口设备和监视控制类协议规范。PDIUSBD11所具有的低挂起功耗连同LazyClock 输出可以满 足使用ACPI,OnNOW 和USB 电源管理的要求。低的操作功耗可以执行总线供电功能。此外他 还集成了许多特性包括SoftConnetTM,GoodLinkTM,可编程时钟输出、低频晶振、多重功能 终端和终止寄存器集合。所有这些特性都为系统显著节约了成本,同时使USB 功能在外设上 的应用变得容易。
 
       3.2  PDIUSBD11 内部结构

       PDIUSBD11芯片的内部结构如图1所示。

 

       模拟收发器收发器接口可通过终端电阻 直接与USB电缆相连,  他们能以全速(12 Mb/s)传送和接收数据。

{{分页}}  

       PLL片内集成了12~48 M时钟乘法器PLL。这样就可使用低成本的12 M晶振 ,EMI也随之降低。PLL的工作不需要外部元件。  

       Philips串行接口引擎PSIEPhilips SIE实现了全部的USB协议层。完全由 硬件实现而不需要固件的参与。该模块的功能包括:同步模式的识别、并行/串行转换、位 填充/解除填充、CRC校验/产生、PID校验/产生、地址识别和握手评估/产生。  

       存储器管理单元MMU和集成RAM当USB接口以12 Mb/s的速率传输并且I2C接口以1 Mb/s与微控制器相连时,MMU和集成RAM被用来处理这种极大的速率差异。这就允许 微控制器以他自己的速率通过I2C接口对USB信息包进行读写。  

       I2C控制接口这个模块执行必要的I2C接口协议。一个I2C控制器执行简单的编码。一个中断信号,当PDIUSBD11需引起注意时,用来向微控制器发出 警告。作为一个控制I2C的器件,PDIUSBD11的时钟输入SCL由微控制器控制。I2C接口的 传输速率能够达到1 Mb/s。  

       SoftConnectTM与USB的连接是通过1.5 kΩ上拉电阻将D+(用于 高速USB器件)置为高实现的。1.5 kΩ上拉电阻集成在PDIUSBD11片内,默认状态下不与VC C相连。连接的建立通过外部/系统微控制器发送命令来实现。这就允许系统微控制器在决定 与USB建立连接之前完成初始化时序。USB总线连接可以重新初始化而不需要拔出电缆。  

       3.3  PDIUSBD11 芯片的典型应用 

       PDIUSBD11芯片的应用示意图如图2所示。其外围电路典型连接如图3所示。  

 

       VBUS是USB的总线电源感知引脚,通过他USB接口控制芯片判断USB设备是否接到了P C机上。外部复位引脚Reset上电复位,但PDIUSBD11芯片内部提供复位电路,因此可以将他 接到3.3V上,屏蔽其外部复位功能。Suspend引脚,他的作用是当USB设备进入挂起模式时,输出 高电平提醒主机,主机可通过拉低该引脚的电压来唤醒USB设备,使用中也可以直接将该引 脚接地,来屏蔽USB设备的挂起功能。INT_N引脚与单片机的连接是必不可少的,当 主机需 要与USB设备通信时,该引脚变成低电平,通知USB设备进入中断服务程序,中断请求结束后 他又重新变回高电平。因此他通过上拉电阻接正电源,当空闲时处于高电平状态。

{{分页}}    

       4  固件程序设计  

       单片机与PDIUSBD11的通信主要是 靠单片机给PDIUSBD11发命令和数据来实现的。 PDI USBD11的命令字分为3种:初始化命令字、数据流命令字 和通用命令字。PDIUSBD11给出了各种命 令的代码和地址。单片机先给PDIUSBD11的命令地址发命令,根据不同命令的要求再 发送或读出不同的数据。  

       当单片机使用专门的I2C接口与PDIUSBD11芯片连接时,可以直接进行输入、输出通信。但 如果只使用2个普通的I/O口连接时,需要用软件模拟I2C接口与PDIUSBD11芯片进行通信 ,可将模拟I2C传输部分编成子程序,使用时直接调用即可。具体编程方法可参照I2C总 线规范。  

       USB单片机控制程序通常由3部分组成:  

       (1) 初始化单片机和所有的外围电路(包括PDIUSBD11芯片);  

       (2) 主循环部分,其任务是可以中断的;  

  (3) 中断服务程序,其任务是对时间敏感的,必须马上执行。   

       4.1 初始化程序设计  

       在编写初始化程序时需要注意,由于PDIUSBD11芯片采用Philips的SoftConnectTM技术设计。与USB的连接通过1.5 kΩ上拉电阻将D+(用于高速USB器件)置为高实现。1.5kΩ上拉电阻集成在PDIUSBD11片内,默认状态下不与VCC相连。连接的建立通过 单片机发送命令来实现。这就允许系统微控制器在决定与建立USB连接之前完成初始化时序 。USB总线连接可以重新初始化而不需要拔出电缆。所以在固件程序中需要编写芯片初始化 程序,以确保设备能顺利进行USB连接。初始化程序范例如下:
    
 

       按不同的应用方式(如远程唤醒、挂起功能等),可在Set Mode的第一个字为PDIUS BD11芯片设置不同的模式。 

       4.2 中断服务程序 

       根据USB协议,任何传输都是由主机(host)开始的,单片机作他的前台工作,等待中断。主机首先要发令牌包给USB设备(这里是PDIUSBD11),PDIUSBD11接收到令牌包后就给单片 机发中断,单片机检测到INT_N引脚变成低电平后进入中断服务程序,首先读PDIUSBD11的中断寄存器,判断USB令牌包的类型,然后执行相应的操作。因此,USB单片机程序主要就 是中断 服务程序的编写。中断服务程序流程图如图4所示。PDIUSBD11芯片可支持4个端点(EP0~3),其中端点0用来对应缺省控制通道并初始化和操纵配置设备,同时提供设备配置信息的 读取和支持控制传输。端点1~3则用于支持块传输和中断传输等。

 

       具体的固件程序内容可参考文献[4],PDIUSBD12芯片是Philips公司的一款带并口的USB接口芯片,目前应用较广。  

       用PDIUSBD11芯片开发的USB接口,数据的传输速率是由单片机的I2C接口速率决定的。经测试其传输速率可达500 kb/s,远高于普通串口的传输速率,保持了USB接口的高速性,能满足一般的非大容量存储设备的需要。    

       5 结语   

       使用单片机外加USB接口芯片开发USB接口,适用于为现有产品开发USB接口,能尽量避免对 原有电路及程序的修改,降低了开发成本和风险。在对速度要求不太高的情况下,可采用Ph ilips公司的USB接口芯片PDIUSBD11,他特有的I2C接口设计可以减少与单片机的引脚连接 ,简化外围电路设计。虽然只有2根数据线负责数据的双向传输,但仍保证了较高的传输速 率,能满足一般的对速度要求不太高的设备的需要。
 
参考文献
[1]PDIUS BD11 Data Sheet[S].
[2]USB Specification V11[S].
[3]I2C总线规范[S].
[4]周立功.PDIUSBD12 USB固件编程与驱动开发[M].北京:北京航空航天大 学出版社,2003.  

Upload by 小刘(2008-8-13)
IC
·嵌入式网络智能控制系统的研究
·蜂窝/WLAN多模终端的设计考虑
·基于HMS30C7202嵌入式系统的..
·基于SEP3203的嵌入式以太网口的..
·利用CAN收发器提高CAN网络的安全..
·高性能T比特路由器高可用性的研究与实..
·Linux串口上网的简单实现
·从以太网供电中获取更多的电力
·串行ATA总线应用技术
·基于GPS的嵌入式公交自动报站系统的..
·基于USB2.0与FPGA技术的高速..
·SDH、同步以太网设备时钟的高效率实..
·基于嵌入式Linux的便携式RFID..
·基于PC/104的1553B总线测控..
·基于ARM的视频监控终端的设计与实现
·滑动相关法伪码捕获的FPGA实现
·基于Linux的SoPC应用系统设计
·一种基于ARM及FPGA的新型智能化..
·嵌入式设备上的 Linux 系统开发
·基于ARM的混合动力客车液晶显示系统..
·基于嵌入式Linux的智能手机系统设..
·Web服务在TM1300上的实现
·数据驱动计算及其应用
·基于OMAP的MPEG-4实时解码器..
·基于FPGA的数据无阻塞交换设计
·基于OMAP5910的移动媒体播放机..
·基于NiosⅡ的图像采集和显示的实现
·基于ARM的数字视频监控系统的设计
·双TSC695F处理器在微小卫星电子..
·毫瓦级功率实现千兆赫兹信号驱动的模拟..
·电源应用中场效应晶体管的崩溃效应
·基于AD7888的高稳定度激光器多路..
·优化移动多媒体传输链的功耗
·一种高速低压低静态功耗欠压锁定电路
·智能电流变送器中HART调制解调器的..
·立体液晶显示器的图像获取及显示
·MAX2140内部ESD二极管的保护..
·四通道超声探伤卡的硬件设计
·电流测量的原理和产品
·基于MPC82xx处理器和专用编解码..
IC
推荐技术文章:
·基于DSP的彩色TFT-LCD数字图....
·如何设计三通道LED驱动器..
·平板电视中的开关电源发展趋势..
·DSP应用系统中的硬件接口电路设计..
·利用PCI1510实现PCI板卡的热....
·基于VC的USB接口通信程序设计..
·基于ARM-LPC2368的网络接口....
·LCD控制器驱动的24位TFT真彩屏....
·GPS99808模块在汽车防盗系统中....
·热插拔可靠性的新标准..
·基于LT1641的双路热插拔电路设计..
·四通道I2C多路复用器提供了地址扩展....
·基于PCI总线和DSP芯片的图像处理....
·Linux 2.6 内核中的最新电源....
·高功率以太网供电不再困难..
·采用UCC28051的100W通用线....
·电压不足期间支持电信电源的小电容..
·负载管理与负载开关的设计与实现..
·交叉耦合门防止推挽驱动器交叠..
·台式电源测试的革命..
·锂电池组的主动电荷平衡
·绿色动力新潮流——燃料电池
·输出电容器的等效串联电阻对滞环控制功..
·动态电源路径管理简化了太阳能板对电池..
·今天的绿色 POL DC/DC 转换..
·使用LXI加强汽车电子测试
·针对无线宽带相位噪声的测试方案
·在低成本测试夹具上实现对表面贴装射频..
·基于CC1100的无线手持终端的设计
·核磁共振系统中微波射频开关的设计与应..
·基于无线传感器网络的电机运行状态监测..
·Zigbee无线传感器网络平台的设计..
·利用红外技术解决音频无线传输难题
·温度传感器TMP275在家庭环境监控..
·CF+插槽宿主的供电及热插拔控制设计
·一种新型的高压变频分布式控制系统
·固定翼飞机竖直飞行控制系统的设计
·霍尔效应技术提供紧凑型电流测量传感器
·语音控制的智能小车设计
·高精度超声波测距系统的设计与实现
IC
IC

©2007 版权归ICGLE所有   页面执行时间:62.500毫秒