设为首页 加入收藏
行业资讯 武汉城市圈 武汉市 黄石市 鄂州市 孝感市 黄冈市 咸宁市 仙桃市 潜江市 天门市
您现在的位置: 第一武汉网:武汉城市圈商贸资讯专业平台 > 行业资讯 > 电子电工 > 行业动态
基于DSP和专用接口芯片的USB实现方案
第一武汉网:武汉城市圈商贸资讯专业平台   2008-09-18 01:14:24 作者:第一武汉网 来源:本站综合资讯 文字大小:[][][]
    引言

    各种测量仪器检测到的数据常常需要传送到PC机进行数据处理与存档,以充分利用PC机丰富的硬件和软件资源,获得更为完善和强大的数据处理、分析和存储能力。传统PC平台的数据采集卡受PC机插槽数目、地址、中断等硬件和软件资源的限制,可扩展性较差,安装拆卸困难,成本高。

    自1994年11月提出通用串行总线(USB)以来,USB以其传输速率高、支持热插拔、易于扩展的突出优势,发展速度惊人,迅速席卷电子产品世界。在市场需求的强力驱动下,从1998年开始,USB接口进入测量仪器领域,并逐步被许多著名仪器公司接纳。在测量仪器中扩展USB接口已经成为一种发展趋势。针对不同的测量仪器,寻求一种普遍适用的USB接口解决方案,对于测量仪器的开发设计有十分重要的意义。

    方案选择

    开发USB设备一般有三种方式:一种是使用带USB接口的专用微控制器(MCU),这类MCU有自己的系统结构和指令,从底层专用于USB控制,比如Cypress公司的CY7C63xxx和CY7C64013,这类MCU的开发需要用专用工具,且性能有限;第二种方式是使用带USB接口的通用MCU,这类MCU只是基于一般芯片内核增加了USB接口,比如Intel公司的8x931、8x930以及Cypress公司的EZUSB等,这类MCU的开发语言和开发工具都和一般MCU相似,因而较易入手,但其缺点是成本较高;第三种方式是使用纯粹的USB接口芯片,通过外加MCU对其控制。如Philips公司的PDIUSBD12、ISP1581以及National公司的USBN9602、南京沁恒公司的CH372、CH375等。这类USB接口芯片价格较低、接口方便、灵活性高,针对不同的硬件环境可以配合多种MCU使用,如单片机、DSP、FPGA都可以。综合各方面因素考虑,本设计选用第三种方式,即采用专用USB接口芯片为测量仪器扩展USB接口。

    硬件设计

    USB控制器

    USB控制器通过控制USB接口芯片实现协议处理和数据交换。在本设计中选用DSP芯片TMS320VC33作为微控制器,这主要是基于两方面的考虑:一是其运算速度较快,指令周期仅为13nS,可以最大限度地发挥USB接口芯片的潜力;二是该DSP芯片性价比高,且具有浮点运算功能,扩展浮点精度可达40位。

    USB接口芯片

    USB接口芯片用以完成USB通信底层的数据链路级交换,并对本地微控制器提供一个并行接口。

    本文选用PHILIPS公司的PDIUSBD12作为USB接口芯片。该芯片可与任何微控制器实现高速并行接口(2Mb/s),允许使用现存的体系结构并使固件投资减到最小。这种灵活性减少了开发时间、风险和成本,是开发高效低成本的USB外围设备的一种快捷途径。

    PDIUSBD12一共有三组端点:端点0完成控制传输;端点1可以配置成中断传输;端点2有128B的缓冲区,是主要的数据传输端点。

    接口电路

    DSP与PDIUSBD12的连接如图1所示。采用单独地址/数据总线配置,即用DSP的某地址线控制PDIUSBD12的A0引脚,实现命令数据的选择。A0=1表示传送命令,A0=0表示传送数据。片选(CS)及挂起(SUSPEND)信号分别由DSP的I/O口控制。读写选通信号WR、RD可以用DSP的R/W引脚及其取反后控制。但这样需要在电路中增加反相器,为了节约器件从而缩小电路体积,可以另外选择一个I/O口控制PDIUSBD12的读选通RD。本设计中选用PAGE1,通过对不同地址的访问来区分对PDIUSBD12的读写操作。这样PDIUSBD12只占用微控制器的三个地址资源,其一用来向PDIUSBD12写命令,其二用来向PDIUSBD12写数据,另外一个用来从PDIUSBD12读数据。对DSP而言,PDIUSBD12就相当于一个有8位数据总线和3个地址的存储器件。

    

    设备采用自供电方式,需要将EOT通过一个10k?的电阻接至USB电缆的VCC(+5V)端,并加1M?下拉电阻,借此检测USB设备是否已经连接到USB口。

    软件设计

    USB软件设计包括固件(firmware)程序、PC端的驱动程序和应用程序。其中固件程序要求编写者对复杂的USB通信协议有深刻的理解,编程难度较高,在本论文中将详细介绍。

    固件编程

    固件程序是写入MCU内的程序,使MCU可以完全按照USB协议,识别接收到的信息包类型,对包的内容、意义进行分析,并按照要求完成相应的动作。通过这些不同类型包的传递,完成MCU与接口芯片的命令及数据交换,进而实现主机与设备间的通信。

    固件程序设计成中断驱动模式,采用模块化设计,其总体结构如图2所示。

    

    主循环

    主循环中主要完成DSP的寄存器及端口初始化,向PDIUSBD12发送设置模式命令,接通SoftConnect。判断是否接收到建立包(setuppackage),若收到则调用标准请求处理程序进行处理,若收到主机请求信号,则调用数据发送程序发送数据。

    中断处理程序

    中断处理程序是整个固件程序设计的重点。将DSP设置为下降沿触发,当PDIUSBD12接收到主机发送的信息包时,触发DSP进入中断。首先通过读取PDIUSBD12的中断寄存器判断所发生中断的类型,然后根据具体的中断类型进入相应的处理子程序。中断处理程序流程图如图3所示。

    

    标准请求处理程序

    USB协议中规定了11条所有USB设备都必须支持的标准请求,这些请求都是通过端点0发送的。标准请求处理程序对主机发出的标准请求进行响应,获取设备的性能及状态,并给设备分配地址且进行相应配置,最终完成枚举过程。

    结束语

    系统测试结果表明:主机与设备间的数据传输平均速率达到130kb/s,完全可以满足一般测量仪器的需要。此项接口设计方案具有良好的可移植性,针对不同的硬件平台仅需做少许修改即可应用。随着USB技术的进一步发展,USB2.0和USBOTG规范的推出以及无线USB的出现,USB仪器将成为测量仪器的发展方向,并推动传统仪器向小型化和微型化方向发展。

