发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
[问答] 为什么通过USB CDC读取数据需要有明显的延迟?
51 USB 引脚 PIC
分享
大家好,我有一个PIC18F2550,它用USB CDC库控制一些引脚。我的问题是,虽然它工作正常,但在发送命令和从设备读回之前,我的脚本都需要>=100ms的延迟。请参阅下面的Python脚本。这适用于我的任何脚本,.NET,labview等。有没有办法改善这一点?我能把这个比100毫秒接近10毫秒吗?这是否是妇幼保健院的疾病预防控制中心?寻找问题的方向。Hardwarewise,PIC18有USB D+/-PIN直奔PIC,在每个线路上都有一些小RC滤波。(10欧姆,15PF)谢谢你的建议!
0
2019-10-18 12:01:58   评论 分享淘帖 邀请回答

相关问题

2个回答
谢谢戴夫!在PIC读回之前需要一些延迟是正常的吗?是不是18F2550不够快,吐得像几毫秒那么快?根据您的建议,将Python脚本更改为:将是一个更好的解决方案?100毫秒看起来非常缓慢。或者CDC USB设备是合理的吗?我已经尝试了10毫秒递增到40或50ms,它只是没有抓住任何东西没有100ms。
2019-10-18 12:16:35 评论

举报

首先,PIC中的行的字节总数是多少?您希望PIC响应来自PC的命令并发送回所有这些字节的时间是多少?从命令发出的时间到PIC最后一个字节的时间将被接收。如果需要100毫秒,那就是它所需要的。这是“正常的吗?”我不能说。一旦事情进展,理论上最大的CDC吞吐量大约是64千字节/秒。这假设PIC使USB流水线保持满(每毫秒64个字节)。它也假设PC没有忙于做任何其它事情来减慢程序的USB接口。换句话说,实际的PIC吞吐量会稍微小于这个理论最大值,这取决于PIC还做什么。你打算怎么处理照片上的东西?(我假设您的PC上的程序会处理这些信息,而不只是像测试程序那样打印出来。)在向PIC发出命令之后,您的PC程序可以等到收到所有字节之后再执行某些操作吗?(我想PIC响应将被组装成一个行列表,然后您就可以对列表做一些事情。)除了试图获得响应时间的句柄之外,我看不出微调串行端口超时以使其为绝对最小值的任何价值。还有更好的方法来测量Python中的运行时间。。我假设Python的执行时间将由PIC的数据速率所支配。没有性能或吞吐量损失,因为来自PIC的内容被尽可能快地处理,并且在接收到第20行的换行符之后循环将立即退出。PIC,有很多方法来处理这个问题。我会(可能)使用多线程方法,对于终端程序来说,这是很常见的,终端程序有一个“发送者”线程和一个“接收者”线程,它们独立于需要执行的其他操作进行操作。
2019-10-18 12:25:43 评论

举报

只有小组成员才能发言,加入小组>>

57个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表