tag 标签: cy7c68013

相关帖子
相关博文
  • 热度 19
    2015-4-27 22:00
    2033 次阅读|
    0 个评论
          前面测试的是130W像素的摄像头MT9M001,目前也在测试MT9T001,300万像素的摄像头。之所以选择MT9M001,主要是因为两者都是APTINA的摄像头,都是1/2英寸像面的,最关键的一点是两者的封装一致,可以焊接在同一个电路板上。焊接好的摄像头子板如下: 侧面图片如下:        在设计时,也考虑过MT9D001,是200万像素的摄像头,也可以共用同一块电路板。MT9D001暂时没有开发,会留在MT9P006之后开发。MT9P006是500万像素的摄像头,但像面尺寸不是1/2英寸的,因此不能共用一个电路板。上面提到的这些摄像头,信号的输出格式都是并口的,可以共用一块摄像头开发板(http://liangziusb.taobao.com/)。500万像素之后会开发MT9F002,是一款1400万像素的,但接口是APTINA特有的HISPI接口,也不是通用的MIPI接口。   未完,待续,,,,,,。   (另公布一群号178338109,USB3.0开发专业讨论区)     淘宝店铺: http://liangziusb.taobao.com 良子.2015年    承接USB开发工程   QQ:2687652834
  • 热度 33
    2014-2-16 22:12
    6859 次阅读|
    8 个评论
    之前用的是xp环境,用的红色飓风开发板,现在自己做的板子,改成了win7系统,可是原来的eZ-USB控制面板不能用了,搜了一下cypress的官方驱动,Cypress Suite USB 3.4.7,可以支持XP和win7系统。连上后,按照driver文件夹下面的CyUSB.pdf文件,修改Cypress Suite USB 3.4.7\Driver\bin\wlh\x64下面的cyusb.inf文件,用记事本打开,将里面VID_XXXXPID_XXXX改成VID_04B4PID_8613(在设备管理器中可以查看属性,看到这两个16进制数),注意别忘了把这几行前面的注释号“;”去掉,否则认为这一行被注释了哦。下面的文件是我的CY7C68013的inf文件。这样系统就可以识别到USB设备了。但是原来的例程SlaveFIFO不能用了,下载.hex文件之后,识别到SlaveFIFO设备,不能装驱动。 由于对这个USB芯片的固件不熟,研究固件编写短期内搞不定。于是在Cypress 官方网站上找到了例程AN63787,是关于8bit模式下的slavefifo例程,但是我的FPGA配置的是16位模式,明显看到例程中少了一半字节的数据。下面只能自己改例程了。 首先下载**版的keil uVision2 ,http://ishare.iask.sina.com.cn/f/12062296.html?from=like 更改C:\Cypress\Cypress Suite USB 3.4.7\Firmware\Bulkloop下面的keil工程,用原来红色飓风自带的固件源代码配置进行更改,将 bulkloop.c中TD_Init函数用红色飓风如下TD_Init函数替换, void TD_Init( void ) { // Called once at startup     //时钟设置  //CPUCS = 0x02;  //12MHZ CLKOUT ENALBE       //CPUCS = 0x0a;  //24MHZ CLKOUT ENALBE     CPUCS = 0x12;  //48MHZ CLKOUT ENALBE    IFCONFIG =0x43;//使用外部时钟,IFCLK输入不反向    SYNCDELAY;  EP2CFG=0xA0; //需要设定为四缓冲,每个缓冲区大小为512字节  SYNCDELAY;  EP4CFG=0x00;  SYNCDELAY;  EP6CFG=0xE0;  SYNCDELAY;  EP8CFG=0x00;    SYNCDELAY;  FIFORESET = 0x80;             // activate NAK-ALL to avoid race conditions  SYNCDELAY;                    // see TRM section 15.14  FIFORESET = 0x02;             // reset, FIFO 2  SYNCDELAY;                    //  FIFORESET = 0x06;             // reset, FIFO 6  SYNCDELAY;                    //  FIFORESET = 0x00;             // deactivate NAK-ALL    SYNCDELAY;  PINFLAGSAB = 0xE6;          // FLAGA - fixed EP6PF, FLAGB - fixed EP6FF  SYNCDELAY;  PINFLAGSCD = 0xf8;          // FLAGC - fixed EP2EF, FLAGD - reserved  SYNCDELAY;  PORTACFG |=  0x00;  //0x40;             // SLCS, set alt. func. of PA7 pin  SYNCDELAY;  FIFOPINPOLAR = 0x00;          // all signals active low,  SYNCDELAY;   OEA|=0x0F;     //小于64字节有效     //EP6FIFOPFH=0x00; //DEIS PKSTAT  PK2 PK1 PK0 0 PFC9 PFC8     //EP6FIFOPFL=0x40; //PFC7 PFC6 PFC5 PFC4 PFC3 PFC2 PFC1 PFC0    // handle the case where we were already in AUTO mode...  EP2FIFOCFG = 0x01;            // AUTOOUT=0, WORDWIDE=1  SYNCDELAY;    EP2FIFOCFG = 0x11;            // AUTOOUT=1, WORDWIDE=1  SYNCDELAY;      EP6FIFOCFG = 0x09;            // AUTOIN=1, ZEROLENIN=0, WORDWIDE=1  SYNCDELAY;  //IO设置  PORTCCFG=0x00;  PORTECFG=0x00;  OEC=0x00;  OEE=0xff;  //串口初始化 // PA3=0;  PA0=1;  enum_high_speed=FALSE; }   编译生成.hex文件,用EZ-USB控制面板下载到USB芯片中,然后提示找到设备Bulkloop Device,自动安装驱动,点击get piples, Pipe:  0  Type: BLK Endpoint:  2 OUT  MaxPktSize: 0x200 Pipe:  1  Type: BLK Endpoint:  4 OUT  MaxPktSize: 0x200 Pipe:  2  Type: BLK Endpoint:  6 IN   MaxPktSize: 0x200 Pipe:  3  Type: BLK Endpoint:  8 IN   MaxPktSize: 0x200 选择: BLK Endpoint:  6 IN  ,点击传输, 这是我用24bitAD芯片采集数据的结果,每采集两次,放入3个数据进FIFO,数据正确       但是现在传输速度测试的VC6.0程序还不能用,估计还是因为win7的某些不兼容吧,以后再试。   关于eeprom固件,我采用24LC64,A0脚拉高。采用如下命令将.hex文件转化为.iic文件: Hex2bix -i -f 0xc2 -v 0x04B4 -p 0x8613 -o bulkloop.iic bulkloop.hex 然后在控制面板中点击Lg EEPROM,将生成的.iic文件下载进去,重新上电,USB加载成功
  • 热度 29
    2012-2-6 12:44
    1601 次阅读|
    3 个评论
    作者:herizon_fei      之前做一个项目,需要对微弱光信号进行较高速(采样率1M)的8位信号采集,然后将数据传输到PC,交由上位机进行处理。这里将大概结构分享给大家。      这套系统以FPGA作为核心控制,数据采集部分采用AD7822,数据传输部分使用CY7C68013A作为USB2.0的核心控制芯片。      在数据采集部分,AD7822是美国模拟器件公司(AD公司)生产的8位并行单通道半闪速结构模数转换器。AD7822最高采样率为2M,转换时间仅需420ns。使用外部参考电压,需要在采集开始前充电1us时间。由于我们采样率较高,因此使用不自动掉电模式进行工作。      在实际使用中,发现这块芯片的采样数据就绪信号convst并非每次都只需要420ns,而是420ns到620ns之间。因此芯片并不能如前所述采样率保持在2M。好在本项目只需要1M的采样率,只需要等待convst置位,然后等到1us时间到,则再次进行下一次转换。这样就可以将数据源源不断的以1M的采样率输出了。      数据输出后,将数据直接传输到USB2.0处,准备发送。      对于数据传输部分,采用CY7C68013A作为USB2.0的核心控制器。使用slavefifo模式进行数据传输,一个数据包520个字节,使用芯片内部两个fifo缓冲区,每个缓冲区满则通过USB发送,并自动切换到另一个缓冲区缓存数据。      由于本项目需要上位机发送命令控制数据采集的开始停止以及控制采样速率等信息,因此需要数据的双向传输。其状态机设计较单向数据传输比较复杂,具体设计思路可以参考我的另一篇博文:《 slavefifo读命令写数据状态机简述 》 http://bbs.ednchina.com/BLOG_ARTICLE_3001333.HTM     这样,这个较高速的数据采集传输系统就设计完成了,希望以上内容对各位网友有所帮助。
  • 热度 19
    2012-1-29 12:59
    2975 次阅读|
    0 个评论
    作者:horizon_fei slavefifo模式是cy7c68013芯片的一种常用模式,是将ezusb芯片作为从设备高速写入或读取的重要方式。在此处,我使用FPGA作为主控制器,控制ezusb芯片。 slavefifo用的较多的是硬件向pc机发送高速大量的数据。这一点可以轻易利用官方设计参考手册上的时序加以实现。然而如果上位机要向硬件发送命令从而控制硬件选择传输数据通道或者传输速度等,同时有需要数据送上PC机,那又应该怎么做呢? 此处我用端点2(下称ep2)作为发送命令的端点,命令信息就从端点2读出。端点6(下称ep6)为写入数据的端点,数据从端点6写入。关键在于当上位机发送命令时,无论FPGA是否在发送数据,都应该在保证了本次数据写入完毕的前提下立即接受命令信息,当命令接收完毕并执行了命令之后,再按照需要继续发送数据。即读数据比写数据有更高的优先级,写数据的数据量远远大于读数据。为此我设计了8个状态,他们分别是usb_idle(空闲)usb_rdset(读设置)usb_rd(读取)usb_cmd(接受命令)usb_wrset(写设置)usb_wr(写入)usb_wrsel(写选择)。 状态机通常处于usb_idle(空闲)状态下,此时sloe、slwr、slrd均置为无效,同时写入(wr_oe)信号和读出信号(rd_oe)也都无效,fifoaddr指向ep2。当ep2非空,即接收到上位机发送来的命令时,状态机跳转到usb_rdset(读设置),当ep2空时,检测FPGA是否有数据要发送到PC机,若有,则跳转到usb_wrset(写设置),否则保持在usb_idle(空闲)。 当ep2非空,即接收到上位机发送来的命令时,状态机跳转到usb_rdset(读设置),在此状态中将sloe、slrd均置为有效。于是直接跳转到下一个状态usb_rd(读取)。在这个状态,置rd_oe信号有效,FPGA读取ep2的命令数据,存入cmd寄存器中。然后直接跳转到下一个状态usb_cmd(接受命令)。在该状态中将rd_oe置为无效,slrd置为无效,同时按照cmd寄存器中的各位数值完成命令操作。在本状态,查看ep2是否为空,如果是则跳转到usb_idle(空闲),否则跳转到usb_rdset(读设置)。至此,读取1个命令以及进行命令处理已经完成。 当ep2空,同时FPGA写入数据信号(fd_oe)有效时,状态机由usb_idle(空闲)跳转到usb_wrset(写设置)。在usb_wrset(写设置)中,将fifoaddr指向ep6的fifo,同时wr_oe有效,使待写入数据送上fd数据线,此时slwr仍无效。然后状态跳转到usb_wr(写入),将slwr置有效,写入数据,然后状态转入usb_wrsel(写选择)。在usb_wrsel(写选择)中,slwr置无效,再wr_oe置无效,从而方便下次写入。如果fd_oe有效,且ep2为空,即有数据要写入没有命令到来,则将状态转入usb_wrset(写设置),否则转入usb_idle(空闲)。至此,写入1个数据处理完成 此状态机制,保证了每次写入或者读出的完整性,同时又保证了读取命令优先于写入数据。同时需要注意本状态机机制从来没有将USB设备关闭挂起过,而是将FPGA的传输数据与否进行了相应控制,从而实现对数据的控制,USB始终处于工作状态。      
  • 热度 21
    2010-11-17 12:26
    2893 次阅读|
    1 个评论
    当EZ-USB FX2加电复位(或人工按钮复位)后: 1、FX2内核(Core)被初始化,所有FX2寄存器被初始化。 2、寄存器CPUCS.0=1,CPU保持复位状态,CPU CLK="12MHz"。 3、寄存器USBCS.1(Renum)=0,使用FX2内核的缺省USB设备配置(PID=0x04B4,VID=0x8613),FX2内核处理EP0上的所以设备请求(来自主机)。 4、所以中断被关闭,所以I/O端点设置为普通I/O方式。 5、如果FX2没有检测到外部串行EEPROM,或者有EEPROM,但其首字节不是)0xC0或0xC2,当EA=1时转第8步,否则使用FX2内核缺省的USB描述符(包括PID、VID和DID等),此时FX2等待从主机(Host)下载USB固件至FX2片内RAM。 6、如果检测到EEPROM首字节是0xC0,则使用EEPROM中第1~7字节的PID、VID和DID,但描述符还是FX2内核的缺省值,FX2内核等待从主机下载固件。当主机通过EP0将USB固件下载至片内RAM后,最后一帧写0x00至CPUCS寄存器,是FX2的8051CPU脱离复位状态,开始运行固件程序,并对USB设备进行一次“重枚举”,重枚举后使用固件中的USB描述符及PID和VID等(是在“dscr.a51”中定义的,不是EEPROM的第1~7字节!),同时Renum位置“1”,由(用户)固件程序接管来自主机的所有EP0的设备请求。 7、如果检测到EEPROM的首字节是0xC2,则由FX2内核引导程序将EEPROM中的固件代码直接读入片内RAM中,由于这种装入不需要与主机通信,因此不需提供PID、VID等。固件装完后,内核引导程序最后写0x00至CPUCS寄存器,余下的操作与第6步相同。 8、当EA=1时,表示固件程序、设备描述符、PID和VID等均存在外部(并行)FLASH/EEPROM中 - 类似8051的外部程序存储器,固件直接在外部存储器中运行,不用装入片内RAM。由于不用装载固件,FX2内核直接将CPU从复位状态释放,即马上将CPUCS.0清“0”。 注意:FX2的固件(即用户程序)不能写CPUCS.0,因固件由CPU(8051)运行,CPU自己不能复位自己的!但在加电复位、固件加载过程中,FX2内核(不是8051CPU程序)是可以对CPUCS.0置“1”或清“0”的;此外,主机也可以对CPUCS.0进行操作,以便随时对FX2内部8051CPU进行复位,这是通过EP0发如下请求来实现的: bmRequestType=0x40;//用户自定义请求,OUT方式 bRequest=0xA0;//固件装载/数据装载 wValue=0xE600;//CPUCS寄存器地址 wLength=1;//数据长度 然后将“输入/出缓冲区”数据设置为0x01或0x00就可以了。
