新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 两自由度振动偏移量实时采集设备的设计与实现

两自由度振动偏移量实时采集设备的设计与实现

作者:时间:2014-02-26来源:网络收藏

  

  图3 流程图

  

  图4 SPI接口读操作时序图

  

  图5 SPI接口写操作时序图

3.4 ADNS-3080的固件下载

  DSP固件开发有两种方式,一是自行开发程序,二是使用厂商已提供的固件程序。Agilent公司提供了ADNS-3080的固件adns3080_srom_51.inc(共1986个字节),从官方网站即可下载。本次设计该固件是通过主机的应用程序下载到设备端点,由单片机控制写入ADNS-3080SRAM中[7]。写入时先要对ADNS-3080进行下载前的初始化工作。下载完成以后通过读ADNS-3080的SROM_ID寄存器来检验下载是否成功。

  3.5 设备驱动及其Inf文件设计

  在设备开发时可以使用控制面板下载单片机固件,但最终产品需要自动完成固件下载和设备的重枚举。自动的固件下载和设备的重枚举两个功能的完成依赖于两个驱动,一个用于枚举设备后下载固件至单片机,叫下载驱动(EZ-LoaderDriver);一个用于设备重枚举后与主机通信,叫功能驱动。

  EZ-LoaderDriver源码由EZ-USB软件开发包提供,结合微软提供的DDK在VisualC++6.0开发环境下把固件和驱动重新编译即可。具体步骤:①使用EZ-USB软件开发包提供的Hex2C工具把单片机固件程序Hex文件转化为C文件;②用固件程序C代码中的firmware[]数据取替EZ-LoaderDriver中firmware.c文件中的数组,重新编译即可生成所需的EZ-LoaderDriver。

  功能驱动的设计可以使用Cypress公司提供的GPD(通用设备驱动程序),也可以自行开发。目前自行开发的方式有三种,使用微软提供的DDK、使用Windriver、使用DriveWorks,其中DriveWorks开发带有现成的驱动生成向导,开发较为容易,但没有前两种方式设计的驱动灵活。GPD目前有EZ-USB.sys和CyUSB.sys两个,它们提供了USB标准设备请求和数据传输连接,后者自带应用程序API函数,开发应用程序较为容易,因此本设备选择了CyUSB.sys。

  设备驱动的Inf文件是在设备第一次连接主机时为主机安装设备驱动提供相应的信息。Inf文件的内容主要包括驱动提供商名称、厂商标识符(VID)、设备标识符(PID)、驱动安装目录、添加的注册表信息等,设计时找一样本修改上述内容即可。

  4 结束语

  4.1 硬件电路设计注意事项

  在硬件电路设计时为了便于测试,采用了模块化的思想,分为供电模块、CY7C68013模块、ADNS-3080模块三块,且每一块都引出了相应测试管脚。

  板级设计中有两个高频电路块要注意的地方,说明如下:(1)保持D+和D-等间距布线,布线长度要小于75mm,且两线长度相差要在1.25mm以内,最好用地线包裹,避免通过过孔;(2)USB连接线使用屏蔽线,长度要小于5m;(3)晶振到CY7C68013的走线要尽可能短且远离D+和D-,使用陶瓷电容作为晶振电路电容。

  4.2 性能探讨与展望

  该设备具备软配置特性,即在E2PROM中烧写不同的VID、PID,可加载不同的一套固件、驱动和应用程序,而且可以无限次的加载,设备功能的修改、升级特别容易;再加之该设备可以对在速度≤1m/s,加速度≤160m/s2范围内振动的物体实现所有运动学参数2mm精度的实时采集分析。其开发难度小、使用范围广、升级便捷、设备接口人性化、数据采集实时精确等优点使得该设备具有了非常大的应用前景。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