tag 标签: fx3

相关博文
  • 热度 29
    2015-10-19 20:21
    2876 次阅读|
    0 个评论
            例程USBBulkLoopAuto比较简单,这里说明一下测试过程,可以用这个例程测试USB3.0开发板上的USB3.0芯片是否工作正常。         1、设置开发板从USB启动,第一步加载固件USBBulkLoopAuto.img到片内RAM中,重新枚举后如下:       2、选择OUT端点,电脑向电路板发送如下3个数据:       可以看到三个数据11 22 33已经成功发送到电路板上了。       3、从电路板上取回上一步发送的数据。操作如下:        可以看到,电脑成功的将11 22  33这三个数据采集回来了。       以上过程,开发板用户可以按图操作,完成CYUSB3014功能上的测试。         (另公布一群号178338109,CYUSB3014开发专业讨论区)     淘宝店铺: http://liangziusb.taobao.com 良子.2015年    承接USB开发工程  QQ:2687652834
  • 热度 24
    2015-6-1 21:20
    2479 次阅读|
    0 个评论
           CYUSB3014最新开发包是1.3.3了,用户可以自己到CYPRESS网站上下载。安装完开发包后,里面含有两个基于UVC的例程,一个是USBVideoClass,另一个是USBVideoClassBulk,两者原理上差不多,只是数据通过USB3传输选用的工作模式不同而已。这里简单介绍一下第一个例程USBVideoClass。       先说一下USB3固件程序的功能,4幅MJPEG图像保存在固件程序中,重复地发给上位机,数据是通过同步端点进行传输的;上位机收到图像数据后,通过UVC软件显示出来。由于CYUSB3014内部SRAM容量有限,因此一幅图像很小。       关于固件程序,这里不做分析,待我的UVC开发调试完毕之后,再做讨论。关于硬件,由于这个例程只需要一个CYUSB3014,所以任意一块CYUSB3014开发板都可以完成。另外,固件程序需要先编绎,然后才会生成供下载到芯片里的IMG文件。还有,控制台程序下载完固件后,固件重新枚举后,控制台程序中是看不到这个UVC设备的。       以下4幅图像是截图得来的,是一个茶杯,是从4个不同的角度拍摄的,           (另公布一群号178338109,CYUSB3014开发专业讨论区)     淘宝店铺: http://liangziusb.taobao.com 良子.2015年    承接USB开发工程  QQ:2687652834
  • 热度 26
    2014-8-6 22:33
    2578 次阅读|
    0 个评论
             USB3.0的速度很高,并且是全双工的,理论上从电路板上传到电脑的速度在400MByte/S。CYUSB3014的开发包提供了几个例程专门用来测试速度的,cyfxgpiftousb只是其中的一个。这个例程在C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxgpiftousb目录下。          先来看一下实际的测试过程。首先将开发板插入电脑,下载固件后重枚举后只有一个IN端点,如下图:          打开测试速度的软件,测试结果如下:          从上图可以看到,传输速度为387.2MByte/S,确实很快,这个速度是数据传输到电脑内在的速度,并没有做任何处理的速度,已经远远超过了电脑硬盘的数据传输速度了。         回头我们看一下固件程序。固件应用的是AUTO传输模式,从GPIF II端口传输到IN端点。固件只定义了一个端点81,IN端点。GPIF II工作在主机模式,并不需要额外的主控制器,如FPGA等等。当然,固件也提供了GPIF II Designer project的程序,可以用程序打开看一下状态机是如何变化的。        固件主程序是用框架程序编写的。   ( (另公布一群号178338109,CYUSB3014开发专业讨论区)     淘宝店铺: http://liangziusb.taobao.com 良子.2014年    承接USB开发工程  USB毕设指导 QQ:1345482533
  • 热度 25
    2014-6-6 20:34
    2545 次阅读|
    3 个评论
            CYUSB3014支持8位、16位、32位数据传输,为了最大限度的利用USB3.0的带宽,可以选择32位数据总线。CYUSB3014共用GPIO是59个(也有说是61个),由于多个外设复用一个引脚,因此CYUSB3014的GPIO是相当复杂的。         在32位数据总线的SLAVE FIFO模式下,GPIO的分配如下: 1、数据总线32位,由GPIO +GPIO +GPIO 组成。 2、同步时钟PCLK,引脚是GPIO 。 3、控制信号线SLCS#,引脚是GPIO 。       控制信号线SLWR#,引脚是GPIO 。       控制信号线SLOE#,引脚是GPIO 。       控制信号线SLRD#,引脚是GPIO 。       控制信号线FLAGA,引脚是GPIO 。       控制信号线FLAGB,引脚是GPIO 。       控制信号线PKTEND#,引脚是GPIO 。       地址线A1,引脚是GPIO 。       地址线A0,引脚是GPIO 。         以上引脚共计是42个,59个余下的还有17个,除了一些专用引脚外(GPIO 启动方式引脚),其它的一些外设引脚可以当作GPIO,如GPIO 、GPIO 、GPIO I2S引脚、GPIO 串口引脚、GPIO I2S引脚、GPIO I2C引脚。这些引脚可以控制SENSOR的电源控制、复位控制等。         在软件上,有几个函数来完成对这些GPIO的控制。GPIO 是串口引脚,如果数据传输用不到串口,这几个引脚完全可以当普通IO来使用。第一个要使用的函数是status = CyU3PDeviceConfigureIOMatrix (io_cfg);这个函数是是分配GPIO的,由输入参数io_cfg来决定。输入参数的定义是            /* 53-56 GPIOs are enabled. */              io_cfg.gpioSimpleEn  = 0;              io_cfg.gpioSimpleEn  = 0x01E00000;              io_cfg.gpioComplexEn = 0;              io_cfg.gpioComplexEn = 0;         其中001E00000中的1是对GPIO的定义。         第二个要使用的函数是apiRetStatus = CyU3PGpioSetSimpleConfig(SESOR_RESET#, gpioConfig);输入参数定义如下:    /* Configure GPIO 56 as output(SESOR_RESET#) */     gpioConfig.outValue    = CyFalse;     gpioConfig.inputEn     = CyFalse;     gpioConfig.driveLowEn  = CyTrue;     gpioConfig.driveHighEn = CyTrue;     gpioConfig.intrMode    = CY_U3P_GPIO_NO_INTR;           经过以上两个函数,就可以正常控制GPIO了,作用就是 SESOR_RESET#。 设置SESOR_RESET#为高电平,如下 apiRetStatus = CyU3PGpioSetValue (SESOR_RESET#, CyTrue);   设置SESOR_RESET#为低电平,如下 apiRetStatus = CyU3PGpioSetValue (SESOR_RESET#, CyFalse);     (另公布一群号333917885 ,SPARTAN6开发专业讨论区。)     淘宝店铺: http://liangziusb.taobao.com 良子.2014年    承接USB开发工程  USB毕设指导 QQ:1345482533