最新评论
发表评论
评论标题
评论内容
图片上传
表情图标
验 证 码
行业资讯分类导航  
化工相关  机械相关  家居用品 
纺织皮革  电脑软件  食品饮料 
包装纸品  农业相关  冶金矿产 
运动休闲  安全防护  玩具相关 
交通运输  电子电工  礼品饰品 
建筑建材  服装鞋帽  商务服务 
家用电器  办公文教  医药保养 
汽车摩托  通讯产品  能源环保 
五金工具  教育培训  生活服务 
招聘求职 
最新推荐行业资讯  
图文频道 下载频道 全站搜索 会员中心 友情链接 关于我们 联系方式 付款方式 广告服务 网址导航
第一武汉网(武汉市及武汉城市圈商务资讯专业门户平台)-运营商:武汉网络家联盟科技有限公司
联系电话:027-87332113  18071120160   QQ:935195149
Powered By 武汉网络家联盟 WH18.CN 第一武汉网 WH01.CN Copyright © 2006-2023  鄂ICP备09018832号-8
第一武汉网 武汉城市圈商贸门户平台 武汉市公司信息大全 武汉商贸信息大全 武汉公司目录 武汉生活资讯 武汉商圈 武汉企业建网站 武汉综合信息平台
   
 

鄂公网安备 42010602000533号