worldwar
驱动牛犊
驱动牛犊
  • 注册日期2003-08-04
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1489回复:7

关于同步问题

楼主#
更多 发布于:2003-08-04 15:40
我做的是用fx2传输图像
每帧是256×256的图像,每个元素用8个字节表示
为了和系统的电视信号同步,需20ms传一帧图像,保持同步可不可以这样做:由固件那面20ms产生信号,然后由主机传数据。
但我用的是BULK传输,这样能保证主机与设备时钟同步吗?是主机还是设备端的时钟准?
worldwar
驱动牛犊
驱动牛犊
  • 注册日期2003-08-04
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-05 15:16
不好意思
是8bit
谢谢各位啦
再次感谢
szzwm
驱动牛犊
驱动牛犊
  • 注册日期2003-06-12
  • 最后登录2005-05-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-05 11:53
如果楼主没说错的话,每秒要传25.6MByte的数据,是很大的数据量的概念。普通USB1.1或以下标准无法胜任这种传输,必须使用USB2.0以上。

通常,这种级别的应用都采用数据压缩,以减小数据传输率,节约带宽。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-05 10:04
3-4MB/s,没有这么低吧,按你说的256*256是64k,也就是说你没20ms有8个64k,每毫秒有25。6k数据,这样每秒钟不就是25。6MB数据吗?

除非你之前说的每个元素用8个字节是错误的,如果是用8bit表示还差不多,如果按你说的速度的话应该是没问题的,你首先在主机方不断的查询端点1的状况,一旦设备准备好接收数据,就用其他大的bulk端点向设备传输数据,不过我觉得你查询设备情况也可以用控制传输进行。
worldwar
驱动牛犊
驱动牛犊
  • 注册日期2003-08-04
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-05 09:08
[quote]你的想法是不对的,肯定实现不了!
首先:usb设备不会主动给主机发送任何信息,远程唤醒除外。
而且你用的是bulk传输,必须由主机启动传输,去查询端点的空满情况。

你20ms的数据量是8个64k,也就是每秒钟要传 25。6m的数据,这个数据量是很大的!不知道你说得主机传数据是往下传还是往上传,但不管怎么样都是主机启动的传输。
//////////////////////////////////////
我没说清楚
1)固件产生信号,有主机从端口1取得设备的状态,而后有主机向设备发数据。
2)数据传输不算太大吧,3-4MB/s,看其他人做的很高嘛
谢谢你的关心,有你的关心我会更有信心的,谢谢
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-04 17:14
我还以为时20帧/s呢,你的速度要求太快了,不行,50帧/s没做过。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-04 17:09
你的想法是不对的,肯定实现不了!
首先:usb设备不会主动给主机发送任何信息,远程唤醒除外。
而且你用的是bulk传输,必须由主机启动传输,去查询端点的空满情况。

你20ms的数据量是8个64k,也就是每秒钟要传 25。6m的数据,这个数据量是很大的!不知道你说得主机传数据是往下传还是往上传,但不管怎么样都是主机启动的传输。

如果是往下传:你主机那边只能不断的发送数据,设备端接收数据,接收完一帧以后去处理,这时候主机发送下一帧的第一个包,你只要不把这个包从端点里读出来,主机就会等待,直到你设备处理完第一帧开始接收第二帧才继续传送数据。

说得比较罗嗦,不知道对你是否有帮助。
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-08-04 16:05
以你的要求应该可以,你的同步信号是哪里来得啊,没看明白。
游客

返回顶部