Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB superspeed peripherals Forum Discussions

Will_lee
Level 2
Level 2
10 questions asked 25 sign-ins 10 replies posted

这两种接口类型FX3 USB StreamerExample 和 FX3 USB BulkloopExample 有什么区别呢,如何正确使用?

0 Likes
1 Solution
Eddyi
Level 3
Level 3
25 sign-ins 10 replies posted 10 likes given

BULKLOOP EXAMPLE与StreamerExample 两个名字不同是因为你使用cypress的驱动,驱动文件根据不同固件的VID PID匹配出来的不同的设备类型。你可以打开driver文件夹下的inf文件查看详细信息。本质上没有什么区别,只是名字不同。

View solution in original post

6 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

 

你好
BulkLoop example和BulkSrcSinkS example都有USB Vendor Class。
BulkSrcSink expample 演示了如何使用FX3作为数据源,以及如何使用bulk端点作为数据接收器。
BulkLoop示例基本上是批量回显示例,其中通过OUT EP从USB主机PC接收的数据通过IN EP发送回显。
有关更多详细信息,请参阅固件的readme.txt文件或参考FX3程序员手册第7节(路径:FX3 SDK安装路径\EZ-USB FX3 SDK\1.3\doc\firmware)
 
Hello,

Both BulkLoop example and BulkSrcSink have USB Vendor Class.
BulkSrcSink example demonstrates the use of FX3 as a data source and a data sink using bulk endpoints.
BulkLoop examples are essentially bulk loop-back examples where data received from the USB host
PC through the OUT EP is sent back through the IN EP.
For more details please refer to readme.txt file of the firmware or refer to section 7 of FX3 Programmers manual (Path: FX3 SDK Installation Path\EZ-USB FX3 SDK\1.3\doc\firmware)
Regards,
Rashi
0 Likes

谢谢您的解答,关于 StreamerExample  怎么理解呢?BulkLoop example 可以当做 StreamerExample 使用吗?也就是 BulkLoop example 可以用于 SlaveFfio 和 I2C 同时控制吗?

0 Likes
Roy_Liu
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 5 questions asked

请具体说明一下你的应用场景,Rashi 可以根据你的应用需求推荐合适的固件example。

Please let us know your application in detail so that we can suggest an appropriate firmware for the same.

Roy Liu
0 Likes

我的目的是实现SlaveFIFO 和 I2C 同时工作,在使用例程过程中, i2cdma例程枚举为BULKLOOP EXAMPLE ,使用Slavefifo例程时 枚举为StreamerExample 

0 Likes
Roy_Liu
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 5 questions asked

我的理解您有一个与AN65974中提到的相同的应用。此外,您希望在固件中添加I2C功能。

您可以使用AN65974中的固件,您可以添加USBi2cdmamode/USBi2cregmode示例固件中的相关代码,以添加i2c功能。

以下是添加i2c功能的要点

-在io矩阵配置中启用i2c:io_cfg.useI2C=CyTrue;

-初始化I2C:CyU3PI2cInit并配置I2C

-如果使用DMA模式-创建DMA通道(基于您的应用程序)

-基于DMA模式/寄存器模式调用适当的I2C API

如果对此有更多疑问,请告诉我们

 

I understand that you have an application the same as mentioned in AN65974 In addition, you want to add I2C capabilities to the firmware.
You can use the firmware in AN65974.zip and add the relevant code from USBi2cdmamode/USBi2cregmode example firmware to add i2c functionality.
Following are the points to add the i2c functionality
- Enable i2c block in io matrix configuration : io_cfg.useI2C = CyTrue;
- Initialize I2C block: CyU3PI2cInit and configure I2C block
- If DMA mode is used - create the DMA channel (based on your application)
- Call appropriate I2C APIs based on DMA mode/Register mode
Please let me know if more queries on this

Roy Liu
Eddyi
Level 3
Level 3
25 sign-ins 10 replies posted 10 likes given

BULKLOOP EXAMPLE与StreamerExample 两个名字不同是因为你使用cypress的驱动,驱动文件根据不同固件的VID PID匹配出来的不同的设备类型。你可以打开driver文件夹下的inf文件查看详细信息。本质上没有什么区别,只是名字不同。