首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
USB2.0接口传输的FPGA控制与实现
来源:本站整理  作者:佚名  2010-04-14 11:55:34




2.2.1 VHDL程序设计
    FPGA是通过Slave FIFO的方式和USB控制器CY7C68013相连的。FPGA读取数据,通过查询CY7C68013中FIFO的状态来判断是否可以进行读数据,主要是查询状态标志位FLAGC。读数据程序状态转移图如图3所示。


    状态1:在空闲时,接到命令,发起传输,使地址指向用于下传数据的FIFO。进入状态2;
    状态2:查询读状态的FIFO标志FLAGC,如果为FIFO为空,则继续等待,如果有数据则进入状态3;
    状态3:使读数据信号线有效,接收数据,接收完数据后进入状态4;
    状态4:如果FIFO中还有数据需要接收,则进如状态2,否则进入空闲状态。
    FPGA在上传数据时,原理基本相同,方向相反,采用不同的FIFO和查询状态标志位。
2.2.2 固件编程
    固件编程就是对USB设备的各类寄存器进行配置的过程。固件程序是指运行在设备CPU中的程序,只有在固件程序运行时,外设才称之为具有给定功能的外部设备。固件要完成以下主要工作:
    (1)初始化工作;
    (2)对设备进行重新列举(ReNumeration);
    (3)响应中断,并对中断作相应的处理;
    (4)数据的接收与发送;
    (5)外围电路的控制。
    为了简化固件编程,CYPRESS提供了开发固件库和固件编程框架,只需在此基础上添加少量代码就可以完成固件编程。USB建立固件编程框架的文件见表1,在实际编程过程中,根据自定义,只需要修改Periph.c和Dscr.a51两个文件。固件代码固化到一片EEPROM中,设备加电后由FX2通过I2C总线自动加载到片内RAM后自动执行。设备功能、工作方式等均可以通过改写固件程序,重新配置。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:61,527.34000 毫秒