完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好:
UVC+HID复合器件,UVC传输图像,HID输出陀螺仪数据,陀螺仪数据输出速率1KHz,中断唤醒FX3读取数据,但发现会有帧丢失,我想问一下,是否尝试为图像和陀螺仪丢失数据造成中断冲突,如果是这样,怎么办?修改外部中断的中断优先级 横坐标表示陀螺仪帧计数,纵坐标表示两个相邻帧之间的时间间隔。 以上来自于百度翻译 以下为原文 HI: UVC+HID composite device, UVC transmission image, HID output gyro data, gyroscope data output rate of 1KHZ, interrupt wakeup FX3 read data, but found that there will be dropped frames, I would like to ask, whether to try for the image and gyro Loss of data due to interrupt conflicts, if so, how to modify the interrupt priority of external interrupts The abscissa represents the gyroscope frame count and the ordinate represents the time interval between two adjacent frames |
|
相关推荐
4个回答
|
|
你好,
阐明形势(大局)如下。 [UVC+HID复合器件] -gt;(UVC传输图像数据,HID传输陀螺仪数据)-gt;[fx3] & gt;[主机PC] 在FX3和主机PC之间发送时,陀螺仪偶尔会丢失帧。 FIY:如果在FX3上使用多个线程,请确认这些线程访问不同的端点。(如果不同的线程访问相同的端点,则线程安全不适用。) 如果在陀螺仪偶尔丢失帧时得到FX3状态,则可能有助于解决这个问题。 最好的问候, 高山弘 以上来自于百度翻译 以下为原文 Hi, To clarify situation (big picture) as follows. [UVC+HID composite device] -> (UVC transmit image data, HID transmit gyro data) -> [FX3] -> [Host PC] Gyroscope occasionally lost frames when sends between FX3 and Host PC. FYI: If you use multiple threads on FX3, please confirm these threads access different endpoint. (If different threads access same endpoint, the thread-safe does not apply.) If you get FX3 status when the gyroscope occasionally losts frames, it might help to solve this problem. Best regards, Hirotaka Takayama |
|
|
|
你好,
不建议用FX3改变与各种中断源相关联的优先级。 在FX3DMA体系结构中可能会发生缓冲区过/欠运行问题。 在GPIF II接口系统中经常观察到这个问题,GPIF II接口收集来自外部处理器/ FPGA /图像传感器的无流量控制的数据。 这里FX3中的GPIF块在不检查可用性的情况下连续地将接收到的数据写入内部缓冲器,因此如果USB主机不能及时读取数据,则缓冲器过运行将发生在GPIF套接字和安培中;它将在缓冲器丢失和DMA通道C中结束。皮疹。 以下是一些良好的设计实践,以避免问题发生: 1。DMA缓冲: 在多对一的DMA体系结构中,尝试利用最大的DMA缓冲。 不要使用非常大的DMA缓冲器,使它成为最大包大小×最大突发长度的倍数。即最大分组ZISE=1024,突发=16,然后使DMA缓冲器大小为16×1024/16×1024×2。 C,总是使用最大USB 3脉冲串。 2。尽量减少系统中的短包/ZLPS,因为这会导致主机应用程序XFEDATA队列立即终止。 三。不建议在DMA回调中添加任何延迟引起的元素(如调试打印、缓冲分析和操作)。 如果需要,在应用程序线程中使用Cyu3PDMACHANEL GETBUFFER()和CYU3PDMACHANEngEngEffFisher()API进行最小的处理。 4。它还依赖于PC和当前CPU负载中的功率模式,在PC.始终使用高性能模式。 5。禁用LPM特征提高了系统性能。 6。总是使用最新版本的USB 3主机控制器驱动程序。 如果你有任何更新,请告诉我。 最好的问候, 高山弘 以上来自于百度翻译 以下为原文 Hi, It is not recommended to change the priority associated with the various interrupt sources with FX3. Buffer over/under run issue might be happened in FX3 DMA architecture. This issue is often observed in systems where the GPIF II interface which collects the data from external processor / FPGA / Image sensor which has no flow-control. Here the GPIF block in FX3 writes the received data to the internal buffers continuously without checking it availability, so if the USB host is not capable of reading data in a timely fashion buffer over-run will happen in the GPIF socket & it will end up in the buffer loss & DMA channel crash. Following are some good design practices to avoid issue if it happened: 1. DMA buffering: a, Try to utilize the maximum DMA buffering in many to one DMA architecture. b, Do not use very large DMA buffers, make it a multiple of max packet size * max burst length. i.e. max packet zise = 1024, Burst = 16, Then make the DMA buffer size 16 * 1024 / 16 * 1024 * 2. c, Always use maximum USB 3.0 Bursts. 2. Try to minimize the short packets / ZLPs in the system because this will cause the host application xferdata queue to terminate instantly. 3. It is not recommended to add any delay causing elements (Like Debug prints, Buffer parsing & manipulation) in the DMA callback. If it is necessary do it In the application thread using CyU3PDmaChannelGetBuffer() & CyU3PDmaChannelCommitBuffer() APIs with minimal processing. 4. It is also dependent on the Power modes in the PC & the current CPU load, Always use High Performance mode in PC. 5. Disabling LPM features improves the system performance. 6. Always use the latest version of the USB 3.0 host controller drivers. If you have any update, kindly let me know. Best regards, Hirotaka Takayama |
|
|
|
HI:如何完全禁用低功耗模式? 以上来自于百度翻译 以下为原文 Hi : How to completely disable the low power mode? |
|
|
|
可以使用CYU3PUBLPMDISABLE()API防止FX3进入U1/U2状态。 不加区分地使用这个函数会导致USB遵从性测试失败。请确保每次接收USB连接或复位事件时启用LPM功能。这可以在确保设备在性能关键模式下运行之后再次被禁用。 您可以在“EZ-USB®FX3SDK固件API指南”P528上检查这个API用法。 HTTP://www. CyPress .COM/Stase/Fiels/DooptNe/Fiels/Fx3ApgIdIy0.0.PDF 这个论坛线程也有助于你使用相关的API。 主机低功耗模式请求 最好的问候, 高山弘 以上来自于百度翻译 以下为原文 You can use CyU3PU***LPMDisable() API to prevent FX3 from entering U1/U2 states. Indiscriminate use of this function can result in USB compliance test failures. Please ensure that the LPM functionality is enabled every time an USB connect or reset event is received. This can be disabled again after ensuring that the device is functioning in a performance critical mode. You can check this API usage on "EZ-USB® FX3 SDK Firmware API Guide" p528. http://www.cypress.com/system/files/document/files/FX3APIGuide_0.pdf This forum thread also helpful you to use related API. Low Power Mode Request From Host Best regards, Hirotaka Takayama |
|
|
|
只有小组成员才能发言,加入小组>>
757个成员聚集在这个小组
加入小组2137 浏览 1 评论
1877 浏览 1 评论
3700 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1815 浏览 6 评论
1561 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
756浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
509浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
470浏览 2评论
422浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
1113浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 04:16 , Processed in 0.815090 second(s), Total 48, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号