新闻中心

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

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

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

  (4)上位机获得此IDs,就开始加载LoaderDriver,加载后LoaderDriver执行固件的下载。LoaderDriver是用于下载FX2固件的驱动,此驱动在控制面板安装目录Driver下可以找到,修改时需安装DDK,然后在VC6.0中重新编译源文件。

  (5)LoaderDriver放开并重起FX28051。

  (6)被下载的固件开始运行。

  (7)FX28051控制断开

  (8)上位机发现设备断开,于是释放LoaderDriver。

  (9)8051重新连接

  (10)上位机发现设备插入,并开始询问IDs.。

  (11)8051固件根据其自身IDs回复VIDPID等。此时的VIDPID为固件的描述符文件里的VIDPID。

  (12)上位机得到IDs,并根据其信息加载对应的驱动程序。

  (13)上位机驱动程序和EZ-USB固件已经正确加载,并可以与应用程序执行数据传输和控制了。

  至此,应用程序即可调用设备驱动程序来发送和接收数据。

  3 系统软件设计

  3.1 控制面板简介

  控制面板主要用于FX2设备的开发调试(包括硬件设备测试和软件功能测试),具体有厂商请求测试(设备请求、配置请求、管道设置请求等)、各种方式数据传输测试、固件下载、E2PROM烧写、接口设置、端点设置等。

  3.2 烧写E2PROM

  记事本编辑好相应的Hex文件后,使用EZUSB控制台自带的工具hex2bix把Hex文件转化为iic文件,然后用EZ-USB控制台下载。

  

  图2 固件开发流程图

  3.3 CY7C68013的固件设计

  该固件的主要功能是完成该单片机及外围设备的初始化、设备的重枚举(ReNumeration)、接受主机的设备请求及完成相应的控制数据传输等。

  Cypress公司提供的固件开发框架和固件函数库简化并加速了设备固件的开发,大大提高了用户开发的效率,本设备固件的设计也是采用此方法。

  固件开发框架流程图见下图2所示。

  固件开发完成了USB设备的基本功能需求,设计固件时只需设计用户初始化函数TD_Init()、用户函数TD_Poll(),修改描述符表。TD_Init()完成需要用户自定义的初始化工作,设计时在TD_Init()中添加初始化CPU时钟频率、I/O端口模式、USB接口数据传输模式、清除所有等待的USB中断请求等(待确认)的代码。

  用户函数TD_Poll()在固件运行期间被循环调用,本设备主要完成对ADNS-3080的△x和△y值的连续读取。因为CY7C68013没有带主SPI接口,实现时用单片机固件程序模拟主SPI跟ADNS-3080通信。流程如图3所示。图4和图5是SPI通信的读写时序图。



评论


相关推荐

技术专区

关闭