完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用usb3014芯片开发的项目,运行方式是usb与FPGA进行高速传输,如果有SPI事件则进行SPI与fpga传输,SPI传输完成则就绪usb与fpga的高速传输通道。
我遇到的问题是:只用SPI数据传输可以用,只用Slavefifo与fpga传输也可以,但是两者结合在一起就不可以,线程不知道怎么切换。注:SPI与Slavefifo并不是同时与fpga传输,SPI是只要接收到上位机命令就传输,Slavefifo也是一样。 以下是我的固件程序:
2.命令处理代码
|
|
相关推荐
1个回答
|
|
从您提供的信息来看,目前的问题是在将SPI和Slavefifo与FPGA的传输进行结合时,线程无法正确地切换。以下是一些可能的解决方案和建议:
1. 检查线程切换的逻辑:确保您在代码中正确地实现了线程的切换逻辑。对于不同的传输方式(SPI和Slavefifo),您需要正确地切换线程以处理相应的数据传输。您可以使用条件语句或信号量来控制线程的切换。 2. 确保SPI和Slavefifo的初始化和配置正确:在结合SPI和Slavefifo进行传输时,确保您正确地初始化和配置了两种传输方式。检查您的初始化代码,确保SPI和Slavefifo的设置正确,包括传输方向、时钟速率等。 3. 确定问题是否与线程切换相关:尝试仅使用SPI或仅使用Slavefifo进行传输,观察是否存在问题。如果这些单独的传输方式可以工作正常,那么问题可能是与线程切换相关的。您可以尝试简化代码,仅使用一种传输方式进行测试,以确定问题所在。 4. 检查时序和时钟同步:SPI和Slavefifo传输通常需要时序和时钟同步。确保FPGA和USB3014之间的时序和时钟同步正确。如果时序和时钟有偏差,可能会导致数据传输错误或丢失。 5. 查看FPGA与USB3014的通信协议:确保您的FPGA和USB3014之间使用的通信协议是兼容的,并且您正确地遵循了协议规范。如果有任何协议不匹配或不正确的地方,可能会导致数据传输问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
757个成员聚集在这个小组
加入小组2134 浏览 1 评论
1874 浏览 1 评论
3697 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1810 浏览 6 评论
1557 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
753浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
506浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
466浏览 2评论
418浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
1109浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-1 04:12 , Processed in 0.801048 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号