基于DSP和专用接口芯片的USB实现方案

发布者:翠绿山水最新更新时间:2008-08-06 来源: EDN China关键字:dsp  usb 手机看文章 扫描二维码
随时随地手机看文章

  引言

  各种测量仪器检测到的数据常常需要传送到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个地址的存储器件。

DSP与PDIUSBD12的连接

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

  软件设计

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

  固件编程

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

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

总体结构

      主循

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

  中断处理程序

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

中断处理程序流程图

  标准请求处理程序

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

  硬件接口及PDIUSBD12命令操作程序

  硬件接口程序集成了DSP对PDIUSBD12的读写操作,是整个固件程序中最底层也是使用最频繁的部分,将它独立成一个模块编写极大地方便了程序在不同硬件平台上的移植。值得注意的是:PDIUSBD12要求数据线上的数据建立时间和保持时间必须大于40nS,因此编程时需要插入至少4个软件等待状态。另外,因为PDIUSBD12的最小读写周期为500nS,所以在每次对其进行读写操作后必须增加适当的延时。

  数据发送及接收程序

  当用户通过主机端应用程序向设备索要数据时,DSP调用数据发送子程序完成数据发送,针对发送数据量的大小,可以选择使用端点1或者端点2完成。对于主机发送数据的接收,在端点0及端点1的IN中断子程序中即可完成。发送数据子程序如下:

程序

  调试

  固件程序对时间敏感,所以编程时要特别注意时序问题。由于USB枚举过程很快,如果连续三次接收不到应答包就结束枚举,所以调试时要注意不能采用CCS的单步调试,可以采用断点调试。调试过程之初经常会遇到的一种状况是指示灯闪烁三次以后熄灭,这说明主机检测到了设备连接,但无法和设备进行对话来了解设备的信息。这表明固件程序还没有开始正常工作,需仔细检查程序中的错误之处。

  调试过程之初,可以使用以下两种方法检测硬件连接是否正确:

  1. 使用命令字FDh读取PDIUSBD12的ID号,正常状态下读出的两个字节应该为12H和10H。

  2. 通过设置PDIUSBD12工作模式,改变输出时钟频率。在CLKout引脚测量输出波形,观察是否与设置值相符。

  若以上两条满足,则说明硬件连接基本没有问题。

  PC端软件

  PC端软件包括设备驱动程序和应用程序两部分。

  系统驱动程序是基于WDM (Windows Driver Model) 驱动程序模型设计的,包括四个模块:初始化模块、即插即用管理模块,电源管理模块和I/O功能模块。本设计选用辅助工具DriverStudio,它能很好地和DDK结合,编程思路也比较清晰。首先使用驱动向导(DriverWizard)建立项目,设置驱动程序类型,设置USB设备的VID(Vendor ID)和PID(Product ID)及其各端点的属性。给端点2增加读写函数代码。这样就创建了一个驱动程序的总体框架。再对生成的代码进行修改编译和测试,完成USB驱动程序的开发。

  应用程序是为了实现用户和设备的接口,基本功能包括检测USB设备、开启或闭合USB设备、设置USB数据传输管道、实时从USB接口采集数据以及显示数据等。程序使用VC++编写,调用Win32的应用程序接口(API)函数,实现应用程序和设备驱动的通信。使用PHILIPS公司提供的EasyD12.dll动态链接库可以使开发过程更加轻松快捷。

  结束语

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

关键字:dsp  usb 引用地址:基于DSP和专用接口芯片的USB实现方案

上一篇:福禄克中国客户服务中心成立,开通400热线
下一篇:赛灵思推出Virtex-5高性能可配置DSP解决方案

推荐阅读最新更新时间:2024-05-02 20:40

DSP市场急刹车 TI从多方面寻求创新与突破
日前,调研公司iSuppli发布的一项预测中指出,今年全球的DSP销售收入将会首次出现负增长,即2007年全球DSP的销售收入增长为-0.6%,而就在2006年全球DSP的增长还是12.3%,在各类半导体器件中属于增长率较高的领域。为什么会出现如此大的倒退呢?iSuppli副总裁Dale Ford对《国际电子商情》记者解释:“我们预测2007年DSP销售收入出现下降的主要原因有两个:一个是由于在手机市场,TI的收入下降、ADI的退出导致以DSP架构为主的基带芯片收入降低,而以ASIC/ASSP逻辑IC架构形式的基带芯片收入上升,比如联发科、高通和英飞凌的基带均属于这一类;第二个是DSP的平均价格不断下降,所以也导致收入下降。当然,从
[焦点新闻]
有关USB无线上网卡电源技术及解决方案
    随着3G网络的普及,一些新款笔记本电脑已内置了3G无线网卡,即G3笔记本。对于大多数相对旧款电脑用户来说,如果拥有一款3G无线上网卡,同样可以享受3G网络带来的便利与乐趣。   3G无线上网卡内部通常需要3.75V电源。由3.75V电压给电源管理芯片供电,一般产生1.5V/1.8V/2.8V/3.3V等电压分别给处理器内核、IO接口、存储器、SIM卡、音频处理等单元供电,同时3.75V也直接给射频功放模块供电。   USB接口的3G无线上网卡,供电来源于USB提供的5V电压。主机USB通常可提供500mA电流,USB设备消耗的电流最高值是有一定限度的,即所消耗电流不能超出主机可提供的电流量。   联芯科技芯片组的T