相关资源
  • 所需E币: 0
    时间: 2022-3-4 21:24
    大小: 40.19KB
    上传者: samewell
    CY7C68013原理图全系列芯片封装详细说明.rar
  • 所需E币: 5
    时间: 2019-12-26 01:26
    大小: 72.58KB
    上传者: quw431979_163.com
    [USB]CY7C68013开发板原理图……
  • 所需E币: 5
    时间: 2019-12-26 00:28
    大小: 23.61KB
    上传者: quw431979_163.com
    CY7C68013最小系统原理图……
  • 所需E币: 4
    时间: 2019-12-30 10:16
    大小: 226.52KB
    上传者: wsu_w_hotmail.com
    本文主要介绍支持USB2.0高速传输的EZ-USBFX2单片机CY7C68013,并详细说明用此芯片实现高速数据采集系统和相应的Windows驱动程序及底层固件程序的开发过程。……
  • 所需E币: 4
    时间: 2019-12-30 10:18
    大小: 791.24KB
    上传者: 16245458_qq.com
    介绍USB2.0协议以及Cypress公司推出的USB2.0控制器CY7C68013。……
  • 所需E币: 3
    时间: 2019-12-30 10:18
    大小: 110.94KB
    上传者: rdg1993
    文中在简要介绍USB规范的基础上,详细介绍了世界上第1款集成了USB2.0协议的微处理器CY7C68013的结构、功能和特点,微处理器CY7C68013在数据采集系统中的应用。……
  • 所需E币: 4
    时间: 2019-12-30 10:18
    大小: 148.5KB
    上传者: quw431979_163.com
    USB2.0控制器CY7C68013特点与应用……
  • 所需E币: 3
    时间: 2019-12-25 15:28
    大小: 244.96KB
    上传者: 微风DS
    基于USB的多通道俄制军用串行总线接口卡的设计及实现方案,重点论述了在基于FPGA的俄制军用串行总线IP核上通过双口RAM与USB通信,以及CY7C68013芯片在GPIF模式下进行固件和驱动程序设计的方法.基于USB的多通道俄利串行总线接口卡设计邓青海,景小宁,刘安(空军工程大学工程学院,陕西西安710038)摘要:基于USB的多通道俄制军用串行总线接口卡的设计及实现方案,重点论述了在基于FP.GA的俄制军用串行总线IP核上通过双口RAM与USB通信,以及CY7C68013芯片在GPIF模式下进行固件和驱动程序设计的方法。关键词:rOCTl8977明M1495现场可编程门阵列通用串行总线通用可编程接口俄罗斯标准rOCTl8977规定了飞机的成套机载设线、6条通用的准备输入线(数据线宽可为8位或16位),备通信的电器特性,其中一部分规定了与美国标准具有56引脚、100引脚、128引脚131三种封装规格。ARINC429相对应的串行码信号的类型及其电气标准。CY7C68013外设交换数据通常采用SkweFIF08(从设而与之配套的PI'M1495技术资料中则规定了按照备)和GPIF两种方式。GPIF为一个灵活的8位或16位rOCTl8977标准采用双极性码进行信息交换的具体方的并行接口,由一个用户……
  • 所需E币: 5
    时间: 2019-12-25 15:09
    大小: 269.26KB
    上传者: 978461154_qq
    介绍一种基于USB2.0接口和FPGA的高精度实时采样的高速数据采集卡的设计;详细介绍系统硬件设计、固件设计、基于Windows驱动程序模型(WDM)的设备驱动程序设计以及用户软件的设计.通过试验证明,其具有很好的可靠性和稳定性,具有很强的实用价值.……
  • 所需E币: 4
    时间: 2019-12-25 12:17
    大小: 206.32KB
    上传者: quw431979_163.com
    基于arms3c44b0x处理器的Bootloader设计和实现维普资讯http://www.cqvip.com第26卷第7期计算机应用Vo1.26No.72006年7月Computer……
  • 所需E币: 3
    时间: 2019-12-25 10:21
    大小: 206.32KB
    上传者: givh79_163.com
    基于ARM3C44B0x处理器的Bootloader设计和实现维普资讯http://www.cqvip.com第26卷第7期计算机应用Vo1.26No.72006年7月Computer……
  • 所需E币: 3
    时间: 2020-1-3 18:56
    大小: 355.28KB
    上传者: 16245458_qq.com
    LED显示屏高速数据通讯接口设计……
  • 所需E币: 5
    时间: 2019-12-30 09:59
    大小: 534.96KB
    上传者: quw431979_163.com
    CY7C68013USB2.0芯片……