EDN China > 设计实例 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

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

2008年08月05日 ?? 收藏0

  引言

  各种测量仪器检测到的数据常常需要传送到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所示。

总体结构


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

DSP? 接口芯片? 测量仪器?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