tag 标签: lz3014开发板

相关博文
  • 热度 17
    2012-3-27 11:15
    953 次阅读|
    0 个评论
     阿牛哥参加深圳IIC见闻之六安防监控篇   可编程逻辑器件应用专区 阿牛哥参加深圳IIC见闻之四汽车电子篇    
  • 热度 16
    2011-12-28 11:46
    1937 次阅读|
    0 个评论
        这是第二篇关于CYPRESS提供的例程分析(按照计划,详细进行分析的会有三个例程)。CYPRESS提供的开发包是按默认路径进行安装的,版本号是B607。例程的名字是cyfxbulksrcsink,在安装后的目录下,如下: 一、编绎例程。   具体如何导入例程、编绎例程,生成下载所需要的IMG文件,请查看我以前的帖子:         1、http://www.eefocus.com/liangziusb/blog/11-11/234395_33da2.html 2、http://www.eefocus.com/liangziusb/blog/11-11/234402_272a8.html 二、下载例程。   将开发板与电脑相连,打开控制面板程序,电脑识别出来发板,如下图:       更多文章请访问: 我的博客1: http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM 我的博客2:   http://www.eefocus.com/liangziusb/blog/ EDN小组 http://group.ednchina.com/GROUP_GRO_14600_3466.HTM LZ3684 USB2.0开发板(CY7C68013A), 请访问我的淘宝http://shop64171919.taobao.com LZ3014 USB3.0开发板(CYUSB3014),请访问我的淘宝http://shop64171919.taobao.com 实体店铺:北京新中发电子市场2557号   良子.2011年 沈阳市东陵区白塔街龙盛家园 欢迎交流:liangziusb@163.com QQ:2687652834
  • 热度 10
    2011-12-24 14:21
    2293 次阅读|
    0 个评论
    四、程序测试。(接上一篇)   先分析一下程序总体功能。程序创建了两个DMA Channel,分别是DMA Manual IN channel和DMA Manual OUT channel。其中DMA Manual IN channel的功能是将上位机(U-Port)发送过来的数据传输到ARM9内核中,并且通过回调函数传递给CyFxBulkSrcSinkDmaCallback(),当然,回调函数什么也没有做,仅仅是将接收到的数据丢掉而已;其中 DMA Manual OUT channel的功能正好相反,将ARM9内核中的数据再传给U-Port,待传输的数据为0xA5。 1、测试DMA Manual IN channel功能,如下,   按照上图中的顺序,首先第1步选择块输出端点,第2步输入要发送的字符,第3步输入要发送字符的个数,第4步单击发送按钮“Transfer”即可,第5步是发送成功后,显示所有已经发送的字符。   这个过程可以重复很多次进行。当然开发板也不会有任何反应,因为传输过来的数据都丢掉了,并没有利用。 2、测试DMA Manual IN channel功能,如下,   同样,也按照上图中的顺序,第1步选择块输入端点,第2步单击传输按钮“Transfer Data-IN”,第3步就可以看到从ARM9内核传输过来的数据,全是0xA5,共1024个字节。   这个过程也可以重复很多次进行,第一次都可以从开发板上读出1024个0xA5。 3、前面程序的两个功能,彼此是独立的,千万不要将两者联系在一起,不要认为上位机发到开发板上的数据,然后再读到上位机来。这个程序不同于其它的程序,如Bulkloop程序。   最后要说明的是,这个固件程序也可以配合上位机程序Streamer来进行测试,道理同控制面板是一样的。Streamer程序在默认安装时在目录C:\Cypress\Cypress SuperSpeed USBSuite\application\cpp\streamer\x86\Release下,你可以自己测试一下。由于是Manual传输方式,所以数据的传输速度非常慢,这一点是很正常的。     更多文章请访问: 我的博客1: http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM 我的博客2:   http://www.eefocus.com/liangziusb/blog/ EDN小组 http://group.ednchina.com/GROUP_GRO_14600_3466.HTM LZ3684 USB2.0开发板(CY7C68013A), 请访问我的淘宝http://shop64171919.taobao.com LZ3014 USB3.0开发板(CYUSB3014),请访问我的淘宝http://shop64171919.taobao.com 实体店铺:北京新中发电子市场2557号   良子.2011年 沈阳市东陵区白塔街龙盛家园 欢迎交流:liangziusb@163.com QQ:2687652834
  • 热度 14
    2011-12-22 21:07
    2456 次阅读|
    2 个评论
      接上篇文章。线程GpioAppThread1代码如下, /* Entry function for the GpioAppThread1  */ void GpioAppThread1_Entry (uint32_t input) {     CyU3PGpioClock_t gpioClock;     CyU3PGpioSimpleConfig_t gpioConfig;     CyU3PReturnStatus_t apiRetStatus;     /* Initialize Debug module */     CyFxGpioApplnDebugInit();     /* Init the GPIO module */     gpioClock.fastClkDiv = 2;     gpioClock.slowClkDiv = 0;     gpioClock.simpleDiv = CY_U3P_GPIO_SIMPLE_DIV_BY_2;     gpioClock.clkSrc = CY_U3P_SYS_CLK;     gpioClock.halfDiv = 0;     /* Initialize Gpio interface */     apiRetStatus = CyU3PGpioInit(gpioClock, CyFxGpioIntrCb);     if (apiRetStatus != 0)     {         /* Error Handling */         CyU3PDebugPrint (4, "GPIO Init failed, Error Code = %d\n",apiRetStatus);         CyFxAppErrorHandler(apiRetStatus);     }     /* Override GPIO 21 as this pin is associated with GPIF Control signal */     apiRetStatus = CyU3PDeviceGpioOverride (21, CyTrue);     if (apiRetStatus != 0)     {         /* Error Handling */         CyU3PDebugPrint (4, "GPIO Override failed, Error Code = %d\n",apiRetStatus);         CyFxAppErrorHandler(apiRetStatus);     }     /* Configure GPIO 21 as output */     gpioConfig.outValue = CyFalse;     gpioConfig.driveLowEn = CyTrue;     gpioConfig.driveHighEn = CyTrue;     gpioConfig.inputEn = CyFalse;     gpioConfig.intrMode = CY_U3P_GPIO_NO_INTR;     apiRetStatus = CyU3PGpioSetSimpleConfig(21, gpioConfig);     if (apiRetStatus != CY_U3P_SUCCESS)     {         /* Error handling */         CyU3PDebugPrint (4, "GPIO Set Config Error, Error Code = %d\n",apiRetStatus);         CyFxAppErrorHandler(apiRetStatus);     }     /* Configure GPIO 45 as input */     /* Configure interrupt on Both edges */     gpioConfig.outValue = CyTrue;     gpioConfig.inputEn = CyTrue;     gpioConfig.driveLowEn = CyFalse;     gpioConfig.driveHighEn = CyFalse;     gpioConfig.intrMode = CY_U3P_GPIO_INTR_BOTH_EDGE;     apiRetStatus = CyU3PGpioSetSimpleConfig(45, gpioConfig);     if (apiRetStatus != CY_U3P_SUCCESS)     {         /* Error handling */         CyU3PDebugPrint (4, "GPIO Set Config Error, Error Code = %d\n",apiRetStatus);         CyFxAppErrorHandler(apiRetStatus);     }     for (;;)     {         /* Set the GPIO 21 to High */         apiRetStatus = CyU3PGpioSetValue (21, CyTrue);         if (apiRetStatus != CY_U3P_SUCCESS)         {             /* Error handling */             CyU3PDebugPrint (4, "GPIO Set Value Error, Error Code = %d\n",apiRetStatus);             CyFxAppErrorHandler(apiRetStatus);         }         /* Wait for some time */         CyU3PThreadSleep(2000);         /* Set the GPIO 21 to Low */         apiRetStatus = CyU3PGpioSetValue (21, CyFalse);         if (apiRetStatus != CY_U3P_SUCCESS)         {             /* Error handling */             CyU3PDebugPrint (4, "GPIO Set Value Error, Error Code = %d\n",apiRetStatus);             CyFxAppErrorHandler(apiRetStatus);         }         /* Wait for some time */         CyU3PThreadSleep(2000);     } }   上面的代码主要是A:初始化时钟相关的操作,由函数CyU3PGpioInit()完成;重载当作输出IO的GPIO21引脚,这个引脚初始化是与GPIF II的控制信号线,由函数CyU3PDeviceGpioOverride()完成,再由函数CyU3PGpioSetSimpleConfig()配置成普通输出引脚;在for(;;)循环中,设置GPIO21引脚为高电平,由函数CyU3PGpioSetValue (21, CyTrue)完成;延时两秒,由函数CyU3PThreadSleep(2000)完成;再设置GPIO21引脚为低电平,也是由函数CyU3PGpioSetValue (21, CyFalse)完成;再延时两秒,又设置GPIO21引脚为高电平,程序进入无限循环中。   另外一个线程GpioAppThread2设置GPIO45引脚为输入引脚,程序很简单,这里不再复述。 4、下载程序,实际运行   将LZ3014 USB3.0开发板与电脑相连,启动控制面板程序,如下,     如果你的开发板显示的不是“Cypress USB BootLoader”,这也没有关系,有可能是PID,VID与我的不一样,当然这与安装时的驱动相关。   如何下载固件程序,且听下回分解。
  • 热度 15
    2011-12-22 21:05
    2676 次阅读|
    0 个评论
    TI与CYPRESS差不多同时推出SUPERSPEED的产品,TUSB1310就是其中的一棵芯片,下面是它的一些特性:   (TI) 推出业界首款 SuperSpeed USB (USB 3.0) 收发器,与 USB 高速器件 (USB 2.0) 相比,可实现快如闪电的数据传输。TUSB1310 的 PIPE3 与 ULPI 接口具有比 USB 3.0 规范要求高 2 倍的接收器敏感度,与集成型应用处理器数字内核配合使用时,支持 USB 3.0 功能。速度高达每秒 5 Gb 的 USB 3.0 物理层收发器可通过单晶体或外部参考时钟工作,可选频率为 20、25、30 以及 40 MHz,从而使 TUSB1310 可提供一个具有极少外部组件与最低实施成本的高性价比 USB 3.0 解决方案。         TI 高性能模拟业务部高级副总裁 Steve Anderson 指出:“终端用户希望能够在便携式消费类设备中方便快捷地存储大量的照片与高清视频文件。TUSB1310 可在90 秒不到的时间内完成 27 Gb Blu-ray™ 光盘的数据传输,而 USB 2.0 则需近 15 分钟。工程师可利用 TI 完整的 SuperSpeed USB 产品系列,设计出速度更快、性价比更高的用户友好型消费类产品,充分满足当前及未来的需求。”      TUSB1310 全面支持众多应用,其中包括监控摄像机、多媒体手持终端、智能电话、数码相机、便携式媒体播放器、个人导航设备、音频接口盒 (audio dock)、视频 IP 电话、无线 IP 电话以及软件无线电。TI 可提供业界最丰富的 SuperSpeed USB 器件系列,目前推出的主要器件是双通道 USB 3.0 再驱动器/均衡器 SN65LVPE502、SuperSpeed USB 3.0 接口的双通道 ESD 解决方案 TPD2EUSB30,以及高精度 TPS25xx 系列 USB 电源开关。以后还将推出外设、桥接器、集线器以及主机器件。   个人分析:尽管TUSB1310A已经面世半年有余,但相关的配套支持还不完善,官网的地址如下:http://www.ti.com.cn/product/cn/tusb1310a 。   1、先说价格,现在100多元的报价,相比CY的CYUSB3014,并无价格上的优势。TUSB1310A芯片内部不含主控制器,而CYUSB3014内含一个ARM926内核,这在功能上首先就少了一个模块,增加了用户的硬件成本。   2、再说封装,TUSB1310A为175BGA,CYUSB3014为121BGA,两者尽管封装相同,但前者比后者多了54引脚,增加了用户布线的难度。   3、最后是软件支持。TI的网站上只有几个文档,包括芯片手册等,并没有其它东西。更不要说驱动程序、软件开发包等资料,从这一点上看,与CY的差距还是挺大的,CY提供了从硬件、原理图、软件开发包、到程序框架等所有的技术支持。   虽然也在关注TI的USB3.0的产品,但从目前来看,还真不是最佳的学习时间。 更多文章请访问: 我的博客1: http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM 我的博客2:   http://www.eefocus.com/liangziusb/blog/ EDN小组 http://group.ednchina.com/GROUP_GRO_14600_3466.HTM LZ3684 USB2.0开发板(CY7C68013A), 请访问我的淘宝http://shop64171919.taobao.com LZ3014 USB3.0开发板(CYUSB3014),请访问我的淘宝http://shop64171919.taobao.com 实体店铺:北京新中发电子市场2557号 良子.2011年 沈阳市东陵区白塔街龙盛家园 欢迎交流:liangziusb@163.com QQ:2687652834