[嵌入式]
苹果发布USB-C接口手表磁吸无线快充模组,支持Apple Watch S7
据充电头网报道,苹果发布了最新手表快充模组 Watch Fast Charger Module,这个模组采用分离式设计,电源部分和线圈是分开的,并且采用了 USB-C 接口,支持 Apple Watch Series 7 手表无线快充。   目前苹果已经开始给 MFi 企业送样,近期将会有众多苹果授权合作品牌推出基于这个模组的第三方手表无线充、多合一无线充等新品。   业内人士透露,苹果手表所采用 USB-C 无线充电方案 Watch Fast Charger Module,与传统 USB-A 的解决方案不同,采用了感应线圈与控制模块分离的设计。苹果提供控制模组和感应线圈模组,供 MFi 企业采购生产。从示意图中可以
[手机便携]
半导体行业先锋推出全球系列培训活动
安富利、赛灵思、Analog Devices、国家半导体和德州仪器宣布全球的X-Fest系列技术研讨会计划   2007年3月1日 – 安富利电子元件部 (NYSE: AVT) 和赛灵思公司(NASDAQ: XLNX) 今天宣布将举办X-Fest 系列技术研讨会,为FPGA、DSP和嵌入式系统设计人员提供实用的技能培训。此次环球系列技术研讨会成功邀请了Analog Devices、National Semiconductor和Texas Instruments等厂商参与成为金牌赞助商。X-Fest环球之旅将于2007年4月3日从北京启航持续到7月13日结束,在欧洲、亚洲、日本和北美区90个城市举办。想了解详细的计划和注册方面的
[焦点新闻]
基于DSP E1—16XS的硬件开发平台设计
  引 言   嵌入式系统硬件的核心是各种类型的嵌入式处理器,目前全世界嵌入式处理器的品种已经超过1000多种,流行体系结构有30多个系列。嵌入式处理器一般可以分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器和嵌入式片上系统。   与标准微处理器相比,嵌入式微处理器只保留了和嵌入式应用有关的功能,并且为了满足嵌人式应用的特殊要求,在工作温度、抗电磁干扰、可靠性等方面都做了各种增强。   DSP嵌入式系统是DSP系统嵌人到应用电子系统中的一种通用系统。这种系统既具有DSP器件在数据处理方面的优势,又具有应用目标所需要的技术特征。在许多嵌人式应用领域,既需要在数据处理方面具有独特优势的DSP,也需要在智能控制方面技高一筹的
[嵌入式]
USB的线缆以及插头、插座
USB是一个标准的协议,因此对线缆、插头、插座等有严格的规范要求。        在最初的标准里,USB接头有4条线:电源,D-,D+,地线。我们暂且把这样的叫做标准的USB接头吧。后来OTG出现了,又增加了miniUSB接头。而miniUSB接头则有5条线,多了一条ID线,用来标识身份用的。标准USB口只有A型和B型。其中每一型又分为插头和插座,例如A型插头,A型插座等。我们平常电脑上用的那种插座叫做A型USB插座,而相应的插头,叫做A型插头,例如U盘上那种。而像打印机上面那个插座,则是B型插座(比较四方的,没电脑上面那种扁),相应的插头,就是B型插头。也许你见过一头方一头扁的USB延长线,没错了,扁的那头就叫做A型插头
[嵌入式]
德州仪器TMS320C66x 多核 DSP 协助工业自动化开发人员实现性能、可扩展性及灵活性的空前提升
2011 年 10 月 21 日,北京讯 日前,德州仪器 (TI) 宣布推出面向开发人员的业界最高性能的高灵活型可扩展多核解决方案,其建立在 TMS320C66x 数字信号处理器 (DSP) 产品系列基础之上,是工业自动化市场处理密集型应用的理想选择。设计智能摄像机、视觉控制器以及光学检测系统等产品的客户将充分受益于 TI C66x 多核 DSP 所提供的超高性能、整合型定点与浮点高性能以及单位内核更多外设与存储器数量。此外,TI 还提供强大的多核软件、工具与支持,可简化开发,帮助客户进一步发挥 C66x 多核 DSP 的全面性能优势。 TI 通信基础设施及多核业务部总经理 Brian Glinsman 指出:“我们的多核
[嵌入式]
德州仪器TMS320C66x 多核 <font color='red'>DSP</font> 协助工业自动化开发人员实现性能、可扩展性及灵活性的空前提升
基于DSP和PCI总线的通信数据采集系统
    摘要: 介绍一种基于DSP和PCI总线的移动通信数据采集系统。提出了一种双映射方式,成功地解决了DSP的主机通信接口(host port interface,简称HPI口)和PCI9052之间的通信连接。     关键词: 数字信号处理器 数据采集 PCI总线 随着移动通信突飞猛进的发展,移动通信的数据业务量急剧上升,监控大容量的移动数据业务成了电信运营商刻不容缓的需求。而移动通信数据的传输一般都是基于E1链路。因此从E1链路上采集通信数据成了移动数据业务监控最基础的一部分。 数字信号处理器能够高速地处理数据并具有强大的数字吞吐能力,在数据采集领域获得了广播的应用。而PCI总线也因为极高
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved